modelos

MiniMax: Hailuo 02

Markdown · JSON

MiniMax: Hailuo 02

Hailuo 02 cria vídeo a partir de texto ou de uma imagem do primeiro fotograma e suporta um processo documentado com fotogramas inicial e final. Comandos de câmara, otimização do prompt e escolhas de duração e resolução específicas de cada modo ajudam a dar forma ao plano pretendido.

Sobre o modelo

Esta descrição apresenta as capacidades do modelo. As entradas, saídas e opções disponíveis no Ailoot para o método selecionado estão indicadas abaixo.

Hailuo 02 é o modelo de vídeo da MiniMax para cenas a partir de texto, animação de imagens e um processo com fotogramas inicial e final. Uma descrição escrita indica o sujeito, a ação e a câmara, enquanto imagens de fotogramas fornecidas podem estabelecer o ponto de partida visual ou o destino da transição. Escolha o modo de geração em função dos materiais que já tem e da parte do plano que precisa de controlar.

Para texto para vídeo, descreva uma ação coerente com cenário e ponto de vista legíveis. Uma cena pode mostrar um pequeno barco à vela a passar por um cais enquanto a câmara o acompanha a partir da margem. Especifique o que se move, que detalhes devem permanecer visíveis e como termina o plano. Mantenha a descrição centrada em eventos observáveis, e não numa lista de qualidades visuais não relacionadas.

Para imagem para vídeo, prepare um primeiro fotograma com o sujeito e o enquadramento pretendidos já estabelecidos. O fabricante aceita imagens JPG, JPEG, PNG e WebP inferiores a 20 MB, com o lado curto superior a 300 píxeis e uma proporção entre 2:5 e 5:2. Utilize uma imagem cujos contornos e características importantes sejam visíveis e descreva depois o movimento a desenvolver a partir dela.

Hailuo 02 também tem um modo documentado com fotogramas inicial e final. Prepare as duas imagens como os estados inicial e final pretendidos de uma sequência e descreva como a cena se move entre eles. O primeiro fotograma determina o enquadramento; o fabricante indica que um último fotograma de tamanho diferente é recortado para corresponder ao primeiro. Alinhe antecipadamente a composição das imagens quando um sujeito deve permanecer visível ao longo da transição.

O prompt pode conter até 2 000 caracteres. Hailuo 02 suporta comandos de câmara entre parênteses retos, incluindo push, pull, truck, pan, pedestal, tilt, zoom, tracking e static shot para um plano estático. Comandos colocados juntos num par de parênteses retos pedem movimento simultâneo; comandos colocados em pontos diferentes da descrição pedem uma sequência. O fabricante recomenda combinar não mais de três movimentos, pelo que deve escolher a ação de câmara que torna o sujeito mais legível.

A duração e a resolução estão ligadas ao modo. Texto para vídeo documenta seis ou dez segundos a 768P e seis segundos a 1080P. Imagem para vídeo também documenta 512P para seis ou dez segundos. O processo com fotogramas inicial e final documenta 768P para seis ou dez segundos e 1080P para seis segundos. Selecione uma combinação suportada para o plano, em vez de transferir as escolhas de resolução de um modo para todos os outros.

A otimização automática do prompt é um controlo documentado e está ativada por predefinição no processo do fabricante. Conserve a sua definição ao comparar versões, porque uma descrição reescrita altera o que o modelo recebe. Mantenha o texto exato, os fotogramas de referência e as definições de saída selecionadas com o vídeo gerado, para que uma revisão possa incidir sobre a ação ou o enquadramento que precisam de melhoria.

Examine toda a sequência concluída: composição inicial, continuidade do sujeito, tempos da ação e fotograma final. Para uma transição, verifique ambos os extremos e o movimento entre eles. Guarde o vídeo real para edição, juntamente com o prompt e as referências; utilize a revisão seguinte para resolver um problema visual concreto, como um detalhe oculto, um movimento brusco de câmara ou um final que chega demasiado cedo.

Ailoot Ultra · Vídeo POST /v1/videos minimaxi-hailuo-02

minimaxi-hailuo-02

MiniMax /minimaxi-hailuo-02

Introdução

Hailuo 02 cria vídeo a partir de texto ou de uma imagem do primeiro fotograma e suporta um processo documentado com fotogramas inicial e final. Comandos de câmara, otimização do prompt e escolhas de duração e resolução específicas de cada modo ajudam a dar forma ao plano pretendido.

Entradas aceites
Texto · Imagens
Resultados
Vídeo

Disponível no Ailoot · entradas e métodos

