Saltar para o conteúdo principal
POST
/
v1
/
midjourney
/
generations
/
upscale
curl --request POST \
  --url https://api.apimart.ai/v1/midjourney/generations/upscale \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "task_id": "task_01KQVZAPBW13W63DQNQZT7FCQK",
    "index": 1,
    "speed": "fast"
  }'
{
  "code": 200,
  "data": [
    {
      "status": "submitted",
      "task_id": "task_01KV52C0TEJSYZMCG0NCS4YWKK"
    }
  ]
}
curl --request POST \
  --url https://api.apimart.ai/v1/midjourney/generations/upscale \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "task_id": "task_01KQVZAPBW13W63DQNQZT7FCQK",
    "index": 1,
    "speed": "fast"
  }'
{
  "code": 200,
  "data": [
    {
      "status": "submitted",
      "task_id": "task_01KV52C0TEJSYZMCG0NCS4YWKK"
    }
  ]
}
Seleciona uma das tiles U1–U4 da grid da tarefa pai (grid_image_url) para obter uma imagem individual. Isso é implementado recortando de 4 imagens existentes; composto localmente, geralmente com retorno instantâneo.
ItemValor
actionUPSCALE
Cobrançamidjourney@upscale[-version][-speed]
Obrigatóriotask_id + index, ou task_id + custom_id
Opcionalspeed, metadata

Parâmetros

CampoTipoDescrição
task_idstringID da tarefa pai (deve ser um imagine / variation / reroll, etc. em SUCCESS)
indexintQual imagem (U1–U4), faixa 14; um de index / custom_id
custom_idstringPasse diretamente o ID do botão da ação correspondente; um de index / custom_id; quando definido, o matching por index é ignorado
speedstringrelax / fast / turbo (sem efeito, pois é composto localmente)
metadataobjectMetadados personalizados

Exemplos de requisição

Por index:
{
  "task_id": "task_01KQVZAPBW13W63DQNQZT7FCQK",
  "index": 1,
  "speed": "fast"
}
Passar botão diretamente:
{
  "task_id": "task_01KQVZAPBW13W63DQNQZT7FCQK",
  "custom_id": "MJ::JOB::upsample::1::xxxx"
}

Response

O envio retorna um novo task_id, geralmente SUCCESS em milissegundos. Em SUCCESS, image_urls tem um único elemento (uma imagem), e buttons contém ações de acompanhamento (zoom / inpaint / pan / variation, etc.).

Notas

  • A tarefa pai deve estar em estado SUCCESS, caso contrário retorna 400 (task is not in SUCCESS state).
  • index deve ser 14; fora da faixa retorna 400. custom_id e index são mutuamente exclusivos; se ambos forem passados, custom_id vence.
  • A etapa que consome recursos é imagine; upscale apenas escolhe de imagens existentes e raramente falha.
  • A imagem individual após upscale pode continuar com Zoom / Inpaint / Variation.

HD upscale (ampliação em alta definição, saída de imagem única 2x)

O upscale comum é uma composição local — recorta uma das 4 imagens já existentes na tarefa pai e retorna instantaneamente. Se posteriormente você precisar fazer operações refinadas como zoom / inpaint sobre a imagem única, recomenda-se usar o HD upscale: ele executa uma ampliação real, produzindo uma imagem única em alta definição 2x, concluída em cerca de 60–120s, e a imagem única resultante suporta de forma mais estável as operações posteriores de zoom / inpaint. O HD upscale especifica o comando de ampliação por meio do custom_id; versões diferentes de imagine correspondem a comandos diferentes:
Comando customIdVersão aplicável
upsample_v5_2xv5 imagine
upsample_v5_4xv5 imagine
upsample_v6_2x_subtlev6 / v6.1 imagine
upsample_v6_2x_creativev6 / v6.1 imagine
upsample_v7_2x_subtlev7 / v8.1 imagine
upsample_v7_2x_creativev7 / v8.1 imagine

Exemplo de HD upscale

{
  "task_id": "task_01KQVZAPBW13W63DQNQZT7FCQK",
  "custom_id": "MJ::JOB::upsample_v7_2x_subtle::1::xxxx"
}
Ao concluir, você obtém uma tarefa de imagem única em alta definição 2x real, sobre a qual pode continuar fazendo zoom / inpaint.

Comparação com o upscale comum

DimensãoUpscale comumHD upscale
ImplementaçãoComposição local (recorte)Processamento de ampliação real
TempoNível de milissegundosCerca de 60–120s
SaídaPega a N-ésima das 4 imagensImagem única em alta definição 2x
Posteriorzoom / inpaint / variationzoom / inpaint mais estáveis

⚠️ pan ainda indisponível

Mesmo a imagem única em alta definição produzida pelo HD upscale, a operação pan ainda será rejeitada (retorna “requisição de geração de imagem inválida”) — esta é uma limitação do próprio Midjourney sobre a operação pan, independente do modo de ampliação. Veja mais em Pan.