Video
Video's genereren
Maak video's met Seedance, Kling, Omni, Wan, Grok, Veo, Vidu, PixVerse en MiniMax op basis van een prompt, een eerste frame (en eventueel een laatste), van referentieafbeeldingen, video's en audio. Video's maken duurt een paar minuten, dus je start de generatie en vraagt later de status op.
/v1/videosStarten, status opvragen, downloaden
import os, time, requestsAPI = "https://api.zurelay.com/v1"HEADERS = {"Authorization": f"Bearer {os.environ['ZURELAY_API_KEY']}"}# 1. Start the videoresponse = requests.post(f"{API}/videos", headers=HEADERS, json={ "model": "seedance-2.0", "prompt": "A paper boat drifting down a rain-soaked street at night, neon reflections, slow dolly shot", "seconds": 5, "resolution": "720p", "aspect_ratio": "16:9",})response.raise_for_status() # a 4xx says what to fixjob = response.json()# 2. Poll until it's done (usually 2 to 6 minutes)while job["status"] in ("queued", "in_progress"): time.sleep(10) job = requests.get(f"{API}/videos/{job['id']}", headers=HEADERS).json()if job["status"] == "failed": raise SystemExit(job["error"]["message"])# 3. Download the MP4video = requests.get(f"{API}/videos/{job['id']}/content", headers=HEADERS)open("boat.mp4", "wb").write(video.content)Elk videomodel werkt hetzelfde: wijzig model en de aanvraag blijft verder gelijk. De modelgidsen leggen uit waar elk model het best in is: Seedance, Kling, Wan, Grok Imagine, Omni Flash, MiniMax H3, Veo, Vidu en PixVerse.
callback_url toe en de voltooide video wordt met een ondertekend POST-verzoek naar je server gestuurd zodra hij klaar is. Zie Callbacks.Parameters
modelstringverplicht- De ID van een videomodel.
promptstring- Wat er gebeurt, tot 8,000 tekens (Kling leest tot 2,500, Vidu reads up to 2,000, PixVerse reads up to 2,048, MiniMax reads up to 7,000). Verplicht, tenzij je een eerste frame of referentieafbeeldingen meegeeft.
negative_promptstring- Wat je niet in de video wilt, tot 2,500 tekens. Kling and PixVerse lezen dit; andere modellen weigeren het.
secondsinteger- Lengte in hele seconden, binnen het bereik van het model (zie de tabel). Standaard 5, of de dichtstbijzijnde lengte die het model ondersteunt.
resolutionstring- Bijvoorbeeld
480p,720p,1080p,2kof4k: de opties per model staan in de tabel. Standaard 720p, of de laagste resolutie van het model. aspect_ratiostring16:9,9:16,1:1,4:3,3:4,21:9, ofadaptive(de beeldverhouding van het eerste frame; de standaard als je er een meegeeft). Anders is de standaard16:9. Kling makes 16:9, 9:16, 1:1 en 21:9; Omni and Veo make 16:9 and 9:16; Kling makes 16:9, 9:16 and 1:1; Grok, Vidu and PixVerse make 16:9, 9:16, 1:1, 4:3 and 3:4.sizestring- In plaats van resolutie en beeldverhouding: pixels zoals
1280x720. generate_audioboolean- Geluid en spraak die samen met de video worden gegenereerd. Standaard
true. (audiowerkt ook.) Kling and PixVerse cost minder zonder geluid. seedinteger- Dezelfde seed en instellingen geven vergelijkbare resultaten. Kling, Grok and Veo have no seed and ignore it.
first_framestring- Een afbeelding waarmee de video begint: een link of een data-URL. MiniMax takes none: give the image in reference_images.
last_framestring- Een afbeelding waarmee de video eindigt. Vereist een eerste frame. Seedance, Kling, Omni, Wan, Vidu and PixVerse take one.
reference_imagesarray- Afbeeldingen van personages, producten, plaatsen of een stijl om te gebruiken: Seedance up to 9, Kling up to 10, Omni up to 10, Wan up to 10, Grok up to 3, MiniMax up to 9; Veo, Vidu and PixVerse take none. Niet te combineren met frames.
reference_videosarray- Video's waarvan je de uitstraling, beweging of het camerawerk wilt gebruiken, of een video om te bewerken of te verlengen: MP4 of MOV, als links of data-URL's, in de prompt aangeduid als
@Video1,@Video2enzovoort. Alleen Seedance 2.5, Seedance 2.0, Gemini Omni Flash en MiniMax H3. De seconden ervan worden berekend tegen een deel van de prijs per seconde, of bij sommige modellen helemaal niet; zie Referentievideo's en audio. reference_audioarray- Stem, muziek of geluid om te gebruiken: MP3 of WAV, als links of data-URL's, aangeduid met
@Audio1enzovoort. Alleen Seedance 2.5, Seedance 2.0 en MiniMax H3, zonder extra kosten. reference_modestring- Met referentievideo's:
editer een,extender een, of maak een nieuwe video op basis van de referenties (reference). Standaardauto: het model volgt de prompt. Alleen Seedance 2.5. callback_urlstring- Een https-URL om de voltooide (of mislukte) video naartoe te sturen, in plaats van te pollen. Zie Callbacks.
Beginnen met afbeeldingen
Eerste en laatste frame
Animeer een stilstaand beeld: de video begint precies met first_frame. Voeg last_frame toe om op die afbeelding te eindigen, zodat je beide uiteinden van de opname bepaalt. MiniMax starts in plaats daarvan op basis van referentieafbeeldingen.
{ "model": "seedance-2.0", "first_frame": "https://example.com/storefront-day.jpg", "last_frame": "https://example.com/storefront-night.jpg", "prompt": "Time passes from afternoon to night; lights come on inside the shop.", "seconds": 6, "resolution": "720p"}Referentieafbeeldingen
Geef maximaal 10 afbeeldingen op (Seedance up to 9, Kling up to 10, Omni up to 10, Wan up to 10, Grok up to 3, MiniMax up to 9; Veo, Vidu en PixVerse take none) en verwijs er in de prompt op volgorde naar (@Image1, @Image2…): de mensen, producten en plekken erop verschijnen in de video.
{ "model": "seedance-2.5", "reference_images": [ "https://example.com/chef.jpg", "https://example.com/kitchen.jpg", "https://example.com/dish.jpg" ], "prompt": "The chef from @Image1 plates the dish from @Image3 in the kitchen from @Image2, close-up, warm light.", "seconds": 8, "resolution": "720p", "aspect_ratio": "9:16"}Referentievideo's en -audio
Geef video's op om iemands uiterlijk en bewegingen, een camerabeweging of een scène over te nemen, en audio voor een stem, melodie of geluidseffecten. Verwijs er in de prompt op volgorde naar, net als bij afbeeldingen: @Video1, @Audio1. Je kunt ze combineren met referentieafbeeldingen, maar niet met een eerste frame.
{ "model": "seedance-2.5", "reference_images": ["https://example.com/singer.jpg"], "reference_videos": ["https://example.com/dance-moves.mp4"], "reference_audio": ["https://example.com/chorus.mp3"], "prompt": "The singer from @Image1 performs the dance from @Video1 on a rooftop at dusk, singing to @Audio1.", "seconds": 8, "resolution": "720p"}Het model leest elke seconde van een referentievideo, dus die seconden worden ook in rekening gebracht, tegen een deel van de prijs per seconde: een video van 5 s met een referentie van 10 s kost 5 seconden plus 10 referentieseconden. Referentieaudio kost niets extra. Elk video-object toont de in rekening gebrachte referentieseconden (reference_seconds).
Een video bewerken en verlengen
Stel reference_mode in op edit om een referentievideo te wijzigen (een persoon of object vervangen, iets toevoegen of verwijderen, de muziek veranderen), of op extend om die aan het einde of begin te verlengen. Beschrijf in de prompt wat er moet gebeuren: “Vervang de auto in @Video1 door die in @Image1”, “Laat @Video1 doorgaan terwijl de danser het podium verlaat”.
- Een bewerking behoudt de beeldverhouding en lengte van de video, dus laat
aspect_ratioensecondsweg. De prijs wordt berekend op basis van de langste referentievideo, die 4 tot 30 seconden moet duren. - Een verlenging behoudt de beeldverhouding van de video;
secondsbepaalt hoelang de nieuwe video duurt. - Zonder
reference_modebeslist het model op basis van de prompt. Een prompt die als een bewerking klinkt, kan mislukken alssecondsofaspect_ratiois ingesteld (mislukte video's zijn gratis).
Regels voor afbeeldingen
- PNG, JPEG of WebP, als openbare
https-link of data-URL, tot 10 MB. - 300 tot 6000 pixels per zijde, en niet breder of hoger dan 5:2. Data-URL's die hier niet aan voldoen, worden direct geweigerd met een bericht dat uitlegt waarom. Links worden gelezen zodra de video start: als een link geen bruikbare afbeelding oplevert, mislukt de video met
invalid_image, zonder kosten. - Frames of referenties, niet beide in één request.
- Requests zijn JSON: je geeft afbeeldingen mee als links of data-URL's, niet als multipart-uploads.
Het video-object
{ "id": "video_abc123", "object": "video", "model": "seedance-2.0", "status": "completed", "progress": 100, "created_at": 1790870400, "completed_at": 1790870562, "expires_at": 1793462400, "seconds": 5, "resolution": "720p", "aspect_ratio": "16:9", "size": "1280x720", "generate_audio": true, "url": "https://...signed link...", "url_expires_at": 1790956962, "cost": 1.035, "error": null}Andere endpoints
Betalen voor video
Een video kost de prijs per seconde (afhankelijk van de resolutie) maal de lengte; Kling en PixVerse cost minder per seconde zonder geluid; de seconden van referentievideo's tellen mee tegen een deel van dat tarief. Als je een video start, wordt dat bedrag gereserveerd op je saldo; het wordt afgeschreven zodra de video klaar is en vrijgegeven als de video mislukt. Een mislukte video is gratis.
Vragen, of ontbreekt er iets? Vraag het ons supportteam en je krijgt antwoord per e-mail, meestal binnen een minuut.