curl --request POST \
--url https://direct.evolink.ai/v1/chat/completions \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"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": "Consultar el tiempo de una ciudad determinada",
"parameters": {}
}
}
],
"parallel_tool_calls": true,
"prompt_cache_key": "app-chat-v1",
"user": "user-1024"
}
'import 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": "Consultar el tiempo de una ciudad determinada",
"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: 'Consultar el tiempo de una ciudad determinada',
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' => 'Consultar el tiempo de una ciudad determinada',
'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\": \"Consultar el tiempo de una ciudad determinada\",\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\": \"Consultar el tiempo de una ciudad determinada\",\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\": \"Consultar el tiempo de una ciudad determinada\",\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"
}
}Interfaz de todos los modelos GPT - Referencia completa de Chat Completions
-
API Chat Completions compatible con OpenAI para los modelos de texto de la serie GPT; el modelo concreto se elige mediante
model(todos los valores posibles están en la tabla comparativa del parámetromodel) -
Toda la serie está formada por modelos de razonamiento; la profundidad se controla con
reasoning_efforty los tokens de razonamiento se facturan como tokens de salida -
La caché de prompts se aplica automáticamente: los tokens de entrada servidos desde caché se facturan a la tarifa de caché, más baja
-
Admite los modos síncrono y en streaming (SSE)
-
Admite entrada mixta de texto e imagen, así como llamadas a herramientas
function -
Las herramientas del lado del servidor (búsqueda web, ejecución de código, búsqueda documental, MCP) solo se ofrecen en la API Responses
-
Nota El alcance de compatibilidad de los parámetros de muestreo (
temperature,top_p,logprobs, etc.) varía según el modelo; consulta las notas de cada parámetro más abajo -
GPT-6 Astra: establece
reasoning_effort: "none"al usar herramientas de función; usa la API Responses para conservar el razonamiento
curl --request POST \
--url https://direct.evolink.ai/v1/chat/completions \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"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": "Consultar el tiempo de una ciudad determinada",
"parameters": {}
}
}
],
"parallel_tool_calls": true,
"prompt_cache_key": "app-chat-v1",
"user": "user-1024"
}
'import 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": "Consultar el tiempo de una ciudad determinada",
"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: 'Consultar el tiempo de una ciudad determinada',
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' => 'Consultar el tiempo de una ciudad determinada',
'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\": \"Consultar el tiempo de una ciudad determinada\",\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\": \"Consultar el tiempo de una ciudad determinada\",\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\": \"Consultar el tiempo de una ciudad determinada\",\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, que ofrece mejor compatibilidad con modelos de texto y admite conexiones persistentes. https://api.evolink.ai es el endpoint principal para servicios multimodales y actúa como dirección de respaldo para los modelos de texto.function normales.stop (secuencias de parada) y web_search_options no se admiten en ningún modelo y devuelven 400 si se envían; logit_bias no es aplicable a esta serie de modelos.El alcance de compatibilidad de temperature, top_p, frequency_penalty, presence_penalty, logprobs y verbosity varía según el modelo: consulta las notas de cada parámetro más arriba.reasoning_effort debe establecerse en none. Para conservar el razonamiento al usar herramientas, utiliza la API Responses.Autorizaciones
##Todas las APIs requieren autenticación Bearer Token##
Obtener API Key:
Visita la Página de gestión de API Key para obtener tu API Key
Agregar al encabezado de la solicitud:
Authorization: Bearer YOUR_API_KEY
Cuerpo
Modelo a invocar:
| ID del modelo | Ventana de contexto | Posicionamiento |
|---|---|---|
gpt-6-astra | 1.050.000 | Razonamiento insignia para tareas integrales exigentes |
gpt-5.6-sol | 1.050.000 | Familia GPT-5.6, razonamiento de vanguardia |
gpt-5.6-terra | 1.050.000 | Familia GPT-5.6, producción equilibrada |
gpt-5.6-luna | 1.050.000 | Familia GPT-5.6, alto rendimiento y control de costes |
gpt-5.5 | 400.000 | Modelo de razonamiento de propósito general |
gpt-5.4 | 128.000 | Modelo de razonamiento de propósito general |
gpt-5.2 | 400.000 | Modelo de razonamiento de propósito general |
gpt-5.1 | 400.000 | Modelo de razonamiento de propósito general |
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"
Lista de mensajes de chat, admite contexto de varios turnos y entrada multimodal.
role puede ser system / developer / user / assistant / tool.
content puede ser una cadena o un array de bloques de contenido. Se admiten dos tipos de bloque: text (texto) e image_url (imagen):
"content": [
{ "type": "text", "text": "¿Qué hay en esta imagen?" },
{
"type": "image_url",
"image_url": { "url": "https://example.com/photo.png", "detail": "auto" }
}
]
Imagen
- Envía en
image_url.urlla URL pública de la imagen image_urltambién puede escribirse directamente como una cadena, equivalente a{ "url": "..." }detailcontrola la precisión del análisis de la imagen:auto(predeterminado) /low/high/original- La imagen debe poder descargarse, de lo contrario se devuelve
400
Nota Los tipos de bloque de esta API son distintos de los de la API Responses (que usa input_text / input_image). No pueden mezclarse; usarlos mal devuelve 400.
Show child attributes
Show child attributes
[
{
"role": "system",
"content": "You are a concise assistant."
},
{
"role": "user",
"content": "Explain quantum entanglement in one sentence."
}
]
Si la respuesta se devuelve en streaming (flujo de eventos SSE, que termina con data: [DONE]). El valor predeterminado es false.
false
Número máximo de tokens a generar (incluidos los tokens de razonamiento).
Nota Esta serie de modelos usa max_completion_tokens. Por compatibilidad con código antiguo, enviar solo max_tokens se interpreta automáticamente como max_completion_tokens; sin embargo, no envíes ambos campos a la vez — en gpt-5.1 / gpt-5.2 / gpt-5.4 enviarlos juntos devuelve 400.
2048
Control de la profundidad de razonamiento. Los valores posibles varían según el modelo:
| Modelo | Valores posibles |
|---|---|
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 |
Los tokens de razonamiento se facturan como tokens de salida y se contabilizan en usage.completion_tokens_details.reasoning_tokens.
none, low, medium, high, xhigh "medium"
Nivel de detalle de la respuesta: low / medium / high.
Nota Compatible con gpt-6-astra, gpt-5.6-sol, gpt-5.6-terra, gpt-5.6-luna y gpt-5.5; los demás modelos no admiten este parámetro.
low, medium, high "low"
Temperatura de muestreo, con valores de 0 a 2. Cuanto más bajo, más determinista es la salida.
Nota Solo puede ajustarse en gpt-5.5 / gpt-5.4 / gpt-5.2 / gpt-5.1. La familia gpt-5.6 y GPT-6 Astra solo aceptan el valor predeterminado 1; enviar cualquier otro valor devuelve 400.
0 <= x <= 21
Parámetro de muestreo por núcleo, con valores de 0 a 1. No se recomienda ajustarlo junto con temperature.
Nota Solo puede ajustarse en gpt-5.5 / gpt-5.4 / gpt-5.2 / gpt-5.1. La familia gpt-5.6 y GPT-6 Astra solo aceptan el valor predeterminado 1; enviar cualquier otro valor devuelve 400.
0 <= x <= 11
Penalización por frecuencia, con valores de -2 a 2. Los valores positivos penalizan los tokens según su frecuencia de aparición y reducen el contenido repetido.
Nota Solo puede ajustarse en gpt-5.4 / gpt-5.2 / gpt-5.1; la familia gpt-5.6 y gpt-5.5 no permiten ajustarlo. GPT-6 Astra solo acepta el valor predeterminado 0; enviar cualquier otro valor devuelve 400.
-2 <= x <= 20
Penalización por presencia, con valores de -2 a 2. Los valores positivos animan al modelo a tratar temas nuevos.
Nota Solo puede ajustarse en gpt-5.4 / gpt-5.2 / gpt-5.1; la familia gpt-5.6 y gpt-5.5 no permiten ajustarlo. GPT-6 Astra solo acepta el valor predeterminado 0; enviar cualquier otro valor devuelve 400.
-2 <= x <= 20
Si se devuelven las probabilidades logarítmicas de cada token de salida.
Nota Solo lo admiten gpt-5.4 / gpt-5.2 / gpt-5.1; la familia gpt-5.6 y gpt-5.5 no admiten este parámetro.
GPT-6 Astra no admite este parámetro.
true
Número de tokens candidatos devueltos en cada posición, con valores de 0 a 5; debe usarse junto con logprobs: true.
Nota El alcance de compatibilidad es el mismo que el de logprobs.
0 <= x <= 52
Número de respuestas candidatas a generar, devueltas como varios elementos del array choices. Se facturan todos los tokens (incluida la salida de cada candidata).
1
Semilla aleatoria. Con la misma semilla y la misma combinación de parámetros, el modelo intenta devolver resultados coherentes (en la medida de lo posible; no se garantiza una reproducibilidad total).
42
Control del formato de salida:
{"type": "text"}: texto libre, el valor predeterminado{"type": "json_object"}: devuelve JSON válido y exige que la palabrajsonaparezca enmessages, de lo contrario devuelve400{"type": "json_schema", "json_schema": {...}}: devuelve resultados estructurados conforme al JSON Schema indicado; combínalo con"strict": truepara forzar la conformidad con el esquema
Show child attributes
Show child attributes
Lista de herramientas, usada para Function Calling (llamadas a funciones del lado del cliente, sin coste por llamada).
Las herramientas del lado del servidor (búsqueda web, ejecución de código, etc.) no se ofrecen en esta API; utiliza en su lugar la API Responses.
GPT-6 Astra puede usar herramientas de función en esta API, pero reasoning_effort debe establecerse en none. Para conservar el razonamiento al usar herramientas, utiliza la API Responses.
Show child attributes
Show child attributes
Control de la selección de herramientas: "auto" (predeterminado) / "none" / "required", o un objeto que indica una función concreta, como {"type": "function", "function": {"name": "get_weather"}}.
none, auto, required Si el modelo puede llamar a varias herramientas en paralelo dentro de un mismo turno. El valor predeterminado es true; con false se fuerza a llamarlas una a una.
true
Clave de agrupación de caché. Enviar el mismo valor para solicitudes que comparten el mismo prefijo mejora la tasa de aciertos de la caché de prompts.
"app-chat-v1"
Identificador del usuario final, usado para distinguir el origen de las llamadas.
"user-1024"
Respuesta
Generación de la conversación correcta (objeto JSON; con stream=true, un flujo de eventos SSE que termina con data: [DONE])
Identificador único de esta conversación
"chatcmpl-CvJ2p8mQxK7nR4wS"
Tipo de respuesta
chat.completion "chat.completion"
Marca de tiempo de creación
1786705221
Nombre del modelo real utilizado
"gpt-6-astra"
Lista de resultados generados (su longitud es igual a n en la solicitud)
Show child attributes
Show child attributes
Estadísticas de uso de tokens. La caché de prompts se aplica automáticamente y los tokens de entrada servidos desde caché se facturan a la tarifa de caché, más baja.
Show child attributes
Show child attributes