API de geração de vídeo · MiniMax-H3
Geração de vídeo multimodal com MiniMax-H3: texto para vídeo, imagem para vídeo com primeiro e último quadro e geração de vídeo com imagem, vídeo ou áudio de referência. A geração de vídeo é uma tarefa assíncrona, diferente das APIs de modelos de chat: primeiro crie uma tarefa, depois consulte o progresso e, quando estiver concluída, baixe o vídeo.
https://aixvaro.com/v1/videos
Authorization: Bearer sk-...
minimax ou default Chave do grupoVisão geral da API
| Ação | Solicitação | Descrição |
|---|---|---|
| Criar vídeo | POST /v1/videos | Envia a tarefa de geração e retorna o ID da tarefa imediatamente id |
| Consultar o progresso | GET /v1/videos/{id} | Retorna status e progress, recomendamos consultar a cada 5–10 segundos |
| Baixar vídeo | GET /v1/videos/{id}/content | Quando o status for completed , retorna o arquivo MP4 |
Um vídeo de 5 segundos geralmente leva de 2 a 3 minutos para ser gerado. Status da tarefa:queued(na fila) → in_progress(em geração) → completed(concluído) ou failed(falhou).
Criar vídeo (texto para vídeo)
curl https://aixvaro.com/v1/videos \
-H "Authorization: Bearer sk-你的密钥" \
-H "Content-Type: application/json" \
-d '{
"model": "MiniMax-H3",
"prompt": "夕阳下的海面上,一只红色的鸟展翅滑翔,镜头缓慢跟随",
"seconds": 5,
"size": "768P"
}'import requests
resp = requests.post(
"https://aixvaro.com/v1/videos",
headers={"Authorization": "Bearer sk-你的密钥"},
json={
"model": "MiniMax-H3",
"prompt": "夕阳下的海面上,一只红色的鸟展翅滑翔,镜头缓慢跟随",
"seconds": 5,
"size": "768P",
},
)
print(resp.json()) # {"id": "task_xxx", "status": "queued", ...}Exemplo de retorno:
{
"id": "task_VMSYYE7VC25NuR2KAnyxkhV58iVFrBcs",
"object": "video",
"model": "MiniMax-H3",
"status": "queued",
"progress": 0,
"created_at": 1790689587
}Parâmetros da solicitação
| Parâmetro | Tipo | Descrição |
|---|---|---|
model | string | Obrigatório, fixo em MiniMax-H3 |
prompt | string | Obrigatório: descrição do conteúdo do vídeo. Aceita chinês |
seconds | inteiro | Duração do vídeo: um número inteiro de 4 a 15 segundos. O padrão é 5 (também pode ser escrito como duration) |
size | string | Resolução: no momento, só aceita 768P(padrão, pode ser omitido; também pode ser escrito como resolution) |
input_reference | string | URL da imagem do primeiro quadro (imagem para vídeo); consulte a próxima seção |
images | string[] | URLs das imagens do primeiro e do último quadro, no máximo 2: a primeira é do primeiro quadro e a segunda, do último |
metadata.ratio | string | Proporção da imagem:16:9(padrão para texto puro),9:16、1:1、4:3、3:4、21:9、adaptive(segue a imagem/o vídeo de entrada; padrão quando há imagem) |
metadata.first_frame_imagemetadata.last_frame_image | string | URL da imagem do primeiro/último quadro (com images escolha uma das duas) |
metadata.reference_video | string[] | URL do vídeo de referência, no máximo 3 |
metadata.reference_audio | string[] | URL do áudio de referência, no máximo 3 |
metadata.content | array | Uso avançado: envie diretamente o array completo de conteúdo multimodal; consulte Materiais de referência |
http(s) linksacessíveis publicamente. Não é possível enviar arquivos diretamente nem data: conteúdo em Base64. Primeiro, envie os arquivos para um serviço de hospedagem de imagens ou armazenamento de objetos (como OSS, S3 ou R2) e, em seguida, informe os links na solicitação.Imagem para vídeo (primeiro/último quadro)
Informe a imagem do primeiro quadro para que o vídeo comece a partir dela. Se também informar o último quadro, o vídeo fará a transição para essa imagem:
curl https://aixvaro.com/v1/videos \
-H "Authorization: Bearer sk-你的密钥" \
-H "Content-Type: application/json" \
-d '{
"model": "MiniMax-H3",
"prompt": "画面中的鸟向前飞去,镜头跟随",
"input_reference": "https://example.com/first-frame.jpg",
"seconds": 5,
"size": "768P"
}'curl https://aixvaro.com/v1/videos \
-H "Authorization: Bearer sk-你的密钥" \
-H "Content-Type: application/json" \
-d '{
"model": "MiniMax-H3",
"prompt": "从白天自然过渡到夜晚",
"images": [
"https://example.com/first-frame.jpg",
"https://example.com/last-frame.jpg"
],
"seconds": 6
}'Recomendamos imagens JPG/PNG, com pelo menos 300 pixels no lado menor e proporção entre 2:5 e 5:2.
Materiais de referência (imagens/vídeos/áudios)
Use vídeos e áudios de referência para orientar o estilo e o conteúdo.Não é possível usar materiais de referência junto com o primeiro e o último quadro.
curl https://aixvaro.com/v1/videos \
-H "Authorization: Bearer sk-你的密钥" \
-H "Content-Type: application/json" \
-d '{
"model": "MiniMax-H3",
"prompt": "参考视频的运镜,拍一段城市夜景",
"seconds": 5,
"metadata": {
"ratio": "16:9",
"reference_video": ["https://example.com/ref.mp4"],
"reference_audio": ["https://example.com/bgm.mp3"]
}
}'Para usar imagens de referência (até 9), use metadata.content Envie o array multimodal completo e use, em cada item, role para indicar a finalidade:
{
"model": "MiniMax-H3",
"seconds": 5,
"metadata": {
"ratio": "adaptive",
"content": [
{"type": "text", "text": "图 1 的人物穿着图 2 的衣服在街头行走"},
{"type": "image_url", "role": "reference_image", "image_url": {"url": "https://example.com/person.jpg"}},
{"type": "image_url", "role": "reference_image", "image_url": {"url": "https://example.com/outfit.jpg"}}
]
}
}role Opcional:first_frame、last_frame、reference_image、reference_video、reference_audio. Limites: 9 imagens de referência, 3 vídeos de referência (duração total de até 15 segundos) e 3 áudios de referência.
Consultar o progresso e baixar
curl https://aixvaro.com/v1/videos/task_xxx \ -H "Authorization: Bearer sk-你的密钥"
Quando concluído, retorna:
{
"id": "task_xxx",
"object": "video",
"model": "MiniMax-H3",
"status": "completed",
"progress": 100,
"created_at": 1790689587,
"completed_at": 1790689721
}Em caso de falha, status será failede incluirá error.message。Tarefas com falha não são cobradas, e os créditos pré-deduzidos serão devolvidos automaticamente.
curl -L -o video.mp4 https://aixvaro.com/v1/videos/task_xxx/content \ -H "Authorization: Bearer sk-你的密钥"
O link de download precisa usar a mesma chave. Baixe e salve o vídeo gerado assim que possível.
Exemplo completo (Python)
Criar tarefa → consultar o progresso → baixar o MP4. Copie e execute (requer pip install requests):
import time
import requests
API = "https://aixvaro.com/v1/videos"
HEADERS = {"Authorization": "Bearer sk-你的密钥"}
task = requests.post(API, headers=HEADERS, json={
"model": "MiniMax-H3",
"prompt": "夕阳下的海面上,一只红色的鸟展翅滑翔,镜头缓慢跟随",
"seconds": 5,
"size": "768P",
}).json()
if "id" not in task:
raise SystemExit(task) # 参数错误等会直接返回 error
print("任务已创建:", task["id"])
while True:
time.sleep(10)
info = requests.get(f"{API}/{task['id']}", headers=HEADERS).json()
print("状态:", info["status"], info.get("progress"))
if info["status"] == "completed":
break
if info["status"] == "failed":
raise SystemExit(info.get("error"))
video = requests.get(f"{API}/{task['id']}/content", headers=HEADERS)
with open("video.mp4", "wb") as f:
f.write(video.content)
print("已保存 video.mp4")Preços
A cobrança é feita por segundo de vídeo gerado. O valor é pré-deduzido ao criar a tarefa e devolvido automaticamente em caso de falha:
| Item | 768P |
|---|---|
| Geração de vídeo (por segundo) | $0.106 |
| Vídeo de 5 segundos | $0.53 |
| Vídeo de referência de entrada (por segundo) | $0.106 |
| Imagem de entrada | As 5 primeiras imagens são grátis; cada imagem adicional custa US$ 0,053 |
Ao usar um vídeo de referência, como não é possível saber a duração do vídeo no momento do envio, a cobrança considera o limite máximo de 15 segundos. Consulte os preços em tempo real em Modelos e preços .
Perguntas frequentes
A mensagem “only accepts public http(s) media URLs”
O material enviado é um arquivo local ou está em data: Base64. Faça o upload primeiro para um serviço de hospedagem de imagens ou armazenamento de objetos e use um https:// link que possa ser acessado diretamente pela internet.
A mensagem “duration must be an integer between 4 and 15 seconds”
seconds A duração deve ser um número inteiro entre 4 e 15.
A mensagem “supports up to 768P”
No momento, o MiniMax-H3 aceita resolução máxima de 768Pe não aceita 2K、1080P、1280x720 etc. Altere size para 768P ou simplesmente omita essa opção. Essas solicitações não geram cobrança.
A mensagem “cannot mix frame images with reference media”
Não é possível usar o primeiro/último quadro junto com vídeos, áudios ou imagens de referência na mesma solicitação. Escolha uma das opções.
O status da tarefa mudou para failed
Causas comuns: o link do material não pode ser acessado publicamente (exige login, tem proteção contra hotlink ou expirou), a imagem tem dimensões muito pequenas ou o prompt acionou a moderação de conteúdo. Falhas não geram cobrança. Ajuste e envie novamente.
A mensagem “No available channel for model MiniMax-H3”
O grupo da chave está incorreto. Use uma chave do grupo minimax ou default .
Fale com o suporte
E-mail do suporte:[email protected]Em caso de erro na API, informe a tarefa id e o horário da solicitação.