Saltar al contenido 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"
    }
  ]
}
Selecciona una de las baldosas U1–U4 de la cuadrícula de la tarea padre (grid_image_url) para obtener una imagen individual. Se logra recortando una de las 4 imágenes existentes; se compone localmente y suele devolver de inmediato.
ItemValor
actionUPSCALE
Facturaciónmidjourney@upscale[-version][-speed]
Requeridotask_id + index, o task_id + custom_id
Opcionalspeed, metadata

Parámetros

CampoTipoDescripción
task_idstringID de la tarea padre (debe ser un imagine / variation / reroll, etc. en SUCCESS)
indexintQué imagen (U1–U4), rango 14; uno de index / custom_id
custom_idstringPasa directamente el ID del botón de la acción correspondiente; uno de index / custom_id; cuando se define, se omite el matching por index
speedstringrelax / fast / turbo (sin efecto, ya que se compone localmente)
metadataobjectMetadatos personalizados

Ejemplos de solicitud

Por index:
{
  "task_id": "task_01KQVZAPBW13W63DQNQZT7FCQK",
  "index": 1,
  "speed": "fast"
}
Pasar botón directamente:
{
  "task_id": "task_01KQVZAPBW13W63DQNQZT7FCQK",
  "custom_id": "MJ::JOB::upsample::1::xxxx"
}

Respuesta

El envío devuelve un nuevo task_id, normalmente SUCCESS en milisegundos. Al tener SUCCESS, image_urls tiene un solo elemento (una imagen), y buttons contiene acciones posteriores (zoom / inpaint / pan / variation, etc.).

Notas

  • La tarea padre debe estar en estado SUCCESS, de lo contrario devuelve 400 (task is not in SUCCESS state).
  • index debe ser 14; fuera de rango devuelve 400. custom_id e index son mutuamente excluyentes; si se pasan ambos, gana custom_id.
  • El paso que consume recursos es imagine; upscale solo elige de imágenes existentes y rara vez falla.
  • La imagen individual tras upscale puede continuar con Zoom / Inpaint / Variation.

HD upscale (ampliación de alta definición, salida de imagen individual 2x)

El upscale normal es una composición local: recorta una de las 4 imágenes existentes de la tarea padre y devuelve de inmediato. Si luego quieres hacer operaciones de precisión sobre la imagen individual, como zoom / inpaint, se recomienda usar HD upscale: realiza una ampliación real y produce una imagen individual 2x de alta definición, que se completa en unos 60–120s, y la imagen resultante admite de forma más estable las operaciones posteriores de zoom / inpaint. HD upscale especifica el comando de ampliación mediante custom_id; distintas versiones de imagine corresponden a distintos comandos:
Comando customIdVersión aplicable
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

Ejemplo de HD upscale

{
  "task_id": "task_01KQVZAPBW13W63DQNQZT7FCQK",
  "custom_id": "MJ::JOB::upsample_v7_2x_subtle::1::xxxx"
}
Al completarse obtienes una tarea de imagen individual 2x de alta definición real, sobre la que puedes seguir haciendo zoom / inpaint.

Comparación con el upscale normal

DimensiónUpscale normalHD upscale
ImplementaciónComposición local (recorte)Procesamiento de ampliación real
TiempoNivel de milisegundosUnos 60–120s
SalidaToma la imagen N de las 4Imagen individual 2x de alta definición
Posteriorzoom / inpaint / variationzoom / inpaint más estables

⚠️ pan sigue sin estar disponible

Incluso con la imagen individual de alta definición producida por HD upscale, la operación pan seguirá siendo rechazada (devuelve “solicitud de generación de imagen no válida”): se trata de una limitación de Midjourney sobre la propia operación pan, independiente del método de ampliación. Consulta Pan.