Wir verwenden Cookies. Cookies und Browserspeicher halten Sie angemeldet und merken sich Ihre Einstellungen. Mit Ihrer Zustimmung messen wir außerdem, wie die Website genutzt wird. Sie können jederzeit . Siehe unsere Cookie-Richtlinie.

Video (asynchrone Aufträge)

Endpunkte

Video (asynchrone Aufträge)

POST /videos erstellt einen Videoauftrag; Status mit GET /videos/{id} abfragen und das fertige Video herunterladen, mit Veo, Sora, Kling und mehr.

Im Playground testen

Erzeugen Sie Videos mit Veo 3.1, Sora 2 Pro, Kling, Seedance, Runway, Wan, Hailuo und mehr. Die Videogenerierung dauert von einigen Dutzend Sekunden bis zu mehreren Minuten und läuft daher als asynchroner Auftrag: Sie erstellen einen Auftrag, fragen seinen Status ab und laden dann das Ergebnis herunter.

SchrittAnfrage
1. ErstellenPOST /api/v1/videos
2. AbfragenGET /api/v1/videos/{id}
3. HerunterladenGET /api/v1/videos/{id}/content?index=0

Einen Auftrag erstellen

POST https://api14.com/api/v1/videos
ParameterTypErforderlichBeschreibung
modelstringjaEine Videomodell-ID, z. B. google/veo-3.1-fast.
promptstringjaWas im Video geschieht.
durationnumberneinLänge in Sekunden. Standard ist die erste vom Modell unterstützte Dauer.
resolutionstringneinz. B. 720p, 1080p. Muss vom Modell unterstützt werden.
aspect_ratiostringneinz. B. 16:9, 9:16.
generate_audiobooleanneinErzeugt, wo unterstützt, einen Soundtrack (Standard true).
imagestringneinErstes Bild als URL oder data:-URI (Bild-zu-Video).

Unterstützte Dauern, Auflösungen und Seitenverhältnisse je Modell: GET /videos/models (öffentlich) oder die Modellseite.

Guthabenprüfung

Bevor der Auftrag abgesendet wird, schätzt das Gateway seinen Preis als Dauer × Preis pro Sekunde für die gewünschte Auflösung (und Audio-Option). Ist Ihr Guthaben niedriger als die Schätzung, schlägt die Anfrage mit 402 insufficient_balance fehl und nichts wird gestartet.

Antwort

{
  "id": "vid_01JABCDEF",
  "status": "queued",
  "polling_url": "/api/v1/videos/vid_01JABCDEF"
}

Den Auftrag abfragen

GET https://api14.com/api/v1/videos/{id}
{
  "id": "vid_01JABCDEF",
  "status": "completed",
  "generation_id": "gen-1791100000-abc",
  "unsigned_urls": ["/api/v1/videos/vid_01JABCDEF/content?index=0"],
  "usage": { "cost": 1.2 }
}
statusBedeutung
queuedWartet auf den Provider.
in_progressWird gerendert.
completedFertig; unsigned_urls listet die Ausgaben auf.
failed, cancelled, expiredOhne Ausgabe beendet; siehe error. Es wird nichts berechnet.

Fragen Sie alle 5 bis 10 Sekunden ab. Nur das Konto, das den Auftrag erstellt hat, kann ihn lesen; andere IDs liefern 404 not_found.

Das Ergebnis herunterladen

GET https://api14.com/api/v1/videos/{id}/content?index=0

Liefert die Video-Bytes (meist video/mp4) mit Ihrem API-Schlüssel. Ausgabe-URLs zeigen immer auf das Gateway, nie auf den Upstream-Provider. Ist die Datei nicht bereit oder abgelaufen, erhalten Sie content_unavailable.

Beispiel

import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://api14.com/api/v1",
  apiKey: process.env.API14_API_KEY,
});

// Video generation is asynchronous: submit, then poll until completed.
let job = await client.post("/videos", { body: {
  "model": "google/veo-3.1-fast",
  "prompt": "A drone shot over turquoise ocean waves at sunrise",
  "duration": 8,
  "resolution": "720p",
  "aspect_ratio": "16:9"
} });
while (!["completed", "failed"].includes(job.status)) {
  await new Promise((r) => setTimeout(r, 5000));
  job = await client.get(`/videos/${job.id}`);
}
console.log(job.status, job.unsigned_urls);

Abrechnung

Berechnet wird einmalig, wenn der Auftrag completed erreicht, zu den tatsächlichen Kosten des Providers. Fehlgeschlagene, abgebrochene und abgelaufene Aufträge sind kostenlos. Aufträge werden auch im Hintergrund abgeschlossen, daher wird ein Auftrag, den Sie nie abfragen, trotzdem abgerechnet und erscheint unter Nutzung.

Fehler

StatusCodeWann
402insufficient_balanceDas Guthaben liegt unter dem geschätzten Preis des Auftrags.
403plan_requiredIhr Plan enthält keine Videomodelle.
404model_not_found / not_foundUnbekanntes Modell oder Auftrags-ID gehört nicht Ihnen.
502upstream_unavailableDer Status konnte nicht gelesen werden; wiederholen Sie die Anfrage.

Siehe Fehler.