Fluos-API-Referenz
Öffentliche Fluos-HTTP-API — Discovery-Dateien, Dokumentation, Suche und kostenpflichtige Video-Operationen — beschrieben durch /openapi.json.
Die maßgebliche, maschinenlesbare Beschreibung der Fluos-API findest du unter https://www.fluos.io/openapi.json. Jede Operation hat eine eindeutige operationId, eine Beschreibung, typisierte Parameter und Antwortschemas, damit Agents aus der Spezifikation Function-Calling-Tools registrieren können.
Basis-URL
https://www.fluos.io
Kanonisches öffentliches API-Präfix: /api/v1/. Sende API-Version: 1. Siehe Fluos-API-Versionierung und Deprecation.
Discovery
| operationId | Methode | Pfad | Zweck |
|---|---|---|---|
getFluosOpenApiSpec | GET | /openapi.json | Diese Spezifikation |
getFluosOpenApiSpecV1 | GET | /api/v1/openapi.json | Versionierter Alias dieser Spezifikation |
getFluosMcpServerCard | GET | /api/v1/mcp | Fluos-MCP-Server-Card |
callFluosMcp | POST | /api/v1/mcp | Fluos-MCP-JSON-RPC |
getFluosLlmsTxt | GET | /llms.txt | Kuratierter URL-Index |
getFluosLlmsFullTxt | GET | /llms-full.txt | Vollständiger Text-Dump der Dokumentation |
getFluosAiTxt | GET | /ai.txt | Richtlinie für KI-Crawler |
getFluosSitemap | GET | /sitemap.xml | Alle öffentlichen URLs |
getFluosRobotsTxt | GET | /robots.txt | Crawler-Regeln |
getFluosRssFeed | GET | /feed.xml | Blog-RSS |
Diese Endpunkte sind öffentlich und cachebar. Keine Authentifizierung.
Inhalte (Accept-Negotiation)
| operationId | Methode | Pfad |
|---|---|---|
getFluosHome | GET | / |
getFluosCli | GET | /cli |
getFluosMcp | GET | /mcp |
getFluosDocsIndex | GET | /docs |
getFluosDocPage | GET | /docs/{slug} |
getFluosAbout | GET | /about |
getFluosPricing | GET | /pricing |
getFluosBlogPost | GET | /blog/{slug} |
Sende Accept: text/markdown, um Markdown zu erhalten. Ohne Accept kommt HTML zurück. Inkompatible Accept-Werte liefern 406.
Suche
| operationId | Methode | Pfad | Parameter |
|---|---|---|---|
searchFluosDocs | GET | /api/search | query (oder der Alias q) |
searchFluosDocsV1 | GET | /api/v1/search | query (oder der Alias q) |
Öffentlich. Liefert nach Relevanz sortierte Treffer in dieser Dokumentation. Bevorzuge /api/v1/search. Die Antworten enthalten IETF-RateLimit-Header; 429 enthält Retry-After.
Video
Nur für kostenpflichtige Tarife. Authentifiziere dich mit OAuth oder einem API-Token; der Kostenlos-Tarif erhält 402 PLAN_REQUIRED. Dieselben Aufträge gibt es auch als Video-MCP-Tools.
| operationId | Methode | Pfad | Zweck |
|---|---|---|---|
listFluosWorkspaces | GET | /api/v1/workspaces | Workspaces, auf die du Zugriff hast |
listFluosProjects | GET | /api/v1/projects | Projekte in einem Workspace |
createFluosProject | POST | /api/v1/projects | Projekt anlegen |
listFluosTemplates | GET | /api/v1/templates | In einem Workspace gespeicherte Vorlagen (Query workspaceId) |
listFluosAssets | GET | /api/v1/assets | Assets der Bibliothek |
startFluosAssetUpload | POST | /api/v1/assets/uploads | Upload in die Bibliothek starten |
completeFluosAssetUpload | POST | /api/v1/assets | Upload in die Bibliothek abschließen |
createFluosVideo | POST | /api/v1/videos | Videoauftrag starten |
getFluosVideoJob | GET | /api/v1/videos/{jobId} | Auftrag abfragen |
reviseFluosVideo | POST | /api/v1/videos/{jobId}/revise | Folgeauftrag aus einem fertigen Auftrag starten |
cancelFluosVideo | POST | /api/v1/videos/{jobId}/cancel | Wartenden, laufenden oder pausierten Auftrag abbrechen |
exportFluosVideo | POST | /api/v1/exports | Fertigen Auftrag exportieren |
getFluosVideoExport | GET | /api/v1/exports/{exportId} | Export abfragen |
Ein Video erstellen
createFluosVideo erfordert projectId und brief. Optionale Felder:
| Feld | Zweck |
|---|---|
recipe | generate | edit | compose | mix. Siehe Rezepte |
assetIds | Zu verwendende Assets aus der Bibliothek |
format | aspectRatio, durationHintSeconds, resolution |
templateId | Eine Vorlage aus listFluosTemplates. Das Briefing wird in einem neuen, von dieser Vorlage kopierten Projekt umgesetzt – mit derselben Struktur, demselben Tempo und denselben Animationen, aber ohne Storyboard-Schritt |
brandKitId, designSystem, designMd | Das Brand-Kit, das Design-Preset oder das Inline-DESIGN.md, mit dem das Video gestaltet wird. Ohne Angabe wird das Kit des Projekts oder der Standard des Workspace verwendet |
style_reference_url | Ein YouTube-Link oder eine direkte .mp4-, .mov- oder .webm-Datei, deren Tempo, Schnitte, Farbpalette und Typografie das Video adaptieren, aber nie kopieren soll. Instagram-, X- und TikTok-Links werden mit UPLOAD_REQUIRED abgelehnt: Lade stattdessen die Datei hoch |
Auftragsstatus
Frage getFluosVideoJob alle paar Sekunden ab. status ist einer von:
| Status | Bedeutung |
|---|---|
queued | Wartet auf den Start |
running | Wird erstellt |
awaiting_credits | Der Erstellung sind die Credits ausgegangen, sie ist pausiert. Weder abgeschlossen noch fehlgeschlagen |
ready | Fertig. Exportiere sie |
failed | Siehe error.code |
cancelled | Abgebrochen |
Solange der Status awaiting_credits ist, hat der Auftrag ein pause-Objekt:
{
"status": "awaiting_credits",
"pause": {
"reason": "credits_exhausted",
"topUpUrl": "https://www.fluos.io/dashboard/billing?src=credit_pause",
"expiresAt": 1761696000000
}
}Behandle awaiting_credits als nicht abgeschlossen. Zeige der Nutzerin oder dem Nutzer pause.topUpUrl. Sobald Credits hinzugefügt wurden, geht derselbe Auftrag von selbst wieder auf running: Frage also weiter ab, etwa einmal pro Minute, statt einen neuen Auftrag anzulegen. Treffen bis pause.expiresAt (Epoch-Millisekunden) keine Credits ein, schlägt der Auftrag fehl. In allen anderen Status fehlt pause oder ist null.
Sobald eine Version committet ist, liefert der Auftrag außerdem sources[]: jedes vom Video genutzte Asset mit sourceKind, rightsStatus (licensed, cc, user_attested, owned, generated oder unverified), provider, license, author, attribution und usages (Szene, Element, Spur, Start und Ende).
Exportieren
exportFluosVideo akzeptiert jobId, ein optionales format (mp4 als Standard, gif, webm, mov, png-sequence), optionale advanced-Optionen und require_licensed. Mit require_licensed: true wird der Export mit 422 UNLICENSED_SOURCES abgelehnt, solange ein Eintrag in sources[] den Rechtestatus unverified hat. Ohne diese Option blockieren ungeprüfte Quellen den Export nicht.
Fehler
| Status | Wann |
|---|---|
404 | Unbekannter Pfad. Der Markdown-Body listet /sitemap.xml, /llms.txt, /docs, /docs/developers, /openapi.json. |
406 | Accept hat HTML und Markdown abgelehnt. |
401 | Authentifizierte API ohne Session oder Token. JSON { "error", "code": "unauthorized" }. |
402 | Video-API im Kostenlos-Tarif (PLAN_REQUIRED, mit upgradeUrl) oder keine Credits, um einen Auftrag zu starten (CREDITS_EXHAUSTED, mit topUpUrl). |
422 | UNLICENSED_SOURCES: ein Export mit require_licensed: true, obwohl eine Quelle ungeprüft ist. |
Function Calling
Importiere /openapi.json und registriere jede operationId als Tool. Nutze vor der Beantwortung von Produktfragen zuerst Discovery, dann searchFluosDocs und getFluosDocPage als Markdown.