Ailoot Ultra · Vídeo POST /v1/videos
Entrada
text, image
Saída
video
CampoTipoRequisitoValores e limitesPredefinição
CampomodelTipostringRequisitoObrigatórioValores e limites
minimaxi-hailuo-02
Condições: Utilize o seletor exato de modelos da Ailoot.
Predefinição—
CampopromptTipostringRequisitoObrigatórioValores e limites
Condições: Descreva a cena e o movimento.
Predefinição—
CampodurationTipointegerRequisitoOpcionalValores e limites
6, 10
Condições: Envie um dos valores de duração enumerados; não é indicado qualquer valor predefinido.
Predefinição—
Campoend_imageTipostringRequisitoOpcionalValores e limites
Condições: Um fotograma final aplica-se apenas num modo suportado de entrada de imagem.
Predefinição—
CampoimageTipostring or array<string>RequisitoOpcionalValores e limites
Condições: Utilize um URL real de imagem acessível publicamente ou uma cadeia de imagem em base64; não é indicado aqui qualquer número máximo de imagens.
Predefinição—
CamporesolutionTipostringRequisitoOpcionalValores e limites
512P, 768P, 1080P
Condições: Envie um dos valores de resolução enumerados; não é indicado qualquer valor predefinido.
Predefinição—
Parâmetros e ciclo de vida do método
ParâmetroContrato
Parâmetrocontent_typeContratoapplication/json
ParâmetrorequiredContratomodel, prompt
ParâmetrooptionalContratoduration, end_image, image, resolution
Parâmetromaterial_typesContratotext, image
ParâmetroconditionsContratoUtilize o seletor exato de modelos da Ailoot., Descreva a cena e o movimento., Envie um dos valores de duração enumerados; não é indicado qualquer valor predefinido., Um fotograma final aplica-se apenas num modo suportado de entrada de imagem., Utilize um URL real de imagem acessível publicamente ou uma cadeia de imagem em base64; não é indicado aqui qualquer número máximo de imagens., Envie um dos valores de resolução enumerados; não é indicado qualquer valor predefinido.

Aliases do método: /v1/videos/generations

Ciclo de vida: submit_once_poll_original

GET /v1/videos/{request_id}

GET /v1/videos/generations/{request_id}

GET /v1/videos/{request_id}/content

GET /v1/media/assets

GET /v1/media/assets/{asset_id}

Tarifários

Cálculo do custo final

As tarifas apresentadas permitem estimar o custo antes da geração. O montante final cobrado é calculado a partir do custo registado para a geração original. A duração medida do resultado e as quantidades previstas não correspondem à quantidade final faturável.

As referências tarifárias não acrescentam opções ao pedido. Os parâmetros suportados constam do método selecionado.

Modo rápido
Não especificado Quando o modo rápido está selecionado
Modo flex
Não especificado Quando o modo flex está selecionado
Esforço máximo de raciocínio
Não especificado Quando o esforço máximo de raciocínio usa o ajuste predefinido (default)

Tarifas estimadas para comparação

Preços por configuração

Associe cada custo às condições apresentadas. Use uma única tarifa para cada conjunto de configurações alternativas.

ConfiguraçãoTabela de tarifasQuantidade previstaCusto
ConfiguraçãoTarifas base por tokenTabela de tarifasTarifa baseQuantidade prevista—Custo
Entrada · Tokens de entrada · Estimativa apenas para comparação — / 1K tokens
Saída · Tokens de saída · Estimativa apenas para comparação — / 1K tokens
Entrada · Leitura da cache · Estimativa apenas para comparação — / 1K tokens
Entrada · Escrita na cache · Estimativa apenas para comparação — / 1K tokens
Entrada · Escrita na cache, 1 hora · Estimativa apenas para comparação — / 1K tokens
ConfiguraçãoCusto estimado de geraçãoTabela de tarifas—Quantidade previstaestimativa para uma geraçãoCusto
Saída · Custo estimado de geração · Estimativa apenas para comparação $0.2 estimativa antes da geração

Esta estimativa não é um encargo adicional nem uma tarifa fixa para a geração concluída.

O Ailoot reserva um montante estimado antes de um pedido. Após o resultado, liquida o custo final com base na utilização medida. No streaming, a liquidação usa o registo final de utilização. Como funcionam a reserva e a liquidação →

Exemplos de pedidos

Ailoot Ultra · Vídeo

curl · crie uma única vez e guarde o comprovativoConsulte a tarefa originalGuarde cada recurso concluído que lhe pertence
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
cat > request.json <<'JSON'
{
  "model": "minimaxi-hailuo-02",
  "prompt": "A cat is walking on grass."
}
JSON
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
# Create once; retain id, polling_url, original task identifiers and every header.
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_STATUS'
import json,os,subprocess
from pathlib import Path
from urllib.parse import urljoin,urlsplit
r=json.loads(Path("result.json").read_text())
u=urljoin("https://api.ailoot.ai",r["polling_url"])
p=urlsplit(u)
if p.scheme!="https" or p.netloc!="api.ailoot.ai" or p.username or p.password:
    raise SystemExit("Unexpected returned polling URL; preserve the response")
