Vai al contenuto principale
La principale funzionalità dell’API Midjourney Tasks è quella di interrogare lo stato di esecuzione di un’attività utilizzando l’ID attività generato dall’API Midjourney Imagine o dall’API Midjourney Describe. Questo documento fornirà una guida dettagliata sull’integrazione dell’API Midjourney Tasks, aiutandoti a integrare facilmente e sfruttare appieno le potenti funzionalità di questa API. Con l’API Midjourney Tasks, puoi facilmente interrogare lo stato di esecuzione delle attività dell’API Midjourney Imagine o dell’API Midjourney Describe.

Procedura di richiesta

Per utilizzare l’API Midjourney Tasks, è necessario prima andare alla pagina di richiesta Midjourney Imagine API per richiedere il servizio corrispondente, quindi copiare l’ID attività dell’Imagine API, come mostrato nell’immagine:

Infine, accedi alla pagina dell’API Tasks Midjourney Tasks API per richiedere il servizio corrispondente. Una volta entrato nella pagina, fai clic sul pulsante “Acquire”, come mostrato nell’immagine: Pagina di richiesta Se non hai ancora effettuato il login o la registrazione, verrai automaticamente reindirizzato alla pagina di login che ti invita a registrarti e accedere. Dopo aver effettuato il login o la registrazione, verrai automaticamente riportato alla pagina corrente. Alla prima richiesta, verrà offerto un credito gratuito, che ti consente di utilizzare gratuitamente questa API.

Esempio di richiesta

L’API Midjourney Tasks può essere utilizzata per interrogare i risultati delle API Midjourney Imagine e Midjourney Describe. Per informazioni su come utilizzare l’API Midjourney Imagine, fare riferimento al documento Midjourney Imagine API. Per informazioni su come utilizzare l’API Midjourney Describe, fare riferimento a Midjourney Describe API. Prendiamo come esempio un ID attività restituito dal servizio Midjourney Imagine API e dimostriamo come utilizzare questa API. Supponiamo di avere un ID attività: 7489df4c-ef03-4de0-b598-e9a590793434, e ora dimostriamo come passare un ID attività.

Esempio di attività

Impostazione dell’intestazione della richiesta e del corpo della richiesta

Request Headers includono:
  • accept: specifica di ricevere la risposta in formato JSON, qui si compila con application/json.
  • authorization: la chiave per chiamare l’API, che può essere selezionata direttamente dopo la richiesta.
Request Body include:
  • id: l’ID dell’attività caricata.
  • ids: array di ID attività per la query in batch.
  • action: il modo di operare sull’attività, supporta retrieve (singola query) e retrieve_batch (query in batch).
Impostato come mostrato nell’immagine:

Esempio di codice

Si può notare che sul lato destro della pagina sono già stati generati automaticamente vari codici in diverse lingue, come mostrato nell’immagine:

Alcuni esempi di codice sono i seguenti:

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)

Esempio di risposta

Dopo una richiesta riuscita, l’API restituirà le informazioni dettagliate sull’attività dell’immagine qui. Ad esempio:
{
  "_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 gatto seduto su un tavolo",
    "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
}
Il risultato restituito contiene diversi campi, il campo request è il corpo della richiesta inviato per avviare l’attività, mentre il campo response è il corpo della risposta restituito al termine dell’attività. Se type = imagine, il risultato è coerente con la richiesta e la risposta dell’API Midjourney Imagine, se type = describe, il risultato è coerente con la richiesta e la risposta dell’API Midjourney Describe. La descrizione dei campi è la seguente.
  • id, l’ID dell’attività di generazione dell’immagine, utilizzato per identificare univocamente questa attività di generazione dell’immagine.
  • type, se type = imagine rappresenta il risultato dell’API Midjourney Imagine, se type = describe rappresenta il risultato dell’API Midjourney Describe.
  • job_id, l’ID dell’attività di query dell’immagine generata, utilizzato per identificare univocamente questa attività di query dell’immagine.
  • image_id, l’identificatore univoco dell’attività di immagine interrogata, necessario per le operazioni di modifica dell’immagine in futuro.
  • request, informazioni sulla richiesta nell’attività di query dell’immagine.
  • response, informazioni sulla risposta nell’attività di query dell’immagine.

Operazione di query in batch

Questa è per interrogare i dettagli delle attività di immagine per più ID attività, a differenza di quanto sopra, è necessario selezionare l’azione come retrieve_batch. Request Body include:
  • ids: array degli ID attività caricati.
  • action: il modo di operare sull’attività.
Impostato come mostrato nell’immagine:

Esempio di codice

Si può notare che, sul lato destro della pagina, sono stati generati automaticamente vari codici in diverse lingue, come mostrato nell’immagine:

Alcuni esempi di codice sono i seguenti:

Esempio di risposta

Dopo una richiesta riuscita, l’API restituirà i dettagli specifici di tutti i compiti di immagini in batch. Ad esempio:
{
  "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 gatto seduto su un tavolo",
        "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
    },
    {
      "_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": "Una bella ragazza",
        "action": "generate"
      },
      "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
}
Il risultato restituito ha diversi campi, dove items contiene i dettagli specifici dei compiti di immagini in batch, ogni informazione specifica di un compito di immagine è simile ai campi sopra menzionati, le informazioni sui campi sono le seguenti.
  • items, tutti i dettagli specifici dei compiti di immagini in batch. È un array, ogni elemento dell’array ha lo stesso formato del risultato della query di un singolo compito sopra.
  • count, il numero di compiti di immagini in batch richiesti.

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)

Gestione degli errori

Quando si chiama l’API, se si verifica un errore, l’API restituirà il codice di errore e le informazioni corrispondenti. Ad esempio:
  • 400 token_mismatched: Richiesta non valida, probabilmente a causa di parametri mancanti o non validi.
  • 400 api_not_implemented: Richiesta non valida, probabilmente a causa di parametri mancanti o non validi.
  • 401 invalid_token: Non autorizzato, token di autorizzazione non valido o mancante.
  • 429 too_many_requests: Troppe richieste, hai superato il limite di frequenza.
  • 500 api_error: Errore interno del server, qualcosa è andato storto sul server.

Esempio di risposta di errore

{
  "success": false,
  "error": {
    "code": "api_error",
    "message": "fetch failed"
  },
  "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}

Conclusione

Attraverso questo documento, hai compreso come utilizzare l’API Midjourney Tasks per interrogare i dettagli specifici di compiti di immagini singoli o in batch. Speriamo che questo documento possa aiutarti a integrare e utilizzare meglio questa API. Se hai domande, non esitare a contattare il nostro team di supporto tecnico.