Passer au contenu principal
La principale fonctionnalité de l’API Midjourney Tasks est de permettre la consultation de l’état d’exécution d’une tâche en utilisant l’ID de tâche généré par l’API Midjourney Imagine ou l’API Midjourney Describe. Ce document détaillera les instructions d’intégration de l’API Midjourney Tasks, vous aidant à l’intégrer facilement et à tirer pleinement parti de la puissance de cette API. Grâce à l’API Midjourney Tasks, vous pouvez facilement interroger l’état d’exécution des tâches de l’API Midjourney Imagine ou de l’API Midjourney Describe.

Processus de demande

Pour utiliser l’API Midjourney Tasks, vous devez d’abord vous rendre sur la page de demande Midjourney Imagine API pour demander le service correspondant, puis copier l’ID de tâche de l’API Imagine, comme indiqué dans l’image ci-dessous :

Enfin, accédez à la page de l’API Tasks Midjourney Tasks API pour demander le service correspondant. Une fois sur la page, cliquez sur le bouton « Acquire », comme indiqué dans l’image ci-dessous : Page de demande Si vous n’êtes pas encore connecté ou inscrit, vous serez automatiquement redirigé vers la page de connexion pour vous inviter à vous inscrire et à vous connecter. Après vous être connecté ou inscrit, vous serez automatiquement renvoyé à la page actuelle. Lors de votre première demande, un quota gratuit sera offert, vous permettant d’utiliser cette API gratuitement.

Exemples de requêtes

L’API Midjourney Tasks peut être utilisée pour interroger les résultats des API Midjourney Imagine et Midjourney Describe. Pour savoir comment utiliser l’API Midjourney Imagine, veuillez consulter le document Midjourney Imagine API. Pour savoir comment utiliser Midjourney Describe, veuillez consulter Midjourney Describe API. Prenons un exemple avec un ID de tâche retourné par le service Midjourney Imagine API, pour démontrer comment utiliser cette API. Supposons que nous ayons un ID de tâche : 7489df4c-ef03-4de0-b598-e9a590793434, nous allons maintenant démontrer comment passer cet ID de tâche.

Exemple de tâche

Configuration des en-têtes de requête et du corps de la requête

Request Headers comprend :
  • accept : spécifie que la réponse doit être au format JSON, ici rempli avec application/json.
  • authorization : la clé d’API pour appeler l’API, que vous pouvez sélectionner directement après la demande.
Request Body comprend :
  • id : l’ID de tâche téléchargé.
  • ids : tableau d’ID de tâche pour les requêtes en lot.
  • action : la méthode d’opération sur la tâche, prenant en charge retrieve (consultation unique) et retrieve_batch (consultation en lot).
Configurez comme indiqué dans l’image ci-dessous :

Exemple de code

Vous pouvez constater que diverses langues de code ont déjà été générées automatiquement sur le côté droit de la page, comme indiqué dans l’image ci-dessous :

Voici quelques exemples de code :

CURL

curl -X POST 'https://api.acedata.cloud/midjourney/tasks' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "id": "7489df4c-ef03-4de0-b598-e9a590793434",
  "action": "retrieve"
}'

Python

import requests

url = "https://api.acedata.cloud/midjourney/tasks"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "id": "7489df4c-ef03-4de0-b598-e9a590793434",
    "action": "retrieve"
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)

Exemple de réponse

