Felo API PlatformFelo API Platform

LLM-Gateway

Ein LLM-Gateway mit angeschlossener Datenschicht

Drei Basis-URLs, ein Schlüssel, ein Guthaben. Chat-, Bild-, Video- und Entscheidungsmodelle im gewohnten SDK; Suche, Dokumente und Folien aus demselben Guthaben — ab einem Zehntel des offiziellen Anbieterpreises.

  • ⁦10⁩%

    Startpreis gegenüber dem offiziellen API-Preis des Anbieters

  • ⁦5,000+⁩

    APIs im selben Katalog

Ein Gateway hat meist eine Oberfläche. Dieses hat drei.

Sie teilen sich Konto, Schlüssel und Guthaben, beantworten aber unterschiedliche Fragen und liegen unter verschiedenen Basis-URLs. Zu wissen, welche Sie gerade aufrufen, ist der ganze Trick.

OberflächeBasis-URLWofür
Modell-APIopenapi.felo.ai/api/v1 · openapi.felo.ai/apiEin Sprach-, Bild-, Video- oder Entscheidungsmodell direkt aufrufen
Daten-APIopenapi.felo.ai/v1/betaEinen benannten Drittanbieter für Daten oder Suche aufrufen
Felo APIsopenapi.felo.ai/v2Eigene Felo-Workflows: Suche, Office, Extraktion, Wissen

Ein Schlüssel deckt alle drei ab. Ein Guthabenkauf erwirbt Serviceguthaben in US-Dollar, und Modellaufruf, Daten-API-Aufruf und Felo-Workflow werden daraus beglichen — kein separates Konto pro Anbieter.

Dokumentation lesen

Sechs Endpunkte, nicht einer

Alles unter /api/v1 ist ein Modellaufruf, aber die Modellart entscheidet, welcher Endpunkt antworten kann — und jeder Endpunkt liefert sein eigenes Format.

EndpunktProtokollLiefert
POST /api/v1/chat/completionsOpenAI Chat CompletionsStreaming oder eine Antwort
POST /api/v1/responsesOpenAI ResponsesStreaming oder eine Antwort
POST /api/v1/messagesAnthropic MessagesStreaming oder eine Antwort
POST /api/v1/images/generationsOpenAI-BildumschlagEine task_id zum Abfragen
POST /api/v1/videos/generationsOpenAI-VideoumschlagEine task_id zum Abfragen
POST /api/v1/decisionsFelo-EntscheidungsschemaTypisierte Antworten, kein Streaming

Die drei Chat-Oberflächen sind native Implementierungen, keine Übersetzungsschicht: Jede streamt Ereignisse im eigenen Protokoll, Sie parsen den Stream also genau wie bisher.

Endpunkt nach Modellart wählen, nicht nach Vermutung

Jedes Modell im Katalog trägt ein model_kind, und die Art bestimmt, welcher Endpunkt es aufrufen kann. Die Suche kostet nichts und liest den lokalen Katalog.

# discover before you call — free, reads the catalog
GET /api/v1/models   # every kind, with channels and rates
GET /api/v1/models/{model_id}  # one model, in detail
GET /api/v1/videos/models     # video_generation only
GET /api/v1/decisions/models  # decisions only
model_kindEndpunkt
chatResponses, Chat Completions oder Messages, je nachdem was das Modell unterstützt
image_generationPOST /api/v1/images/generations
video_generationPOST /api/v1/videos/generations
decisionsPOST /api/v1/decisions

Mit ?provider= sehen Sie nur einen Anbieter, mit ?exclude_video_and_decisions=true nur Chat und Bild. Ein Katalogeintrag ist kein Versprechen: Ein Videomodell beantwortet keine Chat-Anfrage, und die API antwortet mit model_kind_mismatch.

Standardroute oder ein Header für den Anbieter

Ein Modell kann von mehreren vorgelagerten Kanälen bedient werden, jeder mit eigenem Anbieter und eigenem veröffentlichten Preis. Ohne Header wählt die Plattform; mit X-Felo-Channel wählen Sie.

