Claude Opus 5.5 já está disponível no SeedRouter

Midjourney V8.2 API: envie e consulte uma tarefa de imagem

Envie uma tarefa do Midjourney V8.2, guarde o ID e consulte o resultado em Python. Entenda parâmetros por versão, operações e preços atuais.

Ler em Markdown

Uma integração do Midjourney V8.2 API precisa de uma versão explícita, uma solicitação de imagem válida e uma forma de recuperar a tarefa concluída. No SeedRouter, você envia para /v1/images/generations, guarda o ID retornado e consulta /v1/tasks/{id} periodicamente. Um envio bem-sucedido confirma o recebimento da tarefa; as imagens chegam no resultado concluído.

Este guia segue o contrato de solicitação do SeedRouter. Uma verificação paga em 18 de outubro de 2026 concluiu uma solicitação V8.2 no modo Rápido e entregou quatro imagens de 1024 × 1024. O retrato abaixo é um desses resultados. A página do modelo contém o Playground e os preços atuais; a referência da API separa entradas compatíveis de combinações que ainda precisam de verificação. [1]

Resultado do Midjourney V8.2 API com uma mulher ruiva de suéter creme em um penhasco litorâneo

Comece com uma solicitação explícita do Midjourney V8.2 API

Use o ID completo do modelo, midjourney-v8.2. O SeedRouter exige um modelo explícito; não abrevie para midjourney nem deduza a versão de uma configuração de conta em outra interface. Registre o modelo junto com a solicitação enviada. [1]

Prepare uma chave de API no servidor e um prompt curto cujo resultado você consiga inspecionar. Comece sem referências nem operações sobre uma imagem de origem, para que a primeira solicitação teste o caminho básico. A solicitação abaixo produziu o conjunto de retratos ilustrado. Ela escolhe Rápido e ativa a verificação adicional de conteúdo:

{
  "model": "midjourney-v8.2",
  "prompt": "Cinematic portrait of a young woman with freckles and wind-swept auburn hair, wearing a cream cable-knit sweater, laughing on a coastal cliff at golden hour, warm rim light, shallow depth of field, 85mm film photograph",
  "speed": "fast",
  "nsfw_check": true
}

A solicitação mínima precisa apenas de model e prompt; a velocidade omitida usa Rápido por padrão. Se adicionar size, use uma proporção como "16:9", não uma instrução de pixels WIDTHxHEIGHT. Um preset genérico de cliente de imagens que envie 1024x1024, quality: "high" ou um n arbitrário não corresponde ao contrato deste modelo. Adapte o corpo a partir da tabela de campos do Midjourney em vez de reutilizar as configurações de outro modelo sem alterações.

Envie uma vez e consulte o ID da tarefa salvo

O exemplo em Python disponível para download usa a biblioteca padrão, mantém a chave em uma variável de ambiente e grava o ID da tarefa aceita em um arquivo local. Ele tem comandos separados para envio e consulta. Essa separação permite retomar uma leitura sem criar outro trabalho de imagem.

export SEEDROUTER_API_KEY='your-server-side-key'
python3 midjourney-v8-2.py submit request.json --state mj-task.json
python3 midjourney-v8-2.py poll --state mj-task.json

Salve a solicitação JSON acima como request.json. Substitua a chave do exemplo pelo seu segredo no ambiente local; não a coloque no pacote do navegador nem a envie para um repositório. Para testar uma implantação local, defina SEEDROUTER_BASE_URL do exemplo como a URL base /v1 dessa implantação.

O exemplo se recusa a sobrescrever um arquivo de estado existente durante o envio. Também não repete automaticamente um POST após uma falha de conexão. Se a resposta se perder, o aplicativo pode não saber se a tarefa foi aceita. Confira o histórico de tarefas antes de decidir enviar novamente.

A consulta periódica é diferente: ela lê uma tarefa que já existe. O exemplo para quando a tarefa termina ou falha e informa que o limite de espera foi atingido se ela continuar em processamento. Um limite de espera é uma observação do cliente, não uma prova de que a tarefa precisa ser gerada novamente.

Leia o formato de resultado de cada operação

Uma operação de imagem concluída retorna URLs em output.data. Percorra esse array em vez de supor que ele sempre contém quatro entradas. Gerar imagens, selecionar uma imagem, descrever uma imagem e abrir uma etapa de entrada de edição podem retornar tipos diferentes de saída.

Campo do resultadoO que seu aplicativo deve fazer
statusDistinguir tarefas em processamento, concluídas e com falha
output.data[].urlExibir ou salvar cada imagem entregue
output.gridIdentificar uma grade entregue como grade; um arquivo pode conter várias opções de imagem
output.textExibir o texto retornado sem supor quatro sugestões nem o idioma inglês
output.seedRegistrar quando presente; não exigir que todo resultado a inclua
output.awaiting_inputContinuar o fluxo documentado de entrada de edição

Trate uma tarefa com falha como falha no aplicativo, mesmo que a solicitação HTTP usada para lê-la tenha dado certo. O sucesso HTTP significa que a consulta de status foi atendida; não significa que a imagem solicitada foi gerada.

