Guide utilisateur
modèle général

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 role et content.

stream

  • Type : boolean

  • Valeur par défaut : true

    Indique 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 : object

    Le projet actuel prend en charge stream_options au 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 :

  • temperature
  • top_p
  • max_tokens
  • max_completion_tokens
  • tools
  • tool_choice
  • response_format
  • reasoning_effort

Note de compatibilité

  • POST /v1/completions existe toujours, mais il est recommandé d'utiliser uniformément POST /v1/chat/completions pour les nouvelles intégrations.

Dernière mise à jour

Sommaire