# first channel only — no automatic fallback
X-Felo-Channel: claude-cc
X-Felo-Channel: claude-cc,anthropic  # ordered selection, not a retry list
  • Der Wert ist eine geordnete Liste öffentlicher Kanalcodes aus channels[].code des Modells, geprüft in der Reihenfolge, in der Sie sie schreiben.
  • Nur die Anbietergruppe des ersten Kanals wird übermittelt, und es gilt der Preis dieses Kanals.
  • Es gibt kein automatisches Failover. Eine Kanalliste ist eine Auswahl, keine Wiederholungsrichtlinie — schlägt ein Anbieter fehl, senden Sie aus Ihrer Anwendung mit einem anderen Kanal erneut.

X-Felo-Channel gilt für alle sechs Generierungsendpunkte oben. Für die Daten-API und die Felo APIs gilt er nicht: Dort geht die Anfrage an den im Request genannten Anbieter.

Dokumentation lesen

Was ein Aufruf wirklich kostet

Modellaufrufe werden pro Token abgerechnet — Eingabe, Ausgabe und Cache — mit dem Rabattfaktor des Kanals. Preise stehen zur Lesbarkeit pro 1 Mio. Token, abgerechnet wird aber mit Token-Genauigkeit aus dem aktuellen Preisstand, ein kurzer Request wird also nicht auf eine Million aufgerundet.

  • Cache-Preise gelten nur, wenn die Protokollantwort eine Cache-Nutzung meldet; ein Modell ohne diese Meldung rechnet alles zum Eingabepreis ab.
  • Websuche, die der Modelldienst tatsächlich ausführt und meldet, kostet $0.01 pro Suche.
  • Manche Modelle staffeln nach Promptgröße: Claude Haiku 5.5 kostet $0.10 Eingabe und $0.50 Ausgabe pro 1 Mio. Token bis zu einem Prompt von 100K Token, darüber $0.50 und $2.50 für den gesamten Request.
  • Die erste Aufladung beginnt bei $1. Kein Abo, keine Sitzplatzgebühr, keine Mindestbindung — ein ungenutzter Schlüssel kostet nichts.

Daten-API-Aufrufe und Felo-Workflows werden aus demselben Guthaben beglichen, jeweils nach eigener veröffentlichter Grundlage: pro erfolgreichem Request, pro zurückgegebenem Element oder nach tatsächlicher Nutzung.

Preise und Guthaben

Zwei Grenzen, die gleich aussehen und es nicht sind

Leere Credits ergeben 402 INSUFFICIENT_CREDITS. Zu schnelle Aufrufe ergeben 429 RATE_LIMITED. Warten löst das zweite und nie das erste.

StatusCodeWas tun
401UNAUTHORIZEDSchlüssel korrigieren oder neu ausstellen
402INSUFFICIENT_CREDITSIm Abrechnungsbereich der Konsole aufladen und erneut senden
404endpunktabhängigModell-, Aufgaben- oder Routen-ID prüfen
429RATE_LIMITEDRetry-After abwarten, dann erneut versuchen
5xxCHAT_FAILED, SERVICE_UNAVAILABLEMit exponentiellem Backoff und Jitter erneut versuchen

Dokumentierte harte Limits gibt es heute nur bei /v2/chat. Modellaufrufe können auch vorgelagert begrenzt werden, was als 429 erscheint — lesen Sie X-RateLimit-* und Retry-After, statt Zahlen fest zu verdrahten. Jede Antwort trägt eine request_id, und ein von Ihnen gesendeter X-Request-Id-Header wird zurückgegeben, sodass Ihre Logs und unsere zusammenpassen.

Dokumentation lesen

Bild und Video werden im Hintergrund fertig

Beide Generierungsendpunkte liefern eine task_id statt eines Ergebnisses. Senden, abfragen, abholen — und beachten Sie: Sobald eine Aufgabe existiert, kommen die meisten Fehler als 200 mit einem Endstatus, nicht als HTTP-Fehler.

# submit, then poll the task
POST /api/v1/images/generations       → task_id
GET  /api/v1/images/generations/{id}  → status, result
POST /api/v1/videos/generations       → task_id
GET  /api/v1/videos/generations/{id}  → status, result

Lesen Sie den Status vor dem Ergebnis: failed und interrupted sind auch Antworten, und error.message nennt den Grund. Ein 402 beim Senden bedeutet, dass die Aufgabe nie angelegt wurde. SuperAgent funktioniert anders — er gibt einen stream_key zurück und schiebt Ereignisse per SSE, es gibt nichts abzufragen.

Dokumentation lesen

Basis-URL ändern, Client behalten

