> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xhuoapi.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Midjourney Tasks API:s integration och användning

> Midjourney generation 集成指南 - XHuoAPI

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](https://api.xhuoapi.ai/documents/e52c028d-897a-4d51-b110-60fccbe6118d) för att ansöka om den aktuella tjänsten, och sedan kopiera Imagine API:s uppgifts-ID, som visas i bilden:

<p>
  <img src="https://cdn.xhuoapi.ai/lx4mwb.png" width="500" className="m-auto" />
</p>

Slutligen går du till Tasks API-sidan [Midjourney Tasks API](https://api.xhuoapi.ai/documents/58ea7cc1-c685-40c3-a619-f29f9ac5d8f4) 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](https://cdn.xhuoapi.ai/rci31i.png)

Om du inte har loggat in eller registrerat dig kommer du automatiskt att omdirigeras till [inloggningssidan](https://api.xhuoapi.ai) 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](https://api.xhuoapi.ai/documents/b0e32002-2707-41cc-b103-a15b1f1efdc1). För information om hur du använder Midjourney Describe, se [Midjourney Describe API](https://api.xhuoapi.ai/documents/d2a04242-507c-4a49-a17a-01bc382c5756).

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

<p>
  <img src="https://cdn.xhuoapi.ai/lx4mwb.png" width="500" className="m-auto" />
</p>

### 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:

<p>
  <img src="https://cdn.xhuoapi.ai/ybek58.png" width="500" className="m-auto" />
</p>

### Kodexempel

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

<p>
  <img src="https://cdn.xhuoapi.ai/46ookb.png" width="500" className="m-auto" />
</p>

Några kodexempel visas nedan:

#### CURL

```bash theme={null}
curl -X POST 'https://api.xhuoapi.ai/v1/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

```python theme={null}
import requests

url = "https://api.xhuoapi.ai/v1/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:

```json theme={null}
{
  "_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.xhuoapi.ai/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.xhuoapi.ai/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:

<p>
  <img src="https://cdn.xhuoapi.ai/ljmy8w.png" width="500" className="m-auto" />
</p>

### Kodexempel

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

<p>
  <img src="https://cdn.xhuoapi.ai/ljmy8w.png" width="500" className="m-auto" />
</p>

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:

```json theme={null}
{
  "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.xhuoapi.ai/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.xhuoapi.ai/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.xhuoapi.ai/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.xhuoapi.ai/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

```bash theme={null}
curl -X POST 'https://api.xhuoapi.ai/v1/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

```python theme={null}
import requests

url = "https://api.xhuoapi.ai/v1/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.
