Texto
Crear Respuesta
Crea una respuesta usando el formato de la Responses API de OpenAI
Use este endpoint cuando accepted_request_formats en los detalles del modelo incluya openai_responses. Las solicitudes y respuestas usan el formato Responses API. Los campos opcionales y sus valores admitidos dependen del modelo elegido.
Cuerpo de la solicitud
ID del modelo a usar. Vea Modelos para las opciones disponibles.
La entrada es opcional cuando la solicitud usa en su lugar un prompt reutilizable o continúa una respuesta almacenada con previous_response_id.
Una lista de elementos de entrada que componen la conversación.
Cada elemento puede ser:
message: Un mensaje de la conversación con role y contentfunction_call: Una solicitud de llamada a funciónfunction_call_output: Salida de una llamada a función
Para entrada multimodal, message.content puede ser una cadena de texto simple o un arreglo de bloques de contenido. Para modelos con capacidad de imágenes, como las variantes GPT-5.6 Terra, pase las imágenes como bloques input_image en lugar de incrustar URLs o cadenas Base64 directamente en texto plano.
Ejemplos de bloques de contenido:
{ "type": "input_text", "text": "Describe this image" }{ "type": "input_image", "image_url": "https://example.com/image.jpg" }{ "type": "input_image", "image_url": "data:image/png;base64,..." }
Instrucciones del sistema para el modelo (equivalente al mensaje del sistema).
Número máximo de tokens a generar.
Temperatura de muestreo. Los valores admitidos y predeterminados dependen del modelo elegido.
Herramientas que puede invocar el modelo. Los tipos y combinaciones admitidos dependen del modelo elegido.
falseSi es true, devuelve un flujo de eventos.
ID de una respuesta previa desde la cual continuar la conversación.
trueSi se debe almacenar la respuesta para recuperación posterior.
falseSolicita la ejecución asíncrona. La compatibilidad depende del modelo elegido.
Referencia a una plantilla de prompt reutilizable y sus variables.
Metadatos para adjuntar a la respuesta con fines de seguimiento.
Configuración de salida de texto. La compatibilidad con text.format depende del modelo elegido.
trueSi se permiten múltiples llamadas a herramientas en paralelo.
Parámetro de muestreo por núcleo (nucleus sampling) (0-1).
Las opciones de razonamiento, incluido effort, dependen del modelo elegido.
Respuesta
Identificador único de la respuesta.
Siempre response.
Marca de tiempo Unix de cuando se creó la respuesta.
Estado de la respuesta: queued, in_progress, completed, incomplete, failed o cancelled. Compruebe este campo aunque la solicitud HTTP tenga éxito.
Lista de elementos de salida generados por el modelo.
Estadísticas de uso de tokens.
Endpoints relacionados
GET /v1/responses/{id}recupera una respuesta guardada y admiteinclude,include_obfuscation,streamystarting_after.DELETE /v1/responses/{id}elimina una respuesta guardada. No cancela la generación.POST /v1/responses/compactdevuelve un objetoresponse.compaction.- Los endpoints de cancelación, input-items e input-tokens no están disponibles actualmente.
Solicitud
curl -X POST "https://api.tokenlab.sh/v1/responses" \
-H "Authorization: Bearer sk-your-api-key" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5.6-terra",
"input": [
{"type": "message", "role": "user", "content": "Hello!"}
],
"max_output_tokens": 1000
}'from openai import OpenAI
client = OpenAI(
api_key="sk-your-api-key",
base_url="https://api.tokenlab.sh/v1"
)
response = client.responses.create(
model="gpt-5.6-terra",
input=[
{"type": "message", "role": "user", "content": "Hello!"}
],
max_output_tokens=1000
)
print(response.output)import OpenAI from 'openai';
const client = new OpenAI({
apiKey: 'sk-your-api-key',
baseURL: 'https://api.tokenlab.sh/v1'
});
const response = await client.responses.create({
model: 'gpt-5.6-terra',
input: [
{ type: 'message', role: 'user', content: 'Hello!' }
],
max_output_tokens: 1000
});
console.log(response.output);package main
import (
"bytes"
"encoding/json"
"fmt"
"net/http"
)
func main() {
payload := map[string]interface{}{
"model": "gpt-5.6-terra",
"input": []map[string]interface{}{
{"type": "message", "role": "user", "content": "Hello!"},
},
"max_output_tokens": 1000,
}
body, _ := json.Marshal(payload)
req, _ := http.NewRequest("POST", "https://api.tokenlab.sh/v1/responses", bytes.NewBuffer(body))
req.Header.Set("Authorization", "Bearer sk-your-api-key")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
var result map[string]interface{}
json.NewDecoder(resp.Body).Decode(&result)
fmt.Println(result["output"])
}<?php
$ch = curl_init('https://api.tokenlab.sh/v1/responses');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => [
'Content-Type: application/json',
'Authorization: Bearer sk-your-api-key'
],
CURLOPT_POSTFIELDS => json_encode([
'model' => 'gpt-5.6-terra',
'input' => [
['type' => 'message', 'role' => 'user', 'content' => 'Hello!']
],
'max_output_tokens' => 1000
])
]);
$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true);
print_r($data['output']);Ejemplo de entrada de visión
Use modelos con capacidad para imágenes colocando las imágenes dentro de message.content como bloques input_image. El valor de image_url puede ser una URL pública o una URL de datos Base64.
{
"model": "gpt-5.6-terra",
"input": [
{
"type": "message",
"role": "user",
"content": [
{
"type": "input_text",
"text": "Please describe this image."
},
{
"type": "input_image",
"image_url": "https://example.com/demo.jpg"
}
]
}
]
}{
"model": "gpt-5.6-terra",
"input": [
{
"type": "message",
"role": "user",
"content": [
{
"type": "input_text",
"text": "Please describe this image."
},
{
"type": "input_image",
"image_url": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQ..."
}
]
}
]
}Respuesta
{
"id": "resp_abc123",
"object": "response",
"created_at": 1706000000,
"status": "completed",
"model": "gpt-5.6-terra",
"output": [
{
"id": "msg_abc123",
"type": "message",
"status": "completed",
"role": "assistant",
"content": [
{"type": "output_text", "text": "Hello! How can I help you today?", "annotations": []}
]
}
],
"usage": {
"input_tokens": 10,
"output_tokens": 12,
"total_tokens": 22
}
}Autorización
BearerAuth Autenticación con API Key. Cree o gestione API keys en Dashboard > API > API Keys.
Ubicación: header
Encabezados
Política de entrega por solicitud. Sustituye los valores predeterminados de la API key y del Workspace. Auto intenta primero con TokenLab Verified y puede cambiar una vez a Official solo antes de la salida, la aceptación de la solicitud o la creación de recursos persistentes.
Valores permitidos
- "auto"
- "verified"
- "official"
Cuerpo de la solicitud
application/json
Respuesta
application/json
application/json
application/json