Tutorial
Como usar a API de texto para vídeo do LTX 2.5 Fast? Crie o primeiro vídeo em 5 minutos
Transforme texto em vídeo com áudio de 2 a 20 segundos: exemplos em curl/Python, tabela de parâmetros e observações.
TL;DR
- O LTX 2.5 Fast Text to Video (
ltx-2.5-fast/text-to-video) transforma um texto em um vídeo de 2 a 20 segundos, com 720p / 1080p, horizontal ou vertical e áudio nativo gerados juntos. Abra a página do modelo para testar; novos usuários ganham 200 créditos ao se registrar. - O preço é por segundo: 720p a $0.043 por segundo (um vídeo de 6 segundos sai por $0.258), 1080p a $0.086 por segundo; a chave
generate_audionão afeta o preço. - A chamada usa a interface
/v1/tasksdo HiAPI: envie a tarefa para obter otaskId, depois consulte o resultado e, quando der certo, pegue o endereço do vídeo emoutput(endereço temporário, salve a tempo).
O que ele faz
- Cena sonora em uma frase: descreva cenário, movimento, câmera e som no mesmo prompt; o áudio é gerado junto com a imagem.
- 2 a 20 segundos, 12 opções de duração:
durationaceita 2, 3, 4, 5, 6, 8, 10, 12, 14, 16, 18 ou 20; o padrão é 6 segundos. - Horizontal ou vertical e duas resoluções: 16:9 / 9:16, 720p / 1080p; taxa de quadros fixa em 25fps, MP4.
- A mesma família também tem imagem para vídeo:
ltx-2.5-fast/image-to-videorecebe um primeiro quadro (e opcionalmente um último quadro) para animar uma imagem estática, com as mesmas regras de preço; veja a página do modelo de imagem para vídeo.
Como escolher entre as duas interfaces:
ltx-2.5-fast/text-to-video (esta página) |
ltx-2.5-fast/image-to-video |
|
|---|---|---|
| Entrada | Um texto | 1–2 imagens + uma frase de movimento |
| Indicado para | Explorar cenas do zero, ideias de anúncio, storyboard | Já tem uma foto/imagem de produto e quer animá-la |
| Pontos de controle | Prompt, resolução, duração, proporção | Primeiro quadro (+ último), prompt, resolução, duração |
Em resumo: se o conteúdo da imagem ainda não está definido, use texto para vídeo; se a imagem já existe, use imagem para vídeo; dá para encadear as duas — gere um primeiro quadro final com texto para vídeo e entregue ao imagem para vídeo para adicionar movimento de câmera.
Abaixo, um vídeo real (720p · 6 segundos, com áudio nativo):
A barista pours steamed milk into a latte, creating a leaf pattern, close-up, soft morning light through a café window, gentle clinking cups and café ambience
(Em português: um barista despeja leite vaporizado em um latte, criando um padrão de folha, close-up, luz suave da manhã atravessando a janela do café, tilintar leve de xícaras e ambiente de café. Parâmetros padrão: 720p, 6 segundos, 16:9, áudio ligado.)

