MiniMax: H3 Max
MiniMax H3 Max é uma variante H3 rápida, submetida a pós-treino, para vídeo curto com áudio sincronizado. O fluxo documentado da MiniMax suporta texto, imagens de fotogramas e referências multimodais, com saída a 480P ou 768P, duração de 5–15 segundos e opções próprias de expansão de instruções.
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.
Uma variante H3 rápida submetida a pós-treino
MiniMax H3 Max é uma variante do modelo base MiniMax H3 submetida a pós-treino, otimizada para geração mais rápida, cumprimento das instruções e qualidade audiovisual. A variante foi desenvolvida através de pós-treino pela fal Research. Mantém um contexto multimodal unificado e imagem e som sincronizados de forma nativa. A velocidade é uma prioridade de conceção, e não um tempo fixo de conclusão para cada instrução, duração ou aplicação.
Mantenha Max distinto do sistema H3 original e da variante separada Max Turbo. A interface atual da MiniMax apresenta Max a 480P ou 768P, com 768P por predefinição, 24 fotogramas por segundo e uma duração inteira entre 5 e 15 segundos. O seu fluxo Max documentado não oferece a definição 2K do sistema H3 original nem uma saída de quatro segundos.
Da instrução ao plano
Todas as gerações incluem instruções em texto não vazias, até 7 000 caracteres por elemento de texto. Descreva o sujeito, a composição inicial, a ação e o resultado e torne depois claras as indicações de câmara e som. Numa revelação curta de um objeto, identifique o que o espetador deve ver primeiro, como o objeto entra em cena e como o plano deve terminar.
Uma instrução útil de cinco segundos pode descrever uma chávena de cerâmica numa mesa de madeira, uma mão a pousar um pires ao seu lado, uma pequena aproximação da câmara e o som da cerâmica a tocar na madeira. Mantenha a ação suficientemente pequena para caber na duração selecionada e inspecione se o movimento e o som devolvidos acompanham o mesmo acontecimento.
Criação guiada por fotogramas
O fabricante documenta um fotograma inicial, um fotograma final ou ambos. Uma primeira imagem estabelece onde o clipe começa; uma última imagem estabelece o estado visual final. Explique o movimento que os liga, incluindo alterações de pose, posição de objetos, câmara ou iluminação. Numa transição entre dois fotogramas, evite instruções que introduzam uma cena incompatível entre os extremos.
A saída guiada por fotogramas obtém a proporção a partir da imagem de entrada. Para trabalho apenas em texto, escolha uma proporção concreta entre 21:9, 16:9, 4:3, 1:1, 3:4 ou 9:16. O trabalho guiado por referências pode utilizar uma proporção adaptativa ou uma das opções explícitas documentadas. Componha a referência ou a cena escrita para o enquadramento de destino, em vez de presumir que a mesma disposição funciona igualmente bem na vertical e na horizontal.
Referências multimodais
O esquema atual de geração Max da MiniMax documenta também imagens, vídeo e áudio de referência. Indique o que cada um deve influenciar: a identidade de uma personagem, um ambiente, um padrão de movimento, uma trajetória de câmara, o timbre de voz ou uma característica sonora. Os papéis de primeiro/último fotograma e os papéis de recursos multimédia de referência são mutuamente exclusivos nessa interface.
Num plano de personagem, identifique separadamente a referência de aspeto e a referência de movimento e forneça depois a ação e a fala pretendidas. Uma referência de voz que estabelece a interpretação é diferente de copiar o seu sinal de áudio completo. Seja explícito nas instruções quanto às características a conservar e às alterações a fazer e reveja o clipe audiovisual efetivo face a cada papel de referência.
Expansão de instruções
A definição de expansão específica de Max oferece as opções disabled, balanced e quality, com balanced por predefinição. Escolha disabled quando as instruções fornecidas devem passar sem expansão; utilize um modo de expansão documentado quando desejar interpretação adicional. Conserve as instruções originais para distinguir uma alteração introduzida durante a expansão do conteúdo pedido.
Descreva o som como parte da cena. Identifique os sons físicos, o ambiente e quaisquer palavras faladas e separe-os da música de fundo destinada apenas ao público. Forneça a fala exata e identifique quem a deve dizer, em vez de pedir diálogo não especificado. Ouça o resultado para além de o ver; uma imagem convincente não comprova que a redação falada ou o ritmo temporal estejam corretos.
Preparação das entradas e limites
O esquema atual do fabricante aceita imagens JPG, JPEG, PNG, WebP, HEIC ou HEIF, até 30 MB cada, com lados entre 256 e 5 760 píxeis e proporções entre 0.4 e 2.5. Os papéis inicial e final permitem uma imagem cada; o modo de referências permite até nove imagens. Preserve uma vista clara do sujeito e dos pormenores que têm de continuar identificáveis.
O vídeo de referência permite até três clipes MP4 ou MOV, cada um com 2–15 segundos e, em conjunto, no máximo 15 segundos, com um limite de 50 MB por ficheiro. Documenta vídeo H.264 ou H.265, áudio AAC ou MP3, lados entre 256 e 5 760 píxeis, proporções entre 0.4 e 2.5 e taxa de fotogramas entre 23.976 e 60. O áudio de referência permite até três clipes WAV ou MP3, cada um até 15 MB e com 2–15 segundos, em conjunto no máximo 15 segundos. O corpo do pedido tem um limite separado de 64 MB.
Utilize apenas referências que contribuam para o plano e identifique cada contribuição no texto. Um clipe de movimento curto e relevante é mais fácil de utilizar como orientação do que uma longa coleção de acontecimentos sem relação entre si. Mantenha explícitas a duração pretendida e a resolução de saída para comparar o resultado com as mesmas instruções.
O resultado concluído
O fluxo assíncrono do fabricante devolve a identidade de uma tarefa antes de o vídeo concluído estar disponível. A sua interface de consulta de tarefas recupera tarefas dos sete dias anteriores. Guarde o clipe efetivamente devolvido e a sua especificação para montagem ou revisão adicional; um identificador de tarefa não é o recurso audiovisual. Os endereços de transferência têm prazo de validade, pelo que deve conservar o próprio ficheiro quando guardar um resultado selecionado.
Reveja a continuidade dos sujeitos, o movimento, o texto visível, o diálogo e a sincronização do som no tamanho em que o clipe será utilizado. Utilize comentários concretos para outras instruções criativas: o gesto que mudou, a fala omitida ou o enquadramento que exige ajuste. O resultado útil é um plano audiovisual curto ligado ao conteúdo fornecido e às suas relações explícitas com as referências.
Ailoot Ultra · Vídeo POST /v1/videos minimax/hailuo-3-max
minimax/hailuo-3-maxIntrodução
MiniMax H3 Max é uma variante H3 rápida, submetida a pós-treino, para vídeo curto com áudio sincronizado. O fluxo documentado da MiniMax suporta texto, imagens de fotogramas e referências multimodais, com saída a 480P ou 768P, duração de 5–15 segundos e opções próprias de expansão de instruções.
- 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- Formato de saída
- bytes MP4 originais; sem normalização nem transcodificação
| Campo | Tipo | Requisito | Valores e limites | Predefinição |
|---|---|---|---|---|
Campomodel | Tipostring | RequisitoObrigatório | Valores e limites minimax/hailuo-3-max | Predefinição— |
Campoprompt | Tipostring | RequisitoObrigatório | Valores e limites | Predefinição— |
Campoduration | Tipointeger | RequisitoObrigatório | Valores e limites 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 Mínimo: 1 Máximo: 600 | Predefinição— |
Camporesolution | Tipostring | RequisitoOpcional | Valores e limites 768p, 480p | Predefinição— |
Campoaspect_ratio | Tipostring | RequisitoOpcional | Valores e limites 21:9, 16:9, 4:3, 1:1, 3:4, 9:16 | Predefinição— |
Campogenerate_audio | Tipoboolean | RequisitoOpcional | Valores e limites false | Predefinição— |
Campoframe_images | Tipoarray | RequisitoOpcional | Valores e limites Número mínimo de elementos: 1 Número máximo de elementos: 2 Conteúdo de entrada: Matriz de objetos de fotograma. Cada objeto tem type=image_url, image_url com url e frame_type. Utilize um URL HTTPS de imagem e defina frame_type como first_frame ou last_frame. Cada função de fotograma aparece, no máximo, uma vez. Chaves exatas: type, image_url, frame_type Condições: Estas chaves descrevem cada objeto de fotograma; image_url contém apenas url. Omita frame_images num pedido apenas de texto. | Predefinição— |
Campoinput_references | Tipoarray | RequisitoOpcional | Valores e limites | Predefinição— |
Campocallback_url | Tipostring | RequisitoOpcional | Valores e limites Padrão: ^https:// | Predefinição— |
Camposession_id | Tipostring | RequisitoOpcional | Valores e limites | Predefinição— |
Campotrace | Tipoobject | RequisitoOpcional | Valores e limites | Predefinição— |
Campouser | Tipostring | RequisitoOpcional | Valores e limites | Predefinição— |
Combinações de materiais de entrada
Texto para vídeo · Uma instrução escrita. · Obrigatório: model, prompt, duration
Forneça prompt como texto e duration em segundos inteiros. Escolha uma resolução suportada e, se necessário, uma proporção.
model: Tipo: string · minimax/hailuo-3-max
prompt: Tipo: string · Número máximo de bytes UTF-8: 10 000 · São obrigatórios caracteres que não sejam espaços: Sim
Imagem para vídeo · Uma instrução escrita e uma imagem do primeiro fotograma. · Obrigatório: model, prompt, duration, frame_images
frame_images é uma matriz. Cada objeto de fotograma tem type, image_url e frame_type; image_url contém url. Defina type como image_url. Utilize first_frame com um last_frame opcional. Cada função de fotograma aparece, no máximo, uma vez. Forneça um URL HTTPS público de imagem para cada fotograma. Escolha uma resolução suportada e, se necessário, uma proporção.
Chaves exatas: type, image_url, frame_type
model: Tipo: string · minimax/hailuo-3-max
prompt: Tipo: string · Número máximo de bytes UTF-8: 10 000 · São obrigatórios caracteres que não sejam espaços: Sim
Parâmetros e ciclo de vida do método
| Parâmetro | Contrato |
|---|---|
Parâmetrocontent_type | Contratoapplication/json |
Parâmetrorequired | Contratomodel, prompt, duration |
Parâmetromaterial_types | Contratotext, image |
Parâmetroadditional_properties | Contratofalse |
Parâmetrooptional_controls | Contratoresolution, aspect_ratio, generate_audio, frame_images, input_references, callback_url, session_id, trace, user |
Ciclo de vida: submit_once_poll_original
GET /v1/videos/{public_id}
GET /v1/videos/{public_id}/content
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ção | Tabela de tarifas | Quantidade prevista | Componente do custo | Unidade de faturação | Condições de faturação | Custo |
|---|---|---|---|---|---|---|
| ConfiguraçãoTarifas base por token | Tabela de tarifasTarifa base | Quantidade prevista— | Componente do custo— | Unidade de faturação— | Condições de faturação— | 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çãoSaída de vídeo · tarifa de referência | Tabela de tarifas— | Quantidade prevista— | Componente do custoreference_output_rate | Unidade de faturaçãopor segundo de saída | Condições de faturação— | Custo Saída · Tarifa de referência por segundo de vídeo de saída · Estimativa apenas para comparação $0.16 por segundo de saída |
| ConfiguraçãoPreço do vídeo | Tabela de tarifas— | Quantidade prevista— | Componente do custo— | Unidade de faturaçãopor segundo de vídeo | Condições de faturaçãoresolution: 480p | Custo Saída · Preço do vídeo · Estimativa apenas para comparação $0.1 por segundo de vídeo |
| ConfiguraçãoPreço do vídeo | Tabela de tarifas— | Quantidade prevista— | Componente do custo— | Unidade de faturaçãopor segundo de vídeo | Condições de faturaçãoresolution: 768p | Custo Saída · Preço do vídeo · Estimativa apenas para comparação $0.16 por segundo de vídeo |
| ConfiguraçãoCusto estimado de geração | Tabela de tarifas— | Quantidade previstaestimativa para uma geração | Componente do custo— | Unidade de faturação— | Condições de faturação— | Custo Saída · Custo estimado de geração · Estimativa apenas para comparação $0.5 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 →
Detalhes da tarifa de referência
As tabelas de referência do modelo não alteram a seleção do método, as cotações ou os custos. Os custos ativos usam as tarifas do método Ailoot selecionado.
Referências de preços das configurações de vídeo
Preços por configuração
Associe cada custo às condições apresentadas. Use uma única tarifa para cada conjunto de configurações alternativas.
| Configuração | Condições de faturação | Custo |
|---|---|---|
| ConfiguraçãoPreço do vídeo | Condições de faturaçãoNão é declarada nenhuma condição adicional nesta chave de preços. | Custo Saída · Preço do vídeo $0.16 por segundo de vídeo Referência de preço publicada para a configuração apresentada. Os montantes finais cobrados seguem a configuração efetivamente faturada. |
| ConfiguraçãoPreço do vídeo | Condições de faturaçãoresolution: 480p | Custo Saída · Preço do vídeo $0.1 por segundo de vídeo Referência de preço publicada para a configuração apresentada. Os montantes finais cobrados seguem a configuração efetivamente faturada. |
| ConfiguraçãoPreço do vídeo | Condições de faturaçãoresolution: 768p | Custo Saída · Preço do vídeo $0.16 por segundo de vídeo Referência de preço publicada para a configuração apresentada. Os montantes finais cobrados seguem a configuração efetivamente faturada. |
Exemplos de pedidos
Ailoot Ultra · Vídeo
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
from pathlib import Path
Path('request.json').write_text('{"aspect_ratio":"16:9","duration":8,"model":"minimax/hailuo-3-max","prompt":"A serene mountain landscape at sunset","resolution":"480p"}', encoding='utf-8')
PY_REQUEST
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
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path('result.json').read_text())
print(json.dumps(r,ensure_ascii=False,indent=2))
print('Keep the complete JSON and response headers; do not resubmit an unknown creation.')
PY_RESULT
Receber e guardar os resultados
Ailoot Ultra · Vídeo
URLs assinados para conteúdo pertencente ao utilizador
GET /v1/videos/{public_id}GET /v1/videos/{public_id}/content
Verificar o estado da tarefa
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_STATUS_URL'
import json
from pathlib import Path
from urllib.parse import quote
r=json.loads(Path('result.json').read_text())
if not isinstance(r.get('id'),str) or not r['id']:raise SystemExit('Keep the original response and headers for reconciliation; no returned ID')
Path('status-url.txt').write_text('https://api.ailoot.ai/v1/videos/'+quote(r['id'],safe=''))
PY_STATUS_URL
curl --fail-with-body --silent --show-error "$(cat status-url.txt)" \
-H "Authorization: Bearer $AILOOT_API_KEY" -D status-headers.txt -o status.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path('status.json').read_text())
print(json.dumps(r,ensure_ascii=False,indent=2))
print('Keep the complete JSON and response headers; do not resubmit an unknown creation.')
PY_RESULT
Outras leituras de conteúdo
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())
if r.get('status')!='completed':raise SystemExit('Keep the original ID and read its status; never recreate an unknown job')
if not isinstance(r.get('data'),list) or not r['data']:raise SystemExit('Keep the complete original status; no completed outputs supplied')
urls=[]
for i,u in enumerate(r.get('data',[])):
if not isinstance(u,str):raise SystemExit('Keep the original response; unexpected asset shape')
urls.append((str(i),u))
for label,path in urls:
u=urljoin('https://api.ailoot.ai',path);z=urlsplit(u)
if z.scheme!='https' or z.netloc!='api.ailoot.ai' or z.username or z.password:raise SystemExit('Use the actual returned Ailoot owned content URL')
target=Path('owned-'+label+'.bin')
subprocess.run(['curl','--fail-with-body','--silent','--show-error',u,'-H','Authorization: Bearer '+os.environ['AILOOT_API_KEY'],'-D',str(target)+'.headers','-o',str(target)],check=True)
print('All returned owned URLs saved; complete metadata, timing and usage remain in the JSON.')
PY_ASSETS
Guardar todos os resultados concluídos
Guarde cada vídeo concluído ou ficheiro devolvido; obtenha cada URL de recurso efetivamente devolvido.
Conserve todos os resultados reais que pertencem ao utilizador e os respetivos metadados medidos devolvidos.
Se for necessário verificar a resposta original
503 result_pending_check + id original + X-Should-Retry:false; nunca repita o original
Campos da resposta
| Campo | Tipo | Significado |
|---|---|---|
Campoindex | Tipointeger | SignificadoPosição deste vídeo na lista de saídas, com contagem a partir de zero. |
Campocontent_url | Tipostring | SignificadoURL HTTPS assinado para transferir este vídeo concluído. |
Camposha256 | Tipostring | null | SignificadoResumo criptográfico SHA-256 dos bytes do vídeo original; null se não estiver disponível. |
Camposize_bytes | Tipointeger | null | SignificadoTamanho do ficheiro de vídeo original em bytes; null se não estiver disponível. |
Campoduration_ms | Tipointeger | null | SignificadoDuração medida do vídeo em milissegundos; null se não estiver disponível. |
Campowidth | Tipointeger | null | SignificadoLargura do vídeo em píxeis; null se não estiver disponível. |
Campoheight | Tipointeger | null | SignificadoAltura do vídeo em píxeis; null se não estiver disponível. |
Campovideo_codec | Tipostring | null | SignificadoIdentificador do codec de vídeo; null se não estiver registado. |
Campohas_audio | Tipoboolean | null | SignificadoIndica se o vídeo contém uma faixa de áudio; null se não tiver sido medido. |
Campoaudio_codec | Tipostring | null | SignificadoIdentificador do codec de áudio; null quando não está registado qualquer identificador. |
Erros e passos seguintes
| Resposta | Condição | Passo seguinte |
|---|---|---|
Resposta404 · not_found_error | CondiçãoO acesso ao vídeo não está disponível ou este ID de vídeo não foi encontrado. | Passo seguinteVerifique o acesso ao vídeo. Para um vídeo existente, utilize o ID público original e a mesma chave API. |
Resposta401 · authentication_error | CondiçãoA chave API não corresponde à conta autenticada. | Passo seguinteVerifique a sua chave API e o acesso à conta antes de enviar. |
Resposta400 · invalid_request_error | CondiçãoNão foi possível ler o pedido ou o índice de transferência é inválido. | Passo seguinteCorrija o corpo do pedido. Para uma transferência, escolha um índice de saída devolvido pela tarefa original. |
Resposta422 · price_unavailable | CondiçãoNão é possível calcular o preço da configuração de vídeo selecionada. | Passo seguinteEscolha uma configuração de vídeo suportada e preencha as opções obrigatórias antes de enviar um pedido corrigido. |
Resposta422 · invalid_request_error | CondiçãoUma entrada de vídeo ou a tarefa original de continuação é inválida. | Passo seguinteUtilize entradas HTTPS válidas. Para continuação, utilize o ID público do seu vídeo original concluído com a mesma chave API. |
Resposta402 · billing_error | CondiçãoO saldo disponível ou os limites não permitem efetuar uma reserva. | Passo seguinteVerifique o saldo disponível e os limites antes de enviar um novo pedido. |
Resposta503 · server_error | CondiçãoA verificação, o armazenamento ou o acesso ao serviço de vídeo está temporariamente indisponível. | Passo seguinteAguarde a disponibilidade do serviço. Se já tiver um ID de vídeo, consulte essa tarefa original em vez de criar outra geração. |
Resposta503 · result_pending_check | CondiçãoO resultado e a cobrança do vídeo original precisam de verificação. | Passo seguinteConserve o ID de vídeo devolvido e consulte essa tarefa. Não envie um pedido de geração substituto enquanto estiver a ser verificada. |
Resposta503 · owned_result_unavailable | CondiçãoA transferência do vídeo existente está temporariamente indisponível. | Passo seguinteConsulte a mesma tarefa de vídeo mais tarde e transfira a saída existente. Uma nova geração cria uma operação separada. |
Resposta409 · video_not_ready | CondiçãoO conteúdo do vídeo não foi publicado. | Passo seguinteConsulte o estado da tarefa original. Transfira quando indicar completed; se indicar failed, siga o aviso de verificação da cobrança. |
Aliases
Aliases do modelo
Ailoot Ultra minimax/hailuo-3-max
Aliases dos caminhos dos métodos
Use os caminhos dos métodos indicados acima.
IDs de chamada relacionados
FAQ · MiniMax: H3 Max
- Que entradas e resultados estão disponíveis?
POST /v1/videos·minimax/hailuo-3-max:text,image→video- Que campos utiliza o pedido?
POST /v1/videos·minimax/hailuo-3-max:model,prompt,duration,resolution,aspect_ratio,generate_audio,frame_images,input_references,callback_url,session_id,trace,user- Que limites se aplicam?
POST /v1/videos·minimax/hailuo-3-max:duration.minimum:1;duration.maximum:600;frame_images.max_items:2;frame_images.min_items:1