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
}
Crée une réponse en streaming ou non-streaming en utilisant le format de l’API OpenAI Responses.
Authentification
string
requis
Jeton Bearer. Utilisez votre clé API comme jeton Bearer dans l’en-tête Authorization.Format :
Bearer <SUNRA_KEY>Requête
Cet endpoint attend un objet.string
requis
ID du modèle utilisé pour générer la réponse. Parcourez les modèles disponibles sur sunra.ai/models.
string | object[]
Entrée pour la requête de réponse. Peut être une chaîne de caractères ou un tableau d’éléments d’entrée.
Afficher propriétés (pour un tableau)
Afficher propriétés (pour un tableau)
string
Le type d’élément d’entrée. Valeurs prises en charge :
message, item_reference.string
Le rôle de l’auteur du message. Valeurs prises en charge :
user, assistant, system.string | object[]
Le contenu du message d’entrée. Peut être une chaîne de caractères ou un tableau de parties de contenu.
string
L’ID de l’élément. Requis pour les messages
assistant dans l’historique de conversation.string
Le statut de l’élément. Requis pour les messages
assistant dans l’historique de conversation.string | null
Insère un message système (ou développeur) comme premier élément dans le contexte du modèle. Lorsqu’il est utilisé avec
input, les instructions sont insérées au début de l’entrée.boolean
défaut:false
Si défini sur
true, la réponse sera diffusée en streaming via des événements server-sent (SSE).integer
Une limite supérieure pour le nombre de tokens de sortie, y compris les tokens de sortie visibles et les tokens de raisonnement.
number
défaut:1
Température d’échantillonnage entre 0 et 2. Des valeurs plus élevées augmentent le caractère aléatoire.
number
défaut:1
Paramètre d’échantillonnage par noyau. Une alternative à l’échantillonnage par température.
number
défaut:0
Nombre entre -2.0 et 2.0. Les valeurs positives pénalisent les nouveaux tokens en fonction de leur fréquence existante dans le texte.
number
défaut:0
Nombre entre -2.0 et 2.0. Les valeurs positives pénalisent les nouveaux tokens en fonction de leur apparition préalable dans le texte.
object[]
Un tableau d’outils que le modèle peut appeler.
Afficher propriétés
Afficher propriétés
string
requis
Le type d’outil. Valeurs prises en charge :
function, web_search_preview.string
Le nom de la fonction. Requis lorsque le type est
function.string
Une description de la fonction.
object
Un objet JSON Schema définissant les paramètres de la fonction.
boolean
défaut:false
Indique si l’adhérence stricte au schéma est activée.
string | object
Contrôle le comportement de sélection d’outils. Valeurs de chaîne prises en charge :
none, auto, required. Peut également spécifier une fonction particulière.boolean
défaut:true
Indique s’il faut autoriser le modèle à exécuter des appels d’outils en parallèle.
object
Configuration pour le format de réponse textuelle.
Afficher propriétés
Afficher propriétés
object
La configuration du format de texte.
Afficher propriétés
Afficher propriétés
object
Configuration pour la sortie de raisonnement.
Afficher propriétés
Afficher propriétés
string
Contraint l’effort de raisonnement. Valeurs prises en charge :
low, medium, high.boolean
défaut:true
Indique si la réponse générée doit être stockée pour une récupération ultérieure.
object
Ensemble de 16 paires clé-valeur pouvant être attachées à la réponse. Les clés sont des chaînes de 64 caractères maximum. Les valeurs sont des chaînes de 512 caractères maximum.
string
Un identifiant unique représentant votre utilisateur final. Maximum de 128 caractères.
Réponse
Objet de réponse réussi.string
Identifiant unique de la réponse.
string
Le type d’objet. Toujours
response.number
Horodatage Unix (en secondes) de la création de la réponse.
string
Le statut de la réponse. Valeurs possibles :
completed, failed, in_progress, cancelled.string
Le modèle utilisé pour générer la réponse.
object[]
Un tableau d’éléments de contenu générés par le modèle.
Afficher propriétés
Afficher propriétés
string
Le type d’élément de sortie. Par exemple,
message.string
L’ID unique de l’élément de sortie.
string
Le rôle. Toujours
assistant.string
Le statut du message. Par exemple,
completed.object
Statistiques d’utilisation des tokens pour la réponse.
Afficher propriétés
Afficher propriétés
integer
Le nombre de tokens d’entrée.
integer
Le nombre de tokens de sortie.
integer
Le nombre total de tokens.
number
La température d’échantillonnage utilisée.
number
La valeur d’échantillonnage par noyau utilisée.
integer | null
Le paramètre de tokens de sortie maximum utilisé.
object | null
Un objet d’erreur si la génération a échoué.
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