Saltar para o conteúdo principal
POST
Esta API é assíncrona. Salve o ID da tarefa após o envio e consulte GET /v1/tasks/{task_id} para obter status e resultados. Na resposta padrão de envio, o ID está em data[0].task_id.

Cabeçalhos da solicitação

string
obrigatório
Use uma APIMart API Key no formato Bearer <token>. O envio e as consultas exigem autenticação com a mesma identidade de usuário.
string
Fortemente recomendado. Use uma nova chave para cada geração independente (1–191 caracteres ASCII visíveis; UUID recomendado). Substitua <unique-operation-key> nos exemplos. Após um timeout de envio ou falha de rede, repita com o mesmo endpoint, corpo, versão de resposta e chave. Depois de receber o ID, consulte apenas essa tarefa.

Parâmetros da solicitação

string
obrigatório
Valor fixo: muse-video-ext.
string
obrigatório
Descrição do conteúdo desejado, em chinês ou inglês. Não pode ficar vazia após remover espaços nas extremidades. Obrigatória mesmo com imagens de referência.
string[]
Até 9 entradas de imagens de referência não vazias. Aceita URLs públicas, Data URIs (como data:image/png;base64,...) ou base64 puro. Omita ou envie [] para gerar apenas a partir de texto. PNG, JPEG e WebP são recomendados. As URLs devem ser acessíveis diretamente pelo servidor, sem cookies de login do navegador.O tamanho original combinado de todas as imagens não pode exceder 11 MiB (11.534.336 bytes). É um limite total, não por imagem. A codificação base64 aumenta o corpo da solicitação. Não envie URLs blob:, caminhos locais ou objetos File.
string
Aceita as sete proporções abaixo. Quando omitido, texto para vídeo usa 16:9; com referências, segue a composição delas. Uma proporção explícita tem prioridade. Para seleção automática, omita o campo; não envie "auto".1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3
string
Campo de compatibilidade que aceita as sete proporções acima ou auto, mas não dimensões em pixels como 1024x1024. Enviar apenas size: "auto" equivale a não definir uma proporção. Prefira aspect_ratio. Se ambos forem válidos, aspect_ratio tem prioridade, mas os campos são validados separadamente: uma proporção válida não corrige um size inválido.
integer
padrão:"1"
Um único resultado por solicitação. Só aceita o número 1. Valores explícitos como 0, negativos ou maiores que 1 causam erro.
integer | string
padrão:"10"
Fixa em cerca de 10 segundos. Aceita o número 10 ou as strings "10" e "10s"; recomenda-se o número 10. Aliases compatíveis: seconds e duration_seconds. Use apenas um campo de duração; cada campo enviado é validado separadamente.
string
padrão:"720p"
Apenas 720p é aceito, não 1080p ou 4k. As dimensões e a duração reais devem ser obtidas dos metadados da mídia retornada.
boolean
Os vídeos incluem som por padrão; o campo pode ser omitido. true não altera esse comportamento e false é rejeitado.
Retorna uma URL MP4: cerca de 10 segundos, 720p, com som. As imagens de referência orientam a geração, sem garantia de um primeiro quadro idêntico pixel a pixel.

Outros parâmetros opcionais

string
URL base do backend para notificações da tarefa. A plataforma remove as barras finais e acrescenta /callback: https://your-backend.example/muse torna-se https://your-backend.example/muse/callback. Omita se usar apenas consultas periódicas.
string
Controla o idioma dos erros do Webhook, não o conteúdo gerado. Valores: zh, en, ja, ko, ru, fr, de, id, pt, es. Tags regionais como zh-CN não são aceitas. Nas consultas, envie o idioma separadamente como parâmetro GET.

Geração com imagens de referência

Substitua a URL de exemplo por uma URL de imagem acessível. O exemplo omite a proporção para seguir a composição da referência; adicione aspect_ratio para uma proporção fixa. Adicione outras referências em image_urls, até 9 no total.

Resposta de envio

A resposta padrão é HTTP 200, com data como array. submitted significa que a tarefa foi aceita, não concluída. Salve data[0].task_id e depois consulte a tarefa.
Com o cabeçalho X-APIMart-Response-Version: 2026-07-27, o envio retorna HTTP 202. Leia o ID em data.id e o caminho de consulta em data.poll_url.
Esta versão não altera a estrutura da resposta GET. Ao adicionar esse cabeçalho, não continue lendo o ID da resposta de envio em data[0].task_id.

Consultar status e resultados

Use o ID completo recebido no envio e a mesma identidade de usuário. language é opcional e define o idioma dos erros. Consulte todos os campos em Status da tarefa.
Consulte a cada 5–10 segundos, sem consultas simultâneas para a mesma tarefa. Um timeout do cliente ou a interrupção das consultas não cancela a tarefa no servidor. Guarde o ID e retome as consultas GET depois; não envie automaticamente uma nova geração. Determine o término por data.status. HTTP 200 ou progress: 100 não indica, por si só, sucesso na geração. Um polling_error durante o processamento não é uma falha terminal. Exemplo de resposta de consulta concluída (URL do resultado ilustrativa):
Nas respostas de consulta, data é um objeto e url é um array de strings. O primeiro resultado está em data.result.videos[0].url[0]. Se presente, expires_at é o vencimento em segundos Unix; salve os arquivos necessários antes disso. actual_time mede o tempo de processamento da tarefa, não a duração de reprodução do vídeo.

Limitações e tratamento de erros

Vídeos e áudios de referência, máscaras, controle do primeiro/último quadro, extensão e remix não são compatíveis. quality não tem efeito. Omita seed, negative_prompt, width, height, response_format e output_format, pois não são parâmetros de geração deste modelo. async: false não ativa geração síncrona e stream não oferece um fluxo SSE de geração. Tarefas com falha também podem retornar HTTP 200; examine data.status e data.error.message. Um erro de rede ou 5xx durante o envio pode ocorrer após a aceitação, portanto não reenvie imediatamente com uma nova chave.