Quando output.grid é true, uma URL contém a grade. Não invente quatro URLs individuais a partir desse arquivo. Uma seleção posterior usa a posição da imagem na grade, começando em 1; o número de URLs não é o número de opções disponíveis.

O exemplo imprime a saída concluída como JSON. Seu aplicativo pode acrescentar armazenamento, miniaturas e controles de seleção às imagens retornadas. Mantenha o ID da tarefa com os resultados para que uma operação posterior possa apontar para a origem correta.

Converta parâmetros nativos sem esconder conflitos

A integração aceita campos estruturados e flags nativas de prompt compatíveis. A precedência é campos estruturados, depois extra, depois flags dentro de prompt. Valores explícitos de zero e false são preservados.

Por exemplo, um prompt com --stylize 700 combinado com "stylize": 0 usa o zero explícito. Isso ajuda quando a interface envia um controle separado, mas pode surpreender um aplicativo que monta prompts e JSON em lugares diferentes. Prefira uma única fonte para cada configuração.

Nas solicitações V8.2 do SeedRouter, quality aceita 0.25, 0.5, 1 ou 2 em combinações compatíveis. Qualidade e hd são entradas independentes: definir qualidade não seleciona HD. Confira os limites atuais de combinação antes de adicionar ambos ou outros controles de referência; entradas documentadas não comprovam seu efeito em todas as versões. Raw é separado dos dois; o guia de Raw explica essa distinção. [1]

Esta integração descarta campos JSON desconhecidos, mas rejeita flags nativas desconhecidas. Não use a aceitação de uma solicitação como prova de que um campo JSON extra e sem relação alterou a saída. Confira os nomes de campo documentados e mantenha o corpo exato enviado no registro do teste.

Mantenha as operações de imagem vinculadas à tarefa de origem

Use seu parent_task_id do SeedRouter para uma operação posterior. Uma operação dependente continua vinculada ao contexto original de execução. Se esse contexto estiver indisponível, ela falha em vez de criar outra origem em outro lugar. A tarefa de origem deve pertencer à mesma conta, usar o mesmo modelo e continuar disponível para a operação solicitada. Os índices públicos de imagem começam em 1.

Selecionar uma imagem e realizar uma ampliação criativa são operações diferentes. Um resultado de select não deve ser descrito como aumento de resolução. Da mesma forma, uma variação, um remix e o Edit Model oficial do V8.2 são recursos distintos, com requisitos diferentes.

A integração atual não disponibiliza o novo Edit Model como operação de API verificada. Não substitua isso por uma solicitação antiga de inpaint presumindo o mesmo comportamento. O guia de edição explica as alternativas disponíveis e uma sequência verificada de edição com máscara no V6.1, e a referência da API registra os limites das operações implementadas.

Estime trabalhos em vez de contar miniaturas

Uma geração concluída é um trabalho no contrato de preços desta integração. Selecionar uma imagem existente de uma grade não cria outra geração cobrável. Entrar na etapa de entrada de edição não adiciona uma segunda cobrança de geração; a operação modal final é a etapa cobrada. Uma geração de quatro imagens não equivale automaticamente a quatro trabalhos cobrados separadamente. A verificação de Rascunho no V8.2 em 18 de outubro retornou 24 imagens em um trabalho; a quantidade de imagens retornadas não é uma fórmula segura de preços.

Use o preço atual para a versão, a operação, a velocidade e o modo selecionados. Operações de imagem de origem podem herdar configurações, portanto o preço deve vir da solicitação efetiva, não de padrões presumidos. A página do modelo lê os preços configurados em vez de inserir um valor permanente em dólares neste tutorial.

No teste de aceitação, registre a solicitação, o ID da tarefa, o status final, o número de saídas e a cobrança real da conta. Uma compilação bem-sucedida ou um teste HTTP simulado não comprova esses fatos de execução. Solicitações que falham não são cobradas pelo SeedRouter.

Perguntas frequentes

Posso usar a mesma chave de API no JavaScript do frontend?

Mantenha-a no servidor. Faça o navegador chamar um endpoint autenticado do aplicativo que envie a solicitação com a chave do servidor.

Um ID de tarefa significa que a imagem está pronta?

Não. Leia a tarefa até ela informar conclusão ou falha e então trate o resultado correspondente. Salve o ID antes de iniciar esse ciclo de consultas.

Um timeout deve iniciar uma nova geração?

Não automaticamente. Preserve qualquer ID de tarefa conhecido e inspecione a tarefa existente. Um timeout de conexão ou de espera do cliente não comprova que o envio original foi rejeitado.

Posso mudar a versão em uma operação de imagem de origem?

Esta integração exige o mesmo modelo da tarefa de origem. Inicie uma geração separada quando quiser avaliar outra versão.

Comece sua integração do Midjourney V8.2 API com uma solicitação explícita e um ID de tarefa salvo. Verifique a saída entregue e a cobrança antes de adicionar referências ou uma sequência de operações de imagem.

Fontes

Contrato e evidências de execução conferidos em 18 de outubro de 2026. As imagens mostradas aqui vêm de verificações pagas de integração, não de um benchmark geral do modelo.

[1] Referência da API Midjourney do SeedRouter

[2] Configurações de versões e preços atuais