Skip to Content
APIVideogenerierungVideostatus abrufen

Videostatus abrufen

GET https://api.ofox.ai/v1/videos/{id}

Fragen Sie Status und Ergebnis einer Aufgabe ab. Nachdem Sie eine Aufgabe erstellt haben, fragen Sie diesen Endpunkt ab, bis status einen terminalen Zustand erreicht — completed, failed, cancelled oder expired.

Terminal
curl https://api.ofox.ai/v1/videos/9bcf3c60-7db2-4e1a-a1b2-c3d4e5f60718 \ -H "Authorization: Bearer $OFOX_API_KEY"

Ratenbegrenzung

Dieser Endpunkt ist pro API Key ratenbegrenzt (standardmäßig 5 req/s mit einem Burst von 20). Anfragen über dem Limit geben 429 rate_limited mit einem Retry-After: 1-Header zurück. Erstellen (POST) und Abbrechen (DELETE) unterliegen diesem Limit nicht.

Fragen Sie höchstens einmal pro Sekunde ab, oder geben Sie beim Erstellen der Aufgabe eine callback_url an, um statt Polling einen Webhook zu erhalten.

Antwort

{ "id": "9bcf3c60-7db2-4e1a-a1b2-c3d4e5f60718", "status": "completed", "model": "google/veo-3.1", "prompt": "A golden retriever running on the beach at sunset", "unsigned_urls": ["https://upstream.example/out.mp4"], "mirror_urls": ["https://cdn.ofox.ai/videos/vgen_xxx.mp4?sig=..."], "usage": { "video_seconds": 5, "video_cost": "0.4000000000" }, "created_at": 1776211362, "updated_at": 1776211400 }

Ein Timeout wird als status: "failed" gemeldet, wobei error.code auf expired gesetzt ist. Die vollständige Liste der Fehlercodes finden Sie unter Fehlercodes.

Das Video-Objekt

FeldTypBeschreibung
idstringEindeutige Aufgabenkennung (UUID)
statusenumSiehe State machine
modelstringModell-Slug
promptstringUrsprünglicher Prompt
unsigned_urlsstring[]Vorhanden bei completed. Ursprüngliche Upstream-Video-URL (temporär, kann in 24h ablaufen)
mirror_urlsstring[]Vorhanden bei completed, wenn der Anbieter des Modells CDN-Spiegelung aktiviert hat. Persistente signierte URL — siehe Video URLs
errorobjectVorhanden bei failed: {code, message}
usageobjectVorhanden bei completed: {video_seconds, video_cost}. video_seconds sind die abgerechneten Sekunden (einschließlich v2v-Eingabesekunden); video_cost ist die tatsächliche Belastung zum Plattform-Tier-Preis als Festkomma-String mit 10 Dezimalstellen (vermeidet Präzisionsverlust)
created_at / updated_atintegerUnix-Sekunden

State machine

Sieben Zustände, basierend auf der OpenRouter-Benennung und erweitert um cancelled / expired.

StatusTerminalBeschreibung
pendingAngenommen, noch nicht upstream eingereicht
queuedUpstream eingereicht, wartet in der Queue
in_progressWird upstream generiert
completedErfolg, Video-URLs verfügbar
failedFehlgeschlagen (einschließlich Timeout, error.code=expired)
cancelledAbgebrochen
expiredAbgelaufen

Übergänge: pending → queued → in_progress → completed ist der Erfolgspfad. Jeder nicht-terminale Zustand kann zu failed, cancelled oder expired wechseln.

Video URLs

Eine erfolgreiche Aufgabe kann zwei URL-Sätze zurückgeben, je nachdem, ob der Anbieter des Modells CDN-Spiegelung aktiviert hat.

FeldQuelleEigenschaften
unsigned_urlsUrsprüngliche Adresse des Upstream-AnbietersTemporär — immer vorhanden · kann in 24h ablaufen · unsigniert
mirror_urlsofox CDN-SpiegelPersistent — nur für CDN-aktivierte Anbieter · bei jeder Anfrage signiert · hat eine TTL

Bevorzugen Sie mirror_urls (persistent und stabil). Wenn ein Modell nur unsigned_urls zurückgibt, laden Sie die Datei zeitnah herunter oder hosten Sie sie neu, bevor die temporäre Upstream-Adresse abläuft.

Last updated on