- Quando o Wan 2.7 VideoEdit é a Ferramenta Certa
- Endpoint e Fluxo de Trabalho Verificados
- Passo 1: Obter uma Chave de API da Novita AI
- Passo 2: Entender a Estrutura da Requisição
- Passo 3: Enviar Sua Primeira Requisição VideoEdit
- Passo 4: Fazer Polling no Endpoint de Resultado da Tarefa
- Passo 5: Adicionar uma Imagem de Referência Quando Precisar de Controle Visual Mais Apertado
- Parâmetros Chave com os Quais Você Realmente Deve se Importar
- Limites Documentados e Restrições Práticas
- Exemplo em Python: Submeter e Fazer Polling
- Exemplo em cURL com Polling via Shell
- Preços, Créditos e o Que Verificar Antes de Estimar Custos
- Erros Comuns de Integração
- Qual Endpoint Wan 2.7 Você Deve Escolher?
- FAQ
- Artigos recomendados
Wan 2.7 VideoEdit na Novita AI é o endpoint certo quando você já tem um vídeo e deseja que o modelo reestilize ou reescreva a cena sem reconstruir o movimento do zero. Você envia um vídeo de origem para POST https://api.novita.ai/v3/async/wan2.7-videoedit, recebe um task_id e então faz polling em GET /v3/async/task-result até que o clipe editado esteja pronto. Este guia mostra a estrutura exata da requisição, quando adicionar imagens de referência e os detalhes de implementação que importam antes de integrar em produção.
Quando o Wan 2.7 VideoEdit é a Ferramenta Certa
Use o Wan 2.7 VideoEdit quando o timing e o movimento de câmera no seu clipe de origem já são bons o suficiente e você quer que a IA mude o que o espectador vê, em vez de como a cena é enquadrada.
Aplicações típicas:
- Você tem um clipe live-action e quer convertê-lo em um render anime, cinematográfico ou estilizado.
- Você precisa mudar figurino, ambiente, adereços ou atmosfera preservando o arco de movimento original.
- Você quer aplicar uma transformação guiada por prompt ao vídeo e, opcionalmente, ancorar a aparência com uma imagem de referência.
Não é o endpoint certo quando:
- Você precisa de movimento novo a partir apenas de texto. Use Wan 2.7 T2V.
- Você quer animar uma imagem estática. Use Wan 2.7 I2V.
- Você precisa de role-play com múltiplos personagens com slots de referência nomeados em uma cena gerada. Use Wan 2.7 R2V.
Essa distinção é importante porque o VideoEdit começa a partir de um clipe de entrada. Se o movimento original estiver errado, o modelo não corrigirá a coreografia para você.
Endpoint e Fluxo de Trabalho Verificados
O Wan 2.7 VideoEdit na Novita AI usa um endpoint de submissão e o endpoint compartilhado de resultado de tarefa assíncrona:
| Campo | Valor |
|---|---|
| Endpoint de submissão | POST https://api.novita.ai/v3/async/wan2.7-videoedit |
| Polling de resultado | GET https://api.novita.ai/v3/async/task-result?task_id=<id> |
| Cabeçalho de autenticação | Authorization: Bearer $NOVITA_API_KEY |
| Tipo de conteúdo | application/json |
| Documentação oficial | Referência da API Wan 2.7 VideoEdit |
A API é assíncrona. Uma chamada de submissão bem-sucedida retorna um task_id, não a URL do vídeo finalizado. Sua aplicação deve persistir esse ID de tarefa e construir lógica de polling ou de tarefa em segundo plano em torno dele.
Passo 1: Obter uma Chave de API da Novita AI
Crie uma chave em Gerenciamento de chaves da Novita AI e mantenha-a em uma variável de ambiente:
export NOVITA_API_KEY="sua_chave_api_aqui"
Não codifique a chave diretamente em código de navegador, aplicativos móveis ou arquivos de configuração versionados.
Passo 2: Entender a Estrutura da Requisição
O Wan 2.7 VideoEdit usa um corpo JSON simples. A requisição não aninha campos sob input ou parameters.
No mínimo, envie:
video_urlprompt
Os campos opcionais documentados com os quais você geralmente se importará primeiro são:
reference_image_urlpara uma referência de aparência/estiloresolutiondurationaudio_settingprompt_extendseed
Passo 3: Enviar Sua Primeira Requisição VideoEdit
Esta é a requisição prática mínima:
curl -s -X POST https://api.novita.ai/v3/async/wan2.7-videoedit \
-H "Authorization: Bearer $NOVITA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"video_url": "https://example.com/source-clip.mp4",
"prompt": "Transforme esta cena de corredor de escritório em um corredor cyberpunk neon, preserve o movimento de caminhada e o trajeto da câmera",
"resolution": "720P",
"duration": 5
}'
Resposta esperada:
{
"task_id": "abc123..."
}
Nada mais é garantido no momento da submissão. Trate a requisição como uma etapa de enfileiramento de trabalho, não como uma resposta de edição síncrona.
Passo 4: Fazer Polling no Endpoint de Resultado da Tarefa
Use o task_id retornado com a API compartilhada de resultado de tarefa:
curl -s "https://api.novita.ai/v3/async/task-result?task_id=abc123..." \
-H "Authorization: Bearer $NOVITA_API_KEY"
Construa em torno destes estados:
| Status | Significado |
|---|---|
TASK_STATUS_QUEUED |
Aceito e aguardando execução |
TASK_STATUS_PROCESSING |
A edição está em andamento |
TASK_STATUS_SUCCEED |
O vídeo editado está pronto |
TASK_STATUS_FAILED |
A tarefa falhou; inspecione o corpo da resposta |
Quando a tarefa for bem-sucedida, a resposta inclui um array videos com a URL do vídeo editado e o TTL da URL. Baixe ou mova esse ativo prontamente, em vez de tratar a URL hospedada como armazenamento permanente.
Passo 5: Adicionar uma Imagem de Referência Quando Precisar de Controle Visual Mais Apertado
reference_image_url é opcional, mas altera o comportamento da edição de maneiras úteis.
Use quando:
- Você quer que o clipe final siga uma aparência, figurino ou paleta de personagem específica.
- Você quer direcionar a saída para uma direção artística específica, em vez de deixar tudo para o prompt de texto.
- O movimento do vídeo de origem está correto, mas a identidade da cena está muito solta com orientação apenas por texto.
Exemplo de requisição com imagem de referência:
curl -s -X POST https://api.novita.ai/v3/async/wan2.7-videoedit \
-H "Authorization: Bearer $NOVITA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"video_url": "https://example.com/source-clip.mp4",
"reference_image_url": "https://example.com/reference-look.png",
"prompt": "Transforme o performer na aparência e paleta de cores da imagem de referência, mantendo o mesmo timing de dança",
"resolution": "1080P",
"duration": 6,
"audio_setting": "auto"
}'
Se o resultado continuar desviando, a correção usual não é um prompt mais longo. É um prompt mais preciso combinado com uma imagem de referência melhor.
Parâmetros Chave com os Quais Você Realmente Deve se Importar
| Parâmetro | Tipo | Obrigatório | O que faz |
|---|---|---|---|
video_url |
string | Sim | Vídeo de origem a ser editado |
prompt |
string | Sim | Descreve a transformação alvo |
reference_image_url |
string | Não | Imagem de referência para ancoragem de aparência e estilo |
resolution |
string | Não | Resolução de saída; valores documentados incluem 720P e 1080P |
duration |
integer | Não | Duração alvo da saída em segundos; 0 mantém a duração completa do vídeo de entrada |
audio_setting |
string | Não | Controla o comportamento de geração de áudio |
prompt_extend |
boolean | Não | Permite que o modelo expanda prompts curtos automaticamente |
seed |
integer | Não | Melhora a reprodutibilidade entre tentativas |
Consulte a referência oficial de parâmetros antes de assumir valores padrão. Os campos de modelos de vídeo mudam com mais frequência do que os de modelos de texto, e é fácil errar nas restrições de saída se você confiar na memória.
Limites Documentados e Restrições Práticas
Em 29 de julho de 2026, a documentação oficial da Novita para Wan 2.7 VideoEdit documenta estes limites:
- Resoluções suportadas:
720Pe1080P durationpadrão é0, o que significa a duração completa do vídeo de entrada; a faixa de duração explícita documentada para saída é de 2 a 10 segundos quando você a define- Formatos de vídeo de entrada:
mp4emov - Limite de tamanho do vídeo de entrada: até 100 MB
- Formatos de imagem de referência:
jpg,jpeg,png,webp - Limite de tamanho da imagem de referência: até 20 MB
- Formato de vídeo de saída:
mp4
Essas restrições são fáceis de ignorar ao construir um pipeline de mídia genérico. A falha de integração mais comum é enviar um arquivo de origem mais longo ou maior do que o endpoint aceita.
Duas implicações práticas:
- Se você quiser que o clipe editado preserve a duração da origem, omita
durationou defina-o como0em vez de forçar um corte de 2 a 10 segundos. - Se você estiver testando prompts rapidamente, use
720Pprimeiro e mude para1080Psomente quando a transformação estiver funcionando.
Exemplo em Python: Submeter e Fazer Polling
import os
import time
import requests
API_KEY = os.environ["NOVITA_API_KEY"]
BASE_URL = "https://api.novita.ai"
HEADERS = {
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json",
}
def submit_video_edit(
video_url: str,
prompt: str,
reference_image_url: str | None = None,
resolution: str = "720P",
duration: int = 0,
audio_setting: str = "auto",
prompt_extend: bool = True,
seed: int | None = None,
) -> str:
payload = {
"video_url": video_url,
"prompt": prompt,
"resolution": resolution,
"duration": duration,
"audio_setting": audio_setting,
"prompt_extend": prompt_extend,
}
if reference_image_url:
payload["reference_image_url"] = reference_image_url
if seed is not None:
payload["seed"] = seed
resp = requests.post(
f"{BASE_URL}/v3/async/wan2.7-videoedit",
headers=HEADERS,
json=payload,
timeout=60,
)
resp.raise_for_status()
return resp.json()["task_id"]
def poll_result(task_id: str, interval: int = 5, timeout: int = 300) -> dict:
deadline = time.time() + timeout
while time.time() < deadline:
resp = requests.get(
f"{BASE_URL}/v3/async/task-result",
headers=HEADERS,
params={"task_id": task_id},
timeout=60,
)
resp.raise_for_status()
data = resp.json()
status = data.get("task", {}).get("status")
if status == "TASK_STATUS_SUCCEED":
return data
if status == "TASK_STATUS_FAILED":
reason = data.get("task", {}).get("reason", "unknown")
raise RuntimeError(f"Tarefa {task_id} falhou: {reason}")
time.sleep(interval)
raise TimeoutError(f"Tarefa {task_id} não foi concluída em {timeout}s")
if __name__ == "__main__":
task_id = submit_video_edit(
video_url="https://example.com/source-clip.mp4",
prompt="Mude a cena de rua para uma cidade retro-futurista chuvosa à noite, preserve o plano-sequência original",
reference_image_url="https://example.com/reference-frame.png",
resolution="720P",
duration=0,
seed=42,
)
print(f"Tarefa submetida: {task_id}")
result = poll_result(task_id)
video = result["videos"][0]
print("URL do vídeo editado:", video["video_url"])
print("TTL da URL:", video["video_url_ttl"])
Exemplo em cURL com Polling via Shell
TASK_ID=$(curl -s -X POST https://api.novita.ai/v3/async/wan2.7-videoedit \
-H "Authorization: Bearer $NOVITA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"video_url": "https://example.com/source-clip.mp4",
"prompt": "Converta o clipe em uma cena de cidade anime desenhada à mão, preserve o movimento de corrida",
"resolution": "720P",
"duration": 0,
"prompt_extend": true
}' | jq -r '.task_id')
while true; do
RESULT=$(curl -s "https://api.novita.ai/v3/async/task-result?task_id=$TASK_ID" \
-H "Authorization: Bearer $NOVITA_API_KEY")
STATUS=$(echo "$RESULT" | jq -r '.task.status')
if [ "$STATUS" = "TASK_STATUS_SUCCEED" ]; then
echo "$RESULT" | jq -r '.videos[0].video_url'
break
fi
if [ "$STATUS" = "TASK_STATUS_FAILED" ]; then
echo "$RESULT"
break
fi
sleep 5
done
Se você estiver integrando a partir de um serviço backend, envolva este loop de polling em um worker em vez de manter uma requisição de usuário aberta durante toda a janela de geração.
Preços, Créditos e o Que Verificar Antes de Estimar Custos
A Novita AI expõe preços para modelos de vídeo em suas páginas de modelo e preços, mas esses números podem mudar. Para Wan 2.7 VideoEdit, verifique as taxas atuais diretamente na página de preços da Novita AI e na entrada do modelo vinculada na documentação oficial antes de publicar estimativas de custo voltadas ao cliente.
Para planejamento de engenharia, a suposição mais segura é:
- O custo escala com as configurações do clipe gerado, não apenas com uma taxa fixa por requisição.
- Execuções em
1080Psão a linha de base errada para iteração. - Clipes mais curtos são mais fáceis de validar e mais baratos de depurar.
Se você estiver construindo ferramentas internas, trate a consulta de preços como uma preocupação de configuração, não como uma constante embutida no código.
Erros Comuns de Integração
Enviar uploads brutos em vez de uma URL acessível. A estrutura de requisição documentada espera entradas de mídia baseadas em URL. Certifique-se de que seu clipe de origem já esteja disponível em uma URL estável que seu servidor possa referenciar.
Usar VideoEdit para mudanças de movimento. VideoEdit é um endpoint de transformação, não um endpoint de coreografia. Se o movimento original estiver errado, regenere com T2V ou I2V.
Confundir os limites de vídeo de origem e imagem de referência. O vídeo de origem é o ativo maior: mp4/mov, até 100 MB. O limite menor de 20 MB se aplica a reference_image_url, não a video_url.
Fazer polling muito agressivamente. Acessar o endpoint de resultado da tarefa a cada segundo é desnecessário para trabalhos de vídeo de vários segundos. Um intervalo de 5 a 10 segundos geralmente é um ponto de partida melhor.
Ignorar o TTL da URL. A URL do resultado é temporária. Persista o ativo prontamente se o clipe editado for importante para etapas posteriores.
Pular a especificidade do prompt. “Melhore” não é um prompt de edição. Descreva o estilo alvo, ambiente, tratamento do assunto e qual movimento deve permanecer inalterado.
Qual Endpoint Wan 2.7 Você Deve Escolher?
Use esta regra rápida:
- Escolha VideoEdit quando você já tem um vídeo de origem.
- Escolha I2V quando você tem uma imagem de origem ou deseja continuação a partir de um fluxo de trabalho baseado em imagem estática.
- Escolha T2V quando você tem apenas texto.
- Escolha R2V quando a consistência de identidade e o controle de personagem de referência são mais importantes do que editar um clipe existente.
Essa separação é o que mantém sua integração simples. As equipes geralmente usam excessivamente texto-para-vídeo para tarefas que são, na verdade, problemas de edição baseados em prompt.
FAQ
Qual é o endpoint da Novita AI para Wan 2.7 VideoEdit?
POST https://api.novita.ai/v3/async/wan2.7-videoedit. Ele retorna um task_id, então você faz polling em GET https://api.novita.ai/v3/async/task-result?task_id=<id> para conclusão.
Posso fornecer uma imagem de referência junto com o vídeo de origem?
Sim. A estrutura de requisição documentada suporta um reference_image_url opcional junto com video_url e prompt, o que é útil para direcionar a aparência final de forma mais precisa.
Qual duração de vídeo o Wan 2.7 VideoEdit suporta na Novita AI?
Conforme documentado em 29 de julho de 2026, duration padrão é 0, o que significa a duração completa do vídeo de entrada. Se você definir duration explicitamente, a faixa documentada é de 2 a 10 segundos.
O Wan 2.7 VideoEdit aceita vídeos de origem grandes?
Sim, dentro do limite documentado. A documentação oficial lista entrada mp4/mov de até 100 MB. O limite separado de 20 MB se aplica à imagem de referência opcional.
Devo usar Wan 2.7 VideoEdit ou Wan 2.7 I2V?
Use VideoEdit se você já tem um clipe e deseja transformá-lo. Use I2V se seu ponto de partida é uma imagem estática ou um fluxo de trabalho baseado em imagem.
