https://api.edenai.run/v3 eine
OpenAI-kompatible REST-API bereitstellt. GoModel routet Chat Completions, Streaming,
das Auflisten von Modellen, Embeddings und Passthrough über den gemeinsamen
OpenAI-Adapter, sodass ein einziger Eden-Key Modelle von OpenAI, Anthropic, Google,
Mistral, Cohere, DeepInfra und weiteren erreicht.
Konfiguration
Erstellen Sie einen API-Key in der Eden AI Console und setzen Sie:EDENAI_BASE_URL ist optional — der Provider verwendet standardmäßig
https://api.edenai.run/v3. Setzen Sie die Variable nur, um einen anderen
Eden-kompatiblen Endpunkt anzusprechen:
config.yaml:
Modelle
GoModel ermittelt den Katalog von Eden beim Start und bei jeder Aktualisierung der Registry über Edens eigenesGET /v3/models. Es gibt keine integrierte
Modellliste: Ein Modell, das Eden hinzufügt, ist routbar, sobald der Katalog
aktualisiert wird – ohne GoModel-Upgrade und ohne Konfigurationsänderung.
Modell-IDs verwenden die Notation provider/model und werden unverändert
weitergeleitet:
edenai/anthropic/claude-sonnet-latest. GoModel entfernt vor der
Weiterleitung nur den äußeren Routing-Qualifier edenai/.
Optional können Sie eine konfigurierte Teilmenge festlegen:
Ermittelte Metadaten
Jeder Katalogeintrag liefert Metadaten, dieGET /v1/models zurückgibt und die
Router, Filter und Kostenstrategien verwenden:
Die Output-Modalitäten entscheiden außerdem, was GoModel ausweist: Ein Modell, das
ausschließlich Audio oder Bilder ausgibt, wird nicht in
/v1/models aufgenommen,
weil Eden hier nur Chat, Embeddings und Passthrough bedient. In der Praxis
veröffentlicht Edens Katalog für jedes Modell Text-Output, einschließlich der
wenigen, die zusätzlich Bilder zurückgeben; derzeit wird also nichts
herausgefiltert.
Preise
Eden veröffentlicht Token-Preise in USD pro Modell, und GoModel rechnet sie in seine Darstellung pro Million Tokens um (input_cost_per_token: 6e-8 → $0.06 / MTok).
Die Preise stammen aus Edens pricing-Block, also aus dem, was dem Konto
tatsächlich berechnet wird — dem unrabattierten list_pricing mit bereits
angewendetem Kontorabatt. Jeder Preis wird einzeln aufgelöst: Ein verwendbarer
Kontopreis hat immer Vorrang, und list_pricing liefert nur die einzelnen Preise,
die pricing nicht enthält. Eden veröffentlicht derzeit in beiden Blöcken dieselben
Preise, sodass in der Praxis alles aus pricing aufgelöst wird; der Fallback pro
Preis verhindert, dass einem nur teilweise bepreisten Modell die fehlenden Preise
verloren gehen – diese Token-Typen würden sonst mit $0 abgerechnet.
Ein Preis, den Eden als 0 meldet, gilt als tatsächlich kostenlos und nicht als
fehlend, und ein Preis, den keiner der beiden Blöcke verwendbar veröffentlicht,
bleibt ungesetzt, statt erfunden zu werden.
Diese Preise decken Input, Output, Cache-Lesezugriffe und Cache-Schreibzugriffe ab.
Edens nach Kontextlänge gestaffelte Preise (input_cost_per_token_above_200k_tokens),
seine Liste tiered_pricing und seine Suchgebühren pro Abfrage haben keine
Entsprechung in GoModel und werden nicht gelesen.
Edens Preise für Reasoning und Audio (output_cost_per_reasoning_token,
input_cost_per_audio_token) werden ebenfalls nicht gelesen. GoModel würde diese
Token-Typen bepreisen, indem es den Basispreis abzieht, was voraussetzt, dass die
Zählungen bereits in den Basissummen enthalten sind — und Edens Usage-Objekt meldet
nur prompt_tokens, completion_tokens und total_tokens, es gibt also keine
Aufschlüsselung, anhand derer sich das bestätigen ließe. Für diese Token-Typen
gelten stattdessen die Basispreise für Input/Output.
Die Preise werden live von Eden gelesen — nichts ist fest einprogrammiert, und
Eden-Modelle müssen nicht im zentralen Modellkatalog von GoModel vorhanden sein.
Dadurch funktionieren EDENAI_MODEL_FILTER_MAX_PRICE_PER_MTOK, kostenbasiertes Load
Balancing und die Preisanzeige für Eden-Modelle.
Diese ermittelten Preise zeigen die Modell-Metadaten an, und auf sie greift die
Kostenabrechnung zurück, wenn eine Response keine exakte Gebühr enthält. Die exakten
Kosten pro Request, die Eden zurückgibt, haben Vorrang, sobald sie verfügbar sind
(siehe unten).
Kosten pro Request
Eden gibt die exakte USD-Gebühr für jeden Request alscost-Feld auf oberster Ebene
zurück — bei Chat Completions ebenso wie bei Embeddings —, und GoModel erfasst diesen
Wert als Kosten des Requests, statt ihn aus den Token-Zahlen neu zu berechnen. Eden
passt die Preise seiner Upstreams automatisch an und wendet Rabatte auf Kontoebene
an; sein eigener Wert ist daher in einer Weise maßgeblich, wie es eine
Rekonstruktion aus einer Preistabelle nicht ist.
Dadurch werden Ausgaben bei Eden in Nutzungsdatensätzen, Budgets,
Kosten-Dashboards und Observability sichtbar, und der Nutzungseintrag wird mit der
Kostenquelle edenai_cost gekennzeichnet. Enthält eine Response keine verwendbaren
Kosten, greift GoModel auf die oben beschriebenen ermittelten Preise pro Modell
zurück.
Das von Eden zurückgegebene Feld
provider ("openai", "deepinfra") benennt den
Upstream, zu dem Eden geroutet hat. GoModel meldet edenai als ausführenden
Provider — das ist der Provider, den es aufgerufen hat — und stellt Edens Wert in
der Response als edenai_upstream_provider erneut bereit, sodass Clients weiterhin
sehen können, welcher Upstream den Request bedient hat.Responses API
GoModel stellt/v1/responses für Eden bereit, indem es den Request auf Edens
Chat-Completions-Endpunkt übersetzt.
Eden-spezifische Request-Felder
Eden akzeptiert bei Chat Completions zusätzliche Felder auf oberster Ebene —routing, fallbacks, session_id, pre_hooks und post_hooks. GoModel behält
unbekannte JSON-Felder auf oberster Ebene bei Chat-Requests bei, sodass diese Eden
unverändert erreichen:
Embeddings
Edens Route/embeddings ist OpenAI-kompatibel und verwendet dieselben
provider/model-IDs:
cost erfasst werden. Edens
LLM-Katalog (GET /v3/models) listet keine Embedding-Modelle auf; Embedding-IDs
werden daher ohne ermittelte Metadaten weitergeleitet. Legen Sie sie unter
models: fest, wenn sie in /v1/models ausgewiesen werden sollen.
Passthrough
edenai ist in der Standard-Allowlist ENABLED_PASSTHROUGH_PROVIDERS enthalten,
sodass /p/edenai/...-Routen ohne Aktivierung durch den Betreiber funktionieren.
Passthrough ist eine generische Weiterleitung: Er sendet jeden angegebenen Pfad
unverändert an Eden, mit den eigenen Zugangsdaten des Gateways.