curl --request POST \
--url https://direct.evolink.ai/v1/chat/completions \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data @- <<EOF
{
"model": "gpt-6-astra",
"messages": [
{
"role": "system",
"content": "You are a concise assistant."
},
{
"role": "user",
"content": "Explain quantum entanglement in one sentence."
}
],
"stream": false,
"max_completion_tokens": 2048,
"reasoning_effort": "medium",
"verbosity": "low",
"temperature": 1,
"top_p": 1,
"frequency_penalty": 0,
"presence_penalty": 0,
"logprobs": true,
"top_logprobs": 2,
"n": 1,
"seed": 42,
"response_format": {
"type": "json_schema",
"json_schema": {}
},
"tools": [
{
"type": "function",
"function": {
"name": "get_weather",
"description": "Obtenir la météo d'une ville donnée",
"parameters": {}
}
}
],
"parallel_tool_calls": true,
"prompt_cache_key": "app-chat-v1",
"user": "user-1024"
}
EOFimport requests
url = "https://direct.evolink.ai/v1/chat/completions"
payload = {
"model": "gpt-6-astra",
"messages": [
{
"role": "system",
"content": "You are a concise assistant."
},
{
"role": "user",
"content": "Explain quantum entanglement in one sentence."
}
],
"stream": False,
"max_completion_tokens": 2048,
"reasoning_effort": "medium",
"verbosity": "low",
"temperature": 1,
"top_p": 1,
"frequency_penalty": 0,
"presence_penalty": 0,
"logprobs": True,
"top_logprobs": 2,
"n": 1,
"seed": 42,
"response_format": {
"type": "json_schema",
"json_schema": {}
},
"tools": [
{
"type": "function",
"function": {
"name": "get_weather",
"description": "Obtenir la météo d'une ville donnée",
"parameters": {}
}
}
],
"parallel_tool_calls": True,
"prompt_cache_key": "app-chat-v1",
"user": "user-1024"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
model: 'gpt-6-astra',
messages: [
{role: 'system', content: 'You are a concise assistant.'},
{role: 'user', content: 'Explain quantum entanglement in one sentence.'}
],
stream: false,
max_completion_tokens: 2048,
reasoning_effort: 'medium',
verbosity: 'low',
temperature: 1,
top_p: 1,
frequency_penalty: 0,
presence_penalty: 0,
logprobs: true,
top_logprobs: 2,
n: 1,
seed: 42,
response_format: {type: 'json_schema', json_schema: {}},
tools: [
{
type: 'function',
function: {
name: 'get_weather',
description: 'Obtenir la météo d\'une ville donnée',
parameters: {}
}
}
],
parallel_tool_calls: true,
prompt_cache_key: 'app-chat-v1',
user: 'user-1024'
})
};
fetch('https://direct.evolink.ai/v1/chat/completions', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://direct.evolink.ai/v1/chat/completions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'model' => 'gpt-6-astra',
'messages' => [
[
'role' => 'system',
'content' => 'You are a concise assistant.'
],
[
'role' => 'user',
'content' => 'Explain quantum entanglement in one sentence.'
]
],
'stream' => false,
'max_completion_tokens' => 2048,
'reasoning_effort' => 'medium',
'verbosity' => 'low',
'temperature' => 1,
'top_p' => 1,
'frequency_penalty' => 0,
'presence_penalty' => 0,
'logprobs' => true,
'top_logprobs' => 2,
'n' => 1,
'seed' => 42,
'response_format' => [
'type' => 'json_schema',
'json_schema' => [
]
],
'tools' => [
[
'type' => 'function',
'function' => [
'name' => 'get_weather',
'description' => 'Obtenir la météo d\'une ville donnée',
'parameters' => [
]
]
]
],
'parallel_tool_calls' => true,
'prompt_cache_key' => 'app-chat-v1',
'user' => 'user-1024'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://direct.evolink.ai/v1/chat/completions"
payload := strings.NewReader("{\n \"model\": \"gpt-6-astra\",\n \"messages\": [\n {\n \"role\": \"system\",\n \"content\": \"You are a concise assistant.\"\n },\n {\n \"role\": \"user\",\n \"content\": \"Explain quantum entanglement in one sentence.\"\n }\n ],\n \"stream\": false,\n \"max_completion_tokens\": 2048,\n \"reasoning_effort\": \"medium\",\n \"verbosity\": \"low\",\n \"temperature\": 1,\n \"top_p\": 1,\n \"frequency_penalty\": 0,\n \"presence_penalty\": 0,\n \"logprobs\": true,\n \"top_logprobs\": 2,\n \"n\": 1,\n \"seed\": 42,\n \"response_format\": {\n \"type\": \"json_schema\",\n \"json_schema\": {}\n },\n \"tools\": [\n {\n \"type\": \"function\",\n \"function\": {\n \"name\": \"get_weather\",\n \"description\": \"Obtenir la météo d'une ville donnée\",\n \"parameters\": {}\n }\n }\n ],\n \"parallel_tool_calls\": true,\n \"prompt_cache_key\": \"app-chat-v1\",\n \"user\": \"user-1024\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://direct.evolink.ai/v1/chat/completions")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"model\": \"gpt-6-astra\",\n \"messages\": [\n {\n \"role\": \"system\",\n \"content\": \"You are a concise assistant.\"\n },\n {\n \"role\": \"user\",\n \"content\": \"Explain quantum entanglement in one sentence.\"\n }\n ],\n \"stream\": false,\n \"max_completion_tokens\": 2048,\n \"reasoning_effort\": \"medium\",\n \"verbosity\": \"low\",\n \"temperature\": 1,\n \"top_p\": 1,\n \"frequency_penalty\": 0,\n \"presence_penalty\": 0,\n \"logprobs\": true,\n \"top_logprobs\": 2,\n \"n\": 1,\n \"seed\": 42,\n \"response_format\": {\n \"type\": \"json_schema\",\n \"json_schema\": {}\n },\n \"tools\": [\n {\n \"type\": \"function\",\n \"function\": {\n \"name\": \"get_weather\",\n \"description\": \"Obtenir la météo d'une ville donnée\",\n \"parameters\": {}\n }\n }\n ],\n \"parallel_tool_calls\": true,\n \"prompt_cache_key\": \"app-chat-v1\",\n \"user\": \"user-1024\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://direct.evolink.ai/v1/chat/completions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"model\": \"gpt-6-astra\",\n \"messages\": [\n {\n \"role\": \"system\",\n \"content\": \"You are a concise assistant.\"\n },\n {\n \"role\": \"user\",\n \"content\": \"Explain quantum entanglement in one sentence.\"\n }\n ],\n \"stream\": false,\n \"max_completion_tokens\": 2048,\n \"reasoning_effort\": \"medium\",\n \"verbosity\": \"low\",\n \"temperature\": 1,\n \"top_p\": 1,\n \"frequency_penalty\": 0,\n \"presence_penalty\": 0,\n \"logprobs\": true,\n \"top_logprobs\": 2,\n \"n\": 1,\n \"seed\": 42,\n \"response_format\": {\n \"type\": \"json_schema\",\n \"json_schema\": {}\n },\n \"tools\": [\n {\n \"type\": \"function\",\n \"function\": {\n \"name\": \"get_weather\",\n \"description\": \"Obtenir la météo d'une ville donnée\",\n \"parameters\": {}\n }\n }\n ],\n \"parallel_tool_calls\": true,\n \"prompt_cache_key\": \"app-chat-v1\",\n \"user\": \"user-1024\"\n}"
response = http.request(request)
puts response.read_body{
"id": "chatcmpl-CvJ2p8mQxK7nR4wS",
"object": "chat.completion",
"created": 1786705221,
"model": "gpt-6-astra",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Quantum entanglement means the states of two particles are correlated, so measuring one instantly determines the state of the other.",
"tool_calls": [
{}
]
},
"logprobs": {},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 18,
"completion_tokens": 42,
"total_tokens": 60,
"prompt_tokens_details": {
"cached_tokens": 0
},
"completion_tokens_details": {
"reasoning_tokens": 16
}
}
}{
"error": {
"code": 400,
"message": "Unsupported parameter: 'stop' is not supported with this model.",
"type": "invalid_request_error"
}
}{
"error": {
"code": 401,
"message": "Invalid or expired token",
"type": "authentication_error"
}
}{
"error": {
"code": 402,
"message": "Insufficient quota",
"type": "insufficient_quota_error",
"fallback_suggestion": "https://evolink.ai/dashboard/billing"
}
}{
"error": {
"code": 429,
"message": "Rate limit exceeded",
"type": "rate_limit_error",
"fallback_suggestion": "retry after 60 seconds"
}
}{
"error": {
"code": 500,
"message": "Internal server error",
"type": "internal_server_error",
"fallback_suggestion": "try again later"
}
}{
"error": {
"code": 503,
"message": "Service temporarily unavailable",
"type": "service_unavailable_error",
"fallback_suggestion": "retry after 30 seconds"
}
}API tous modèles GPT - Référence complète Chat Completions
-
API Chat Completions compatible OpenAI pour les modèles de texte de la série GPT ; le modèle précis est choisi via
model(toutes les valeurs possibles figurent dans le tableau comparatif du paramètremodel) -
Toute la série est composée de modèles de raisonnement ; la profondeur se contrôle via
reasoning_effortet les tokens de raisonnement sont facturés comme des tokens de sortie -
Le cache de prompts s’applique automatiquement : les tokens d’entrée servis depuis le cache sont facturés au tarif de cache, plus bas
-
Prend en charge les modes synchrone et streaming (SSE)
-
Prend en charge une entrée mixte texte et image, ainsi que les appels d’outils
function -
Les outils côté serveur (recherche web, exécution de code, recherche documentaire, MCP) ne sont proposés que sur l’API Responses
-
Remarque Le périmètre de prise en charge des paramètres d’échantillonnage (
temperature,top_p,logprobs, etc.) varie selon le modèle ; voir les notes de chaque paramètre ci-dessous -
GPT-6 Astra : définissez
reasoning_effort: "none"avec les outils de fonction ; utilisez l’API Responses pour conserver le raisonnement
curl --request POST \
--url https://direct.evolink.ai/v1/chat/completions \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data @- <<EOF
{
"model": "gpt-6-astra",
"messages": [
{
"role": "system",
"content": "You are a concise assistant."
},
{
"role": "user",
"content": "Explain quantum entanglement in one sentence."
}
],
"stream": false,
"max_completion_tokens": 2048,
"reasoning_effort": "medium",
"verbosity": "low",
"temperature": 1,
"top_p": 1,
"frequency_penalty": 0,
"presence_penalty": 0,
"logprobs": true,
"top_logprobs": 2,
"n": 1,
"seed": 42,
"response_format": {
"type": "json_schema",
"json_schema": {}
},
"tools": [
{
"type": "function",
"function": {
"name": "get_weather",
"description": "Obtenir la météo d'une ville donnée",
"parameters": {}
}
}
],
"parallel_tool_calls": true,
"prompt_cache_key": "app-chat-v1",
"user": "user-1024"
}
EOFimport requests
url = "https://direct.evolink.ai/v1/chat/completions"
payload = {
"model": "gpt-6-astra",
"messages": [
{
"role": "system",
"content": "You are a concise assistant."
},
{
"role": "user",
"content": "Explain quantum entanglement in one sentence."
}
],
"stream": False,
"max_completion_tokens": 2048,
"reasoning_effort": "medium",
"verbosity": "low",
"temperature": 1,
"top_p": 1,
"frequency_penalty": 0,
"presence_penalty": 0,
"logprobs": True,
"top_logprobs": 2,
"n": 1,
"seed": 42,
"response_format": {
"type": "json_schema",
"json_schema": {}
},
"tools": [
{
"type": "function",
"function": {
"name": "get_weather",
"description": "Obtenir la météo d'une ville donnée",
"parameters": {}
}
}
],
"parallel_tool_calls": True,
"prompt_cache_key": "app-chat-v1",
"user": "user-1024"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
model: 'gpt-6-astra',
messages: [
{role: 'system', content: 'You are a concise assistant.'},
{role: 'user', content: 'Explain quantum entanglement in one sentence.'}
],
stream: false,
max_completion_tokens: 2048,
reasoning_effort: 'medium',
verbosity: 'low',
temperature: 1,
top_p: 1,
frequency_penalty: 0,
presence_penalty: 0,
logprobs: true,
top_logprobs: 2,
n: 1,
seed: 42,
response_format: {type: 'json_schema', json_schema: {}},
tools: [
{
type: 'function',
function: {
name: 'get_weather',
description: 'Obtenir la météo d\'une ville donnée',
parameters: {}
}
}
],
parallel_tool_calls: true,
prompt_cache_key: 'app-chat-v1',
user: 'user-1024'
})
};
fetch('https://direct.evolink.ai/v1/chat/completions', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://direct.evolink.ai/v1/chat/completions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'model' => 'gpt-6-astra',
'messages' => [
[
'role' => 'system',
'content' => 'You are a concise assistant.'
],
[
'role' => 'user',
'content' => 'Explain quantum entanglement in one sentence.'
]
],
'stream' => false,
'max_completion_tokens' => 2048,
'reasoning_effort' => 'medium',
'verbosity' => 'low',
'temperature' => 1,
'top_p' => 1,
'frequency_penalty' => 0,
'presence_penalty' => 0,
'logprobs' => true,
'top_logprobs' => 2,
'n' => 1,
'seed' => 42,
'response_format' => [
'type' => 'json_schema',
'json_schema' => [
]
],
'tools' => [
[
'type' => 'function',
'function' => [
'name' => 'get_weather',
'description' => 'Obtenir la météo d\'une ville donnée',
'parameters' => [
]
]
]
],
'parallel_tool_calls' => true,
'prompt_cache_key' => 'app-chat-v1',
'user' => 'user-1024'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://direct.evolink.ai/v1/chat/completions"
payload := strings.NewReader("{\n \"model\": \"gpt-6-astra\",\n \"messages\": [\n {\n \"role\": \"system\",\n \"content\": \"You are a concise assistant.\"\n },\n {\n \"role\": \"user\",\n \"content\": \"Explain quantum entanglement in one sentence.\"\n }\n ],\n \"stream\": false,\n \"max_completion_tokens\": 2048,\n \"reasoning_effort\": \"medium\",\n \"verbosity\": \"low\",\n \"temperature\": 1,\n \"top_p\": 1,\n \"frequency_penalty\": 0,\n \"presence_penalty\": 0,\n \"logprobs\": true,\n \"top_logprobs\": 2,\n \"n\": 1,\n \"seed\": 42,\n \"response_format\": {\n \"type\": \"json_schema\",\n \"json_schema\": {}\n },\n \"tools\": [\n {\n \"type\": \"function\",\n \"function\": {\n \"name\": \"get_weather\",\n \"description\": \"Obtenir la météo d'une ville donnée\",\n \"parameters\": {}\n }\n }\n ],\n \"parallel_tool_calls\": true,\n \"prompt_cache_key\": \"app-chat-v1\",\n \"user\": \"user-1024\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://direct.evolink.ai/v1/chat/completions")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"model\": \"gpt-6-astra\",\n \"messages\": [\n {\n \"role\": \"system\",\n \"content\": \"You are a concise assistant.\"\n },\n {\n \"role\": \"user\",\n \"content\": \"Explain quantum entanglement in one sentence.\"\n }\n ],\n \"stream\": false,\n \"max_completion_tokens\": 2048,\n \"reasoning_effort\": \"medium\",\n \"verbosity\": \"low\",\n \"temperature\": 1,\n \"top_p\": 1,\n \"frequency_penalty\": 0,\n \"presence_penalty\": 0,\n \"logprobs\": true,\n \"top_logprobs\": 2,\n \"n\": 1,\n \"seed\": 42,\n \"response_format\": {\n \"type\": \"json_schema\",\n \"json_schema\": {}\n },\n \"tools\": [\n {\n \"type\": \"function\",\n \"function\": {\n \"name\": \"get_weather\",\n \"description\": \"Obtenir la météo d'une ville donnée\",\n \"parameters\": {}\n }\n }\n ],\n \"parallel_tool_calls\": true,\n \"prompt_cache_key\": \"app-chat-v1\",\n \"user\": \"user-1024\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://direct.evolink.ai/v1/chat/completions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"model\": \"gpt-6-astra\",\n \"messages\": [\n {\n \"role\": \"system\",\n \"content\": \"You are a concise assistant.\"\n },\n {\n \"role\": \"user\",\n \"content\": \"Explain quantum entanglement in one sentence.\"\n }\n ],\n \"stream\": false,\n \"max_completion_tokens\": 2048,\n \"reasoning_effort\": \"medium\",\n \"verbosity\": \"low\",\n \"temperature\": 1,\n \"top_p\": 1,\n \"frequency_penalty\": 0,\n \"presence_penalty\": 0,\n \"logprobs\": true,\n \"top_logprobs\": 2,\n \"n\": 1,\n \"seed\": 42,\n \"response_format\": {\n \"type\": \"json_schema\",\n \"json_schema\": {}\n },\n \"tools\": [\n {\n \"type\": \"function\",\n \"function\": {\n \"name\": \"get_weather\",\n \"description\": \"Obtenir la météo d'une ville donnée\",\n \"parameters\": {}\n }\n }\n ],\n \"parallel_tool_calls\": true,\n \"prompt_cache_key\": \"app-chat-v1\",\n \"user\": \"user-1024\"\n}"
response = http.request(request)
puts response.read_body{
"id": "chatcmpl-CvJ2p8mQxK7nR4wS",
"object": "chat.completion",
"created": 1786705221,
"model": "gpt-6-astra",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Quantum entanglement means the states of two particles are correlated, so measuring one instantly determines the state of the other.",
"tool_calls": [
{}
]
},
"logprobs": {},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 18,
"completion_tokens": 42,
"total_tokens": 60,
"prompt_tokens_details": {
"cached_tokens": 0
},
"completion_tokens_details": {
"reasoning_tokens": 16
}
}
}{
"error": {
"code": 400,
"message": "Unsupported parameter: 'stop' is not supported with this model.",
"type": "invalid_request_error"
}
}{
"error": {
"code": 401,
"message": "Invalid or expired token",
"type": "authentication_error"
}
}{
"error": {
"code": 402,
"message": "Insufficient quota",
"type": "insufficient_quota_error",
"fallback_suggestion": "https://evolink.ai/dashboard/billing"
}
}{
"error": {
"code": 429,
"message": "Rate limit exceeded",
"type": "rate_limit_error",
"fallback_suggestion": "retry after 60 seconds"
}
}{
"error": {
"code": 500,
"message": "Internal server error",
"type": "internal_server_error",
"fallback_suggestion": "try again later"
}
}{
"error": {
"code": 503,
"message": "Service temporarily unavailable",
"type": "service_unavailable_error",
"fallback_suggestion": "retry after 30 seconds"
}
}https://direct.evolink.ai, qui offre une meilleure prise en charge des modèles de texte et des connexions persistantes. https://api.evolink.ai est le point d’accès principal pour les services multimodaux et sert d’adresse de secours pour les modèles de texte.function ordinaires.stop (séquences d’arrêt) et web_search_options ne sont pris en charge par aucun modèle et retournent 400 s’ils sont transmis ; logit_bias ne s’applique pas à cette série de modèles.Le périmètre de prise en charge de temperature, top_p, frequency_penalty, presence_penalty, logprobs et verbosity varie selon le modèle : référez-vous aux notes de chaque paramètre ci-dessus.reasoning_effort doit être défini sur none. Pour conserver le raisonnement avec les outils, utilisez l’API Responses.Autorisations
##Toutes les API nécessitent une authentification Bearer Token##
Obtenir une clé API :
Visitez la Page de gestion des clés API pour obtenir votre clé API
Ajouter à l'en-tête de requête :
Authorization: Bearer YOUR_API_KEY
Corps
Modèle à appeler :
| ID du modèle | Fenêtre de contexte | Positionnement |
|---|---|---|
gpt-6-astra | 1 050 000 | Raisonnement phare pour les tâches de bout en bout exigeantes |
gpt-5.6-sol | 1 050 000 | Famille GPT-5.6, raisonnement de pointe |
gpt-5.6-terra | 1 050 000 | Famille GPT-5.6, production équilibrée |
gpt-5.6-luna | 1 050 000 | Famille GPT-5.6, débit élevé et maîtrise des coûts |
gpt-5.5 | 400 000 | Modèle de raisonnement polyvalent |
gpt-5.4 | 128 000 | Modèle de raisonnement polyvalent |
gpt-5.2 | 400 000 | Modèle de raisonnement polyvalent |
gpt-5.1 | 400 000 | Modèle de raisonnement polyvalent |
gpt-6-astra, gpt-5.6-sol, gpt-5.6-terra, gpt-5.6-luna, gpt-5.5, gpt-5.4, gpt-5.2, gpt-5.1 "gpt-6-astra"
Liste des messages de chat, prenant en charge le contexte multi-tours et l'entrée multimodale.
role peut valoir system / developer / user / assistant / tool.
content peut être une chaîne de caractères ou un tableau de blocs de contenu. Deux types de blocs sont pris en charge : text (texte) et image_url (image) :
"content": [
{ "type": "text", "text": "Que voit-on sur cette image ?" },
{
"type": "image_url",
"image_url": { "url": "https://example.com/photo.png", "detail": "auto" }
}
]
Image
- Transmettez dans
image_url.urll'URL publique de l'image image_urlpeut aussi s'écrire directement sous forme de chaîne, équivalent à{ "url": "..." }detailcontrôle la précision d'analyse de l'image :auto(par défaut) /low/high/original- L'image doit pouvoir être téléchargée, sinon
400est retourné
Remarque Les types de blocs de cette API diffèrent de ceux de l'API Responses (qui utilise input_text / input_image). Ils ne peuvent pas être mélangés ; une erreur de type retourne 400.
Show child attributes
Show child attributes
[
{
"role": "system",
"content": "You are a concise assistant."
},
{
"role": "user",
"content": "Explain quantum entanglement in one sentence."
}
]
Indique si la réponse est retournée en flux (flux d'événements SSE se terminant par data: [DONE]). Valeur par défaut false.
false
Nombre maximal de tokens à générer (tokens de raisonnement inclus).
Remarque Cette série de modèles utilise max_completion_tokens. Pour la compatibilité avec le code existant, transmettre uniquement max_tokens est automatiquement interprété comme max_completion_tokens ; en revanche, ne transmettez pas les deux champs à la fois — sur gpt-5.1 / gpt-5.2 / gpt-5.4, les transmettre ensemble retourne 400.
2048
Contrôle de la profondeur de raisonnement. Les valeurs possibles varient selon le modèle :
| Modèle | Valeurs possibles |
|---|---|
gpt-6-astra | none, low, medium, high, xhigh |
gpt-5.6-sol / gpt-5.6-terra / gpt-5.6-luna / gpt-5.5 | none, low, medium, high, xhigh |
gpt-5.4 / gpt-5.2 / gpt-5.1 | low, medium, high, xhigh |
Les tokens de raisonnement sont facturés comme des tokens de sortie et comptabilisés dans usage.completion_tokens_details.reasoning_tokens.
none, low, medium, high, xhigh "medium"
Niveau de détail de la réponse : low / medium / high.
Remarque Pris en charge par gpt-6-astra, gpt-5.6-sol, gpt-5.6-terra, gpt-5.6-luna et gpt-5.5 ; les autres modèles ne prennent pas en charge ce paramètre.
low, medium, high "low"
Température d'échantillonnage, valeurs de 0 à 2. Plus la valeur est basse, plus la sortie est déterministe.
Remarque Réglable uniquement sur gpt-5.5 / gpt-5.4 / gpt-5.2 / gpt-5.1. La famille gpt-5.6 et GPT-6 Astra n'acceptent que la valeur par défaut 1 ; toute autre valeur retourne 400.
0 <= x <= 21
Paramètre d'échantillonnage nucléus, valeurs de 0 à 1. Il est déconseillé de l'ajuster en même temps que temperature.
Remarque Réglable uniquement sur gpt-5.5 / gpt-5.4 / gpt-5.2 / gpt-5.1. La famille gpt-5.6 et GPT-6 Astra n'acceptent que la valeur par défaut 1 ; toute autre valeur retourne 400.
0 <= x <= 11
Pénalité de fréquence, valeurs de -2 à 2. Les valeurs positives pénalisent les tokens selon leur fréquence d'apparition et réduisent les contenus répétitifs.
Remarque Réglable uniquement sur gpt-5.4 / gpt-5.2 / gpt-5.1 ; la famille gpt-5.6 et gpt-5.5 ne permettent aucun réglage. GPT-6 Astra n'accepte que la valeur par défaut 0 ; toute autre valeur retourne 400.
-2 <= x <= 20
Pénalité de présence, valeurs de -2 à 2. Les valeurs positives encouragent le modèle à aborder de nouveaux sujets.
Remarque Réglable uniquement sur gpt-5.4 / gpt-5.2 / gpt-5.1 ; la famille gpt-5.6 et gpt-5.5 ne permettent aucun réglage. GPT-6 Astra n'accepte que la valeur par défaut 0 ; toute autre valeur retourne 400.
-2 <= x <= 20
Indique s'il faut retourner les probabilités logarithmiques de chaque token de sortie.
Remarque Pris en charge uniquement par gpt-5.4 / gpt-5.2 / gpt-5.1 ; la famille gpt-5.6 et gpt-5.5 ne prennent pas en charge ce paramètre.
GPT-6 Astra ne prend pas en charge ce paramètre.
true
Nombre de tokens candidats retournés à chaque position, valeurs de 0 à 5 ; doit être utilisé avec logprobs: true.
Remarque Même périmètre de prise en charge que logprobs.
0 <= x <= 52
Nombre de réponses candidates à générer, retournées sous forme de plusieurs entrées dans le tableau choices. Tous les tokens (y compris la sortie de chaque candidate) sont facturés.
1
Graine aléatoire. Avec la même graine et la même combinaison de paramètres, le modèle s'efforce de retourner des résultats cohérents (au mieux ; une reproductibilité totale n'est pas garantie).
42
Contrôle du format de sortie :
{"type": "text"}: texte libre, la valeur par défaut{"type": "json_object"}: retourne un JSON valide et exige que le motjsonfigure dansmessages, sinon400est retourné{"type": "json_schema", "json_schema": {...}}: retourne des résultats structurés conformes au JSON Schema fourni ; associez-le à"strict": truepour imposer la conformité au schéma
Show child attributes
Show child attributes
Liste d'outils, utilisée pour le Function Calling (appels de fonctions côté client, sans frais à l'appel).
Les outils côté serveur (recherche web, exécution de code, etc.) ne sont pas proposés sur cette API ; utilisez plutôt l'API Responses.
GPT-6 Astra peut utiliser les outils de fonction sur cette API, mais reasoning_effort doit être défini sur none. Pour conserver le raisonnement avec les outils, utilisez l'API Responses.
Show child attributes
Show child attributes
Contrôle du choix des outils : "auto" (par défaut) / "none" / "required", ou un objet désignant une fonction précise, comme {"type": "function", "function": {"name": "get_weather"}}.
none, auto, required Indique si le modèle peut appeler plusieurs outils en parallèle au cours d'un même tour. Valeur par défaut true ; avec false, les appels sont forcés un par un.
true
Clé de regroupement du cache. Transmettre la même valeur pour des requêtes partageant le même préfixe améliore le taux de succès du cache de prompts.
"app-chat-v1"
Identifiant de l'utilisateur final, utilisé pour distinguer l'origine des appels.
"user-1024"
Réponse
Génération de la conversation réussie (objet JSON ; avec stream=true, un flux d'événements SSE se terminant par data: [DONE])
Identifiant unique de cette conversation
"chatcmpl-CvJ2p8mQxK7nR4wS"
Type de réponse
chat.completion "chat.completion"
Horodatage de création
1786705221
Nom du modèle réellement utilisé
"gpt-6-astra"
Liste des résultats générés (sa longueur est égale à n dans la requête)
Show child attributes
Show child attributes
Statistiques d'utilisation des tokens. Le cache de prompts s'applique automatiquement ; les tokens d'entrée servis depuis le cache sont facturés au tarif de cache, plus bas.
Show child attributes
Show child attributes