Après une requête réussie, l’API renverra les détails de la tâche d’image ici. Par exemple :
{
  "_id": "668aae3f550a4144a540803b",
  "id": "7489df4c-ef03-4de0-b598-e9a590793434",
  "application_id": "9dec7b2a-1cad-41ff-8536-d4ddaf2525d4",
  "created_at": 1720364607.967,
  "credential_id": "68253cc8-505d-47f4-97ad-0050a62e4975",
  "request": {
    "mode": "fast",
    "prompt": "Un chat assis sur une table",
    "action": "generate"
  },
  "type": "imagine",
  "hold": false,
  "image_id": "1259525319472185344",
  "job_id": "da317da6-f500-48e6-bf32-dd48b3e6f84f",
  "response": {
    "image_url": "https://platform.cdn.acedata.cloud/midjourney/7489df4c-ef03-4de0-b598-e9a590793434.png?imageMogr2/thumbnail/!50p",
    "image_width": 1024,
    "image_height": 1024,
    "actions": [
      "upscale1",
      "upscale2",
      "upscale3",
      "upscale4",
      "reroll",
      "variation1",
      "variation2",
      "variation3",
      "variation4"
    ],
    "raw_image_url": "https://platform.cdn.acedata.cloud/midjourney/7489df4c-ef03-4de0-b598-e9a590793434.png",
    "raw_image_width": 2048,
    "raw_image_height": 2048,
    "progress": 100,
    "image_id": "1259525319472185344",
    "task_id": "7489df4c-ef03-4de0-b598-e9a590793434",
    "success": true,
    "job_id": "da317da6-f500-48e6-bf32-dd48b3e6f84f",
    "hold": false
  },
  "duration": 29.437000036239624,
  "finished_at": 1720364637.404
}
Le résultat de la réponse contient plusieurs champs, le champ request est le corps de la requête lors de l’initiation de la tâche, tandis que le champ response est le corps de la réponse retourné après l’achèvement de la tâche. Si type = imagine, son résultat est identique à la requête et à la réponse de l’API Midjourney Imagine, si type = describe, son résultat est identique à la requête et à la réponse de l’API Midjourney Describe. Les champs sont décrits comme suit.
  • id, l’ID de la tâche de génération d’image, utilisé pour identifier de manière unique cette tâche de génération d’image.
  • type, si type = imagine cela signifie que c’est le résultat de l’API Midjourney Imagine, si type = describe cela signifie que c’est le résultat de l’API Midjourney Describe.
  • job_id, l’ID de la tâche de requête d’image générée, utilisé pour identifier de manière unique cette tâche de requête d’image.
  • image_id, l’identifiant unique de la tâche d’image consultée, nécessaire pour effectuer des opérations de transformation sur l’image lors de la prochaine fois.
  • request, les informations de requête dans la tâche d’image consultée.
  • response, les informations de réponse dans la tâche d’image consultée.

Opération de requête en lot

Ceci est destiné à interroger les détails des tâches d’image pour plusieurs ID de tâche, contrairement à ce qui précède, il est nécessaire de sélectionner l’action comme retrieve_batch. Request Body comprend :
  • ids : tableau des ID de tâche téléchargés.
  • action : méthode d’opération sur la tâche.
Configurez comme indiqué dans l’image ci-dessous :

Exemple de code

On peut constater que divers langages de code ont été automatiquement générés sur le côté droit de la page, comme le montre l’image ci-dessus :

Quelques exemples de code sont les suivants :

Exemple de réponse

