openrouter/chat-completions, servida por Comfy Router desde Openrouter.
Entrada: Texto, Imagen · Salida: Texto
Configurar la solicitud
Crea una clave en tu espacio de trabajo de Comfy y expórtala comoCOMFY_API_KEY. Para Python, ejecuta pip install comfy-sdk. Para TypeScript, ejecuta npm install @comfyorg/sdk. cURL usa HTTP sin procesar.
ID del modelo: openrouter/chat-completions
Endpoint: POST https://api.comfy.org/v2/models/openrouter/chat-completions
Este modelo no tiene un ejemplo de solicitud ejecutable. Construye el cuerpo a partir de la documentación de entrada que aparece abajo y luego úsalo con la guía de inicio rápido del Router.
Esquema
Entrada
Habilita el almacenamiento en caché automático de prompts. Cuando se define en el nivel superior, el sistema aplica automáticamente puntos de interrupción de caché al último bloque que se puede almacenar en caché en la solicitud. Actualmente es compatible con modelos de Anthropic Claude.
Opciones de depuración para inspeccionar las transformaciones de la solicitud (solo streaming)
Si es verdadero, incluye el cuerpo de la solicitud upstream transformado en un fragmento de depuración al inicio del stream. Solo funciona en modo streaming.
Máximo de tokens (obsoleto, usa max_completion_tokens). Nota: algunos proveedores exigen un mínimo de 16.
Pares clave-valor con información adicional del objeto (máximo 16 pares, claves de 64 caracteres y valores de 512 caracteres)
Modalidades de salida de la respuesta. Los valores admitidos son “text”, “image” y “audio”.
Indica si se habilita el llamado paralelo de funciones durante el uso de herramientas. Cuando es verdadero, el modelo puede generar varias llamadas a herramientas en una sola respuesta.
Cuando hay varios proveedores de modelos disponibles, puedes indicar opcionalmente tu preferencia de enrutamiento.
Indica si se permite que proveedores de respaldo atiendan las solicitudes
- true: (predeterminado) cuando el proveedor principal (o tus proveedores personalizados en “order”) no está disponible, usa el siguiente mejor proveedor.
- false: usa solo el proveedor principal/personalizado y devuelve el error del upstream si no está disponible.
Configuración de recopilación de datos. Si ningún proveedor de modelos disponible cumple el requisito, tu solicitud devolverá un error.
- allow: (predeterminado) permite proveedores que almacenan datos de usuario de forma no transitoria y que pueden entrenar con ellos
- deny: usa solo proveedores que no recopilan datos de usuario.
Indica si se restringe el enrutamiento solo a modelos que permiten la destilación de texto. Cuando es verdadero, solo se usarán los modelos en los que el autor haya permitido la destilación.
`AkashML`, `AI21`, `AionLabs`, `Alibaba`, `Ambient`, `Baidu`, `Amazon Bedrock`, `Amazon Nova`, `Anthropic`, `Arcee AI`, `AtlasCloud`, `Avian`, `Azure`, `BaseTen`, `BytePlus`, `Black Forest Labs`, `Cerebras`, `Chutes`, `Cirrascale`, `Clarifai`, `Cloudflare`, `Cohere`, `Crucible`, `Crusoe`, `DeepInfra`, `DeepSeek`, `DekaLLM`, `Featherless`, `Fireworks`, `Friendli`, `GMICloud`, `Google`, `Google AI Studio`, `Groq`, `Hyperbolic`, `Inception`, `Inceptron`, `InferenceNet`, `Ionstream`, `Infermatic`, `Io Net`, `Inflection`, `Liquid`, `Mara`, `Mancer 2`, `Minimax`, `ModelRun`, `Mistral`, `Modular`, `Moonshot AI`, `Morph`, `NCompass`, `Nebius`, `Nex AGI`, `NextBit`, `Novita`, `Nvidia`, `OpenAI`, `OpenInference`, `Parasail`, `Poolside`, `Perceptron`, `Perplexity`, `Phala`, `Recraft`, `Reka`, `Relace`, `SambaNova`, `Seed`, `SiliconFlow`, `Sourceful`, `StepFun`, `Stealth`, `StreamLake`, `Switchpoint`, `Together`, `Upstage`, `Venice`, `WandB`, `Xiaomi`, `xAI`, `Z.AI`, `FakeProvider` | string[]
Lista de slugs de proveedores que se deben ignorar. Si se proporciona, esta lista se combina con la configuración de proveedores ignorados de toda tu cuenta para esta solicitud.
El objeto que especifica el precio máximo que quieres pagar por esta solicitud. Precio en USD por millón de tokens, para prompt y respuesta.
`AkashML`, `AI21`, `AionLabs`, `Alibaba`, `Ambient`, `Baidu`, `Amazon Bedrock`, `Amazon Nova`, `Anthropic`, `Arcee AI`, `AtlasCloud`, `Avian`, `Azure`, `BaseTen`, `BytePlus`, `Black Forest Labs`, `Cerebras`, `Chutes`, `Cirrascale`, `Clarifai`, `Cloudflare`, `Cohere`, `Crucible`, `Crusoe`, `DeepInfra`, `DeepSeek`, `DekaLLM`, `Featherless`, `Fireworks`, `Friendli`, `GMICloud`, `Google`, `Google AI Studio`, `Groq`, `Hyperbolic`, `Inception`, `Inceptron`, `InferenceNet`, `Ionstream`, `Infermatic`, `Io Net`, `Inflection`, `Liquid`, `Mara`, `Mancer 2`, `Minimax`, `ModelRun`, `Mistral`, `Modular`, `Moonshot AI`, `Morph`, `NCompass`, `Nebius`, `Nex AGI`, `NextBit`, `Novita`, `Nvidia`, `OpenAI`, `OpenInference`, `Parasail`, `Poolside`, `Perceptron`, `Perplexity`, `Phala`, `Recraft`, `Reka`, `Relace`, `SambaNova`, `Seed`, `SiliconFlow`, `Sourceful`, `StepFun`, `Stealth`, `StreamLake`, `Switchpoint`, `Together`, `Upstage`, `Venice`, `WandB`, `Xiaomi`, `xAI`, `Z.AI`, `FakeProvider` | string[]
Lista de slugs de proveedor permitidos. Si se proporciona, esta lista se combina con las configuraciones de proveedores permitidos de tu cuenta para esta solicitud.
`AkashML`, `AI21`, `AionLabs`, `Alibaba`, `Ambient`, `Baidu`, `Amazon Bedrock`, `Amazon Nova`, `Anthropic`, `Arcee AI`, `AtlasCloud`, `Avian`, `Azure`, `BaseTen`, `BytePlus`, `Black Forest Labs`, `Cerebras`, `Chutes`, `Cirrascale`, `Clarifai`, `Cloudflare`, `Cohere`, `Crucible`, `Crusoe`, `DeepInfra`, `DeepSeek`, `DekaLLM`, `Featherless`, `Fireworks`, `Friendli`, `GMICloud`, `Google`, `Google AI Studio`, `Groq`, `Hyperbolic`, `Inception`, `Inceptron`, `InferenceNet`, `Ionstream`, `Infermatic`, `Io Net`, `Inflection`, `Liquid`, `Mara`, `Mancer 2`, `Minimax`, `ModelRun`, `Mistral`, `Modular`, `Moonshot AI`, `Morph`, `NCompass`, `Nebius`, `Nex AGI`, `NextBit`, `Novita`, `Nvidia`, `OpenAI`, `OpenInference`, `Parasail`, `Poolside`, `Perceptron`, `Perplexity`, `Phala`, `Recraft`, `Reka`, `Relace`, `SambaNova`, `Seed`, `SiliconFlow`, `Sourceful`, `StepFun`, `Stealth`, `StreamLake`, `Switchpoint`, `Together`, `Upstage`, `Venice`, `WandB`, `Xiaomi`, `xAI`, `Z.AI`, `FakeProvider` | string[]
Una lista ordenada de slugs de proveedor. El enrutador intentará usar el primer proveedor del subconjunto de esta lista que admita el modelo que solicitaste y recurrirá al siguiente si no está disponible. Si no hay proveedores disponibles, la solicitud fallará con un mensaje de error.
Latencia máxima preferida (en segundos). Puede ser un número (se aplica a p50) o un objeto con umbrales específicos por percentil. Los endpoints por encima de los umbrales aún pueden usarse, pero tienen menor prioridad en el enrutamiento. Al usar modelos de respaldo, esto puede provocar que se use un modelo de respaldo en lugar del modelo principal si cumple con el umbral.
Rendimiento mínimo preferido (en tokens por segundo). Puede ser un número (se aplica a p50) o un objeto con umbrales específicos por percentil. Los endpoints por debajo de los umbrales aún pueden usarse, pero tienen menor prioridad en el enrutamiento. Al usar modelos de respaldo, esto puede provocar que se use un modelo de respaldo en lugar del modelo principal si cumple con el umbral.
Una lista de niveles de cuantización para filtrar los proveedores.
Indica si se deben filtrar los proveedores para dejar solo aquellos que admitan los parámetros que proporcionaste. Si se omite esta configuración o se establece en false, los proveedores recibirán solo los parámetros que admitan e ignorarán el resto.
La estrategia de ordenamiento que se usará para esta solicitud si no se especifica “order”. Cuando se establece, no se realiza balanceo de carga.
Indica si se debe restringir el enrutamiento solo a endpoints ZDR (Zero Data Retention). Cuando es true, solo se usarán los endpoints que no retienen prompts.
Restringe el esfuerzo de razonamiento en los modelos de razonamiento
El nivel de servicio que se usará para procesar esta solicitud.
Un identificador único para agrupar solicitudes relacionadas (por ejemplo, una conversación o un flujo de trabajo de agente) para observabilidad. Si se proporciona tanto en el cuerpo de la solicitud como en el encabezado x-session-id, el valor del cuerpo tiene prioridad. Máximo de 256 caracteres.
Condiciones de parada para el bucle del agente de herramientas del servidor. Si se activa cualquier condición, se detiene el bucle (lógica OR). Cuando se establece, anula
max_tool_calls.Metadatos para observabilidad y trazabilidad. Las claves conocidas (trace_id, trace_name, span_name, generation_name, parent_span_id) tienen un manejo especial. Las claves adicionales se pasan como metadatos personalizados a los destinos de difusión configurados.
GET /v2/models/openrouter/chat-completions/openapi.json, el mismo documento contra el que valida una llamada antes de que la solicitud llegue al proveedor.
Salida
Tipo categórico de una etapa de pipeline. Varios plugins pueden compartir un tipo (por ejemplo, todos los plugins de nivel guardrail emiten
guardrail); el campo name distingue qué plugin lo emitió.Valores posibles: guardrail, plugin, server_tools, response_healing, context_compressionValores posibles:
direct, auto, free, latest, alias, fallback, pareto, bodybuilder, fusionEjemplos
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.