Guide utilisateur
modèle général

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 pas choices de 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 : array

    Le projet actuel transmet les champs d'outils Responses. L'outil function peut être utilisé directement ; la disponibilité des outils intégrés tels que web_search_preview, file_search dé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 :

  • model
  • input
  • instructions
  • previous_response_id

Dernière mise à jour

Sommaire