API de conversation générale (streaming par défaut)
Point d'entrée unifié compatible avec OpenAI Chat Completions ; la même route prend en charge le streaming et le non-streaming ; la réponse réussie est au format brut OpenAI, sans couche supplémentaire code/data.
- Route :
POST /v1/chat/completions - La même route prend en charge à la fois le streaming et le non-streaming ; cette page montre un appel en streaming
- La réponse réussie est au format brut OpenAI, sans couche supplémentaire
code/data
Exemple de requête
curl --request POST \
--url https://api.magickapi.com/v1/chat/completions \
--header 'Authorization: Bearer YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"model": "gpt-5",
"stream": true,
"stream_options": { "include_usage": true },
"messages": [
{
"role": "system",
"content": "你是一个专业的 AI 助手。"
},
{
"role": "user",
"content": "介绍一下人工智能的发展历史。"
}
]
}'Exemple de réponse en streaming
data: {"id":"chatcmpl_123","object":"chat.completion.chunk","created":1712345678,"model":"gpt-5","choices":[{"index":0,"delta":{"role":"assistant","content":""},"finish_reason":null}]}
data: {"id":"chatcmpl_123","object":"chat.completion.chunk","created":1712345678,"model":"gpt-5","choices":[{"index":0,"delta":{"content":"人工智能"},"finish_reason":null}]}
data: {"id":"chatcmpl_123","object":"chat.completion.chunk","created":1712345678,"model":"gpt-5","choices":[{"index":0,"delta":{},"finish_reason":"stop"}],"usage":{"prompt_tokens":28,"completion_tokens":18,"total_tokens":46}}
data: [DONE]Exemple de réponse d'erreur
{
"error": {
"message": "Invalid request",
"type": "invalid_request_error",
"param": null,
"code": "invalid_request"
}
}Authentification
- En-tête de requête :
Authorization: Bearer YOUR_API_KEY - Veuillez utiliser la clé API générée dans le panneau d'administration de Magick API
Paramètres courants
model
-
Type :
string -
Obligatoire : oui
Passez l'ID du modèle spécifique. Le projet sélectionnera le modèle en amont en fonction des règles de mappage et de distribution des canaux.
messages
-
Type :
array -
Obligatoire : oui
Conforme au protocole OpenAI Chat Completions. Chaque message doit contenir au moins
roleetcontent.
stream
-
Type :
boolean -
Valeur par défaut :
trueIndique s'il faut utiliser la sortie en streaming. Si omis, de nombreux clients enverront selon leur comportement par défaut ; si vous souhaitez forcer le streaming, il est recommandé de passer explicitement
true.
stream_options
-
Type :
objectLe projet actuel prend en charge
stream_optionsau style OpenAI. Écriture courante :
{
"stream_options": {
"include_usage": true
}
}Autres champs courants
Les champs compatibles OpenAI suivants peuvent être utilisés directement ; leur acceptation finale par le service en amont dépend des capacités du modèle et du canal :
temperaturetop_pmax_tokensmax_completion_tokenstoolstool_choiceresponse_formatreasoning_effort
Note de compatibilité
POST /v1/completionsexiste toujours, mais il est recommandé d'utiliser uniformémentPOST /v1/chat/completionspour les nouvelles intégrations.
Dernière mise à jour
Guide d'utilisation de Codex
Se connecter avec son propre compte Codex, puis utiliser une clé Magick API et des variables d'environnement compatibles OpenAI pour appeler Magick API tout en conservant les plugins disponibles
Interface de conversation générale (non-streaming)
Point d'entrée unifié compatible avec OpenAI Chat Completions ; utilise la même route que la documentation streaming ; la réponse réussie est le JSON brut d'OpenAI.