Beide SDKs funktionieren unverändert, sobald die Basis-URL hierher zeigt. npx feloapi-cli setup schreibt dieselbe Konfiguration für Claude Code und Codex.

# OpenAI SDK
base_url = "https://openapi.felo.ai/api/v1"

# Anthropic SDK — one level up; the SDK appends /v1/messages
base_url = "https://openapi.felo.ai/api"

# pin a provider (optional)
default_headers = {"X-Felo-Channel": "claude-cc"}

Modell-IDs sind zwischen Anbietern nicht identisch. Wählen Sie vor dem Umschalten der Basis-URL aus dem Katalog, sonst antwortet der erste Aufruf mit 404.

Die Hälfte, die ein Gateway Ihnen meist überlässt

Ein LLM-Gateway routet Modellaufrufe. Hier reicht derselbe Schlüssel zusätzlich an einen Katalog mit ⁦5,000+⁩ APIs — der Suchschritt in Ihrem Agenten, die erzeugten Folien und das von ihm gelesene Dokument werden also aus denselben Credits bezahlt, nicht bei drei weiteren Anbietern.

  • Search
  • PPT Task
  • SuperAgent
  • Web Fetch
  • X Search
  • Mindmap
  • Landing Page Task
  • LiveDoc
  • YouTube Subtitling

Daten-API-Aufrufe gehen unter /v1/beta an benannte Anbieter — Tavily, Exa, Apollo und der Rest des Katalogs — jeweils nach eigener veröffentlichter Grundlage.

Alle APIs ansehen

Wo das Gateway endet

  • Kein automatisches Failover zwischen Kanälen — die Wiederholungslogik bleibt in Ihrer Anwendung, bewusst.
  • Ein Katalogeintrag ist keine Kompatibilitätsgarantie; jede Modellart hat eine Aufrufoberfläche.
  • Für Modellaufrufe ist kein Plattform-Limit dokumentiert, das Limit des vorgelagerten Anbieters gilt aber weiterhin.
  • Credits sind vorausbezahlt, nicht erstattbar und nicht auszahlbar — laden Sie auf, was Sie ausgeben wollen.

Sechs Fragen zum LLM-Gateway

Was ist ein LLM-Gateway?

Ein Endpunkt vor vielen Modellanbietern, damit Ihr Code mit einer Basis-URL, einem Schlüssel und einem Guthaben spricht statt mit einem Dutzend Anbieter-SDKs. Ein AI-Gateway tut dasselbe; dieses verkauft zusätzlich die Daten-APIs, die ein Agent braucht.

Kann ich mein OpenAI- oder Anthropic-SDK behalten?

Ja. Chat Completions und Responses haben OpenAI-Form, Messages ist nativ. Die Basis-URLs sind https://openapi.felo.ai/api/v1 und https://openapi.felo.ai/api — eine Ebene höher, weil dieses SDK /v1/messages selbst anhängt.

Woher weiß ich, welches Modell ich aufrufen soll?

GET /api/v1/models listet jede Art mit Kanälen und Preisen; Video- und Entscheidungsmodelle haben eigene Listen. Lesen Sie model_kind und rufen Sie den passenden Endpunkt auf. Ein Listeneintrag heißt nicht, dass jeder Endpunkt das Modell annimmt.

Gibt es ein Failover, wenn ein Anbieter ausfällt?

Nein, und das ist Absicht. Eine Kanalliste ist eine Auswahl, keine Wiederholungsrichtlinie: Nur der erste Kanal wird übermittelt. Failover gehört in Ihre Anwendung, wo Fehler, Budget und der tatsächlich gewünschte Rückfall sichtbar sind.

Was kostet es?

Jedes Modell hat einen Felo-Preis, der bei einem Zehntel des offiziellen Anbieterpreises beginnt, und der festgelegte Kanal bestimmt den gezahlten Preis. Vorausbezahlt, pro Aufruf abgerechnet, erste Aufladung ab $1, kein Abo.

Kann ich auch Bilder, Videos und Daten-APIs aufrufen?

Ja. Ein Schlüssel reicht an Chat-, Bild-, Video- und Entscheidungsmodelle und den API-Katalog mit ⁦5,000+⁩ hinter /v1/beta — alles aus demselben Guthaben.

Testen Sie es mit einem Aufruf

Erstellen Sie einen Schlüssel, laden Sie Guthaben und richten Sie Ihr bestehendes SDK auf eine Basis-URL.