subprocess.run(["curl","--fail-with-body","--silent","--show-error",u,"-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"],"-D","status-headers.txt","-o","status.json"],check=True)
# Read this same original polling_url again while pending.
# Preserve unknown/result_pending_check; do not repeat creation.
PY_STATUS
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_ASSETS'
import json,os,subprocess
from pathlib import Path
from urllib.parse import urljoin,urlsplit
r=json.loads(Path("status.json").read_text())
roles={}
def visit(v,path=""):
    if isinstance(v,dict):
        for k,x in v.items(): visit(x,path+"/"+k)
    elif isinstance(v,list):
        for i,x in enumerate(v): visit(x,path+"/"+str(i))
    elif isinstance(v,str):
        u=urljoin("https://api.ailoot.ai",v); p=urlsplit(u)
        if p.scheme=="https" and p.netloc=="api.ailoot.ai" and not p.username and not p.password and p.path.startswith("/v1/media/assets/") and p.path.endswith("/content"):
            roles.setdefault(u,[]).append(path)
visit(r)
if not roles: raise SystemExit("No completed owned assets; retain the original status")
manifest=[]
for i,(u,paths) in enumerate(roles.items()):
    target=Path(f"asset-{i}.bin")
    subprocess.run(["curl","--fail-with-body","--silent","--show-error",u,"-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"],"-o",str(target)],check=True)
    raw=target.read_bytes()
    if not raw: raise SystemExit("Empty asset; retain original status and metadata")
    ext="glb" if raw[:4]==b"glTF" else "png" if raw[:8]==b"\x89PNG\r\n\x1a\n" else "jpg" if raw[:3]==b"\xff\xd8\xff" else "webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else "mp4" if raw[4:8]==b"ftyp" else "bin"
    name=f"asset-{i}.{ext}"
    if target.name!=name: target.rename(name)
    manifest.append({"file":name,"response_paths":paths,"bytes":len(raw)})
Path("asset-manifest.json").write_text(json.dumps(manifest,indent=2))
print("Saved",len(manifest),"unique owned assets; every response role retained")
PY_ASSETS

Receber e guardar os resultados

Ailoot Ultra · Vídeo

  • GET /v1/videos/{request_id}
  • GET /v1/videos/generations/{request_id}
  • GET /v1/videos/{request_id}/content
  • GET /v1/media/assets
  • GET /v1/media/assets/{asset_id}
Guardar todos os resultados concluídos

Guarde cada vídeo concluído ou ficheiro devolvido; obtenha cada URL de recurso efetivamente devolvido.

Conserve a resposta completa e os cabeçalhos, os identificadores originais, todos os resultados reais e todos os campos de utilização/contabilidade. Guarde cada recurso único pertencente ao utilizador e conserve todas as funções que apontam para ele.

Se for necessário verificar a resposta original

Conserve o id público de tarefa ou operação devolvido e todos os cabeçalhos. Consulte apenas a tarefa original; unknown ou result_pending_check não autoriza uma nova criação.

Campos da resposta
CampoTipo
CampoidTipostring
Campopolling_urlTipostring
Campoprovider_task_idTipostring
Campotask_idTipostring
CampostatusTipostring
Campovideo_urlTipostring

Aliases

Aliases do modelo

Ailoot Ultra minimaxi-hailuo-02

Aliases dos caminhos dos métodos

/v1/videos/generations

IDs de chamada relacionados

minimaxi-hailuo-02

FAQ · MiniMax: Hailuo 02
Que entradas e resultados estão disponíveis?

POST /v1/videos · minimaxi-hailuo-02: text, image → video

Que campos utiliza o pedido?

POST /v1/videos · minimaxi-hailuo-02: model, prompt, duration, end_image, image, resolution

Mais detalhes

Ligue o Ailoot ao Claude Code, OpenCode, Hermes ou à sua aplicação.

A empresa e a sua carteira de projetos

A empresa e a sua carteira de projetos: milhões de clientes; vendas mensais na ordem dos milhares de milhões.

Compre tokens com desconto.

Desconto por subscrição para trabalho regular. Códigos promocionais — até 50% na compra de tokens.

Subscrição
Escolha um plano com desconto para os pedidos regulares.
Código promocional até 50%
Introduza o código na compra. O preço é recalculado conforme a campanha em vigor.
Custos no histórico
O modelo, os tokens e o montante são guardados para cada pedido.

Escolher subscrição · Ver preços dos modelos

Ligue a API ao produto que vende.

SaaS, aplicações e bots — ao abrigo da oferta e do contrato de licença Ailoot. Para revenda, peça uma licença de revendedor.

Aplicação comercial
Integre geração de texto, imagens, vídeo e som nas funcionalidades pagas do seu serviço.
Licença de revendedor
Envie uma descrição do projeto e do modelo de acesso. Peça condições escritas de utilização e revenda.
Documentos no site
A oferta, o contrato de licença e a política de tratamento de dados estão disponíveis antes da ligação.

Pedir licença de revendedor · Oferta e contrato de licença