Referencia API
Superficie REST completa - chat, incrustaciones, reclasificaciones, imágenes, vídeo, 3D, audio, transcripción, búsqueda, detección, empleos
EmpirioLabs habla de formas de solicitud compatibles con OpenAI y Anthropic. Introduce cualquier SDK, apúntalo a https://api.empiriolabs.ai y autentica con tu clave API de EmpirioLabs. Todos los endpoints de abajo funcionan sin cambios contra cualquier cliente OpenAI o Anthropic.
Autenticación
Cada solicitud requiere un token de portador. Cualquiera de los encabezados es aceptado en todos los extremos:
Superficie del extremo
Chat compatible con OpenAI. Streaming, llamada a herramientas, visión, entrada de audio, modo JSON, salida estructurada, controles de razonamiento.
Completaciones de prompts compatibles con OpenAI para modelos que anuncian POST /v1/completions.
Entrada sin cita para clientes de SDK de Anthropic. tool_use / tool_result bloques de ida y vuelta limpios.
Generar, editar, inpaint, variaciones de imagen. URLs CDN alojadas, firmadas 7 días.
Generación de vídeo asincrónica. Regresa un job_id; Consulta la URL en el endpoint de empleos.
TTS más streaming en tiempo real TTS (Inworld), generación de música / podcast / SFX, gestión de clones de voz.
Tareas de agente que usan herramientas de larga duración. Empezar, encuestar, transmitir mensajes, parar pronto.
Susurro / Deepgram / Periquito. Subir o file_url en varias partes.
Exa, Tavily, Linkup, Perplexity Busca. Filtros de dominio, intervalos de fechas, sesgo geográfico.
Generación de activos de imagen asíncrona a 3D. Regresa un job_id; encuesta para la URL firmada de GLB.
POST /v1/detect - Detección de IA GPTZero, escaneo de bibliografía, análisis de fuentes.
Embeddings compatibles con OpenAI. Texto multilingüe + incrustadores multimodales.
Reclasificación semántica del documento. Ordena los candidatos a recuperación por relevancia para RAG y refinamiento de búsqueda.
Pasa cualquier URL pública en los campos de entrada. No hay subida ni renovación - las salidas generadas son válidas durante 7 días.
Consulta el estado / resultado de cualquier generación asincrónica. State se mantuvo 1 hora después de completarlo.
Catálogo en vivo con precios, esquema de parámetros, flags de capacidades, regiones.
Envolventes de error compatibles con OpenAI y Anthropic.
Completados de chats
POST /v1/chat/completions
Pasa cualquier modelo con capacidad de chat del catálogo como model. El streaming utiliza eventos enviados por servidor con data: ... líneas y una data: [DONE] final.
Los parámetros aceptados de cada modelo están en su página de documentación (por ejemplo, temperature, top_p, enable_thinking, reasoning_effort, web_search_tier). Explora ellos en Proveedores y Modelos.
Parámetros del modelo entre extremos
Los parámetros específicos del modelo anunciados en la página del modelo y en GET /v1/models/\{id\} pueden enviarse a /v1/chat/completions, /v1/responses y /v1/messages cuando ese modelo soporte el endpoint. La pasarela adapta las formas de las peticiones para que los mismos controles lleguen al modelo subyacente.
Para modelos con capacidad de pensamiento, enable_thinking y thinking_budget se aceptan en los tres extremos de texto. En /v1/messages, también puedes usar el pensamiento al estilo antrópico:
Eso corresponde con los mismos controles enable_thinking=true y thinking_budget=1024 que usan las Finalizaciones y Respuestas de Chat.
Finalizaciones de legado
POST /v1/completions
Utiliza este endpoint para clientes compatibles con OpenAI que aún envían un prompt en bruto en lugar de messages de chat. Solo los modelos que listan POST /v1/completions en supported_endpoints aceptan esta forma.
El streaming utiliza eventos enviados por el servidor e incluye el uso cuando el servicio modelo los reporta.
Anthropic Mensajes
POST /v1/messages
Disponible para cualquier cliente de SDK de Anthropic - los mismos modelos accesibles en /v1/chat/completions y /v1/responses están disponibles aquí bajo la forma de Mensajes Antrópicos.
tool_use y tool_result bloques de ida y vuelta limpios. Se conservan los arrays de contenido text-plus-tool_use mixto.
Generación de imágenes
POST /v1/images/generations
Los flujos de edición de imagen aceptan image: ["https://..."] con hasta el límite documentado del modelo (3 para qwen-image-2-0, 9 para wan-2-7-image, 14 para seedream-5-0-lite). Los modos de conjunto de imágenes generan series cohesivas - consulta la página de cada modelo para el toggle.
Las URLs devueltas están activas en https://media.empiriolabs.ai y expiran tras 7 días. Guarda lo que quieras conservar antes de que caduque la URL.
POST /v1/images/analysis realiza análisis solo de visión (sin generación) sobre una o más imágenes de entrada. Úsase para extracción de diseño, detección de objetos, OCR y tareas de inspección similares donde el modelo devuelve texto o JSON describiendo la imagen en lugar de una imagen nueva.
Generación de vídeo
POST /v1/videos/generations
Siempre asíncrono: el endpoint devuelve una job_id y una URL de sondeo.
Generación de audio
POST /v1/audio/speech síncrono, devuelve por defecto una URL alojada; Pase response_format: "b64_json" bytes de audio en línea.
POST /v1/audio/speech:stream TTS en tiempo real. Devuelve eventos enviados por el servidor mientras el modelo se sintetiza. Menos de 130 ms time-to-first-byte en Inworld TTS Mini, menos de 250 ms en Max. Úsalo para agentes de voz y reproducción interactiva. Actualmente soportado en Inworld TTS Mini / Max; otros modelos TTS utilizan el punto final síncrono.
POST /v1/audio/generations generación de música, podcast y efectos de sonido. Incluye Stable Audio, GLM TTS, MOSS, SoulX Podcast, donde la forma prompt-to-audio difiere de la de TTS.
GET /v1/voices listar y gestionar voces, incluyendo clones de voz personalizados para Inworld TTS. Utiliza el voice_id devuelto en cualquiera de los extremos de voz.
Transcripción
POST /v1/audio/transcriptions
Acepta una carga de file multiparte o una carga útil JSON con file_url.
Los archivos largos (más de 5 minutos) se enrutan automáticamente al sistema de trabajos asincrónicos - la respuesta incluye un job_id en lugar de texto en línea. Consulta el endpoint de trabajos para recuperar la transcripción final.
Búsqueda e investigación
POST /v1/search superficie de búsqueda unificada para modelos de tipo recuperación. Los parámetros exactos aceptados por modelo están presentes en la página de cada modelo (por ejemplo, exa-search expone 28 parámetros, incluyendo category, livecrawl, subpages, summary_query, code_tokens).
POST /v1/research modelos de investigación profunda / recuperación en varios pasos (Exa Research, Perplexity Deep Research, Linkup Deep Search). Genera un informe de investigación estructurado con fuentes citadas.
POST /v1/answer modelos directos de preguntas y respuestas (Exa Answer). Devuelve una respuesta concisa más citas sin la forma completa del informe.
Agentes
Tareas de agente de larga duración que usan herramientas (actualmente enrutadas a Manus). Envía una vez, luego consulta el estado y step-by-step mensajes, o para antes de tiempo.
POST /v1/agents/run cumple doble función:
- Sin
task_idempieza una tarea nova. La respuesta lleva a cabo el nuevotask_id. - Con
task_idenvía un mensaje de seguimiento a una tarea existente. El agente lo recoge en su siguiente paso de razonamiento.
GET /v1/agents/\{task_id\} recuperar el estado actual de la tarea y el resultado final.
GET /v1/agents/\{task_id\}/messages enumerar todos los pasos que el agente ha emitido hasta ahora. Útil para mostrar un trazado de razonamiento en tiempo real junto con la respuesta final.
POST /v1/agents/\{task_id\}/stop detener una tarea en marcha. La facturación se conforma con el trabajo que el agente ya ha realizado.
Generación 3D
POST /v1/3d/generations
La generación de imagen a 3D es asincrónica. El endpoint devuelve una job_id y una URL de sondeo; consulta el endpoint de jobs para recuperar la última URL firmada de GLB.
trellis-2-4b expone toda la imagen, resolución, sampler, textura y parámetro de exportación de la malla en su página de modelo.
Detección
POST /v1/detect
Punto final especializado en clasificación de texto. Actualmente alimenta GPTZero (detección por IA, escaneo de bibliografía, análisis de fuentes). El scan_type enum de cada modelo elige el camino aguas arriba; consulta la documentación por modelo para la superficie completa de parámetros.
GPTZero también es accesible a través de /v1/chat/completions y /v1/responses - pasa el texto al cuerpo del mensaje y la pasarela adapta la llamada. El resumen de detección vuelve como el mensaje del asistente; pasa disable_formatting: true para recibir el JSON en bruto aguas arriba en su lugar.
Incrustaciones
POST /v1/embeddings
Embeddings compatibles con OpenAI. Hay textos multilingües y embebidos multimodales (texto + imagen + vídeo) disponibles.
Reclasificaciones
POST /v1/reranks
Ordena documents candidato por relevancia semántica para un query. Devuelve el índice original de cada documento más una puntuación de relevancia de 0-1 (mayor = más relevante). Úsalo para ajustar la salida de un almacén vectorial / BM25 / retriever híbrido antes de pasar los primeros resultados a un modelo de lenguaje - el paso estándar final en una pipeline RAG.
El cambio opcional de parámetros de instruct entre recuperación de preguntas y respuestas (por defecto) y ordenación pura por similitud semántica - véase la página del modelo qwen3-rerank para la tabla completa de parámetros.
Objeto de uso
Cada endpoint que factura el uso devuelve un campo de usage en la respuesta (y en el fragmento de streaming del terminal). Forma de la base:
cost_usd- cantidad exacta que se te cobró a tu cuenta por la solicitud. Autoritario.prompt_tokens/completion_tokens/total_tokens- para modelos de chat.- Campos de caché (
cache_read_input_tokens,cache_creation_input_tokens) - cuando se aplica la caché de prompts.
Los modelos con precios ascendentes escalonados, por llamada o variantes imprimen campos adicionales en usage para que puedas ver qué tipo de interés se aplicó:
- Precio por niveles / variantes. Los trabajadores imprimen un discriminador por nivel en
usagecuando la misma dimensión tiene más de una tarifa. El campo principal espricing_tier_label(legible por humanos, por ejemplo,"Medium context"/"Pro"/"2K"). Los trabajadores mayores pueden estampar directamente la dimensión en bruto (resolution,quality,mode,rate_tier). El salpicadero muestra la insignia desde el que esté presente. - Precio por llamada. Los trabajadores que facturan por invocación de herramienta (búsqueda, obtención, ejecución de código, etc.) cuentan bajo
tool_calls_details.<tool>.invocationotool_usage.<tool>. El panel de control los amplía automáticamente en un desglose por herramienta. - Tarificación por dimensión. Los trabajadores que facturan múltiples dimensiones en una sola solicitud (por ejemplo, tokens de citación + tokens de razonamiento + consultas de búsqueda en modelos de investigación profunda) escriben cada dimensión como un campo propio (
citation_tokens,reasoning_tokens,num_search_queries, etc.).
Los mismos campos controlan el desglose de la insignia de nivel y herramienta en los registros de uso del panel, y también se devuelven el extremo de historial GET /v1/account/usage bajo la metadata.worker_usage de cada evento (además de un array de tool_breakdown estructurado para modelos por llamada). Así que, ya sea que leas el uso de respuestas en vivo, el historial de uso de cuentas o tu panel de control, el desglose de nivel y facturación coincide exactamente.
URLs de archivos
EmpirioLabs no aloja las subidas de usuarios. Pasa cualquier URL pública directamente al campo de entrada del endpoint del modelo:
Para la transcripción de audio específicamente, la subida directa multiparte en /v1/audio/transcriptions es el camino soportado para clips privados que no están en una URL - esos bytes fluyen directamente al trabajador speech-to-text sin almacenamiento persistente.
Las URLs de salida generadas se firman y expiran 7 días después de la creación. No hay un punto final de re-firma. Guarda todo lo que necesites conservar - tanto la URL como el binario - dentro de esa ventana.
Trabajos asincrónicos
GET /v1/jobs/<job-id> - encuesta el estado o resultado final de cualquier trabajo de generación o transcripción asíncrona.
El estado del puesto se mantiene 1 hora después de completarlo.
Cuando status es completed, el campo result lleva la respuesta completa en la misma forma que habría devuelto el extremo síncrono.
El tiempo de espera HTTP de entrada es 15 minutos. Las finalizaciones de chat síncronas cerca de ese límite deberían establecer stream=true para que parte de la salida fluya de vuelta y la conexión se mantenga caliente.
Modelos
GET /v1/models - enumera todos los modelos disponibles.
GET /v1/models/<model-id> - esquema completo para un modelo, incluyendo su tabla de parámetros.
GET /v1/models?format=openrouter devuelve la forma de listado de modelos de OpenRouter para modelos marcados listos para la ingestión de socios. Consulta OpenRouter Model Listing para los campos de respuesta exactos.
Cada modelo devuelve lo siguiente:
disable_formatting bandera
Muchos endpoints de chat, búsqueda, investigación y reclasificación aceptan una bandera de disable_formatting=true. Cuando se establece en un modelo de soporte, el trabajador omite el formato del servidor de EmpirioLabs (reescritura de citas, bloque de referencias, Markdown con bloque de pensamiento, etc.) y devuelve la forma de carga útil ascendente palabra por palabra.
La cobertura se anuncia por modelo. Consulta supports_passthrough en GET /v1/models/\{id\} para confirmar que un modelo específico honra la bandera. Los modelos que anuncian supports_passthrough: true también aceptan los alias raw=true, passthrough=true y raw_response=true. Los modelos sin ese campo aceptan solo la forma canónica de disable_formatting=true (o no respetan el paso en absoluto). La tarjeta de modelos indica qué alias acepta cada modelo.
Los endpoints de imagen, vídeo, generación de audio, transcripción e incrustación no aceptan esta bandera, ya que no hay una capa de formato que desactivar en esos endpoints.
Retención de medios generados
Las imágenes, vídeos y audio generados se devuelven como URLs firmadas válidas durante 7 días. Después de eso, la URL deja de funcionar y el activo desaparece - no hay un punto final de re-firma. Guarda lo que quieras conservar antes de que expire la ventana de 7 días.
Errores
Sobre OpenAI en chat / respuestas / imágenes / vídeos / audio / búsqueda / incrustaciones / reposiciones:
Anthropic sobre en /v1/messages:
Referencia de cabeceras
Explora los esquemas de parámetros por modelo en Proveedores y Modelos. Cuando haces clic en un modelo específico, cada parámetro que acepta el modelo - tipo, predeterminado, rango, valores permitidos, banderas condicionales - se documenta en una tabla generada desde la base de datos en vivo.
