Tutorial
Como usar a API de vídeo Wan 2.7 da Wan? Tutorial em chinês de texto para vídeo e imagem para vídeo
Exemplos em curl e Python, como passar o array media, primeiro e último frame e áudio de condução, além de armadilhas comuns como resolução em maiúsculas.
TL;DR
- Wan 2.7 é o modelo de vídeo da Alibaba. No HiAPI há texto para vídeo
wan2.7-video/text-to-videoe imagem para vídeowan2.7-video/image-to-video, cada clipe de 2–15 segundos. Abrir a página do modelo permite gerar online; novos usuários ganham 200 créditos ao se registrar. - Cobrança por segundo, mesmo preço para texto e imagem: 720P a $0.10 por segundo, 1080P a $0.167 por segundo. 5 segundos em 720P custa $0.50.
- Duas armadilhas comuns: a resolução deve ser escrita em maiúsculas
720P/1080P, e o padrão é 1080P; o parâmetro de proporção do texto para vídeo se chamaratio, nãoaspect_ratio.
Veja o resultado primeiro
Texto para vídeo, exemplo da página do modelo, prompt em chinês:
Uma jovem de suéter branco sentada à janela de um café, do lado de fora uma rua em dia de chuva, ela levanta suavemente a xícara de café, o olhar voltado para fora da janela, luz amarela quente refletindo em seu rosto, gotas de chuva escorrendo lentamente pelo vidro, profundidade de campo rasa de nível cinematográfico, textura de filme 35mm, tons quentes, close-up em câmera lenta
Gerar com este prompt → (1080P, 16:9)
wan2.7-video/text-to-video exemplo da página do modelo, 1080P, cerca de 8 segundos, cerca de $1.336 pelo preço atual.
Imagem para vídeo, usando uma imagem de fazenda em estilo massinha como primeiro frame:

