Skip to Content
Référence APIProtocole compatible OpenAIChat Completions

Chat Completions

Créez des réponses de complétion de chat. Prend en charge la génération de texte, l’entrée multimodale, l’appel de fonctions, la réponse en streaming et plus encore.

Pour les nouveaux projets, nous recommandons la Responses API. La Responses API sépare instructions et input : les instructions système bénéficient automatiquement du Prompt Caching, avec un meilleur taux de succès du cache et des coûts et latences nettement réduits. Chat Completions reste pris en charge à long terme ; les intégrations existantes n’ont pas besoin de migrer.

Endpoint

POST https://api.ofox.io/v1/chat/completions

Paramètres de requête

ParamètreTypeObligatoireDescription
modelstring✅Identifiant du modèle, ex. openai/gpt-6.1-sol
messagesarray✅Tableau de messages
temperaturenumber—Température d’échantillonnage 0-2, par défaut 1
max_tokensnumber—Nombre maximum de tokens à générer
streamboolean—Activer la réponse en streaming
top_pnumber—Paramètre d’échantillonnage nucleus
frequency_penaltynumber—Pénalité de fréquence -2 à 2
presence_penaltynumber—Pénalité de présence -2 à 2
toolsarray—Définition des outils (Function Calling)
tool_choicestring/object—Stratégie de sélection d’outils
response_formatobject—Format de réponse (JSON Mode)
providerobject—Extension OfoxAI : configuration de routage et repli

Format de Message

interface Message { role: 'system' | 'user' | 'assistant' | 'tool' content: string | ContentPart[] // Texte ou contenu multimodal name?: string tool_calls?: ToolCall[] // Appels d'outils du message assistant tool_call_id?: string // ID d'appel du message tool } // Contenu multimodal type ContentPart = | { type: 'text'; text: string } | { type: 'image_url'; image_url: { url: string; detail?: 'auto' | 'low' | 'high' } }

Exemple de requête

Terminal
curl https://api.ofox.io/v1/chat/completions \ -H "Authorization: Bearer $OFOX_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "openai/gpt-6.1-sol", "messages": [ {"role": "system", "content": "Vous êtes un assistant utile."}, {"role": "user", "content": "Expliquez ce qu'est un API Gateway"} ], "temperature": 0.7 }'

Format de réponse

{ "id": "chatcmpl-abc123", "object": "chat.completion", "created": 1703123456, "model": "openai/gpt-6.1-sol", "choices": [ { "index": 0, "message": { "role": "assistant", "content": "Un API Gateway est un..." }, "finish_reason": "stop" } ], "usage": { "prompt_tokens": 25, "completion_tokens": 150, "total_tokens": 175 } }

Réponse en streaming

Activez la réponse en streaming SSE avec stream: true :

stream.py
stream = client.chat.completions.create( model="openai/gpt-6.1-sol", messages=[{"role": "user", "content": "Racontez-moi une histoire"}], stream=True ) for chunk in stream: content = chunk.choices[0].delta.content if content: print(content, end="", flush=True)

Format de réponse en streaming

Chaque chunk est envoyé via SSE :

data: {"id":"chatcmpl-abc123","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"content":"Bonjour"},"finish_reason":null}]} data: {"id":"chatcmpl-abc123","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"content":" monde"},"finish_reason":null}]} data: {"id":"chatcmpl-abc123","object":"chat.completion.chunk","choices":[{"index":0,"delta":{},"finish_reason":"stop"}]} data: [DONE]

Entrée multimodale (vision)

Envoyez des images pour que le modèle les analyse :

response = client.chat.completions.create( model="openai/gpt-6.1-sol", messages=[{ "role": "user", "content": [ {"type": "text", "text": "Qu'y a-t-il dans cette image ?"}, {"type": "image_url", "image_url": {"url": "https://example.com/image.jpg"}} ] }] )

Les modèles avec capacité de vision incluent : openai/gpt-6.1-sol, anthropic/claude-sonnet-5.5, google/gemini-3.8-flash, entre autres. Consultez le guide de compréhension visuelle.

Function Calling

Consultez le guide d’appel de fonctions.

Dernière mise à jour le