curl -X POST https://api-llm.sunra.ai/v1/responses \
-H "Authorization: Bearer <SUNRA_KEY>" \
-H "Content-Type: application/json" \
-d '{
"model": "openai/gpt-4o",
"input": [
{
"type": "message",
"role": "user",
"content": "Hello, how are you?"
}
]
}'
import requests
response = requests.post(
"https://api-llm.sunra.ai/v1/responses",
headers={
"Authorization": "Bearer <SUNRA_KEY>",
"Content-Type": "application/json"
},
json={
"model": "openai/gpt-4o",
"input": [
{
"type": "message",
"role": "user",
"content": "Hello, how are you?"
}
]
}
)
print(response.json())
const response = await fetch("https://api-llm.sunra.ai/v1/responses", {
method: "POST",
headers: {
"Authorization": "Bearer <SUNRA_KEY>",
"Content-Type": "application/json"
},
body: JSON.stringify({
model: "openai/gpt-4o",
input: [
{
type: "message",
role: "user",
content: "Hello, how are you?"
}
]
})
});
const data = await response.json();
console.log(data);
{
"id": "resp-abc123",
"object": "response",
"created_at": 1704067200,
"status": "completed",
"model": "openai/gpt-4o",
"output": [
{
"type": "message",
"id": "msg_abc123",
"role": "assistant",
"status": "completed",
"content": [
{
"type": "output_text",
"text": "Hello! I'm doing well, thank you for asking. How can I help you today?",
"annotations": []
}
]
}
],
"temperature": 1.0,
"top_p": 1.0,
"max_output_tokens": null,
"usage": {
"input_tokens": 15,
"output_tokens": 18,
"total_tokens": 33,
"input_tokens_details": {
"cached_tokens": 0
},
"output_tokens_details": {
"reasoning_tokens": 0
}
},
"error": null
}
LLM
Create a response
POST
/
v1
/
responses
curl -X POST https://api-llm.sunra.ai/v1/responses \
-H "Authorization: Bearer <SUNRA_KEY>" \
-H "Content-Type: application/json" \
-d '{
"model": "openai/gpt-4o",
"input": [
{
"type": "message",
"role": "user",
"content": "Hello, how are you?"
}
]
}'
import requests
response = requests.post(
"https://api-llm.sunra.ai/v1/responses",
headers={
"Authorization": "Bearer <SUNRA_KEY>",
"Content-Type": "application/json"
},
json={
"model": "openai/gpt-4o",
"input": [
{
"type": "message",
"role": "user",
"content": "Hello, how are you?"
}
]
}
)
print(response.json())
const response = await fetch("https://api-llm.sunra.ai/v1/responses", {
method: "POST",
headers: {
"Authorization": "Bearer <SUNRA_KEY>",
"Content-Type": "application/json"
},
body: JSON.stringify({
model: "openai/gpt-4o",
input: [
{
type: "message",
role: "user",
content: "Hello, how are you?"
}
]
})
});
const data = await response.json();
console.log(data);
{
"id": "resp-abc123",
"object": "response",
"created_at": 1704067200,
"status": "completed",
"model": "openai/gpt-4o",
"output": [
{
"type": "message",
"id": "msg_abc123",
"role": "assistant",
"status": "completed",
"content": [
{
"type": "output_text",
"text": "Hello! I'm doing well, thank you for asking. How can I help you today?",
"annotations": []
}
]
}
],
"temperature": 1.0,
"top_p": 1.0,
"max_output_tokens": null,
"usage": {
"input_tokens": 15,
"output_tokens": 18,
"total_tokens": 33,
"input_tokens_details": {
"cached_tokens": 0
},
"output_tokens_details": {
"reasoning_tokens": 0
}
},
"error": null
}
Cria uma resposta em streaming ou não-streaming usando o formato da API OpenAI Responses.
Autenticação
string
obrigatório
Token Bearer. Use sua chave de API como token Bearer no cabeçalho Authorization.Formato:
Bearer <SUNRA_KEY>Requisição
Este endpoint espera um objeto.string
obrigatório
ID do modelo usado para gerar a resposta. Navegue pelos modelos disponíveis em sunra.ai/models.
string | object[]
Entrada para a requisição de resposta. Pode ser uma string ou um array de itens de entrada.
Mostrar propriedades (para array)
Mostrar propriedades (para array)
string
O tipo de item de entrada. Valores suportados:
message, item_reference.string
O papel do autor da mensagem. Valores suportados:
user, assistant, system.string | object[]
O conteúdo da mensagem de entrada. Pode ser uma string ou um array de partes de conteúdo.
string
O ID do item. Obrigatório para mensagens
assistant no histórico de conversa.string
O status do item. Obrigatório para mensagens
assistant no histórico de conversa.string | null
Insere uma mensagem de sistema (ou desenvolvedor) como primeiro item no contexto do modelo. Quando usado com
input, as instruções são inseridas no início da entrada.boolean
padrão:false
Se definido como
true, a resposta será transmitida em streaming via eventos server-sent (SSE).integer
Um limite superior para o número de tokens de saída, incluindo tokens de saída visíveis e tokens de raciocínio.
number
padrão:1
Temperatura de amostragem entre 0 e 2. Valores mais altos aumentam a aleatoriedade.
number
padrão:1
Parâmetro de amostragem por núcleo. Uma alternativa à amostragem por temperatura.
number
padrão:0
Número entre -2.0 e 2.0. Valores positivos penalizam novos tokens com base na sua frequência existente no texto.
number
padrão:0
Número entre -2.0 e 2.0. Valores positivos penalizam novos tokens com base em se já aparecem no texto.
object[]
Um array de ferramentas que o modelo pode chamar.
Mostrar propriedades
Mostrar propriedades
string
obrigatório
O tipo de ferramenta. Valores suportados:
function, web_search_preview.string
O nome da função. Obrigatório quando o tipo é
function.string
Uma descrição da função.
object
Um objeto JSON Schema definindo os parâmetros da função.
boolean
padrão:false
Indica se a aderência estrita ao esquema está habilitada.
string | object
Controla o comportamento de seleção de ferramentas. Valores de string suportados:
none, auto, required. Também pode especificar uma função particular.boolean
padrão:true
Indica se deve permitir que o modelo execute chamadas de ferramentas em paralelo.
object
Configuração para o formato de resposta de texto.
Mostrar propriedades
Mostrar propriedades
object
A configuração do formato de texto.
Mostrar propriedades
Mostrar propriedades
object
Configuração para a saída de raciocínio.
Mostrar propriedades
Mostrar propriedades
string
Restringe o esforço de raciocínio. Valores suportados:
low, medium, high.boolean
padrão:true
Indica se a resposta gerada deve ser armazenada para recuperação posterior.
object
Conjunto de 16 pares chave-valor que podem ser anexados à resposta. As chaves são strings com máximo de 64 caracteres. Os valores são strings com máximo de 512 caracteres.
string
Um identificador único representando seu usuário final. Máximo de 128 caracteres.
Resposta
Objeto de resposta bem-sucedido.string
Identificador único da resposta.
string
O tipo de objeto. Sempre
response.number
Marca temporal Unix (em segundos) de quando a resposta foi criada.
string
O status da resposta. Valores possíveis:
completed, failed, in_progress, cancelled.string
O modelo usado para gerar a resposta.
object[]
Um array de itens de conteúdo gerados pelo modelo.
Mostrar propriedades
Mostrar propriedades
string
O tipo de item de saída. Por exemplo,
message.string
O ID único do item de saída.
string
O papel. Sempre
assistant.string
O status da mensagem. Por exemplo,
completed.object
Estatísticas de uso de tokens para a resposta.
Mostrar propriedades
Mostrar propriedades
integer
O número de tokens de entrada.
integer
O número de tokens de saída.
integer
O número total de tokens.
number
A temperatura de amostragem utilizada.
number
O valor de amostragem por núcleo utilizado.
integer | null
A configuração de tokens de saída máximos utilizada.
object | null
Um objeto de erro se a geração falhou.
curl -X POST https://api-llm.sunra.ai/v1/responses \
-H "Authorization: Bearer <SUNRA_KEY>" \
-H "Content-Type: application/json" \
-d '{
"model": "openai/gpt-4o",
"input": [
{
"type": "message",
"role": "user",
"content": "Hello, how are you?"
}
]
}'
import requests
response = requests.post(
"https://api-llm.sunra.ai/v1/responses",
headers={
"Authorization": "Bearer <SUNRA_KEY>",
"Content-Type": "application/json"
},
json={
"model": "openai/gpt-4o",
"input": [
{
"type": "message",
"role": "user",
"content": "Hello, how are you?"
}
]
}
)
print(response.json())
const response = await fetch("https://api-llm.sunra.ai/v1/responses", {
method: "POST",
headers: {
"Authorization": "Bearer <SUNRA_KEY>",
"Content-Type": "application/json"
},
body: JSON.stringify({
model: "openai/gpt-4o",
input: [
{
type: "message",
role: "user",
content: "Hello, how are you?"
}
]
})
});
const data = await response.json();
console.log(data);
{
"id": "resp-abc123",
"object": "response",
"created_at": 1704067200,
"status": "completed",
"model": "openai/gpt-4o",
"output": [
{
"type": "message",
"id": "msg_abc123",
"role": "assistant",
"status": "completed",
"content": [
{
"type": "output_text",
"text": "Hello! I'm doing well, thank you for asking. How can I help you today?",
"annotations": []
}
]
}
],
"temperature": 1.0,
"top_p": 1.0,
"max_output_tokens": null,
"usage": {
"input_tokens": 15,
"output_tokens": 18,
"total_tokens": 33,
"input_tokens_details": {
"cached_tokens": 0
},
"output_tokens_details": {
"reasoning_tokens": 0
}
},
"error": null
}
⌘I