HiAPI
Blogue

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.

Oct 23, 2026
Como usar a API de texto para vídeo do LTX 2.5 Fast? Crie o primeiro vídeo em 5 minutos

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_audio não afeta o preço.
  • A chamada usa a interface /v1/tasks do HiAPI: envie a tarefa para obter o taskId, depois consulte o resultado e, quando der certo, pegue o endereço do vídeo em output (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: duration aceita 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-video recebe 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 →

Gerar com este prompt →

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_audio vem 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: false para 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 →

Comece a criar com artefactos de IA persistentes

Obtenha a sua chave de API e chame modelos de imagem, vídeo e áudio através de uma única API baseada em tasks.

Ler a documentação da API