API-Referenz
API-Referenz
Vollständige REST-Oberfläche – Chat, Embeddings, Reranks, Bilder, Video, 3D, Audio, Transkription, Suche, Erkennung, Jobs
EmpirioLabs spricht OpenAI- und Anthropic-kompatible Anfrageformen. Fügen Sie ein beliebiges SDK ein, richten Sie es auf https://api.empiriolabs.ai und authentifizieren Sie sich mit Ihrem EmpirioLabs-API-Schlüssel. Jeder folgende Endpunkt arbeitet unverändert gegen jeden OpenAI- oder Anthropic-Client.
Authentifizierung
Jede Anfrage erfordert ein Inhaber-Token. Beide Header werden auf jedem Endpunkt akzeptiert:
Endpunktfläche
OpenAI-kompatibler Chat. Streaming, Werkzeugaufrufe, Vision, Audio-Eingabe, JSON-Modus, strukturierte Ausgabe, Logiksteuerung.
OpenAI-kompatible Prompt-Komplettierungen für Modelle, die POST /v1/completions bewerben.
Drop-in für Anthropic SDK-Kunden. tool_use / tool_result Blocks sauber hin und zurück.
Generieren, bearbeiten, inpainten, Bildvariationen verwenden. Gehostete CDN-URLs, 7-tägig signiert.
Asynchrone Videoerzeugung. Kehrt ein job_id zurück; polle den Jobs-Endpunkt nach der URL.
TTS plus Echtzeit-Streaming TTS (Inworld), Musik / Podcast / SFX-Generierung, Voice Clone Management.
Langlaufende Agentenaufgaben mit Werkzeugen. Fang an, polle, streame Nachrichten, hör früh auf.
Whisper / Deepgram / Wellensittich. Mehrteiliger Upload oder file_url.
Exa, Tavily, Linkup, Perplexity Suche. Domainfilter, Datumsbereiche, Geo-Bias.
Asynchrone Bild-zu-3D-Asset-Generierung. Kehrt ein job_id zurück; Umfrage nach der signierten GLB-URL.
POST /v1/detect - GPTZero KI-Erkennung, Bibliographie-Scan, Quellanalyse.
OpenAI-kompatible Embeddings. Mehrsprachiger Text + multimodale Einbettungen.
Semantische Dokument-Neubewertung. Sortiere Abrufkandidaten nach Relevanz für RAG und Suchverfeinerung.
Geben Sie beliebige öffentliche URLs auf Eingabefeldern weiter. Kein Upload, kein erneutes Unterschreiben – generierte Ausgaben sind 7 Tage gültig.
Prüfe den Status bzw. das Ergebnis jeder asynchronen Generierung. Der Staat behielt die Karte eine Stunde nach Abschluss.
Live-Katalog mit Preisen, Parameterschema, Capability-Flags, Regionen.
OpenAI- und anthropic-kompatible Fehlerhüllen.
Chat-Abschlüsse
POST /v1/chat/completions
Geben Sie jedes chatfähige Modell aus dem Katalog als model durch. Streaming verwendet Server-Send-Events mit data: ... Zeilen und einem finalen data: [DONE].
Die akzeptierten Parameter jedes Modells finden sich auf seiner Dokumentationsseite (z. B. temperature, top_p, enable_thinking, reasoning_effort, web_search_tier). Durchstöbern Sie sie unter Providers and Models.
Modelliere Parameter über Endpunkte hinweg
Modellspezifische Parameter, die auf der Modellseite und in GET /v1/models/\{id\} beworben werden, können an /v1/chat/completions, /v1/responses und /v1/messages gesendet werden, wenn dieses Modell den Endpunkt unterstützt. Das Gateway passt Anfrageformen an, sodass dieselben Steuerungen das zugrunde liegende Modell erreichen.
Für denkfähige Modelle werden enable_thinking und thinking_budget auf allen drei Textendpunkten akzeptiert. Auf /v1/messages können Sie auch anthropisches Denken anwenden:
Das entspricht denselben enable_thinking=true und thinking_budget=1024 Steuerungen, die von Chat-Abschluss und -Antworten verwendet werden.
Vermächtnisabschlüsse
POST /v1/completions
Nutzen Sie diesen Endpunkt für OpenAI-kompatible Clients, die trotzdem eine rohe prompt senden, anstatt Chat-messages. Nur Modelle, die POST /v1/completions in supported_endpoints listen, akzeptieren diese Form.
Streaming verwendet Server-Send-Events und schließt die Nutzung ein, wenn der Modelldienst dies meldet.
Anthropic Nachrichten
POST /v1/messages
Drop-in für jeden Anthropic SDK-Client – die gleichen Modelle, die auf /v1/chat/completions und /v1/responses verfügbar sind, sind hier unter der Form Anthropic Messages erreichbar.
tool_use und tool_result Blocks sauber hin und zurück. Gemischte text-plus-tool_use Content-Arrays werden erhalten.
Bilderzeugung
POST /v1/images/generations
Bildbearbeitungsflüsse akzeptieren image: ["https://..."] bis zur dokumentierten Grenze des Modells (3 für qwen-image-2-0, 9 für wan-2-7-image, 14 für seedream-5-0-lite). Bildset-Modi erzeugen kohärente Reihen – siehe die Seite jedes Modells für den Umschalter.
Zurückgegebene URLs sind auf https://media.empiriolabs.ai verfügbar und laufen nach 7 Tagen ab. Speichere alles, was du behalten möchtest, bevor die URL abläuft.
POST /v1/images/analysis führt eine reine visuelle Analyse (ohne Generierung) an einem oder mehreren Eingabebildern durch. Verwendung für Layout-Extraktion, Objekterkennung, OCR und ähnliche Inspektionsaufgaben, bei denen das Modell Text oder JSON zurückgibt, das das Bild beschreibt, anstatt ein neues Bild.
Videogenerierung
POST /v1/videos/generations
Immer asynchron – der Endpunkt liefert eine job_id und eine Abfrage-URL zurück.
Audioerzeugung
POST /v1/audio/speech synchron liefert standardmäßig eine gehostete URL zurück; Geben Sie response_format: "b64_json" für Inline-Audiobytes weiter.
POST /v1/audio/speech:stream Echtzeit-TTS. Gibt Server-Send-Events zurück, während das Modell synthesizert. Unter 130 ms time-to-first-byte auf Inworld TTS Mini, unter 250 ms auf Max. Verwendung für Sprachagenten und interaktive Wiedergabe. Derzeit unterstützt auf Inworld TTS Mini / Max; andere TTS-Modelle verwenden den synchronen Endpunkt.
POST /v1/audio/generations Musik-, Podcast- und Soundeffektgenerierung. Behandelt Stable Audio, GLM TTS, MOSS, SoulX Podcast, wobei sich die prompt-to-audio Form von TTS unterscheidet.
GET /v1/voices listen und verwalten Stimmen, einschließlich benutzerdefinierter Stimmklone für Inworld TTS. Verwenden Sie die zurückgegebene voice_id an einem der Sprachendpunkte.
Transkription
POST /v1/audio/transcriptions
Akzeptiert entweder einen mehrteiligen file-Upload oder einen JSON-Payload mit file_url.
Lange Dateien (über 5 Minuten) werden automatisch an das asynchrone Job-System weitergeleitet – die Antwort enthält eine job_id statt Inline-Text. Abfrage des Endpunkts der Jobs, um das endgültige Transkript abzurufen.
Suche und Forschung
POST /v1/search einheitliche Suchoberfläche für Abrufmodelle. Die exakt akzeptierten Params pro Modell befinden sich auf der Seite jedes Modells (z. B. gibt exa-search 28 Params offen, darunter category, livecrawl, subpages, summary_query, code_tokens).
POST /v1/research Deep-Research- / mehrstufige Abrufmodelle (Exa Research, Perplexity Deep Research, Linkup Deep Search). Erstellt einen strukturierten Forschungsbericht mit zitierten Quellen.
POST /v1/answer direkte Frage-Antwort-Modelle (Exa Answer). Gibt eine prägnante Antwort plus Zitate zurück, ohne die vollständige Berichtsform.
Agenten
Langlaufende, tool-nutzende Agentenaufgaben (derzeit an Manus weitergeleitet). Reichen Sie einmal ein, dann fragen Sie nach Status und step-by-step Nachrichten ab oder hören Sie frühzeitig auf.
POST /v1/agents/run erfüllt doppelte Aufgaben:
- Ohne
task_idbeginnt eine neue Aufgabe. Die Antwort trägt die neuetask_id. - Mit
task_idsendet es eine Folge-Nachricht an eine bestehende Aufgabe. Der Agent nimmt es bei seinem nächsten Überlegungsschritt auf.
GET /v1/agents/\{task_id\} den aktuellen Status und das Endergebnis der Aufgabe abrufen.
GET /v1/agents/\{task_id\}/messages liste jeden Schritt auf, den der Agent bisher gemacht hat. Nützlich, um neben der endgültigen Antwort eine Live-Schlussfolge zu erstellen.
POST /v1/agents/\{task_id\}/stop eine laufende Aufgabe stoppen. Die Abrechnung begleicht die bereits erledigte Arbeit, die der Agent bereits erledigt hat.
3D-Generation
POST /v1/3d/generations
Die Bild-zu-3D-Generierung ist asynchron. Der Endpunkt liefert eine job_id und eine Abfrage-URL zurück; Abfrage des Jobs-Endpunkts, um die endgültige signierte GLB-URL abzurufen.
trellis-2-4b stellt das vollständige Bild, die Auflösung, den Sampler, die Textur und die Mesh-Exportparameter auf seiner Modellseite sichtbar.
Erkennung
POST /v1/detect
Spezialisiertes Textklassifikations-Endpunkt. Derzeit betreibt GPTZero (KI-Erkennung, Bibliografie-Scan, Quellanalyse). Jedes Modells scan_type Enum wählt den Upstream-Weg; Siehe die Pro-Model-Dokumentation für die vollständige Parameteroberfläche.
GPTZero ist außerdem über /v1/chat/completions und /v1/responses erreichbar – der Text wird im Nachrichtentext weitergegeben und das Gateway passt den Anruf an. Die Erkennungszusammenfassung erscheint als Assistenten-Nachricht; passieren disable_formatting: true, um stattdessen das rohe Upstream-JSON zu erhalten.
Einbettungen
POST /v1/embeddings
OpenAI-kompatible Embeddings. Mehrsprachige Text- und multimodale (Text + Bild + Video) Einbettungen sind verfügbar.
Umstrukturierungen
POST /v1/reranks
Sortiere den Kandidaten documents nach semantischer Relevanz für eine query. Gibt den ursprünglichen Index jedes Dokuments plus einen Relevanzwert von 0-1 zurück (höher = relevanter). Nutzen Sie dies, um die Ausgabe eines Vektorspeichers / BM25 / Hybrid-Retrievers zu straffen, bevor Sie die Top-Hits an ein Sprachmodell weitergeben – den standardmäßigen letzten Schritt in einer RAG-Pipeline.
Der optionale instruct Parameter wechselt zwischen Q&A-Abruf (Standard) und reiner semantischer Ähnlichkeitssortierung – siehe die qwen3-rerank model-Seite für die vollständige Parametertabelle.
Nutzungsobjekt
Jeder Endpunkt, der den Verbrauch abrechnet, gibt in der Antwort (und im Terminal-Streaming-Chunk) ein usage Feld zurück. Grundform:
cost_usd– der genaue Betrag, der auf Ihrem Konto für die Anfrage abgerechnet wurde. Autoritär.prompt_tokens/completion_tokens/total_tokens– für Chat-Models.- Cache-Felder (
cache_read_input_tokens,cache_creation_input_tokens) – wenn Prompt-Caching angewendet wird.
Modelle mit gestuften, pro Anruf oder variant preisierten Upstreams markieren zusätzliche Felder auf usage, damit Sie sehen können, welche Rate angewendet wurde:
- Stufen- / Variantepreis. Arbeiter setzen einen Stufendiskriminator auf
usage, wenn dieselbe Dimension mehr als einen Tarif hat. Das Hauptfeld istpricing_tier_label(menschenlesbar, z. B."Medium context"/"Pro"/"2K"). Ältere Arbeiter stempeln die Rohmaße möglicherweise direkt (resolution,quality,mode,rate_tier). Das Armaturenbrett zeigt das Emblem von dem, was vorhanden ist. - Preisgestaltung pro Aufruf. Arbeiter, die pro Werkzeugaufruf (Suche, Abruf, Codeausführung usw.) abrechnen, zählen Stempel unter
tool_calls_details.<tool>.invocationodertool_usage.<tool>. Das Dashboard erweitert diese automatisch zu einer Aufschlüsselung pro Werkzeug. - Preisgestaltung pro Dimension. Arbeiter, die mehrere Dimensionen in einer Anfrage abrechnen (z. B. Zitationstoken + Argumentationstoken + Suchanfragen bei Deep-Research-Modellen), stempeln jede Dimension als eigenes Feld (
citation_tokens,reasoning_tokens,num_search_queriesusw.).
Dieselben Felder steuern das Tier-Badge und die Aufschlüsselung pro Werkzeug in den Dashboard-Nutzungsprotokollen und werden auch vom GET /v1/account/usage-History-Endpunkt unter dem metadata.worker_usage jedes Ereignisses zurückgegeben (plus einem strukturierten tool_breakdown-Array für Per-Call-Modelle). Egal, ob Sie Live-Response-Nutzung, Kontoverlauf oder Ihr Dashboard lesen – Tier- und Abrechnungsaufschlüsselung stimmen exakt überein.
Datei-URLs
EmpirioLabs hostet keine Nutzeruploads. Geben Sie eine beliebige öffentliche URL direkt auf das Eingabefeld des Modellendpunkts ein:
Speziell für Audiotranskription ist der Multipart-Direct-Upload auf /v1/audio/transcriptions der unterstützte Pfad für private Clips, die nicht auf einer URL sind – diese Bytes fließen direkt zum speech-to-text Worker ohne persistente Speicherfläche.
Generierte Ausgabe-URLs sind signiert und verfallen 7 Tage nach der Erstellung. Es gibt keinen Neusign-Endpunkt. Speichere alles, was du behalten musst – sowohl die URL als auch die Binärform – in diesem Fenster.
Asynchrone Jobs
GET /v1/jobs/<job-id> – befrage den Status / das Endergebnis eines asynchronen Generierungs- oder Transkriptionsjobs.
Der Jobstatus wird für 1 Stunde nach Abschluss beibehalten.
Wenn status completed ist, trägt das result Feld die vollständige Antwort in derselben Form, die der synchrone Endpunkt zurückgegeben hätte.
Der eingehende HTTP-Timeout beträgt 15 Minuten. Synchrone Chat-Abschlüsse, die nahe an diesem Limit liegen, sollten stream=true setzen, sodass ein teilweiser Ausgang zurückfließt und die Verbindung warm bleibt.
Modelle
GET /v1/models – listen Sie alle verfügbaren Modelle auf.
GET /v1/models/<model-id> – vollständiges Schema für ein Modell, einschließlich seiner Parametertabelle.
GET /v1/models?format=openrouter liefert die OpenRouter-Modelllisting-Form für Modelle zurück, die als bereit für Partneraufnahme gekennzeichnet sind. Siehe OpenRouter Model Listing für die genauen Antwortfelder.
Jedes Modell liefert:
disable_formatting Flagge
Viele Chat-, Such-, Forschungs- und Reranking-Endpunkte akzeptieren eine disable_formatting=true-Markierung. Wenn er auf ein unterstützendes Modell gesetzt ist, überspringt der Worker die serverseitige Formatierung von EmpirioLabs (Zitationsumschreibung, Referenzblock, Thinking-Block Markdown usw.) und gibt die Upstream-Payload-Form wortwörtlich zurück.
Der Versicherungsschutz wird pro Modell beworben. Überprüfe supports_passthrough in GET /v1/models/\{id\}, um zu bestätigen, dass ein bestimmtes Modell die Flagge respektiert. Modelle, die supports_passthrough: true bewerben, akzeptieren auch die Aliase raw=true, passthrough=true und raw_response=true. Modelle ohne dieses Feld akzeptieren nur die kanonische disable_formatting=true Form (oder akzeptieren Passthrough überhaupt nicht). Die Modellkarte listet auf, welche Aliase jedes Modell akzeptiert.
Bild-, Video-, Audiogenerierungs-, Transkriptions- und Embedding-Endpunkte akzeptieren diese Flagge nicht, da es auf diesen Endpunkten keine Formatierungsschicht gibt, die deaktiviert werden kann.
Generierte Medienbindung
Generierte Bilder, Videos und Audiodateien werden als signierte URLs zurückgegeben, die für 7 Tage gültig sind. Danach funktioniert die URL nicht mehr und das Asset ist verschwunden – es gibt keinen Neusigning-Endpunkt. Spar alles, was du behalten möchtest, bevor das 7-Tage-Zeitfenster abläuft.
Fehler
OpenAI-Umschlag im Chat / Antworten / Bilder / Videos / Audio / Suche / Einbettungen / Rerankings:
Anthropic Umschlag auf /v1/messages:
Header-Referenz
Durchsuchen Sie die Parameterschemata pro Modell unter Providers and Models. Wenn man in ein bestimmtes Modell klickt, wird jeder Parameter, den das Modell akzeptiert – Typ, Standard, Bereich, erlaubte Werte, bedingte Flags – in einer Tabelle dokumentiert, die aus der Live-Datenbank generiert wird.
