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

operationIdMethodePfadZweck
getFluosOpenApiSpecGET/openapi.jsonDiese Spezifikation
getFluosOpenApiSpecV1GET/api/v1/openapi.jsonVersionierter Alias dieser Spezifikation
getFluosMcpServerCardGET/api/v1/mcpFluos-MCP-Server-Card
callFluosMcpPOST/api/v1/mcpFluos-MCP-JSON-RPC
getFluosLlmsTxtGET/llms.txtKuratierter URL-Index
getFluosLlmsFullTxtGET/llms-full.txtVollständiger Text-Dump der Dokumentation
getFluosAiTxtGET/ai.txtRichtlinie für KI-Crawler
getFluosSitemapGET/sitemap.xmlAlle öffentlichen URLs
getFluosRobotsTxtGET/robots.txtCrawler-Regeln
getFluosRssFeedGET/feed.xmlBlog-RSS

Diese Endpunkte sind öffentlich und cachebar. Keine Authentifizierung.

Inhalte (Accept-Negotiation)

operationIdMethodePfad
getFluosHomeGET/
getFluosCliGET/cli
getFluosMcpGET/mcp
getFluosDocsIndexGET/docs
getFluosDocPageGET/docs/{slug}
getFluosAboutGET/about
getFluosPricingGET/pricing
getFluosBlogPostGET/blog/{slug}

Sende Accept: text/markdown, um Markdown zu erhalten. Ohne Accept kommt HTML zurück. Inkompatible Accept-Werte liefern 406.

Suche

operationIdMethodePfadParameter
searchFluosDocsGET/api/searchquery (oder der Alias q)
searchFluosDocsV1GET/api/v1/searchquery (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.

operationIdMethodePfadZweck
listFluosWorkspacesGET/api/v1/workspacesWorkspaces, auf die du Zugriff hast
listFluosProjectsGET/api/v1/projectsProjekte in einem Workspace
createFluosProjectPOST/api/v1/projectsProjekt anlegen
listFluosTemplatesGET/api/v1/templatesIn einem Workspace gespeicherte Vorlagen (Query workspaceId)
listFluosAssetsGET/api/v1/assetsAssets der Bibliothek
startFluosAssetUploadPOST/api/v1/assets/uploadsUpload in die Bibliothek starten
completeFluosAssetUploadPOST/api/v1/assetsUpload in die Bibliothek abschließen
createFluosVideoPOST/api/v1/videosVideoauftrag starten
getFluosVideoJobGET/api/v1/videos/{jobId}Auftrag abfragen
reviseFluosVideoPOST/api/v1/videos/{jobId}/reviseFolgeauftrag aus einem fertigen Auftrag starten
cancelFluosVideoPOST/api/v1/videos/{jobId}/cancelWartenden, laufenden oder pausierten Auftrag abbrechen
exportFluosVideoPOST/api/v1/exportsFertigen Auftrag exportieren
getFluosVideoExportGET/api/v1/exports/{exportId}Export abfragen

Ein Video erstellen

createFluosVideo erfordert projectId und brief. Optionale Felder:

FeldZweck
recipegenerate | edit | compose | mix. Siehe Rezepte
assetIdsZu verwendende Assets aus der Bibliothek
formataspectRatio, durationHintSeconds, resolution
templateIdEine 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, designMdDas 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_urlEin 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:

StatusBedeutung
queuedWartet auf den Start
runningWird erstellt
awaiting_creditsDer Erstellung sind die Credits ausgegangen, sie ist pausiert. Weder abgeschlossen noch fehlgeschlagen
readyFertig. Exportiere sie
failedSiehe error.code
cancelledAbgebrochen

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

StatusWann
404Unbekannter Pfad. Der Markdown-Body listet /sitemap.xml, /llms.txt, /docs, /docs/developers, /openapi.json.
406Accept hat HTML und Markdown abgelehnt.
401Authentifizierte API ohne Session oder Token. JSON { "error", "code": "unauthorized" }.
402Video-API im Kostenlos-Tarif (PLAN_REQUIRED, mit upgradeUrl) oder keine Credits, um einen Auftrag zu starten (CREDITS_EXHAUSTED, mit topUpUrl).
422UNLICENSED_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.