Hoppa till huvudinnehåll
Midjourney Tasks API:s huvudfunktion är att fråga om statusen för en uppgift genom att ange det uppgifts-ID som genererats av Midjourney Imagine API eller Midjourney Describe API. Detta dokument kommer att detaljerat beskriva integrationen av Midjourney Tasks API, för att hjälpa dig att enkelt integrera och fullt utnyttja API:ets kraftfulla funktioner. Genom Midjourney Tasks API kan du enkelt fråga om statusen för uppgifter från Midjourney Imagine API eller Midjourney Describe API.

Ansökningsprocess

För att använda Midjourney Tasks API måste du först gå till ansökningssidan Midjourney Imagine API för att ansöka om den aktuella tjänsten, och sedan kopiera Imagine API:s uppgifts-ID, som visas i bilden:

Slutligen går du till Tasks API-sidan Midjourney Tasks API för att ansöka om den aktuella tjänsten. När du kommer till sidan klickar du på knappen “Acquire”, som visas i bilden: Ansökningssidan Om du inte har loggat in eller registrerat dig kommer du automatiskt att omdirigeras till inloggningssidan för att registrera dig och logga in. Efter att du har loggat in eller registrerat dig kommer du automatiskt att återvända till den aktuella sidan. Vid första ansökan får du en gratis kvot som gör att du kan använda API:et kostnadsfritt.

Begärningsexempel

Midjourney Tasks API kan användas för att fråga om resultaten från både Midjourney Imagine API och Midjourney Describe API. För information om hur du använder Midjourney Imagine API, se dokumentet Midjourney Imagine API. För information om hur du använder Midjourney Describe, se Midjourney Describe API. Vi tar ett exempel med ett uppgifts-ID som returnerats av Midjourney Imagine API för att demonstrera hur man använder detta API. Anta att vi har ett uppgifts-ID: 7489df4c-ef03-4de0-b598-e9a590793434, och vi visar hur man gör detta genom att skicka in ett uppgifts-ID.

Uppgifts exempelbild

Ställa in begärningshuvuden och begärningskropp

Begärningshuvuden inkluderar:
  • accept: anger att du tar emot svar i JSON-format, här anges som application/json.
  • authorization: nyckeln för att anropa API:et, som kan väljas direkt efter ansökan.
Begärningskropp inkluderar:
  • id: det uppladdade uppgifts-ID:t.
  • ids: en array av uppgifts-ID:n för batchfrågor.
  • action: hur uppgiften ska hanteras, stöder retrieve (enskild fråga) och retrieve_batch (batch).
Inställningarna visas som på bilden nedan:

Kodexempel

Det kan noteras att olika språkets kod redan har genererats automatiskt på högra sidan, som visas i bilden:

Några kodexempel visas nedan:

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)

Svarsexempel

När begäran lyckas kommer API:et att returnera detaljerad information om uppgiften i bilden här. Till exempel:
{
  "_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": "En katt som sitter på ett bord",
    "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
}
Det returnerade resultatet innehåller flera fält, där request-fältet är begärningsinformationen för uppgiften, medan response-fältet är svaret som returneras efter att uppgiften har slutförts. Om type = imagine är resultatet i linje med begäran och svaret från Midjourney Imagine API, och om type = describe är resultatet i linje med begäran och svaret från Midjourney Describe API. Fälten beskrivs nedan.
  • id, ID:t för den bildgenererande uppgiften, används för att unikt identifiera denna bildgenereringsuppgift.
  • type, om type = imagine representerar resultatet från Midjourney Imagine API, och om type = describe representerar resultatet från Midjourney Describe API.
  • job_id, ID:t för den bildfrågeuppgift som genererades, används för att unikt identifiera denna bildfrågeuppgift.
  • image_id, den unika identifieraren för den bilduppgift som frågas, som behövs för att utföra transformationsoperationer på bilden nästa gång.
  • request, begärningsinformationen för bilduppgiften.
  • response, svarsinformationen för bilduppgiften.

Batchfrågeoperation

Detta är för att fråga om detaljerna för flera uppgifts-ID:n, och till skillnad från ovanstående måste action väljas som retrieve_batch. Begärningskropp inkluderar:
  • ids: array av uppladdade uppgifts-ID:n.
  • action: hur uppgiften ska hanteras.
Inställningarna visas som på bilden nedan:

Kodexempel

Det kan noteras att olika språkets kod redan har genererats automatiskt på höger sida av sidan, som visas i bilden:

Några kodexempel är som följer:

Svarsexempel

När begäran lyckas kommer API:et att returnera detaljerad information om alla batchbilduppgifter. Till exempel:
{
  "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": "En katt som sitter på ett bord",
        "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": "En vacker tjej",
        "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
}
Det returnerade resultatet har flera fält, där items innehåller detaljerad information om batchbilduppgifterna, varje bilduppgifts specifika information är densamma som fälten ovan. Fältinformationen är som följer.
  • items, alla specifika detaljer om batchbilduppgifterna. Det är en array, där varje element i arrayen har samma format som resultatet av att fråga en enskild uppgift ovan.
  • count, antalet batchfrågor om bilduppgifter här.

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)

Felhantering

När API:et anropas, om det uppstår ett fel, kommer API:et att returnera motsvarande felkod och information. Till exempel:
  • 400 token_mismatched: Felaktig begäran, möjligtvis på grund av saknade eller ogiltiga parametrar.
  • 400 api_not_implemented: Felaktig begäran, möjligtvis på grund av saknade eller ogiltiga parametrar.
  • 401 invalid_token: Obefogad, ogiltig eller saknad auktoriseringstoken.
  • 429 too_many_requests: För många begärningar, du har överskridit hastighetsgränsen.
  • 500 api_error: Intern serverfel, något gick fel på servern.

Felrespons exempel

{
  "success": false,
  "error": {
    "code": "api_error",
    "message": "hämtning misslyckades"
  },
  "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}

Slutsats

Genom detta dokument har du fått en förståelse för hur du använder Midjourney Tasks API för att fråga om detaljerad information om enskilda eller batchbilduppgifter. Vi hoppas att detta dokument kan hjälpa dig att bättre integrera och använda API:et. Om du har några frågor, tveka inte att kontakta vårt tekniska supportteam.