Vídeo
Geração de vídeos
Crie vídeos com Seedance, Kling, Omni, Wan, Grok, Veo, Vidu, PixVerse e MiniMax a partir de um prompt, de um primeiro quadro (e, opcionalmente, de um último) ou de imagemns de referência, vídeos e áudio. Os vídeos levam alguns minutos, então você inicia a geração e consulta o resultado depois.
/v1/videosIniciar, consultar, baixar
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)Todos os modelos de vídeo funcionam da mesma forma: altere model e a requisição continua igual. Os guias dos modelos mostram os pontos fortes de cada um: Seedance, Kling, Wan, Grok Imagine, Omni Flash, MiniMax H3, Veo, Vidu e PixVerse.
callback_url e o vídeo finalizado será enviado via POST ao seu servidor, com assinatura, assim que estiver pronto. Veja Callbacks.Parâmetros
modelstringobrigatório- O ID de um modelo de vídeo.
promptstring- O que acontece no vídeo, em até 8,000 caracteres (Kling lê até 2,500, Vidu reads up to 2,000, PixVerse reads up to 2,048, MiniMax reads up to 7,000). Obrigatório, a menos que você forneça um primeiro quadro ou imagens de referência.
negative_promptstring- O que não deve aparecer no vídeo, em até 2,500 caracteres. Kling and PixVerse leem esse campo; os outros modelos o rejeitam.
secondsinteger- Duração em segundos inteiros, dentro do intervalo do modelo (veja a tabela). O padrão é 5, ou a duração mais próxima que o modelo gera.
resolutionstring- Como
480p,720p,1080p,2kou4k: as opções de cada modelo estão na tabela. O padrão é 720p, ou a menor resolução do modelo. aspect_ratiostring16:9,9:16,1:1,4:3,3:4,21:9ouadaptive(a proporção do primeiro quadro; o padrão quando você fornece um). Caso contrário, o padrão é16:9. Kling makes 16:9, 9:16, 1:1 e 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- Em vez de resolução e proporção: dimensões em pixels, como
1280x720. generate_audioboolean- Som e fala gerados com o vídeo. O padrão é
true. (audiotambém funciona.) Kling and PixVerse cost menos sem som. seedinteger- A mesma seed e as mesmas configurações geram resultados semelhantes. Kling, Grok and Veo have no seed and ignore it.
first_framestring- Uma imagem com a qual o vídeo começa: um link ou uma URL de dados. MiniMax takes none: give the image in reference_images.
last_framestring- Uma imagem com a qual o vídeo termina. Exige um primeiro quadro. Seedance, Kling, Omni, Wan, Vidu and PixVerse take one.
reference_imagesarray- Imagens de personagens, produtos, lugares ou de um estilo para usar: 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. Não podem ser usadas junto com quadros.
reference_videosarray- Vídeos para usar como referência de visual, movimento ou trabalho de câmera, ou um vídeo para editar ou estender: MP4 ou MOV, como links ou URLs de dados, mencionados no prompt como
@Video1,@Video2e assim por diante. Apenas Seedance 2.5, Seedance 2.0, Gemini Omni Flash e MiniMax H3. Cada segundo desses vídeos é cobrado por uma fração do preço de um segundo, ou não é cobrado em alguns modelos; veja Vídeos e áudio de referência. reference_audioarray- Voz, música ou som a usar: MP3 ou WAV, como links ou URLs de dados, mencionados como
@Audio1e assim por diante. Apenas Seedance 2.5, Seedance 2.0 e MiniMax H3, sem custo adicional. reference_modestring- Com vídeos de referência:
editum,extendum, ou crie um novo vídeo a partir das referências (reference). Padrãoauto: o modelo segue o prompt. Apenas Seedance 2.5. callback_urlstring- Uma URL https para enviar o vídeo concluído (ou com falha), em vez de consultar o status periodicamente. Veja Callbacks.
Começando com imagens
Primeiro e último quadro
Anime uma imagem estática: o vídeo começa exatamente em first_frame. Adicione last_frame para que termine nessa imagem, dando a você controle sobre o início e o fim da cena. MiniMax starts a partir de imagens de referência.
{ "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"}Imagens de referência
Envie até 10 imagens (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 e PixVerse take none) e mencione-as no prompt na ordem (@Image1, @Image2…): as pessoas, os produtos e os lugares nelas aparecem no vídeo.
{ "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"}Vídeos e áudio de referência
Envie vídeos para usar a aparência e os movimentos de uma pessoa, um movimento de câmera ou uma cena, e áudio para uma voz, uma melodia ou efeitos sonoros. Mencione-os no prompt na ordem, como nas imagens: @Video1, @Audio1. Você pode combiná-los com imagens de referência, mas não com um primeiro quadro.
{ "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"}O modelo processa cada segundo de um vídeo de referência, então esses segundos também são cobrados, por uma fração do preço de um segundo gerado: um vídeo de 5 s com uma referência de 10 s custa seus 5 segundos mais 10 segundos de referência. O áudio de referência não tem custo adicional. Cada objeto de vídeo mostra os segundos de referência cobrados (reference_seconds).
Editando e estendendo um vídeo
Defina reference_mode como edit para alterar um vídeo de referência (trocar uma pessoa ou um objeto, adicionar ou remover algo, mudar a música), ou como extend para estendê-lo para a frente ou para trás. Diga o que fazer no prompt: “Substitua o carro em @Video1 pelo de @Image1”, “Continue @Video1 enquanto a pessoa que dança sai do palco”.
- Uma edição mantém o formato e a duração do vídeo, então não inclua
aspect_rationemseconds. A cobrança usa a duração do vídeo de referência mais longo, que deve ter de 4 a 30 segundos. - Uma extensão mantém o formato do vídeo;
secondsdefine a duração do novo vídeo. - Sem
reference_mode, o modelo decide com base no prompt, e um prompt que pareça pedir uma edição pode falhar sesecondsouaspect_ratioestiver definido (vídeos com falha não são cobrados).
Regras para imagens
- PNG, JPEG ou WebP, como um link público
httpsou uma URL de dados, até 10 MB. - De 300 a 6000 pixels em cada lado, e proporção máxima de 5:2 na horizontal ou na vertical. URLs de dados fora desses limites são recusadas de imediato com uma mensagem explicando o motivo. Os links são lidos quando a geração do vídeo começa: se o link não fornecer uma imagem válida, o vídeo falha com
invalid_image, sem cobrança. - Quadros ou referências, não os dois na mesma requisição.
- As requisições são em JSON: as imagens são enviadas como links ou URLs de dados, não como uploads multipart.
O objeto de vídeo
{ "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}Outros endpoints
Pagamento por vídeo
Um vídeo custa o preço por segundo (conforme a resolução) multiplicado pela duração; Kling e PixVerse cost a menos por segundo sem som; vídeos de referência acrescentam seus segundos a uma fração desse preço. Quando você inicia a geração, esse valor é reservado no seu saldo; ele é cobrado quando o vídeo fica pronto e liberado se a geração falhar. Vídeos que falham não são cobrados.
Tem dúvidas ou falta algo? Fale com nossa equipe de suporte e responderemos por e-mail, geralmente em até um minuto.