OpenAI
Chat Completions, embeddings, imágenes, audio y archivos, sin cambios.
/v1/chat/completionsOmniRoute / Superficie de la API
Chat, embeddings, reranking, imágenes, vídeo, música, voz, OCR, archivos y lotes, en el formato de solicitud que tu cliente ya habla.
Formatos de red
Un solo proceso acepta varios formatos, así que una herramienta construida sobre el SDK de un proveedor solo necesita cambiar la URL base y nada más.
Chat Completions, embeddings, imágenes, audio y archivos, sin cambios.
/v1/chat/completionsEl formato de red de Messages, incluido el recuento de tokens.
/v1/messagesLa forma de Responses API, con compactación de la salida de herramientas.
/v1/responsesgenerateContent y el listado de modelos de Gemini.
/v1beta/modelsSustituto directo para herramientas que hablan la API local de Ollama.
/v1/api/chatReranking de Cohere/Voyage más clasificación y segmentación de Jina.
/v1/rerankEndpoints
Agrupados por lo que intentas hacer, no por el proveedor que casualmente lo sirve.
Tres formas de solicitud llegan al mismo router, así que el cliente conserva el formato que ya habla.
/v1/chat/completionsOpenAI Chat Completions, en streaming o con búfer/v1/messagesAnthropic Messages/v1/responsesOpenAI Responses/v1/messages/count_tokensCuenta los tokens antes de gastarlosLa mitad de recuperación de un stack RAG detrás del mismo endpoint y la misma clave.
/v1/embeddingsEmbeddings de texto y multimodales/v1/rerankReranking compatible con Cohere y Voyage/v1/searchAbstracción de búsqueda web entre proveedores/v1/classifyClasificación de texto de Jina/v1/segmentSegmentación de contenido de Jina/v1/web/fetchExtracción de páginas legiblesLa generación pasa por el mismo fallback y la misma contabilidad de costes que el texto.
/v1/images/generationsSíntesis de imágenes/v1/images/editsEdición e inpainting/v1/videos/generationsGeneración de vídeo/v1/music/generationsSíntesis de músicaVoz en ambas direcciones, más OCR para material escaneado.
/v1/audio/transcriptionsVoz a texto/v1/audio/translationsTranscripción con traducción/v1/audio/speechTexto a voz/v1/ocrOCR de documentosSube una vez y ejecuta el trabajo de forma asíncrona en lugar de mantener una conexión abierta.
/v1/filesSube un archivo/v1/files/{id}/contentDevuelve el contenido del archivo en streaming/v1/batchesCrea un trabajo por lotes/v1/batches/{id}Consulta el estado del lote/v1/batches/{id}/cancelCancela un lote en ejecuciónTodo lo que un cliente necesita para elegir un modelo y no salirse del presupuesto.
/v1/modelsCatálogo de modelos agrupado por proveedor/v1/quotas/checkValida de antemano la cuota restante/v1/moderationsModeración de contenido/v1/wsUpgrade a WebSocket para clientes en streamingUn servidor MCP con 110 herramientas y una agent card A2A, servidos por el mismo proceso.
/api/mcp/streamMCP sobre HTTP, 33 ámbitos/api/mcp/sseMCP sobre Server-Sent Events/a2aJSON-RPC 2.0, 6 habilidades de agente/.well-known/agent.jsonAgent card públicaCabeceras
El enrutamiento no es una caja negra: la decisión, el coste y la compresión que produjeron una respuesta viajan de vuelta con ella.
X-OmniRoute-DecisionEstrategia, alias de proveedor y latencia que sirvieron la solicitudX-OmniRoute-ProviderEl alias de proveedor al que se enrutó realmenteX-OmniRoute-ModelEl identificador de modelo resueltoX-OmniRoute-Latency-MsLatencia upstream en milisegundosX-OmniRoute-Tokens-InRecuento de tokens de entradaX-OmniRoute-Tokens-OutRecuento de tokens de salidaX-OmniRoute-Response-CostCoste en USD de esta respuestaX-OmniRoute-Cost-SavedUSD evitados en un acierto de cachéX-OmniRoute-CacheHIT o MISS en solicitudes sin streamingX-OmniRoute-CompressionModo de compresión aplicado y de dónde procedeX-OmniRoute-Fallback-AttemptsSaltos de fallback realizados, si hubo algunoX-OmniRoute-Request-IdId de correlación para el registro de solicitudesx-omniroute-compressionAnula el perfil de compresión para una sola solicitudX-OmniRoute-No-CacheOmite la caché semánticax-omniroute-no-memoryOmite la inyección de memoria y habilidadesX-Session-IdClave de afinidad de sesión y atribución de costesIdempotency-KeyDeduplica una solicitud reintentada