Texte
Créer une réponse
Crée une réponse en utilisant le format OpenAI Responses API
Utilisez cet endpoint lorsque accepted_request_formats dans les détails du modèle contient openai_responses. Les requêtes et les réponses utilisent le format Responses API. Les champs facultatifs et les valeurs acceptées dépendent du modèle choisi.
Corps de la requête
ID du modèle à utiliser. Voir Models pour les options disponibles.
L’entrée est facultative lorsque la requête utilise à la place un prompt réutilisable ou poursuit une réponse stockée avec previous_response_id.
Une liste d'éléments d'entrée constituant la conversation.
Chaque élément peut être :
message: Un message de conversation avec rôle et contenufunction_call: Une requête d'appel de fonctionfunction_call_output: Sortie d'un appel de fonction
Pour les entrées multimodales, message.content peut être soit une chaîne simple, soit un tableau de blocs de contenu. Pour les modèles capables de traiter des images, comme les variantes GPT-5.6 Terra, transmettez les images en tant que blocs input_image au lieu d'incorporer directement des URLs ou des chaînes Base64 dans du texte brut.
Exemples de blocs de contenu :
{ "type": "input_text", "text": "Describe this image" }{ "type": "input_image", "image_url": "https://example.com/image.jpg" }{ "type": "input_image", "image_url": "data:image/png;base64,..." }
Instructions système pour le modèle (équivalent du message système).
Nombre maximal de tokens à générer.
Température d’échantillonnage. Les valeurs acceptées et les valeurs par défaut dépendent du modèle choisi.
Outils que le modèle peut appeler. Les types et combinaisons acceptés dépendent du modèle choisi.
falseSi true, renvoie un flux d'événements.
ID d'une réponse précédente à partir de laquelle continuer la conversation.
trueIndique s'il faut stocker la réponse pour une récupération ultérieure.
falseDemande une exécution asynchrone. La prise en charge dépend du modèle choisi.
Référence à un modèle de prompt réutilisable et à ses variables.
Métadonnées à attacher à la réponse à des fins de suivi.
Paramètres de sortie textuelle. La prise en charge de text.format dépend du modèle choisi.
trueIndique s'il faut autoriser plusieurs appels d'outils en parallèle.
Paramètre de sampling Nucleus (0-1).
Les options de raisonnement, dont effort, dépendent du modèle choisi.
Réponse
Identifiant unique de la réponse.
Toujours response.
Timestamp Unix de création de la réponse.
État de la réponse : queued, in_progress, completed, incomplete, failed ou cancelled. Vérifiez ce champ même si la requête HTTP réussit.
Liste des éléments de sortie générés par le modèle.
Statistiques d'utilisation des tokens.
Endpoints associés
GET /v1/responses/{id}récupère une réponse enregistrée et accepteinclude,include_obfuscation,streametstarting_after.DELETE /v1/responses/{id}supprime une réponse enregistrée. Cela n’annule pas la génération.POST /v1/responses/compactrenvoie un objetresponse.compaction.- Les endpoints d’annulation, input-items et input-tokens ne sont pas disponibles actuellement.
Requête
curl -X POST "https://api.tokenlab.sh/v1/responses" \
-H "Authorization: Bearer sk-your-api-key" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5.6-terra",
"input": [
{"type": "message", "role": "user", "content": "Hello!"}
],
"max_output_tokens": 1000
}'from openai import OpenAI
client = OpenAI(
api_key="sk-your-api-key",
base_url="https://api.tokenlab.sh/v1"
)
response = client.responses.create(
model="gpt-5.6-terra",
input=[
{"type": "message", "role": "user", "content": "Hello!"}
],
max_output_tokens=1000
)
print(response.output)import OpenAI from 'openai';
const client = new OpenAI({
apiKey: 'sk-your-api-key',
baseURL: 'https://api.tokenlab.sh/v1'
});
const response = await client.responses.create({
model: 'gpt-5.6-terra',
input: [
{ type: 'message', role: 'user', content: 'Hello!' }
],
max_output_tokens: 1000
});
console.log(response.output);package main
import (
"bytes"
"encoding/json"
"fmt"
"net/http"
)
func main() {
payload := map[string]interface{}{
"model": "gpt-5.6-terra",
"input": []map[string]interface{}{
{"type": "message", "role": "user", "content": "Hello!"},
},
"max_output_tokens": 1000,
}
body, _ := json.Marshal(payload)
req, _ := http.NewRequest("POST", "https://api.tokenlab.sh/v1/responses", bytes.NewBuffer(body))
req.Header.Set("Authorization", "Bearer sk-your-api-key")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
var result map[string]interface{}
json.NewDecoder(resp.Body).Decode(&result)
fmt.Println(result["output"])
}<?php
$ch = curl_init('https://api.tokenlab.sh/v1/responses');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => [
'Content-Type: application/json',
'Authorization: Bearer sk-your-api-key'
],
CURLOPT_POSTFIELDS => json_encode([
'model' => 'gpt-5.6-terra',
'input' => [
['type' => 'message', 'role' => 'user', 'content' => 'Hello!']
],
'max_output_tokens' => 1000
])
]);
$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true);
print_r($data['output']);Exemple d’entrée visuelle
Utilisez les modèles capables d'images en plaçant les images dans message.content sous forme de blocs input_image. La valeur de image_url peut être soit une URL publique, soit une URL de données Base64.
{
"model": "gpt-5.6-terra",
"input": [
{
"type": "message",
"role": "user",
"content": [
{
"type": "input_text",
"text": "Please describe this image."
},
{
"type": "input_image",
"image_url": "https://example.com/demo.jpg"
}
]
}
]
}{
"model": "gpt-5.6-terra",
"input": [
{
"type": "message",
"role": "user",
"content": [
{
"type": "input_text",
"text": "Please describe this image."
},
{
"type": "input_image",
"image_url": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQ..."
}
]
}
]
}Réponse
{
"id": "resp_abc123",
"object": "response",
"created_at": 1706000000,
"status": "completed",
"model": "gpt-5.6-terra",
"output": [
{
"id": "msg_abc123",
"type": "message",
"status": "completed",
"role": "assistant",
"content": [
{"type": "output_text", "text": "Hello! How can I help you today?", "annotations": []}
]
}
],
"usage": {
"input_tokens": 10,
"output_tokens": 12,
"total_tokens": 22
}
}Autorisation
BearerAuth Authentification par clé API. Créez ou gérez vos clés API dans Dashboard > API > API Keys.
Emplacement: header
En-têtes
Politique de livraison par requête. Remplace les valeurs par défaut de la clé API et de l'espace de travail. Tente automatiquement TokenLab Verified en premier et peut basculer une fois vers Official uniquement avant la sortie, l'acceptation de la requête ou la création de ressource persistante.
Valeurs possibles
- "auto"
- "verified"
- "official"
Corps de la requête
application/json
Réponse
application/json
application/json
application/json