Luma
Ray 3.2
ray-3.2/image-to-video
Modelo de geração de vídeo cinematográfico da Luma, com suporte nativo a HDR e exportação em EXR, ideal para planos de ambiente atmosféricos, publicidade e filmes conceituais de pré-produção audiovisual; com instruções de enquadramento estruturadas, a aderência ao prompt é estável
Preços
ray-3.2/image-to-video per video
| Especificações | Preço unitário |
|---|---|
| 540P | $0.2145 |
| 720P | $0.429 |
| 1080P | $1.7145 |
Visão geral do posicionamento
O modelo de vídeo a partir de imagem Ray 3.2 usa uma imagem pública como primeiro quadro e, junto com uma descrição textual, gera um curta-metragem com qualidade cinematográfica, com a proporção da saída acompanhando automaticamente a proporção da imagem do primeiro quadro. Suporta opcionalmente uma imagem de quadro final, permitindo que a cena transite do primeiro quadro até o ponto final especificado; a resolução pode ser 540p, 720p ou 1080p, e o resultado é um clipe de 5 segundos. É adequado para desenvolvedores e equipes criativas que precisam estender tomadas a partir de um único quadro-chave, produzir pré-visualizações conceituais ou planos vazios de atmosfera.
Destaques principais
- Controle bidirecional de primeiro e último quadro — é possível fornecer apenas o primeiro quadro, ou adicionar uma imagem de quadro final para que o vídeo termine no ponto final especificado, tornando a trajetória da câmera mais controlável.
- Proporção acompanha automaticamente o primeiro quadro — a proporção da saída é determinada pela imagem do primeiro quadro, correspondendo à composição do material existente sem configurações adicionais.
- Três opções de resolução — 540p, 720p e 1080p para escolher conforme a necessidade, facilitando a distribuição de custos entre pré-visualização e resultado final.
Descrição das capacidades
Vídeo a partir de imagem guiado pelo primeiro quadro: envie uma URL de imagem pública como primeiro quadro e, em seguida, use um prompt para descrever o movimento e a cena, obtendo um vídeo de 5 segundos que tem essa imagem como ponto de partida.
Restrição de transição pelo quadro final: é possível enviar opcionalmente uma imagem de quadro final; o modelo gera a transição do primeiro ao último quadro, adequado para controlar o ponto de chegada da câmera e o fechamento da cena.
Resposta a prompts estruturados: responde de forma mais estável a descrições de movimento e câmera concretas e estruturadas; o limite do prompt é de 6000 caracteres, comportando instruções de câmera relativamente completas.
Controle de resolução e proporção: a resolução de saída pode ser 540p, 720p ou 1080p, e a proporção é herdada da imagem do primeiro quadro, reduzindo recortes posteriores.
Cenários de uso
- Pré-visualização conceitual: quadro-chave único + descrição de câmera — estender uma imagem conceitual ou quadro-chave de storyboard em uma tomada curta de 5 segundos, para pré-visualização dinâmica nas fases de proposta de cinema e publicidade.
- Planos vazios de atmosfera: imagem de cena + descrição de movimento ambiental — transformar uma imagem estática de cena em material de tomada ambiental, usado como tela de fundo, transição ou ambientação.
- Ligação de primeiro e último quadro: duas imagens de início e fim — dadas as imagens de início e fim, gerar o trecho de transição entre elas, para ligação de tomadas e controle de ritmo.
- Curta de marketing: imagem de produto + prompt de movimento — gerar material dinâmico curto com a imagem do produto como primeiro quadro, para produção rápida de conteúdo social e de marketing.
Limitações e recomendações de escolha
Cada geração é fixa em um clipe de 5 segundos, sem suporte a durações maiores; a resolução máxima é 1080p, não sendo adequado para planos longos ou para saída direta de master em alta resolução. O resultado depende de descrições de movimento e cena concretas e estruturadas; com instruções vagas o desempenho cai, e a consistência temporal e a qualidade de movimento não são seus pontos fortes. Se for necessário gerar vídeo diretamente a partir de texto, pode-se optar por um modelo de texto para vídeo da mesma série; se for necessário um resultado final de maior duração, é preciso avaliar separadamente. A cobrança é por vídeo.
Perguntas frequentes
Ver todas as perguntas →-
Quais entradas são necessárias para o Ray 3.2 de imagem para vídeo?
Dois campos obrigatórios: prompt (1–6000 caracteres) e image_url do primeiro quadro. Opcionalmente, end_image_url como quadro final, e resolution (540p, 720p, 1080p, padrão 540p). No Playground, você pode enviar imagens locais diretamente.
-
É possível definir a duração do vídeo?
Não. Cada vídeo gerado a partir de imagem tem duração fixa de 5 segundos, e a requisição não possui o parâmetro duration. Quando precisar de uma cena de 10 segundos, você pode usar o Ray 3.2 de texto para vídeo, que suporta 5 e 10 segundos.
-
O que determina a proporção da imagem de saída?
É determinada pelo primeiro frame; não há parâmetro aspect_ratio. A saída será ajustada para a mais próxima entre 16:9, 9:16, 1:1, 4:3, 3:4 e 21:9; quando a proporção não for exatamente igual, as bordas serão cortadas. A imagem original do caso do deserto nesta página é aproximadamente 3:2 (1024×687) e a saída é 4:3 em 1104×832; a imagem original do caso do café gelado é 9:16 e a saída é um vídeo vertical 9:16, praticamente sem cortes. Para ter controle total sobre a proporção da saída, corte o primeiro frame previamente para uma dessas seis proporções.
-
Como usar o primeiro e o último quadro?
Passe o primeiro quadro em image_url e o último quadro em end_image_url; o vídeo fará a transição do primeiro para o último quadro, e o prompt só precisa descrever a mudança que ocorre no meio. Quanto mais próximos forem o enquadramento, a iluminação e a posição do sujeito nas duas imagens, mais suave será a transição; quando o enquadramento for diferente, o modelo adicionará movimento de câmera para fazer a ligação, como no caso da peônia nesta página.
Criar uma tarefa de geração
https://api.hiapi.ai/v1/tasks Cabeçalhos
AuthorizationstringObrigatórioChave de API da conta. Obrigatória em toda requisição. Exemplo: Bearer YOUR_HIAPI_API_KEY. Obter chave de API
Content-TypestringOpcionalO corpo da requisição é sempre interpretado como JSON; se enviado, apenas application/json (charset opcional) é aceito — qualquer outro valor retorna 415. Exemplo: application/json.
Idempotency-KeystringOpcionalChave de idempotência, até 255 bytes. Retries com a mesma chave da mesma conta criam a tarefa apenas uma vez; replays retornam o taskId original.
Em timeouts de rede ou retries automáticos do cliente, a mesma chave cria a tarefa apenas uma vez, sem cobrança duplicada (escopo = a conta da chave de API). Use um identificador de negócio exclusivo (ex.: "order-42"); replays retornam o taskId original e as chaves expiram 24 h após a primeira requisição. A matriz completa de cenários está na introdução da API assíncrona unificada.
Corpo
modelstringObrigatórioValor fixo atual: ray-3.2/image-to-video
routestringOpcionalValor fixo atual: default
inputobjectObrigatório
Objeto de parâmetros de negócio para ray-3.2/image-to-video e a rota default — veja a tabela de parâmetros abaixo.
promptstringObrigatóriominLength 1maxLength 6000Prompt de texto que descreve o movimento e o conteúdo da cena que se deseja gerar com base na imagem de entrada.
image_urlstringObrigatórioURL público de uma imagem usada como primeiro quadro do vídeo; a proporção do vídeo gerado é a mesma dessa imagem.
resolutionstringOpcionalPadrão: "540p"Resolução do vídeo gerado, padrão 540p; cada vídeo tem duração de 5 segundos.
540p720p1080pend_image_urlstringOpcionalURL público opcional de uma imagem usada como último quadro do vídeo; o vídeo transita do primeiro quadro até esse quadro.
callbackobjectOpcional
Configuração de notificação de estado terminal. Se omitida, sem callback: consulte a tarefa por conta própria.
Informe callback.url na criação e o HiAPI fará POST no seu serviço no estado terminal, sem polling. O corpo do callback replica a estrutura do detalhe da tarefa; assinatura, retries e idempotência estão descritos na introdução da API assíncrona unificada.
urlstringObrigatórioObrigatória se callback estiver presente. No estado terminal é enviado um POST para esta URL; deve ser uma URL http(s) válida.
whenstringOpcionalPadrão: "final"Atualmente só há suporte a final — notifica tanto em success quanto em fail.
finalstoragestringOpcionalPadrão: "temp"Nível de armazenamento de artefatos: temp (padrão, ~7 dias) ou persistent (longo prazo, cobrado por tamanho). Saldo insuficiente ou limite excedido ⇒ rebaixamento silencioso para temp; o nível efetivo aparece na resposta de detalhes.
temppersistentExemplos de requisição
# Envia uma tarefa assíncrona; retorna um taskId imediatamente (sem esperar a geração)
curl -X POST "https://api.hiapi.ai/v1/tasks" \
-H "Authorization: Bearer $HIAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "ray-3.2/image-to-video",
"input": {
"prompt": "…",
"image_url": "…",
"resolution": "540p"
}
}' const res = await fetch("https://api.hiapi.ai/v1/tasks", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.HIAPI_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "ray-3.2/image-to-video",
input: {
"prompt": "…",
"image_url": "…",
"resolution": "540p"
}
}),
});
const task = await res.json();
// { code: 200, message: "success", data: { taskId } } import os, requests
res = requests.post(
"https://api.hiapi.ai/v1/tasks",
headers={"Authorization": f"Bearer {os.environ['HIAPI_API_KEY']}"},
json={
"model": "ray-3.2/image-to-video",
"input": {
"prompt": "…",
"image_url": "…",
"resolution": "540p"
}
},
)
print(res.json()) # { code, message, data: { taskId } } 200 OK
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-01HZTQ8BX2N3GM3YFK4Z9D7VQR"
}
} 400 Bad Request
{
"code": 400,
"message": "invalid request",
"data": null,
"error_code": "INVALID_REQUEST"
} Obter detalhes da tarefa
https://api.hiapi.ai/v1/tasks/:id Campos da resposta
taskIdstringObrigatórioID da tarefa, sempre com prefixo tk-hiapi-.
modelstringObrigatórioNome completo resolvido do modelo. Tarefas enviadas com o parâmetro route retornam base@route (ex.: gpt-image-2/text-to-image@ext); caso contrário, igual ao nome enviado.
routestringOpcionalPresente apenas se o parâmetro route explícito foi usado; ecoa o valor enviado.
statusstringObrigatórioEstado da tarefa.
queued Na fila, ainda não iniciada.
handling Em processamento.
archiving Processamento concluído, preparando artefatos.
success Terminal: concluído, artefatos disponíveis (retorna output).
fail Terminal: falha (retorna error).
Após o envio, acompanhe status: success e fail são terminais, os demais não. Faça polling a cada 1–3 s até o estado terminal. Em caso de sucesso, baixe os artefatos em output[].url e transfira antes de expireAt; para retenção longa, use storage: "persistent" na criação.
creatednumberObrigatórioMomento de criação da tarefa (segundos Unix).
completednumberObrigatórioSegundos Unix do estado terminal; 0 enquanto não terminal.
outputarrayOpcional
Presente apenas com status == success. Lista de artefatos — sempre um array; uma tarefa pode retornar vários types ao mesmo tempo (ex.: video + first_frame).
Array [ object ]
Itens do array
urlstringObrigatórioURL do artefato, baixável diretamente.
typestringObrigatórioValores possíveis no momento: video, image, audio, first_frame, last_frame, thumbnail; poderão ser ampliados.
expireAtnumberObrigatórioSegundos Unix de disponibilidade do artefato; baixe ou transfira antes da expiração.
errorobjectOpcional
Presente apenas com status == fail.
codestringObrigatórioCódigo de erro de negócio.
messagestringObrigatórioDescrição do erro.
Exemplos de resposta
Sucesso
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-01HZTQ8BX2N3GM3YFK4Z9D7VQR",
"model": "happyhorse-1-0",
"status": "success",
"created": 1777282033,
"completed": 1777282099,
"output": [
{
"url": "https://cdn.hiapi.ai/tasks/.../video.mp4",
"type": "video",
"expireAt": 1777886899
}
]
}
} Em processamento (não final)
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-...",
"model": "happyhorse-1-0",
"status": "archiving",
"created": 1777282033,
"completed": 0
}
} Falhou
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-...",
"model": "happyhorse-1-0",
"status": "fail",
"created": 1777282033,
"completed": 1777282099,
"error": {
"code": "TASK_FAILED",
"message": "task failed"
}
}
} Artigos
Ver todos os artigos →-
Tutorial
Como usar kling-4.0/text-to-video através da API HiAPI: curl, Python e um exemplo de requisição executável
Guia prático para desenvolvedores: prompts cinematográficos, áudio sincronizado, polling assíncrono e download da saída
-
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
-
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
-
Avaliação comparativa
Comparação lado a lado do Recraft v4.1 Flash em text-to-image: guia de seleção e migração para desenvolvedores
Com um custo de $0.01 por imagem e capacidade de text-to-image pura, avalie se ele é adequado para seu pipeline de geração de imagens
-
Tutorial
recraft-v4.1-flash geração de imagens por texto na prática: 5 cenários de negócio de alto valor e pontos de integração
Partindo de um custo de US$ 0,01 por imagem, planeje como aplicar a geração de imagens em negócios reais
-
Tutorial
Como chamar hailuo-2.3/text-to-video pela API HiAPI: curl, Python e exemplos de requisição executáveis
-
Tutorial
Como chamar kling-4.0/image-to-video na HiAPI: curl, Python e polling
-
Avaliação comparativa
hailuo-2.3-fast/image-to-video comparação lado a lado: como escolher modelos de imagem para vídeo e pontos de migração
-
Tutorial
Tutorial de kandinsky-6.0-pro/image-to-video na HiAPI: curl + Python
Faça uma requisição de imagem para vídeo funcional na HiAPI: do upload do primeiro quadro ao polling assíncrono e ao download final
Modelos relacionados
Ver todos os modelos →Mesmo tipo
-
Wan 3.0 Video Alibaba $0.040 /segundo -
Veo 3.1 Google $0.290 /segundo -
Kling 2.5 Kuaishou $0.060 /segundo -
Vidu Q3 Vidu $0.149 /segundo -
Grok Imagine 1.5 xAI $0.011 /segundo -
Hailuo 2.3 MiniMax $0.270 /vídeo -
HeyGen Avatar V HeyGen $0.150 /segundo -
Veo 3.1 Lite Google $0.060 /segundo -
PixVerse V6 PixVerse $0.036 /segundo -
HeyGen Avatar IV HeyGen $0.150 /segundo -
MiniMax H3 MiniMax $0.072 /segundo -
Creatify Boreal Creatify $0.015 /segundo