Estilo de animação em massinha, cena de fazenda alegre ganhando vida lentamente. A vaca mãe mastiga devagar o capim na boca, o bezerro inclina a cabeça curiosamente para olhar. Atrás, as galinhas baixam a cabeça para bicar os grãos no chão, o cachorro abana o rabo e dá alguns passinhos em direção à câmera. O porquinho na lama rola satisfeito, levantando pequenos respingos de lama. Ao longe, o cata-vento do celeiro vermelho gira lentamente, nuvens brancas passam preguiçosamente sobre colinas verdes. As florzinhas no chão balançam suavemente com a brisa, a cena inteira é tomada pela luz quente do sol da tarde, textura de animação stop-motion, cheia de encanto infantil.
Gerar com este prompt → (envie sua imagem do primeiro frame)
wan2.7-video/image-to-video exemplo da página do modelo, 1080P, cerca de 8 segundos, cerca de $1.336 pelo preço atual.
Para imagem para vídeo, escreva o prompt detalhando "quem está fazendo o quê": a vaca mastigando, as galinhas bicando, o cachorro correndo, o porco rolando. Dê uma pequena ação para cada personagem na imagem, e a imagem inteira ganha vida.
Dois caminhos para começar
Teste online (sem código)
- Abra a página do modelo Wan 2.7 texto para vídeo e registre-se ou faça login.
- Cole o prompt, escolha duração, resolução e proporção.
- Clique em gerar e baixe o vídeo quando estiver pronto.
Chamada da API
- Crie uma API Key no console.
- Envie a tarefa com
POST https://api.hiapi.ai/v1/tasks, que retornataskId. - Consulte o status com
GET /v1/tasks/{taskId}; quandostatusforsuccess, baixe o vídeo emoutput[0].url.
curl: seu primeiro vídeo
5 segundos em 720P, $0.50:
curl -X POST https://api.hiapi.ai/v1/tasks \
-H "Authorization: Bearer $HIAPI_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "wan2.7-video/text-to-video",
"input": {
"prompt": "Um gato laranja deitado no parapeito da janela banhado de sol boceja, a cauda balançando suavemente, tons quentes, profundidade de campo rasa",
"resolution": "720P",
"ratio": "16:9",
"duration": 5
}
}'
Retorno:
{"code": 200, "data": {"taskId": "tk-hiapi-..."}, "message": "success"}
Consultar o resultado:
curl https://api.hiapi.ai/v1/tasks/tk-hiapi-... \
-H "Authorization: Bearer $HIAPI_KEY"
Python: enviar, consultar, baixar
# pip install requests; antes, export HIAPI_KEY=sua_Key
import os, time, uuid, requests
KEY = os.environ["HIAPI_KEY"]
H = {"Authorization": f"Bearer {KEY}"}
def generate(model, timeout_s=900, **params):
body = {"model": model, "input": params}
# Ao reenviar a mesma tarefa, use o mesmo Idempotency-Key para evitar cobrança duplicada
headers = {**H, "Idempotency-Key": str(uuid.uuid4())}
r = requests.post("https://api.hiapi.ai/v1/tasks", json=body, headers=headers, timeout=30)
r.raise_for_status()
res = r.json()
if res.get("code") != 200:
raise RuntimeError(res)
task_id = res["data"]["taskId"]
deadline = time.time() + timeout_s
while time.time() < deadline:
d = requests.get(f"https://api.hiapi.ai/v1/tasks/{task_id}", headers=H, timeout=30).json()["data"]
if d["status"] == "success":
return d["output"][0]["url"]
if d["status"] == "fail":
raise RuntimeError(d)
time.sleep(10)
raise TimeoutError(task_id)
url = generate(
"wan2.7-video/text-to-video",
prompt="Um gato laranja deitado no parapeito da janela banhado de sol boceja, a cauda balançando suavemente, tons quentes, profundidade de campo rasa",
resolution="720P", ratio="9:16", duration=5,
)
with open("clip.mp4", "wb") as f:
f.write(requests.get(url).content)
Imagem para vídeo: envie materiais com media
Para imagem para vídeo não se usa image_url, mas sim um array media, em que cada item especifica o tipo e o endereço, de 1 a 3 itens:
{
"model": "wan2.7-video/image-to-video",
"input": {
"prompt": "Câmera avançando lentamente, pétalas sopradas pelo vento, a pessoa vira a cabeça e sorri",
"media": [
{"type": "first_frame", "url": "https://your-cdn.example.com/start.jpg"},
{"type": "last_frame", "url": "https://your-cdn.example.com/end.jpg"}
],
"resolution": "720P",
"duration": 5
}
}
type tem quatro valores:
type |
Função |
|---|---|
first_frame |
Imagem do primeiro frame |
last_frame |
Imagem do último frame, usada com o primeiro para criar transição |
driving_audio |
Áudio de condução, faz a imagem se mover conforme o som |
first_clip |
Primeiro trecho de vídeo, continua a geração a partir dele |
Visão geral dos parâmetros
| Parâmetro | Valores | Descrição |
|---|---|---|
prompt |
String, obrigatório | Até 5000 caracteres, em chinês ou inglês |
negative_prompt |
String | O que você não quiere que apareça, até 500 caracteres |
resolution |
720P / 1080P, padrão 1080P |
Maiúsculas, determina diretamente o preço |
ratio |
16:9 9:16 1:1 4:3 3:4, padrão 16:9 |
Somente texto para vídeo |
duration |
Inteiro de 2–15, padrão 5 | Em segundos |
audio_url |
wav/mp3, 2–30 segundos, máximo 15 MB | Somente texto para vídeo, opcional |
prompt_extend |
Padrão true |
Otimiza automaticamente o prompt; para gerar exatamente como o texto original, defina false |
seed |
0–2147483647 | Seed fixa para facilitar a reprodução |
watermark |
Padrão false |
Se adiciona marca d'água de geração por IA |
Calcule o custo
| Duração | 720P ($0.10/segundo) | 1080P ($0.167/segundo) |
|---|---|---|
| 2 segundos | $0.20 | $0.334 |
| 5 segundos | $0.50 | $0.835 |
| 10 segundos | $1.00 | $1.67 |
| 15 segundos | $1.50 | $2.505 |
Com $10 em 720P é possível gerar 100 segundos. O resolution padrão é 1080P; ao ajustar prompts, use 720P para economizar 40%.
Atenção antes de ir para produção
- Use callback em vez de polling: no nível superior da requisição (mesmo nível de
input), adicione"callback": {"url": "https://seu-dominio/hiapi/callback"}e deduplique portaskId. - Salve imediatamente:
output[0].urlé um link temporário; guarde-o no seu próprio armazenamento assim que recebê-lo. - Retentativas com chave de idempotência: adicione
Idempotency-Keyno cabeçalho da requisição; a mesma chave cria a tarefa apenas uma vez. - Reembolso automático em caso de falha: a cobrança é feita apenas por vídeos gerados com sucesso.
Perguntas frequentes
Posso escrever a resolução em minúsculas 720p?
Não. Minúsculas retornam 400 diretamente: resolution: value must be one of '720P', '1080P'.
Por que enviar aspect_ratio dá erro?
O parâmetro de proporção do Wan 2.7 texto para vídeo se chama ratio. Enviar aspect_ratio retorna 400: additional properties 'aspect_ratio' not allowed.
Como definir a proporção em imagem para vídeo?
Imagem para vídeo não tem parâmetro de proporção; ela segue o primeiro frame.
É possível gerar vídeos de 15 segundos?
Sim, duration varia de 2–15 segundos.
Como escolher entre Wan 2.7 e Wan 3.0?
O Wan 3.0 no HiAPI é vídeo a partir de referência, usando imagens de referência para fixar pessoas e produtos; se você só precisa de texto para vídeo ou imagem para vídeo, use o Wan 2.7.
Para mais formas de escrever, veja Casos de prompts do Wan 2.7 texto para vídeo (em inglês). Se quiser testar um primeiro vídeo, vá até a página do modelo para gerar.
Artigos relacionados
Ver todos os artigos →-
Tutorial
Como chamar hailuo-2.3-fast/image-to-video pela API HiAPI: curl e Python na prática
A primeira requisição executável do nível rápido e econômico de geração de vídeo a partir de imagem — do ID do modelo ao download do MP4
-
Tutorial
Como chamar hailuo-2.3/text-to-video pela API HiAPI: curl, Python e exemplos de requisição executáveis
-
Tutorial
Usar Kandinsky 6.0 Pro text-to-video na HiAPI: tutorial de curl e Python
Demonstração prática com foco na requisição: montar a chamada de prompt para clipe de vídeo, enviar a requisição, consultar o status de conclusão e baixar o resultado