OpenAI Responses
Compatible avec l'API OpenAI Responses ; prend en charge les entrées textuelles, multimodales et les événements de streaming ; la réponse réussie est le protocole brut Responses, sans utiliser choices.
- Route :
POST /v1/responses - Prise en charge supplémentaire :
POST /v1/responses/compact - La réponse réussie est le protocole brut Responses, sans inclure
code/data, et n'utilise paschoicesde Chat Completions
Exemple de requête
curl https://api.magickapi.com/v1/responses \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "gpt-5",
"input": [
{
"role": "user",
"content": [
{
"type": "input_text",
"text": "这张图片里有什么?"
},
{
"type": "input_image",
"image_url": "https://openai-documentation.vercel.app/images/cat_and_otter.png"
}
]
}
]
}'Exemple de réponse réussie
{
"id": "resp_123",
"object": "response",
"created_at": 1712345678,
"status": "completed",
"model": "gpt-5",
"output": [
{
"id": "msg_123",
"type": "message",
"status": "completed",
"role": "assistant",
"content": [
{
"type": "output_text",
"text": "图中有一只猫和一只水獭。",
"annotations": []
}
]
}
],
"parallel_tool_calls": true,
"tools": [],
"usage": {
"input_tokens": 156,
"output_tokens": 45,
"total_tokens": 201
}
}Instructions de streaming
Lorsque "stream": true est passé, le flux d'événements natif Responses est renvoyé, par exemple :
data: {"type":"response.output_text.delta","delta":"图中"}
data: {"type":"response.output_text.delta","delta":"有一只猫"}
data: {"type":"response.completed","response":{"id":"resp_123","status":"completed"}}
data: [DONE]Exemple de réponse d'erreur
{
"error": {
"message": "Invalid request",
"type": "invalid_request_error",
"param": null,
"code": "invalid_request"
}
}Paramètres courants
model
- Type :
string - Obligatoire : oui
input
-
Type :
array | string -
Obligatoire : oui
Conformément au protocole OpenAI Responses, il est possible de mélanger des contenus
input_text,input_image,input_file, etc.
instructions
- Type :
string
previous_response_id
- Type :
string
tools
-
Type :
arrayLe projet actuel transmet les champs d'outils Responses. L'outil
functionpeut être utilisé directement ; la disponibilité des outils intégrés tels queweb_search_preview,file_searchdépend des capacités du modèle amont et du canal spécifiques.
tool_choice
- Type :
string | object
stream
- Type :
boolean
stream_options
- Type :
object
/v1/responses/compact
Cette route convient aux clients qui ont besoin de compresser le contexte ou de poursuivre une conversation. Le projet actuel n'accepte que ces champs principaux :
modelinputinstructionsprevious_response_id
Dernière mise à jour
Format natif Gemini
Utilisez le chemin natif Gemini et le corps de requête natif ; prend en charge generateContent et streamGenerateContent ; la réponse réussie est le JSON brut Gemini.
GPT Image 2
Décrit l'état d'intégration du modèle `gpt-image-2` dans le projet actuel, ainsi que les champs de requête et la structure de réponse de l'interface unifiée d'images.