openai/gpt-5-nano, servida por Comfy Router desde OpenAI.
Entrada: Texto, Imagen · Salida: Texto
Inicio rápido
Crea una clave en tu espacio de trabajo de Comfy y expórtala comoCOMFY_API_KEY. Los fragmentos de Python y TypeScript usan los SDK de Comfy (pip install comfy-sdk y npm install @comfyorg/sdk); el fragmento de cURL es la misma llamada por HTTP sin procesar.
ID del modelo: openai/gpt-5-nano
Endpoint: POST https://api.comfy.org/v2/models/openai/gpt-5-nano
- Esperar el resultado
- Encolar y recoger más tarde
El mismo cuerpo, enviado a
POST https://api.comfy.org/v2/models/openai/gpt-5-nano/requests. Router responde 201 con un request_id en cuanto se admite la ejecución, y el resultado se recoge cuando está listo, desde este proceso o desde otro. Entrega en cola recorre el estado, la cancelación y la recogida.Esquema
Entrada
Entradas de texto, imagen o archivo al modelo, que se usan para generar una respuesta. El único campo de este contrato que Router no puede suministrar, y la única entrada en
required a continuación.Inserta un mensaje de sistema (o de desarrollador) como primer elemento en el contexto del modelo.
Un límite superior para la cantidad de tokens generados para una respuesta, incluidos los tokens de salida visibles y los tokens de razonamiento. En un id de razonamiento, este límite se comparte con los tokens de razonamiento ocultos, así que un valor pequeño puede consumir todo el presupuesto antes de que aparezca cualquier texto visible. Por eso los casos de prueba de humo de razonamiento envían 1024 mientras que los de chat envían 16.Rango:
1 a …Identificador de modelo de OpenAI. En Comfy Router, este campo es OPCIONAL y Router lo completa desde el segmento de ruta
{model}; un null explícito se reemplaza de la misma forma. Se rechaza un valor que no coincida con la ruta.SOLO NIVEL DE RAZONAMIENTO. Configuración para modelos de razonamiento, por ejemplo,
{"effort": "medium"}. Se reenvía sin cambios; consulta la guía de razonamiento de OpenAI para conocer las claves aceptadas. Un id de nivel de chat lo ignora.Se declara para que no se rechace a un llamador que lo envíe, pero es INERTE en esta superficie: Router lo FIJA en
false antes del despacho, porque captura la respuesta del proveedor en lugar de retransmitir un text/event-stream, que no puede decodificar, así que OpenAI facturaría una generación en streaming y nadie la contabilizaría. Ninguna superficie de Comfy entrega el stream: la entrada v1 POST /proxy/openai/v1/responses rechaza stream: true con un 400 y nunca reenvía la solicitud al proveedor, así que omite el campo o envía false en cualquiera de las dos superficies y lee la respuesta completada como un único cuerpo JSON.Temperatura de muestreo. SOLO NIVEL DE CHAT: los ids de razonamiento de la serie o (
o1, o1-pro, o3, o4-mini) rechazan este parámetro en OpenAI. Router no lo rechaza por ellos (consulta la nota de este componente sobre por qué los dos niveles comparten un esquema), así que una llamada de razonamiento que lo envíe recibe el error propio de OpenAI.Rango: 0 a 2Configuración del formato de salida, por ejemplo,
{"format": {"type": "json_schema", ...}} para Structured Outputs. Se reenvía sin cambios.Cómo debe seleccionar el modelo qué herramienta usar. Ya sea un modo de cadena o un objeto que nombra una herramienta.
Definiciones de herramientas que el modelo puede llamar. Router no restringe la taxonomía de herramientas; consulta la referencia de la API Responses de OpenAI para conocer las formas aceptadas.
Umbral de muestreo de núcleo. SOLO NIVEL DE CHAT, en los mismos términos que
temperature.Rango: 0 a 1Estrategia de truncamiento cuando el contexto supera la ventana del modelo. El enum SÍ se aplica aquí, a diferencia de los tres vocabularios anteriores, porque estos dos valores son el conjunto completo que OpenAI documenta y no ha crecido. Un
null explícito todavía se acepta, en los mismos términos que los campos anteriores.Valores posibles: auto, disabledEstructura de uso de tokens. Está presente en este contrato porque la operación v1 lo declara en el cuerpo de la solicitud; OpenAI lo completa en la RESPUESTA, así que un llamador no tiene motivo para enviarlo.
GET /v2/models/openai/gpt-5-nano/openapi.json, el mismo documento con el que valida una llamada antes de que la solicitud llegue al proveedor.
Salida
Inserta un mensaje de sistema (o de desarrollador) como el primer elemento en el contexto del modelo.Cuando lo usas junto con
previous_response_id, las instrucciones de una respuesta anterior no se transfieren a la siguiente respuesta. Esto simplifica el reemplazo de mensajes de sistema (o de desarrollador) en respuestas nuevas.Un límite superior para la cantidad de tokens que el modelo puede generar en una respuesta, incluidos los tokens de salida visibles y los tokens de razonamiento.
Controla la diversidad de la respuesta mediante muestreo por núcleoRango:
0 a 1La estrategia de truncamiento a usar en la respuesta del modelo.
-
auto: Si el contexto de esta respuesta y de las anteriores supera el tamaño de la ventana de contexto del modelo, el modelo truncará la respuesta para ajustarla a la ventana de contexto descartando elementos de entrada en el medio de la conversación. -
disabled(predeterminado): Si una respuesta del modelo supera el tamaño de la ventana de contexto de un modelo, la solicitud fallará con un error 400. Valores posibles:auto,disabled
El ID único de la respuesta anterior del modelo. Úsalo para
crear conversaciones de varios turnos. Aprende más sobre el
estado de la conversación.
Solo para modelos o-seriesOpciones de configuración para los
modelos de razonamiento.
Controla qué elementos de razonamiento se devuelven al modelo en turnos posteriores, por ejemplo
auto, current_turn o all_turns.Solo para modelos o-seriesLimita el esfuerzo de razonamiento de los
modelos de razonamiento.
Los valores admitidos actualmente son
low, medium y high. Reducir
el esfuerzo de razonamiento puede dar como resultado respuestas más rápidas y menos
tokens usados en razonamiento dentro de una respuesta.Valores posibles: low, medium, highObsoleto: usa
summary en su lugar.Un resumen del razonamiento realizado por el modelo. Esto puede ser
útil para depurar y comprender el proceso de razonamiento del modelo.
Uno de auto, concise o detailed.Valores posibles: auto, concise, detailedUn resumen del razonamiento realizado por el modelo. Esto puede ser
útil para depurar y comprender el proceso de razonamiento del modelo.
Uno de
auto, concise o detailed.Valores posibles: auto, concise, detailedUn objeto que especifica el formato que el modelo debe generar.Configurar
{ "type": "json_schema" } habilita las salidas estructuradas (Structured Outputs),
lo que garantiza que el modelo coincida con el esquema JSON que proporciones. Aprende más en la
guía de salidas estructuradas.El formato predeterminado es { "type": "text" } sin opciones adicionales.No recomendado para gpt-4o y modelos más recientes:Establecerlo en { "type": "json_object" } habilita el modo JSON anterior, que
garantiza que el mensaje que genera el modelo sea JSON válido. Usar json_schema
es preferible en los modelos que lo admiten.Cómo debe seleccionar el modelo qué herramienta (o herramientas) usar al generar
una respuesta. Consulta el parámetro
tools para ver cómo especificar qué herramientas
puede llamar el modelo.Marca de tiempo Unix (en segundos) de cuándo se completó esta respuesta. Solo está presente cuando el estado es
completed.El código de error de la respuesta.Valores posibles:
server_error, rate_limit_exceeded, invalid_prompt, vector_store_timeout, invalid_image, invalid_image_format, invalid_base64_image, invalid_image_url, image_too_large, image_too_small, image_parse_error, image_content_policy_violation, invalid_image_mode, image_file_too_large, unsupported_image_media_type, empty_image_file, failed_to_download_image, image_file_not_foundEl motivo por el que la respuesta está incompleta.Valores posibles:
max_output_tokens, content_filterLa cantidad máxima de llamadas totales a herramientas integradas que se pueden procesar en una respuesta.
Resultados de moderación para la entrada y la salida de la respuesta, si se solicitaron completados moderados.
El tipo de objeto de este recurso: siempre se establece en
response.Valores posibles: responseUn arreglo de elementos de contenido generados por el modelo.
- La longitud y el orden de los elementos del arreglo
outputdependen de la respuesta del modelo. - En lugar de acceder al primer elemento del arreglo
outputy suponer que es un mensaje deassistantcon el contenido generado por el modelo, considera usar la propiedadoutput_textdonde los SDK la admitan.
Propiedad de conveniencia exclusiva del SDK que contiene la salida de texto agregada
de todos los elementos
output_text del arreglo output, si los hay.
Se admite en los SDK de Python y JavaScript.Indica si se permite que el modelo ejecute llamadas a herramientas en paralelo.
OpenAI lo usa para almacenar en caché las respuestas de solicitudes similares y optimizar la tasa de aciertos de la caché. Reemplaza el campo
user.Un identificador estable que ayuda a detectar usuarios de tu aplicación que puedan estar infringiendo las políticas de uso de OpenAI.
El nivel de procesamiento que se usa para atender la solicitud, por ejemplo,
auto, default, flex, scale o priority.El estado de la generación de la respuesta. Puede ser
completed, failed, in_progress, cancelled, queued o incomplete.Valores posibles: completed, failed, in_progress, cancelled, queued, incompleteLa cantidad máxima de tokens más probables que se devuelven en cada posición de token, cada uno con su probabilidad logarítmica asociada.
Representa los detalles de uso de tokens, incluidos los tokens de entrada, los tokens de salida,
un desglose de los tokens de salida y el total de tokens usados.
Las escrituras en caché desglosadas por vida útil de la caché. Los dos recuentos suman
cache_write_tokens.La cantidad de tokens que se recuperaron de la caché.
Más información sobre el almacenamiento en caché de prompts.
Identificador obsoleto para el usuario final. Reemplazado por
safety_identifier y prompt_cache_key.Ejemplos
Entrada
Salida
Antes de lanzar
Los SDK crean unaIdempotency-Key y la reutilizan para los reintentos automáticos. Para los reintentos manuales, reutiliza la clave original. Router puede mantener la conexión abierta hasta 10 minutos.
Cuando una solicitud falla, Router envía un encabezado de respuesta X-Comfy-Error-Type que explica el motivo. Un 422 significa que Router rechazó la entrada antes de llamar al proveedor, y un 413 significa que el cuerpo de la solicitud era más grande de lo que Router acepta. Descarga los recursos generados de inmediato, porque las URL de resultados pueden caducar.
Cualquier límite de tamaño mencionado en la descripción de un campo más arriba es el límite propio del proveedor para ese campo, citado de la especificación del proveedor. Router aplica un tope aparte al cuerpo completo de la solicitud, con el que cuentan los medios codificados en base64: consulta tamaño del cuerpo de la solicitud.
Esta página documenta un modelo socio al que se llama a través de Comfy Router. El mismo paquete comfy-sdk / @comfyorg/sdk también incluye un segundo cliente, para ejecutar todo un gráfico de flujo de trabajo de ComfyUI en Comfy Cloud: Comfy(api_key=...) / new Comfy({ apiKey }), con client.workflows, client.assets y client.jobs. Consulta SDK de Comfy.
Encabezados
Autenticación, idempotencia, IDs de solicitud, agrupaciones de errores, ritmo de reintentos y límites de gasto.
Uso de la API de Router
Descubrimiento de modelos, errores de validación, reintentos y facturación.
Limitaciones
Lo que Router no hace hoy y qué usar en su lugar.