Passer au contenu 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"
    }
  ]
}
Sélectionne l’une des tuiles U1–U4 d’une grille parente (grid_image_url) pour obtenir une image individuelle. Réalisé en découpant à partir des 4 images existantes ; composition locale, généralement instantané.
ItemValeur
actionUPSCALE
Facturationmidjourney@upscale[-version][-speed]
Requistask_id + index, ou task_id + custom_id
Optionnelspeed, metadata

Paramètres

ChampTypeDescription
task_idstringID de la tâche parente (doit être un imagine / variation / reroll, etc. en SUCCESS)
indexintQuelle image (U1–U4), plage 14 ; l’un de index / custom_id
custom_idstringPassez directement l’ID du bouton de l’action correspondante ; l’un de index / custom_id ; lorsqu’il est défini, le matching par index est ignoré
speedstringrelax / fast / turbo (sans effet, car composé localement)
metadataobjectMétadonnées personnalisées

Exemples de requête

Par index :
{
  "task_id": "task_01KQVZAPBW13W63DQNQZT7FCQK",
  "index": 1,
  "speed": "fast"
}
Passer un bouton directement :
{
  "task_id": "task_01KQVZAPBW13W63DQNQZT7FCQK",
  "custom_id": "MJ::JOB::upsample::1::xxxx"
}

Réponse

L’envoi renvoie un nouveau task_id, généralement SUCCESS en quelques millisecondes. En cas de SUCCESS, image_urls contient un seul élément (une image), et buttons contient les actions de suivi (zoom / inpaint / pan / variation, etc.).

Notes

  • La tâche parente doit être en état SUCCESS, sinon elle renvoie 400 (task is not in SUCCESS state).
  • index doit être 14 ; hors plage renvoie 400. custom_id et index sont mutuellement exclusifs ; si les deux sont passés, custom_id l’emporte.
  • L’étape consommatrice de ressources est imagine ; upscale ne fait que choisir parmi les images existantes et échoue rarement.
  • L’image individuelle après upscale peut continuer avec Zoom / Inpaint / Variation.

HD upscale (agrandissement haute définition, image 2x individuelle en sortie)

L’upscale ordinaire repose sur une composition locale — il découpe l’une des 4 images déjà présentes dans la tâche parente et renvoie le résultat instantanément. Si vous comptez ensuite effectuer des opérations fines comme zoom / inpaint sur l’image individuelle, il est recommandé d’utiliser plutôt le HD upscale : il réalise un agrandissement réel et produit une image individuelle 2x haute définition, en environ 60–120 s ; l’image obtenue prend en charge de manière plus stable les opérations zoom / inpaint ultérieures. Le HD upscale précise la commande d’agrandissement via custom_id ; chaque version d’imagine correspond à une commande différente :
Commande customIdVersion applicable
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

Exemple de HD upscale

{
  "task_id": "task_01KQVZAPBW13W63DQNQZT7FCQK",
  "custom_id": "MJ::JOB::upsample_v7_2x_subtle::1::xxxx"
}
Une fois terminé, vous obtenez une véritable tâche d’image individuelle 2x haute définition, sur laquelle vous pouvez continuer avec zoom / inpaint.

Comparaison avec l’upscale ordinaire

DimensionUpscale ordinaireHD upscale
ImplémentationComposition locale (découpage)Traitement d’agrandissement réel
DuréeDe l’ordre de la millisecondeEnviron 60–120 s
SortieLa N-ième des 4 imagesImage individuelle 2x haute définition
Suitezoom / inpaint / variationzoom / inpaint plus stables

⚠️ pan toujours indisponible

Même pour une image individuelle haute définition issue d’un HD upscale, l’opération pan reste refusée (renvoie « requête de génération d’image invalide ») — il s’agit d’une limitation de Midjourney sur l’opération pan elle-même, indépendante de la méthode d’agrandissement. Voir Pan.