Geração de vídeo
Live
Abrir no ChatGPT
(opens in new tab)Última verificação: 2026-09-08Escolha um modo do Wan 3
modelrush/wan3-spicy, modelrush/wan3-pro-spicy, modelrush/wan3-prime-spicy e modelrush/wan3-prime-pro-spicy usam o mesmo endpoint assíncrono com três modos: text-to-video, image-to-video e reference-to-video. Imagem para vídeo exige first_frame e aceita last_frame; referência para vídeo exige pelo menos um de reference_images, reference_videos ou reference_audios.O Wan 3 aceita prompts de até 20.000 caracteres e duração fixa de 2 a 30 segundos inteiros; se omitida, o padrão é 5 segundos, e
-1 não está disponível. Cobra-se a duração solicitada ou padrão. Aceita proporções adaptativas ou fixas e áudio nativo; a expansão de prompt está disponível apenas nos níveis Prime. Standard e Prime Spicy aceitam 480P, 720P e 1080P; Pro e Prime Pro Spicy aceitam 1080P, 2K e 4K. Os níveis Prime usam uma tarifa maior por segundo em troca de entrega mais rápida.Envie uma tarefa de texto para vídeo
bashcurl https://api.modelrush.ai/v1/videos/generations \-H "Authorization: Bearer $MODELRUSH_API_KEY" \-H "Content-Type: application/json" \-d '{"model":"modelrush/wan3-spicy","mode":"text-to-video","prompt":"A lunar fox tracing a request across glowing regions","duration":5,"resolution":"1080P","ratio":"16:9","audio":true}'
A API devolve
202 com um ID de geração e o status queued. Referência para vídeo aceita até 10 imagens, 5 vídeos e 5 áudios. Os vídeos de referência precisam de pelo menos 16 quadros por segundo e duração total de até 15 segundos; somados ao vídeo gerado, não podem ultrapassar 30 segundos. A duração total do áudio de referência não pode ultrapassar 15 segundos.Editar um vídeo com o Wan 2.7 Video Edit
modelrush/wan2.7-videoedit edita um vídeo de origem. Envie exatamente um item {"type":"video"} em media (MP4 ou MOV, de 2 a 10 segundos, 240–4.096 pixels por lado, proporção de 1:8 a 8:1, até 100 MB) e até 4 itens reference_image (JPEG, PNG, BMP ou WebP, 240–8.000 pixels por lado, de 1:8 a 8:1, até 20 MB). Omita duration ou envie 0 para manter a duração da origem; de 2 a 10 corta a saída a partir do início e nunca estende a origem.A cobrança usa os segundos do vídeo de entrada mais os do vídeo de saída, medidos em milissegundos. Uma origem de 5,02 segundos editada por inteiro cobra 5,02 + 5,02 = 10,04 segundos; a $0.110 por segundo são $1.1044, reservados como $1.11 porque a reserva é arredondada para cima até o próximo centavo. O gateway mede a origem antes de criar a tarefa e retorna a estimativa em
billing na resposta 202. A liquidação usa os segundos informados pelo provedor quando disponíveis; caso contrário, a estimativa autorizada (indicada como usage_source: "estimated" em billing da predição), e nunca ultrapassa a reserva; com menos segundos, a diferença é liberada.Receba o resultado por webhook (recomendado)
Registre um endpoint HTTPS público com
POST /webhooks/endpoints. O ModelRush envia eventos assinados prediction.succeeded ou prediction.failed assim que a tarefa assíncrona termina. Verifique a assinatura e elimine duplicatas pelo ID do evento. Veja webhooks.Use polling como recuperação se o webhook atrasar:
bashcurl https://api.modelrush.ai/v1/videos/generations/GENERATION_ID \-H "Authorization: Bearer $MODELRUSH_API_KEY"
Consulte com backoff limitado até completed ou failed e leia video_url. Após 24 horas, uma tarefa concluída ainda retorna completed, com video_url null e output_expired true. O endpoint unificado de Prediction usa succeeded e outputs. Veja tarefas assíncronas.
Referências das APIs dos modelos Spicy
Abra a página do modelo para consultar parâmetros e preços atuais. As quatro páginas Wan 3 incluem uma seção de API abaixo do Playground. GET /v1/models fornece esquemas e acesso permitido à chave; GET /api/model-pricing retorna preços públicos sem autenticação; com uma chave API Bearer válida, retorna os preços aplicáveis à conta.
| Modelo e referência da API | ID do modelo | Endpoint |
|---|---|---|
| Wan 3 Spicy | modelrush/wan3-spicy | POST /v1/videos/generations |
| Wan 3 Pro Spicy | modelrush/wan3-pro-spicy | POST /v1/videos/generations |
| Wan 3 Prime Spicy | modelrush/wan3-prime-spicy | POST /v1/videos/generations |
| Wan 3 Prime Pro Spicy | modelrush/wan3-prime-pro-spicy | POST /v1/videos/generations |
| Wan 2.7 I2V Spicy | modelrush/wan2.7-i2v-spicy | POST /v1/videos/generations |
| Wan 2.2 I2V Spicy | modelrush/wan2.2-i2v-spicy | POST /v1/videos/generations |
| Wan Animate Spicy | modelrush/wan-animate | POST /v1/videos/generations |
| FlashVSR Spicy | modelrush/flashvsr | POST /v1/videos/generations |
GET /v1/videos/generations/:id termina com completed ou failed e retorna video_url em caso de sucesso. GET /v1/predictions/:id usa succeeded e outputs. Siga o contrato do poll_url usado. Os vídeos de referência e de saída do Wan 3 não podem exceder 30 segundos no total. Os quatro níveis Wan 3 Spicy aceitam prompt_extend (booleano, padrão true). LoRA aceita três listas opcionais de pesos, 480P/720P e 5/8 segundos. Wan Animate e FlashVSR usam o endpoint de vídeo com mídia de origem. No FlashVSR, duration deve ser igual à duração do vídeo de entrada arredondada para o segundo inteiro mais próximo (mínimo 1); caso contrário, a solicitação falha com video_duration_mismatch (ou video_duration_unverified se o vídeo não puder ser lido) antes de qualquer cobrança.
Todos os modelos Spicy exigem confirmação de acesso para adultos na conta e uma chave com permissão para o modelo e a capacidade. Guarde as chaves no servidor e reutilize Idempotency-Key onde houver suporte. Wan Animate também exige a estimativa assinada e x-request-id da documentação de vídeo.
Wan Animate: confirme uma estimativa assinada antes do envio
Em novas solicitações de modelrush/wan-animate, remova duration. O servidor mede o vídeo de referência: mais de 0 e no máximo 30 segundos. A saída segue essa duração; 5/8 segundos não controla seu tamanho. A estimativa lê o vídeo e o preço atual sem iniciar geração nem reservar saldo. Confirme billing.maximum_charge_cents (centavos inteiros, arredondados para cima por tarefa). A cobrança final não pode superar esse máximo; a reserva não utilizada é liberada. A estimativa vale por 10 minutos. Os requisitos de conta, acesso à mídia e credenciais continuam válidos.
API pública: POST https://api.modelrush.ai/v1/videos/generations/quote e depois POST https://api.modelrush.ai/v1/videos/generations. Use Authorization: Bearer com uma chave de servidor autorizada para o modelo. Ambiente Agent: POST https://modelrush.ai/api/agent/v1/videos/generations/quote e depois POST https://modelrush.ai/api/agent/v1/videos/generations. Use a credencial Agent com media:write e um Agent run ativo, não uma chave da API pública. A estimativa não cobra uma geração, mas não elimina a assinatura Agent nem outros requisitos do serviço.
- Crie um UUID e salve o identificador e o corpo JSON exato antes do envio. Inclua model, image, video, mode (animate ou replace), resolution (480P ou 720P) e os campos opcionais prompt/seed/region. Omita duration.
- Envie esse corpo à rota de estimativa com Content-Type: application/json e x-request-id: UUID. HTTP 200 retorna quote_token, request_id, expires_at e billing. Confira request_id e mostre o máximo para aprovação.
- Envie o mesmo corpo e x-request-id à rota de geração correspondente. Adicione x-modelrush-video-edit-quote: quote_token. Mantenha conta, Agent run quando aplicável, região, bytes da mídia e configurações. Idempotency-Key não substitui UUID nem assinatura; alterá-lo não autoriza outra tarefa com a mesma estimativa.
- Salve id e poll_url e consulte a rota retornada com sua credencial. O estado de vídeo usa completed/failed; prediction unificado usa succeeded/failed. Não envie outra tarefa para consultar o andamento.
UUID ou assinatura ausente/inválida: HTTP 400 video_edit_quote_required. Estimativa vencida, mídia/configuração ou preço alterado: HTTP 409 video_edit_quote_changed. Não aceite outro máximo automaticamente. Após rejeição definitiva da estimativa, obtenha outra com o mesmo UUID e corpo e confirme novamente. Se nunca tentou enviar e ela venceu, atualize antes de enviar. Em timeout, resposta perdida ou 5xx incerto, mantenha UUID, corpo e assinatura e repita exatamente a geração uma vez para recuperar o resultado. Uma solicitação aceita correspondente é recuperada antes da validação de validade/mídia; não substitua a assinatura vencida durante recuperação incerta. Persistindo a dúvida, pare e investigue pelo ID; não troque UUID para contornar. HTTP 409 idempotency_conflict indica conteúdo diferente sob esse ID: pare. Proteja a estimativa e não registre credenciais.
Solicitações já aceitas antes da mudança podem ser recuperadas com Idempotency-Key e corpo originais, incluindo o antigo duration. A tarefa existente é retornada sem nova reserva nem cobrança. Isso vale apenas para tarefas aceitas correspondentes, não novos pedidos sem assinatura, corpos alterados ou outro UUID. Sem uma tarefa aceita conhecida, migre para a estimativa assinada.
Baixe o exemplo Node.js executável. Configure MODELRUSH_API_KEY para public ou MODELRUSH_AGENT_TOKEN para agent no servidor. O estado contém a assinatura privada; não o inclua no Git. quote nunca envia uma geração. Substitua MAX_CENTS pelo inteiro mostrado somente após aprovação. submit/recover podem reservar saldo e iniciar tarefa paga; fazem uma solicitação, sem repetição automática. refresh mantém UUID/corpo e exige nova revisão; use antes do primeiro envio ou após video_edit_quote_changed definitivo.
shcurl --fail --output wan-animate-quoted-request.mjs https://modelrush.ai/examples/wan-animate-quoted-request.mjscat > wan-animate-body.json <<'JSON'{"model":"modelrush/wan-animate","image":"https://YOUR_HOST/character.png","video":"https://YOUR_HOST/reference.mp4","mode":"animate","resolution":"480P"}JSONnode wan-animate-quoted-request.mjs quote wan-animate-state.json wan-animate-body.json publicnode wan-animate-quoted-request.mjs submit wan-animate-state.json MAX_CENTS# recover: same saved UUID, body and token; no new task IDnode wan-animate-quoted-request.mjs recover wan-animate-state.json MAX_CENTS# refresh: review the returned maximum again before submitnode wan-animate-quoted-request.mjs refresh wan-animate-state.json# Agent: use a separate state file and MODELRUSH_AGENT_TOKENnode wan-animate-quoted-request.mjs quote wan-animate-agent-state.json wan-animate-body.json agent
AnteriorEdição de imagens
PróximaAPIs de áudio