ltx-2.5-fast/text-to-video, 720p, 6 segundos, 16:9, 1280×720, com áudio, $0.258.Ver o vídeo completo →
Dois caminhos para começar
3 passos no navegador: abra a página do modelo → cole o prompt, escolha a duração e a resolução → clique em gerar; um vídeo 720p de 6 segundos custa $0.258 e, ao terminar, você o visualiza direto online.
3 passos pela API: POST /v1/tasks para enviar → pegue o taskId → consulte com GET /v1/tasks/<taskId> até ver success e então baixe.
curl: o primeiro vídeo
curl -X POST https://api.hiapi.ai/v1/tasks \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: your-unique-key-001" \
-d '{
"model": "ltx-2.5-fast/text-to-video",
"input": {
"prompt": "A barista pours steamed milk into a latte, creating a leaf pattern, close-up, soft morning light through a café window, gentle clinking cups and café ambience",
"resolution": "720p",
"duration": 6,
"aspect_ratio": "16:9",
"generate_audio": true
}
}'
Este de 720p × 6 segundos custa $0.258.
Python: enviar, consultar e baixar
import time, uuid, requests
BASE = "https://api.hiapi.ai/v1/tasks"
HEADERS = {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
}
payload = {
"model": "ltx-2.5-fast/text-to-video",
"input": {
"prompt": "A barista pours steamed milk into a latte, creating a leaf pattern, close-up, soft morning light through a café window, gentle clinking cups and café ambience",
"resolution": "720p",
"duration": 6,
"aspect_ratio": "16:9",
"generate_audio": True,
},
}
resp = requests.post(
BASE,
headers={**HEADERS, "Idempotency-Key": str(uuid.uuid4())},
json=payload,
timeout=30,
)
resp.raise_for_status()
task_id = resp.json()["taskId"]
while True:
task = requests.get(f"{BASE}/{task_id}", headers=HEADERS, timeout=30).json()
print(task["status"])
if task["status"] in ("success", "fail"):
break
time.sleep(5)
if task["status"] == "success":
video = next(o for o in task["output"] if o.get("type") == "video")
video_url = video["url"] # endereço temporário, baixe e salve o quanto antes
mp4 = requests.get(video_url, timeout=120)
with open("output.mp4", "wb") as f:
f.write(mp4.content)
print("saved output.mp4")
Tabela de parâmetros
| Campo | Obrigatório | Valores | Descrição |
|---|---|---|---|
prompt |
Sim | 1–5000 caracteres | Escreva tudo em uma frase: cenário, movimento, câmera, som |
resolution |
Não | 720p / 1080p, padrão 720p | O preço por segundo em 1080p é cerca do dobro do 720p |
duration |
Não | 2/3/4/5/6/8/10/12/14/16/18/20, padrão 6 | Só aceita esses valores de enumeração (não existe 7 nem 9) |
aspect_ratio |
Não | 16:9 / 9:16, padrão 16:9 | Para vídeos curtos verticais, escolha 9:16 |
generate_audio |
Não | Padrão true | Áudio nativo; desligar não reduz o preço |
Campos fora da tabela no corpo da requisição retornam 400 imediatamente.
Erros que você vai encontrar
| Código de status | Significado | Como resolver |
|---|---|---|
| 400 INVALID_REQUEST | Corpo da requisição inválido (falta prompt, duration recebeu um valor fora da enumeração como 7, campo fora da tabela) |
Ajuste o corpo da requisição conforme a tabela de parâmetros |
| 402 INSUFFICIENT_QUOTA | Saldo insuficiente (sem cobrança) | Recarregue e tente de novo |
| 429 RATE_LIMITED | Limite de requisições atingido | Reduza a frequência de envios |
| 409 / 422 IDEMPOTENCY_KEY_* | Envio repetido com a mesma chave de idempotência | Use um novo Idempotency-Key |
Quando a tarefa termina em falha, também podem aparecer CONTENT_POLICY_VIOLATION, TASK_FAILED, TASK_TIMEOUT, entre outros; falhas não são cobradas.
Cuidados antes de ir para produção
- Callback: envie no nível superior do corpo
"callback": {"url": "https://..."}para ser notificado automaticamente no estado final; tarefas de vídeo demoram, então é recomendável usar. - Salve a tempo: o endereço do vídeo em
outputé temporário; baixe assim que receber. - Informe duration e resolution explicitamente: esses dois campos determinam a cobrança, não dependa dos padrões; registre esses dois valores nos logs antes de ir para produção para facilitar a conciliação.
- Ritmo em lote: um vídeo de 6 segundos leva um tempo entre o envio e a geração; para tarefas em lote, prefira enfileirar envios + receber resultados por callback, em vez de esperar de forma síncrona.
- Para animar uma imagem estática: use a página do modelo de imagem para vídeo da mesma família; enviar o primeiro quadro dá mais controle.
Perguntas frequentes
- Sim, o áudio é gerado junto com o vídeo:
generate_audiovem ligado por padrão; descreva o som no prompt (vento, tilintar de xícaras) para o áudio combinar melhor com a imagem. - Sim, a duração tem apenas 12 opções: valores enumerados entre 2 e 20 segundos; 7 segundos, 9 segundos etc. retornam 400.
- Sim, o preço = preço por segundo × segundos: 720p 6 segundos $0.258, 1080p 6 segundos $0.516; desligar o áudio não barateia.
- Sim, $10 geram cerca de 38 vídeos: considerando 720p de 6 segundos cada.
- Sim, para vertical basta escolher 9:16: a saída é 720×1280 (720p) ou 1080×1920 (1080p), sem precisar recortar para publicar em plataformas de vídeo curto.
- Sim, a recomendação é começar em resolução baixa e depois subir: use 720p para ajustar prompt e composição; depois de definir, suba para 1080p e rode o mesmo prompt de novo — o preço por segundo dobra, mas o produto final é só um.
- Sim, desligar o áudio não economiza: se for dublar ou colocar trilha na pós-produção, envie
generate_audio: falsepara obter a imagem limpa.
Próximo passo: pegue o prompt de latte art e gere o primeiro vídeo na página do modelo; para quatro modelos de cena, veja o guia completo de prompts de texto para vídeo.
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