Chat Completions
Conversaciones de texto y llamadas de función ejecutadas por el cliente en formato OpenAI Chat.
Actualizado el 31 de octubre de 2026 · Contrato 0.2.0
Contrato de solicitud
Envía de 1 a 128 mensajes ordenados de tipo system, user, assistant o tool. Usa max_tokens o max_completion_tokens, nunca ambos. Cada solicitud está limitada por el máximo configurado del modelo y los límites compartidos de entrada serializada.
Llamadas de función
Se admiten hasta ocho funciones declaradas y resultados de llamadas con límites. tool_choice puede ser auto, none, required o una función con nombre. El cliente ejecuta las funciones devueltas; una función llamada shell nunca autoriza la ejecución en los hosts de NotHoly.
Streaming
Define stream:true. Los chunks conservan un ID estable y fragmentos indexados de argumentos de herramientas. include_usage emite un chunk final solo con uso. [DONE] aparece únicamente después de una finalización correcta; una salida parcial puede ir seguida de un error.
Respuesta y limitaciones
Lee choices[0].message y finish_reason. El contenido puede ser null en turnos solo de herramientas. Los campos desconocidos y los ciclos de herramientas malformados fallan antes del envío. Los campos opcionales de esfuerzo, muestreo y formato de respuesta requieren una capacidad del modelo activada de forma explícita; el esquema generado documenta su formato exacto aceptado.
Ejemplo de solicitud
Usa tu clave de cliente y un modelo publicado. Copiar un ejemplo no envía una solicitud.
curl https://api.notholy.com/v1/chat/completions \
-H "Authorization: Bearer $NOTHOLY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "notholy-pulse",
"messages": [
{
"role": "user",
"content": "Explain least privilege."
}
],
"max_tokens": 256
}'Fixture de contrato HTTP. Las comprobaciones con fixtures son distintas de la disponibilidad de modelos en vivo.
Campos de solicitud
Generado a partir del contrato versionado. Las reglas de refinamiento anteriores siguen aplicándose.
modelstringobligatorioHasta 100 caracteres.
messagesarray<object | object | object>obligatorioHasta 128 elementos. Al menos 1 elemento.
toolsarray<object>Hasta 8 elementos.
Mostrar campos del elemento
type"function"obligatoriofunctionobjectobligatorioSe rechazan los campos desconocidos.
Mostrar campos del objeto
namestringobligatoriodescriptionstringPredeterminado: "". Hasta 1000 caracteres.
parametersobjectobligatoriotool_choice"auto" | "none" | "required" | objectMostrar variantes aceptadas
Variante 1"auto" | "none" | "required"Variante 2objectSe rechazan los campos desconocidos.
Mostrar campos del objeto
type"function"obligatoriofunctionobjectobligatorioSe rechazan los campos desconocidos.
Mostrar campos del objeto
namestringobligatoriomax_tokensintegerMínimo de 1. Máximo de 512.000.
max_completion_tokensintegerMínimo de 1. Máximo de 512.000.
reasoning_effort"off" | "none" | "low" | "high" | "max"temperaturenumberMínimo de 0. Máximo de 2.
top_pnumberMínimo de 0. Máximo de 1.
stopstring | array<string>Mostrar variantes aceptadas
Variante 1stringHasta 1024 caracteres.
Variante 2array<string>Hasta 16 elementos. Al menos 1 elemento.
response_formatobject | object | objectMostrar variantes aceptadas
Variante 1objectSe rechazan los campos desconocidos.
Mostrar campos del objeto
type"text"obligatorioVariante 2objectSe rechazan los campos desconocidos.
Mostrar campos del objeto
type"json_object"obligatorioVariante 3objectSe rechazan los campos desconocidos.
Mostrar campos del objeto
type"json_schema"obligatoriojson_schemaobjectobligatorioSe rechazan los campos desconocidos.
Mostrar campos del objeto
namestringobligatoriodescriptionstringHasta 1000 caracteres.
schemaobjectobligatoriostrictbooleaneffort"off" | "none" | "low" | "high" | "max"prompt_tokensintegerMínimo de 0. Máximo de 9.007.199.254.740.991.
streambooleanPredeterminado: false.
stream_optionsobjectSe rechazan los campos desconocidos.
Mostrar campos del objeto
include_usagebooleanobligatorioEsquema de respuesta
idstringobligatorioobject"chat.completion"obligatoriocreatedintegerobligatorioMínimo de -9.007.199.254.740.991. Máximo de 9.007.199.254.740.991.
modelstringobligatoriochoicesarray<object>obligatorioHasta 1 elemento. Al menos 1 elemento.
Mostrar campos del elemento
index0obligatoriomessageobjectobligatorioSe rechazan los campos desconocidos.
Mostrar campos del objeto
role"assistant"obligatoriocontentstring | nullobligatorioreasoning_contentstringtool_callsarray<object>Mostrar campos del elemento
idstringobligatoriotype"function"obligatoriofunctionobjectobligatorioSe rechazan los campos desconocidos.
finish_reason"stop" | "tool_calls" | "length"obligatoriousageobjectobligatorioSe rechazan los campos desconocidos.
Mostrar campos del objeto
prompt_tokensinteger | nullobligatorioMínimo de -9.007.199.254.740.991. Máximo de 9.007.199.254.740.991.
completion_tokensinteger | nullobligatorioMínimo de -9.007.199.254.740.991. Máximo de 9.007.199.254.740.991.
total_tokensinteger | nullobligatorioMínimo de -9.007.199.254.740.991. Máximo de 9.007.199.254.740.991.
prompt_tokens_detailsobjectSe rechazan los campos desconocidos.
Mostrar campos del objeto
cached_tokensintegerobligatorioMínimo de 0. Máximo de 9.007.199.254.740.991.
completion_tokens_detailsobjectSe rechazan los campos desconocidos.
Mostrar campos del objeto
reasoning_tokensintegerobligatorioMínimo de 0. Máximo de 9.007.199.254.740.991.