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

# Integracja i użycie API Flux Tasks

> Flux Image Generation API guide - Ace Data Cloud

Główną funkcją API Flux Tasks jest możliwość sprawdzania statusu wykonania zadań za pomocą identyfikatora zadania (task ID) wygenerowanego przez API Flux Images Generation.

Dokument ten szczegółowo opisuje integrację z API Flux Tasks, aby pomóc Ci łatwo zintegrować i w pełni wykorzystać potężne możliwości tego API. Dzięki API Flux Tasks możesz łatwo sprawdzić status wykonania zadań API Flux Images Generation.

## Proces aplikacji

Aby korzystać z API Flux Tasks, należy najpierw przejść do strony aplikacji [Flux Images Generation API](https://platform.acedata.cloud/documents/flux-images) i złożyć wniosek o odpowiednią usługę, a następnie skopiować identyfikator zadania API Flux Images Generation, jak pokazano na obrazku:

<p>
  <img src="https://cdn.acedata.cloud/7furhb.png" width="500" className="m-auto" />
</p>

Na koniec przejdź do strony API Flux Tasks [Flux Tasks API](https://platform.acedata.cloud/documents/flux-tasks) i złóż wniosek o odpowiednią usługę, po wejściu na stronę kliknij przycisk „Acquire”, jak pokazano na obrazku.

![Strona aplikacji](https://cdn.acedata.cloud/rci31i.png)

Jeśli nie jesteś zalogowany lub zarejestrowany, automatycznie zostaniesz przekierowany na [stronę logowania](https://platform.acedata.cloud), aby zarejestrować się i zalogować. Po zalogowaniu lub rejestracji automatycznie wrócisz na bieżącą stronę.

Podczas pierwszej aplikacji otrzymasz darmowy limit, który pozwala na bezpłatne korzystanie z tego API.

## Przykład żądania

API Flux Tasks może być używane do sprawdzania wyników API Flux Images Generation. Aby dowiedzieć się, jak korzystać z API Flux Images Generation, zapoznaj się z dokumentem [Flux Images Generation API](https://platform.acedata.cloud/documents/flux-images-integration).

Użyjemy jako przykładu identyfikatora zadania zwróconego przez usługę API Flux Images Generation. Załóżmy, że mamy identyfikator zadania: 2db0168c-2373-4367-8d9a-9dc778802e8a, a następnie pokażemy, jak to zrobić, przekazując identyfikator zadania.

### Przykład zadania

<p>
  <img src="https://cdn.acedata.cloud/7furhb.png" width="500" className="m-auto" />
</p>

### Ustawienia nagłówków żądania i ciała żądania

**Nagłówki żądania** obejmują:

* `accept`: określa, że oczekiwany jest wynik w formacie JSON, tutaj wpisz `application/json`.
* `authorization`: klucz do wywołania API, po złożeniu wniosku można go bezpośrednio wybrać z rozwijanej listy.

**Ciało żądania** obejmuje:

* `id`: przesłany identyfikator zadania.
* `action`: sposób operacji na zadaniu.

Ustawienia są pokazane na poniższym obrazku:

<p>
  <img src="https://cdn.acedata.cloud/fiasxz.png" width="500" className="m-auto" />
</p>

### Przykład kodu

Można zauważyć, że po prawej stronie strony automatycznie wygenerowano kod w różnych językach, jak pokazano na obrazku:

<p>
  <img src="https://cdn.acedata.cloud/j6gn86.png" width="500" className="m-auto" />
</p>

Przykłady kodu są następujące:

#### CURL

```bash theme={null}
curl -X POST 'https://api.acedata.cloud/flux/tasks' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "id": "2c454ff3-4f8f-47f0-8147-acb29a84d1c2",
  "action": "retrieve"
}'
```

#### Python

```python theme={null}
import requests

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

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

payload = {
    "id": "2c454ff3-4f8f-47f0-8147-acb29a84d1c2",
    "action": "retrieve"
}

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

### Przykład odpowiedzi

Po pomyślnym wykonaniu żądania API zwróci szczegółowe informacje o zadaniu obrazka. Na przykład:

```json theme={null}
{
  "_id": "677de81d550a4144a5f4cf62",
  "id": "2db0168c-2373-4367-8d9a-9dc778802e8a",
  "api_id": "deefc5d7-7f22-43e9-929e-f2b6afee60b7",
  "application_id": "001c2f84-2a4a-4c4d-ba3f-8a89f43b5be2",
  "created_at": 1736304669.779,
  "credential_id": "b00bddd3-140f-4343-a9a2-affb312b60de",
  "request": {
    "action": "generate",
    "size": "1024x1024",
    "prompt": "a white siamese cat"
  },
  "trace_id": "6624929c-bb80-40c0-81e8-d96af8405d19",
  "user_id": "ad7afe47-cea9-4cda-980f-2ad8810e51cf",
  "response": {
    "success": true,
    "task_id": "2db0168c-2373-4367-8d9a-9dc778802e8a",
    "trace_id": "6624929c-bb80-40c0-81e8-d96af8405d19",
    "data": [
      {
        "prompt": "a white siamese cat",
        "image_url": "https://sf-maas-uat-prod.oss-cn-shanghai.aliyuncs.com/outputs/57d9ff7c-5a00-409e-9dcc-90f35b38d16e_0.png",
        "seed": 281520112,
        "timings": {
          "inference": 3.193
        }
      }
    ]
  }
}
```

Zwracany wynik zawiera wiele pól, pole request to ciało żądania, które zostało wysłane podczas inicjowania zadania, a pole response to ciało odpowiedzi zwrócone po zakończeniu zadania. Opis pól jest następujący.

* `id`, identyfikator zadania generowania tego obrazka, używany do unikalnej identyfikacji tego zadania generowania obrazka.
* `request`, informacje o żądaniu w zadaniu obrazka.
* `response`, informacje o odpowiedzi w zadaniu obrazka.

## Operacje zbiorcze

To jest zapytanie o szczegóły zadań obrazków dla wielu identyfikatorów zadań, w przeciwieństwie do powyższego, należy wybrać akcję jako retrieve\_batch.

**Ciało żądania** obejmuje:

* `ids`: tablica przesłanych identyfikatorów zadań.
* `action`: sposób operacji na zadaniu.

Ustawienia są pokazane na poniższym obrazku:

<p>
  <img src="https://cdn.acedata.cloud/k3i9ns.png" width="500" className="m-auto" />
</p>

### Przykład kodu

Można zauważyć, że po prawej stronie strony automatycznie wygenerowano kod w różnych językach, jak pokazano na obrazku:

<p>
  <img src="https://cdn.acedata.cloud/pt5fww.png" width="500" className="m-auto" />
</p>

Przykłady kodu są następujące:

### Przykład odpowiedzi

Po pomyślnym wykonaniu żądania API zwróci szczegółowe informacje o wszystkich zadaniach obrazków w partii. Na przykład:

```json theme={null}
{
  "items": [
    {
      "_id": "677de81d550a4144a5f4cf62",
      "id": "2db0168c-2373-4367-8d9a-9dc778802e8a",
      "api_id": "deefc5d7-7f22-43e9-929e-f2b6afee60b7",
      "application_id": "001c2f84-2a4a-4c4d-ba3f-8a89f43b5be2",
      "created_at": 1736304669.779,
      "credential_id": "b00bddd3-140f-4343-a9a2-affb312b60de",
      "request": {
        "action": "generate",
        "size": "1024x1024",
        "prompt": "biały kot syjamski"
      },
      "trace_id": "6624929c-bb80-40c0-81e8-d96af8405d19",
      "user_id": "ad7afe47-cea9-4cda-980f-2ad8810e51cf",
      "response": {
        "success": true,
        "task_id": "2db0168c-2373-4367-8d9a-9dc778802e8a",
        "trace_id": "6624929c-bb80-40c0-81e8-d96af8405d19",
        "data": [
          {
            "prompt": "biały kot syjamski",
            "image_url": "https://sf-maas-uat-prod.oss-cn-shanghai.aliyuncs.com/outputs/57d9ff7c-5a00-409e-9dcc-90f35b38d16e_0.png",
            "seed": 281520112,
            "timings": {
              "inference": 3.193
            }
          }
        ]
      }
    },
    {
      "_id": "677de950550a4144a5f52963",
      "id": "72bdd69d-290d-4710-a6d4-60c78968865a",
      "api_id": "deefc5d7-7f22-43e9-929e-f2b6afee60b7",
      "application_id": "001c2f84-2a4a-4c4d-ba3f-8a89f43b5be2",
      "created_at": 1736304976.278,
      "credential_id": "b00bddd3-140f-4343-a9a2-affb312b60de",
      "request": {
        "action": "generate",
        "size": "1024x1024",
        "prompt": "biały kot syjamski"
      },
      "trace_id": "1dca4b49-d31d-42e6-83d9-7f0c56f62d31",
      "user_id": "ad7afe47-cea9-4cda-980f-2ad8810e51cf",
      "response": {
        "success": true,
        "task_id": "72bdd69d-290d-4710-a6d4-60c78968865a",
        "trace_id": "1dca4b49-d31d-42e6-83d9-7f0c56f62d31",
        "data": [
          {
            "prompt": "biały kot syjamski",
            "image_url": "https://sf-maas-uat-prod.oss-cn-shanghai.aliyuncs.com/outputs/57b5c7e5-3436-466d-86ed-583ede4a3d7c_0.png",
            "seed": 1437672535,
            "timings": {
              "inference": 3.175
            }
          }
        ]
      }
    }
  ],
  "count": 2
}
```

#### CURL

```bash theme={null}
curl -X POST 'https://api.acedata.cloud/flux/tasks' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "ids": ["2db0168c-2373-4367-8d9a-9dc778802e8a","72bdd69d-290d-4710-a6d4-60c78968865a"],
  "action": "retrieve_batch"
}'
```

#### Python

```python theme={null}
import requests

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

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

payload = {
    "ids": ["2db0168c-2373-4367-8d9a-9dc778802e8a","72bdd69d-290d-4710-a6d4-60c78968865a"],
    "action": "retrieve_batch"
}

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

## Obsługa błędów

W przypadku wywołania API, jeśli wystąpi błąd, API zwróci odpowiedni kod błędu i informacje. Na przykład:

* `400 token_mismatched`：Złe żądanie, prawdopodobnie z powodu brakujących lub nieprawidłowych parametrów.
* `400 api_not_implemented`：Złe żądanie, prawdopodobnie z powodu brakujących lub nieprawidłowych parametrów.
* `401 invalid_token`：Nieautoryzowany, nieprawidłowy lub brakujący token autoryzacyjny.
* `429 too_many_requests`：Zbyt wiele żądań, przekroczono limit.
* `500 api_error`：Błąd wewnętrzny serwera, coś poszło nie tak na serwerze.

### Przykład odpowiedzi błędu

```json theme={null}
{
  "success": false,
  "error": {
    "code": "api_error",
    "message": "pobieranie nie powiodło się"
  },
  "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}
```

## Wnioski

Dzięki temu dokumentowi zrozumieliście, jak używać API FLux Tasks do zapytań o szczegółowe informacje dotyczące pojedynczych lub zbiorczych zadań obrazów. Mamy nadzieję, że ten dokument pomoże Wam lepiej zintegrować i korzystać z tego API. W razie jakichkolwiek pytań, prosimy o kontakt z naszym zespołem wsparcia technicznego.
