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-image-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 imagem usa 1:1; 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.
Retorna uma URL WebP. O modelo determina as dimensões; não é possível escolher tamanhos em pixels nem níveis 1K / 2K / 4K. Não envie resolution não vazio nem campos de duração.

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 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.images[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.