Ghid operator pentru Venice Video

Ce face

venice-video este capabilitatea pentru generare și transcriere video prin Venice. Acoperă text-to-video, image-to-video, video-to-video pentru upscale, video cu audio, imagini de referință, elemente recurente, scene de referință și transcriere sincronă a audio-ului dintr-un URL YouTube.

Generarea video este asincronă: întâi ceri prețul, apoi pui jobul în coadă, verifici statusul până se termină, descarci rezultatul și finalizezi jobul ca media să fie ștearsă din storage-ul Venice.

EndpointRol
POST /video/quoteCalculează prețul în USD, fără taxare și fără job pornit.
POST /video/queuePune generarea în coadă și rezervă fondurile.
POST /video/retrieveVerifică statusul sau descarcă MP4-ul.
POST /video/completeFinalizează jobul și șterge media din storage-ul Venice.
POST /video/transcriptionsTranscrie sincron audio-ul unui URL YouTube.

All guides

Când îmi folosește

Folosește venice-video când vrei să produci video din prompt text, să animezi o imagine, să faci upscale la un video existent, să folosești imagini de referință sau să generezi video cu audio.

Este util când costul trebuie verificat înainte de execuție: /video/quote întoarce prețul estimat, iar /video/queue este pasul care rezervă fondurile. Pentru orice job cu cost, operatorul trebuie să vadă prețul înainte de pornire dacă fluxul nu are deja aprobare explicită. Altfel ajungi cu bani rezervați din entuziasm automatizat. O formă tristă de prostie.

Pentru transcriere, /video/transcriptions acceptă direct un URL YouTube și nu folosește queue. Pentru fișiere audio arbitrare, folosește capabilitatea de transcriere audio, nu venice-video.

Cum îl invoc / declanșez

Sursa nu definește o comandă publică unică de chat sau CLI pentru skill. Declanșatorul conceptual este o cerere de tip: generează video prin Venice, transformă imaginea în video, fă upscale la video, creează video cu audio, folosește imagini de referință sau transcrie un URL YouTube.

Fluxul corect pentru generare este:

  1. POST /video/quote pentru cost.
  2. Confirmare operator, dacă jobul implică fonduri și nu există aprobare prealabilă.
  3. POST /video/queue pentru pornire și queue_id.
  4. POST /video/retrieve în buclă până la rezultat.
  5. Descarcă MP4-ul.
  6. POST /video/complete, sau folosește delete_media_on_completion: true la retrieve dacă vrei ștergere automată după retrieve reușit.

Pentru modele VPS-backed, queue poate întoarce download_url. Atunci /video/retrieve întoarce status JSON, iar video-ul se descarcă separat din acel URL. Linkul expiră în 24 de ore.

Exemplu practic

Text-to-video cu audio:

{
  "model": "wan-2-7-text-to-video",
  "prompt": "A golden retriever chasing a frisbee in slow motion at sunset.",
  "duration": "6s",
  "aspect_ratio": "16:9",
  "resolution": "720p",
  "audio": true
}

Image-to-video:

{
  "model": "<image-to-video model>",
  "prompt": "Camera slowly zooms out, revealing the cityscape.",
  "image_url": "https://example.com/cityscape.jpg",
  "duration": "5s",
  "aspect_ratio": "16:9"
}

Upscale video:

{
  "model": "<upscale model>",
  "video_url": "data:video/mp4;base64,...",
  "upscale_factor": 2,
  "duration": "Auto"
}

Modelele avansate pot folosi reference_image_urls[], elements[] și scene_image_urls[]. Elementele se referențiază în prompt ca @Element1, @Element2; imaginile de scenă ca @Image1, @Image2.

Output / unde aterizează

La generare, rezultatul final este video/mp4. Poate veni direct ca body binar din /video/retrieve, sau prin download_url pentru modelele VPS-backed.

În procesare, /video/retrieve poate întoarce JSON:

{
  "status": "PROCESSING",
  "average_execution_time": 145000,
  "execution_duration": 53200
}

Valorile sunt în milisecunde. average_execution_time estimează durata obișnuită, iar execution_duration arată cât a rulat jobul curent.

La transcriere YouTube, outputul este JSON:

{
  "transcript": "...",
  "lang": "en"
}

sau text/plain când response_format este text.

Limite / gotchas

model, prompt și duration sunt obligatorii la generare. duration trebuie trimis explicit, inclusiv când valoarea este Auto.

Disponibilitatea câmpurilor depinde de model. Verifică modelele video cu GET /models?type=video înainte să alegi duration, resolution, aspect_ratio, audio, image_url, video_url, upscale_factor, reference_image_urls[], elements[] sau scene_image_urls[].

Upscale folosește upscale_factor, nu resolution. reference_image_urls[] acceptă maximum 9 intrări, elements[] maximum 4, iar scene_image_urls[] maximum 4. audio_url acceptă WAV/MP3 de maximum 30 de secunde și 15 MB. URL-urile data: intră în payload și pot produce 413; pentru fișiere mari, folosește URL-uri găzduite.

Nu presupune că există download_url. Suportă ambele trasee: MP4 binar din /video/retrieve sau download separat după COMPLETED.

/video/transcriptions este doar pentru URL-uri YouTube. Nu acceptă upload arbitrar de video; extrage audio separat și folosește transcriere audio.

Erori frecvente: 400 parametri greșiți sau câmpuri lipsă, 401 auth sau Pro-only, 402 balanță insuficientă, 403 model indisponibil regional, 413 payload prea mare, 422 content policy violation, 500 inference failed, 503 capacitate. Pe /video/retrieve, 503 înseamnă de obicei coadă aglomerată; pe /video/queue, capacitatea upstream apare documentată ca 500.