API Responses

Utilisez l’API Responses pour les applications et les outils de développement reposant sur le format d’éléments de réponse d’OpenAI.

POST https://getrouter.ai/v1/responses

Requête de base

curl https://getrouter.ai/v1/responses \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "MODEL_ID",
    "instructions": "Answer in one short paragraph.",
    "input": "Explain what a reverse proxy does."
  }'

La réponse comprend un tableau output contenant des éléments de réponse. Les SDK peuvent proposer une propriété utilitaire output_text qui regroupe le texte.

Python

from openai import OpenAI

client = OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://getrouter.ai/v1",
)

response = client.responses.create(
    model="MODEL_ID",
    instructions="Answer in one short paragraph.",
    input="Explain what a reverse proxy does.",
)

print(response.output_text)

Node.js / TypeScript

import OpenAI from 'openai'

const client = new OpenAI({
  apiKey: 'YOUR_API_KEY',
  baseURL: 'https://getrouter.ai/v1',
})

const response = await client.responses.create({
  model: 'MODEL_ID',
  instructions: 'Answer in one short paragraph.',
  input: 'Explain what a reverse proxy does.',
})

console.log(response.output_text)

Champs de requête courants

ChampDescription
modelID de modèle obligatoire
inputChaîne ou tableau d’éléments d’entrée
instructionsInstructions générales pour la réponse
streamDiffuse les événements de réponse en flux lorsque la valeur est true
max_output_tokensLimite maximale de tokens en sortie
toolsDéfinitions d’outils pour les modèles compatibles
tool_choiceComportement de sélection des outils
reasoningConfiguration du raisonnement pour les modèles compatibles
previous_response_idPoursuit à partir d’une réponse antérieure
truncationauto ou disabled

Continuer une réponse

Pour les flux de travail prenant en charge la continuation des réponses, transmettez l’ID de la réponse précédente :

{
  "model": "MODEL_ID",
  "previous_response_id": "RESPONSE_ID",
  "input": "Now give me a concrete example."
}

La prise en charge de la continuation avec état peut dépendre du modèle sélectionné et du service en amont.

Compacter le contexte

GetRouter expose l’endpoint de compaction de Responses :

POST https://getrouter.ai/v1/responses/compact

Il accepte model ainsi que input, instructions ou previous_response_id. Utilisez-le uniquement si votre client implémente le flux de travail de compaction de Responses.

curl https://getrouter.ai/v1/responses/compact \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "MODEL_ID",
    "input": "CONVERSATION_INPUT"
  }'

Streaming

Définissez stream sur true pour recevoir les événements de l’API Responses. Ils sont différents des fragments de Chat Completions. Consultez Streaming.

Notes de compatibilité

  • Utilisez un modèle qui prend en charge l’endpoint Responses.
  • Ne supposez pas qu’un modèle compatible avec Chat Completions prend également en charge Responses.
  • Les outils tels que Codex peuvent dépendre des formats d’événements et d’outils propres à Responses ; configurez-les donc à l’aide d’un guide d’intégration dédié.

Étapes suivantes