Après un appel réussi, l’API renverra les détails spécifiques de toutes les tâches d’images en lot. Par exemple :
{
  "items": [
    {
      "_id": "668aae3f550a4144a540803b",
      "id": "7489df4c-ef03-4de0-b598-e9a590793434",
      "application_id": "9dec7b2a-1cad-41ff-8536-d4ddaf2525d4",
      "created_at": 1720364607.967,
      "credential_id": "68253cc8-505d-47f4-97ad-0050a62e4975",
      "request": {
        "mode": "fast",
        "prompt": "Un chat assis sur une table",
        "action": "générer"
      },
      "type": "imagine",
      "hold": false,
      "image_id": "1259525319472185344",
      "job_id": "da317da6-f500-48e6-bf32-dd48b3e6f84f",
      "response": {
        "image_url": "https://platform.cdn.acedata.cloud/midjourney/7489df4c-ef03-4de0-b598-e9a590793434.png?imageMogr2/thumbnail/!50p",
        "image_width": 1024,
        "image_height": 1024,
        "actions": [
          "upscale1",
          "upscale2",
          "upscale3",
          "upscale4",
          "reroll",
          "variation1",
          "variation2",
          "variation3",
          "variation4"
        ],
        "raw_image_url": "https://platform.cdn.acedata.cloud/midjourney/7489df4c-ef03-4de0-b598-e9a590793434.png",
        "raw_image_width": 2048,
        "raw_image_height": 2048,
        "progress": 100,
        "image_id": "1259525319472185344",
        "task_id": "7489df4c-ef03-4de0-b598-e9a590793434",
        "success": true,
        "job_id": "da317da6-f500-48e6-bf32-dd48b3e6f84f",
        "hold": false
      },
      "duration": 29.437000036239624,
      "finished_at": 1720364637.404
    },
    {
      "_id": "668b41d6550a4144a551d996",
      "id": "807f62de-c63e-4add-8345-7f0ae6dd18e7",
      "application_id": "9dec7b2a-1cad-41ff-8536-d4ddaf2525d4",
      "created_at": 1720402390.341,
      "credential_id": "6fd3e1d5-4bd6-47e8-8872-fab89a183b53",
      "request": {
        "mode": "fast",
        "prompt": "Une belle fille",
        "action": "générer"
      },
      "type": "imagine",
      "hold": false,
      "image_id": "1259683790612070400",
      "job_id": "ede5c805-e231-498c-8f74-3aa76d5d6d12",
      "response": {
        "image_url": "https://platform.cdn.acedata.cloud/midjourney/807f62de-c63e-4add-8345-7f0ae6dd18e7.png?imageMogr2/thumbnail/!50p",
        "image_width": 1024,
        "image_height": 1024,
        "actions": [
          "upscale1",
          "upscale2",
          "upscale3",
          "upscale4",
          "reroll",
          "variation1",
          "variation2",
          "variation3",
          "variation4"
        ],
        "raw_image_url": "https://platform.cdn.acedata.cloud/midjourney/807f62de-c63e-4add-8345-7f0ae6dd18e7.png",
        "raw_image_width": 2048,
        "raw_image_height": 2048,
        "progress": 100,
        "image_id": "1259683790612070400",
        "task_id": "807f62de-c63e-4add-8345-7f0ae6dd18e7",
        "success": true,
        "job_id": "ede5c805-e231-498c-8f74-3aa76d5d6d12",
        "hold": false
      },
      "duration": 29.471999883651733,
      "finished_at": 1720402419.813
    }
  ],
  "count": 2
}
Le résultat de retour contient plusieurs champs, où items inclut les détails spécifiques des tâches d’images en lot, chaque information de tâche d’image étant identique aux champs mentionnés ci-dessus. Les informations des champs sont les suivantes.
  • items, tous les détails spécifiques des tâches d’images en lot. C’est un tableau, chaque élément du tableau ayant le même format que le résultat de la requête d’une seule tâche ci-dessus.
  • count, le nombre de tâches d’images en lot dans cette requête.

CURL

curl -X POST 'https://api.acedata.cloud/midjourney/tasks' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "action": "retrieve_batch",
  "id": "",
  "ids": ["7489df4c-ef03-4de0-b598-e9a590793434","807f62de-c63e-4add-8345-7f0ae6dd18e7"]
}'

Python

import requests

url = "https://api.acedata.cloud/midjourney/tasks"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "action": "retrieve_batch",
    "id": "",
    "ids": ["7489df4c-ef03-4de0-b598-e9a590793434","807f62de-c63e-4add-8345-7f0ae6dd18e7"]
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)

Gestion des erreurs

Lors de l’appel de l’API, si une erreur se produit, l’API renverra le code d’erreur et les informations correspondantes. Par exemple :
  • 400 token_mismatched : Mauvaise requête, probablement en raison de paramètres manquants ou invalides.
  • 400 api_not_implemented : Mauvaise requête, probablement en raison de paramètres manquants ou invalides.
  • 401 invalid_token : Non autorisé, jeton d’autorisation invalide ou manquant.
  • 429 too_many_requests : Trop de requêtes, vous avez dépassé la limite de taux.
  • 500 api_error : Erreur interne du serveur, quelque chose s’est mal passé sur le serveur.

Exemple de réponse d’erreur

{
  "success": false,
  "error": {
    "code": "api_error",
    "message": "échec de la récupération"
  },
  "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}

Conclusion

Grâce à ce document, vous avez compris comment utiliser l’API Midjourney Tasks pour interroger les détails spécifiques d’une tâche d’image unique ou en lot. Nous espérons que ce document vous aidera à mieux intégrer et utiliser cette API. Si vous avez des questions, n’hésitez pas à contacter notre équipe de support technique.