Vi använder cookies. Cookies och webbläsarlagring håller dig inloggad och kommer ihåg dina preferenser. Med ditt tillstånd mäter vi också hur webbplatsen används. Du kan när som helst. Läs vår cookiepolicy.

Video (asynkrona jobb)

Endpoints

Video (asynkrona jobb)

Skapa videojobb med POST /videos, följ status med GET /videos/{id} och ladda ner resultatet, med parametrar, fakturering och felkoder.

Testa i playground

Generera video med Veo 3.1, Sora 2 Pro, Kling, Seedance, Runway, Wan, Hailuo med flera. Videogenerering tar från tiotals sekunder till flera minuter, så den körs som ett asynkront jobb: du skapar ett jobb, kontrollerar dess status och laddar sedan ner resultatet.

StegAnrop
1. SkapaPOST /api/v1/videos
2. PollaGET /api/v1/videos/{id}
3. Ladda nerGET /api/v1/videos/{id}/content?index=0

Skapa ett jobb

POST https://api14.com/api/v1/videos
ParameterTypObligatoriskBeskrivning
modelstringjaEtt videomodell-id, t.ex. google/veo-3.1-fast.
promptstringjaVad som händer i videon.
durationnumbernejLängd i sekunder. Standard är modellens första stödda längd.
resolutionstringnejt.ex. 720p, 1080p. Måste stödjas av modellen.
aspect_ratiostringnejt.ex. 16:9, 9:16.
generate_audiobooleannejGenerera ett ljudspår där det stöds (standard true).
imagestringnejFörsta bildrutan som URL eller data:-URI (bild-till-video).

Stödda längder, upplösningar och bildproportioner per modell: GET /videos/models (publik) eller modellsidan.

Saldokontroll

Innan jobbet skickas uppskattar gatewayen priset som längd × priset per sekund för den begärda upplösningen (och ljudalternativet). Om ditt saldo är lägre än uppskattningen misslyckas anropet med 402 insufficient_balance och ingenting startas.

Svar

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

Polla jobbet

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 }
}
statusBetydelse
queuedVäntar på leverantören.
in_progressRenderas.
completedKlart. unsigned_urls listar resultaten.
failed, cancelled, expiredAvslutades utan resultat, se error. Du debiteras inte.

Polla var 5–10:e sekund. Bara kontot som skapade jobbet kan läsa det, andra id:n returnerar 404 not_found.

Ladda ner resultatet

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

Returnerar videobytes (vanligtvis video/mp4) med din API-nyckel. Utdata-URL:er pekar alltid på gatewayen, aldrig på uppströmsleverantören. Om filen inte är klar eller har gått ut får du content_unavailable.

Exempel

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);

Fakturering

Du debiteras en gång, när jobbet når completed, med leverantörens faktiska kostnad. Misslyckade, avbrutna och utgångna jobb är kostnadsfria. Jobb slutförs också i bakgrunden, så ett jobb som du aldrig pollar regleras ändå och visas i Användning.

Fel

StatusKodNär
402insufficient_balanceSaldot understiger jobbets uppskattade pris.
403plan_requiredDin plan omfattar inte videomodeller.
404model_not_found / not_foundOkänd modell, eller jobb-id som inte är ditt.
502upstream_unavailableStatusen kunde inte läsas, försök igen.

Se Fel.