Zseton

Videó generálás

Aszinkron videó API: modellek, indítás, állapot, letöltés, árazás.

Videót generálhatsz szövegből, egy kezdőképből, referenciaképekből vagy két kép közötti átmenetként. A generálás aszinkron: elindítod, kapsz egy azonosítót, és lekérdezed, amíg el nem készül (általában 1–5 perc). Ugyanez kattintással: Videó stúdió a vezérlőpulton.

Videót csak ellenőrzött szolgáltatónál futtatunk: csak az a modell elérhető, amelyiknél most nincs ismeretlen eladó a kínálatban.

Modellek

GET /v1/video/models: az elérhető modellek, módjuk (text, image, reference, transition), a választható hosszak, felbontások, képarányok, a hangtámogatás és a Zseton-ár. A modellek és az árak élő piaci adatból jönnek, ezért változhatnak: a beállításokat mindig innen olvasd ki.

Indítás

POST /v1/video/generations → 202 és a feladat.

curl
curl https://api.zsetonai.hu/v1/video/generations \
  -H "Authorization: Bearer $ZSETON_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "veo3-1-fast-text-to-video",
    "prompt": "Lassú drónfelvétel a budapesti Duna-partról naplementében",
    "duration_seconds": 8,
    "resolution": "720p",
    "aspect_ratio": "16:9",
    "audio": true
  }'
MezőKötelezőLeírás
modeligenA /v1/video/models egyik azonosítója.
promptigenA jelenet leírása, legfeljebb 2000 karakter. Angolul általában pontosabb az eredmény.
duration_secondsnemHossz másodpercben, a modell durations_seconds listájából. Ha kihagyod, a modell alapértelmezése.
resolutionnemPl. 480p, 720p, 1080p, 4k, a modell listájából.
aspect_rationemPl. 16:9, 9:16, 1:1.
audionemHangsáv (zene, effektek), ha a modell támogatja.
image_urlképes módnálKezdőkép: https:// URL vagy data:image/…;base64, URI.
end_image_urlátmenetnélZárókép.
input_imagesreferenciánálLegfeljebb 8 kép: [{"url": "…", "role": "reference"}]; szerep: start, end vagy reference.

Állapot

GET /v1/video/generations/{id}. A status értékei: queued → submitted → running → succeeded | failed | canceled | expired. Amíg fut, 202-t ad, a végén 200-at. 5–10 másodpercenként érdemes lekérdezni.

Kész videónál a results[].url a letöltési link, mellette a cost a ténylegesen levont összeg (USD).

Letöltés

GET /v1/video/generations/{id}/content/0 ugyanazzal a kulccsal; a ?download paraméterrel csatolmányként jön. A kész videót kb. 3 óráig tároljuk (download_expires_at), utána nem tölthető le, ezért mentsd le időben.

Megszakítás

DELETE /v1/video/generations/{id}. A megszakítás nem garantált: ha a videó közben elkészült, sikeresként zárul (és fizetős).

Példa: indítás, várakozás, letöltés

Python
import os, time, requests

BASE = "https://api.zsetonai.hu/v1"
H = {"Authorization": f"Bearer {os.environ['ZSETON_API_KEY']}"}

job = requests.post(f"{BASE}/video/generations", headers=H, json={
    "model": "kling-v3-pro-image-to-video",
    "prompt": "a kamera lassan ráközelít, a hajó elindul",
    "image_url": "https://example.com/kezdokep.jpg",
    "duration_seconds": 5,
}).json()

while True:
    job = requests.get(f"{BASE}/video/generations/{job['id']}", headers=H).json()
    if job["status"] in ("succeeded", "failed", "canceled", "expired"):
        break
    time.sleep(5)

if job["status"] == "succeeded":
    video = requests.get(job["results"][0]["url"], headers=H)
    open("video.mp4", "wb").write(video.content)
    print("kész, ár:", job["cost"], "USD")
else:
    print("nem sikerült:", job["error"])

Árazás

  • Az ár modellenként másodpercre vagy videóra szól. A becslés a /v1/video/models listában van, a pontos összeg a kész videó cost mezőjében.
  • Indításkor a lehetséges legnagyobb költséget zároljuk az egyenlegedből (reserved). A végén csak a tényleges árat vonjuk le, a különbözet azonnal visszajár.
  • Sikertelen, megszakított vagy lejárt videóért nem fizetsz.
  • Ha a zároláshoz nincs elég egyenleg, a kérés 402 insufficient_balance, és a hibaüzenet megmondja, mennyi kell.

Hibakódok

HTTPcodeJelentés
400invalid_requestHiányzó model/prompt, nem támogatott hossz vagy felbontás, vagy képes módban hiányzik a kép.
402insufficient_balanceNincs elég egyenleg a zároláshoz.
404model_not_availableA modell most nem érhető el ellenőrzött szolgáltatónál.
404not_found / not_readyNincs ilyen videó, még nem kész, vagy lejárt a letöltési idő.
Következő
Hibakódok →
Videó generálás – Zseton dokumentáció