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

# Przewodnik integracji Flux Videos API

> Flux API guide - Ace Data Cloud

Flux Videos API używa `POST /flux/videos` do generowania wideo, generowania wideo z obrazów klatek kluczowych, kontynuacji wideo i ulepszania szkiców. `action=generate` (domyślnie), `mode` wybiera tryb generowania; do zapytań o wyniki jednolicie używany jest istniejący `POST /flux/tasks`.

> Obecnie w wersji Beta. Generowanie wideo z tekstu, generowanie wideo z obrazów, kontynuacja wideo i ulepszanie szkiców są dostępne. HTTP 200 i ID zadania oznaczają jedynie przyjęcie zadania, należy kontynuować zapytania o wynik końcowy.

## 1. Uzyskiwanie API Token

1. Zarejestruj się lub zaloguj w [konsoli Ace Data Cloud](https://platform.acedata.cloud/console/applications), utwórz aplikację i uzyskaj API Token. Jeden uniwersalny API Token może wywoływać usługi platformy; upewnij się, że aplikacja ma uprawnienia do wywoływania usługi Flux oraz dostępne saldo.
2. Na [stronie usługi Flux](https://platform.acedata.cloud/services/flux?tab=pricing) sprawdź plany oraz ceny poszczególnych operacji. Gdy saldo jest niewystarczające, doładuj je na [stronie salda konsoli](https://platform.acedata.cloud/console/coin).
3. Żądania używają `Authorization: Bearer <twój Token>`. Token powinien być przechowywany w zmiennych środowiskowych po stronie serwera; nie zapisuj go na stronach frontendowych, w publicznych repozytoriach, zrzutach ekranu ani adresach URL callbacków.

![Uzyskiwanie API Token w konsoli](https://cdn.acedata.cloud/dvc3cg.jpg)

Kod w tym artykule jednolicie odczytuje zmienną środowiskową:

```bash theme={null}
export ACEDATACLOUD_API_TOKEN='替换为你自己的 API Token'
```

| Element | Wartość |
| - | - |
| Główny adres API | `https://api.acedata.cloud` |
| Przesyłanie zadań wideo | `POST /flux/videos` |
| Zapytanie o istniejące zadania | `POST /flux/tasks` |
| Uwierzytelnianie | `Authorization: Bearer $ACEDATACLOUD_API_TOKEN` |
| Format żądania | `Content-Type: application/json` |

Pełne pola i debugowanie online znajdziesz w [Flux Videos API](https://platform.acedata.cloud/documents/flux-videos), a zapytania o zadania w [Flux Tasks API](https://platform.acedata.cloud/documents/flux-tasks).

## 2. Wybór operacji i danych wejściowych

| action | mode | Dane wejściowe | Wynik |
| - | - | - | - |
| `generate` (wartość domyślna po pominięciu action) | `t2v` | `prompt` | Generowanie wideo z tekstu |
| `generate` | `i2v` | `prompt`, `keyframes` | Generowanie wideo z jednej lub wielu klatek kluczowych |
| `generate` | `v2v` | `prompt`, `start_video` | Kontynuacja na podstawie wejściowego wideo |
| `generate` | `draft_enhance` | `draft_task_id` własnego ukończonego szkicu | Ulepszanie tego szkicu |

Model generowania to `flux-3`, a `action` to `generate` (domyślnie). Za pomocą `mode` wybiera się generowanie wideo z tekstu, generowanie wideo z obrazów, kontynuację wideo lub ulepszanie szkicu.

### Wspólne parametry generowania

| Parametr | Opis |
| - | - |
| `mode` | Wymagany; `t2v`, `i2v`, `v2v` lub `draft_enhance` |
| `prompt` | Wymagany dla zwykłego generowania; ulepszanie szkicu nie pozwala nadpisać oryginalnego promptu |
| `duration` | Dla t2v/i2v liczba całkowita 5–20 sekund, dla v2v liczba całkowita 5–15 sekund lub `auto`; końcowy czas trwania może nieznacznie różnić się od żądanej wartości |
| `resolution` | `hd`, `fhd`, `qhd`, `uhd`; domyślnie `hd` dla zwykłego generowania, domyślnie `fhd` dla ulepszania szkicu |
| `aspect_ratio` | `auto`, `21:9`, `2:1`, `16:9`, `4:3`, `1:1`, `3:4`, `9:16`, `9:21` |
| `draft` | Czy najpierw wygenerować szkic; szkic obsługuje tylko `hd` |
| `generate_audio` | Czy generować zsynchronizowane audio; `false` jest prawidłową wartością, zachowaj jawną wartość logiczną |
| `safety_tolerance` | Opcjonalny; liczba całkowita 0–4 |
| `async` | Zaleca się ustawienie na `true`, aby natychmiast zwrócić ID zadania platformy, a następnie odpytywać o wynik |
| `callback_url` | Opcjonalny; adres HTTP(S) odbierający końcowy wynik JSON; po ustawieniu również będzie przyjmowany asynchronicznie |

Adres URL materiału musi być dostępny dla usługi. W przypadku tymczasowego podpisanego adresu URL należy zapewnić wystarczający okres ważności na pobranie i przetworzenie. Nie używaj adresu strony internetowej jako adresu pliku obrazu lub wideo.

## 3. Generowanie wideo z tekstu: pełne przetestowane żądanie i wynik

Poniższe żądanie zostało pomyślnie wykonane w interfejsie produkcyjnym przed zmianą cen 2026-10-02. Pominięcie `action` zweryfikowało domyślne zachowanie generowania; `async=true` pozwala uniknąć długiego oczekiwania na połączenie HTTP.

```bash theme={null}
curl -X POST 'https://api.acedata.cloud/flux/videos' \
  -H "Authorization: Bearer $ACEDATACLOUD_API_TOKEN" \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "flux-3",
    "mode": "t2v",
    "prompt": "A small toy sailboat floating on calm blue water in warm morning light, steady camera, no text.",
    "duration": 5,
    "resolution": "hd",
    "draft": true,
    "async": true
  }'
```

Odpowiedź przyjęcia (rzeczywiste ID zadania):

```json theme={null}
{
  "task_id": "4341eb66-3845-4972-bb86-712a6cfae845",
  "trace_id": "b0f851bd-0925-43ca-acc3-6f634c70d607"
}
```

Zapisz `task_id` z własnej odpowiedzi i kontynuuj zapytania; nie używaj ID zadania z przykładu w dokumentacji do zapytań o wyniki innych kont.

```bash theme={null}
curl -X POST 'https://api.acedata.cloud/flux/tasks' \
  -H "Authorization: Bearer $ACEDATACLOUD_API_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{"action":"retrieve","id":"替换为本次返回的 task_id"}'
```

Pole `response` zwracane przez zapytanie o zadanie zawiera końcowy wynik biznesowy. Poniżej znajduje się pomyślny `response` z tego testu, z pominięciem zewnętrznych metadanych zadania. Adres URL wideo w dokumentacji został zastąpiony kopią tego samego pliku w długoterminowym przykładowym CDN (SHA-256 jest zgodne); rzeczywiste wywołanie zwróci własny adres URL wyniku dla tego zadania:

```json theme={null}
{
  "success": true,
  "task_id": "4341eb66-3845-4972-bb86-712a6cfae845",
  "trace_id": "b0f851bd-0925-43ca-acc3-6f634c70d607",
  "data": [
    {
      "id": "4341eb66-3845-4972-bb86-712a6cfae845",
      "model": "flux-3",
      "video_url": "https://cdn.acedata.cloud/assets/examples/flux/4341eb66-3845-4972-bb86-712a6cfae845-5f4391e1942c.mp4",
      "seconds": 5.041667,
      "width": 1280,
      "height": 704,
      "fps": 24,
      "draft_task_id": "4341eb66-3845-4972-bb86-712a6cfae845"
    }
  ],
  "usage": {
    "action": "generate",
    "seconds": 5.041667,
    "output_mp_seconds": 4.3326825781250005,
    "mode": "t2v",
    "resolution": "hd",
    "draft": true
  },
  "cost": {
    "amount": 2.6884689277500002,
    "currency": "credit",
    "list_amount": 2.9871876975000005
  }
}
```

[Zobacz rzeczywisty film z tego testu](https://cdn.acedata.cloud/assets/examples/flux/4341eb66-3845-4972-bb86-712a6cfae845-5f4391e1942c.mp4)。Kontrola multimediów potwierdza, że wynikiem jest plik MP4 o rozdzielczości 1280×704, 24 fps i długości 5.041667 sekundy, o rozmiarze 2,607,276 bajtów.

| Pole odpowiedzi | Zastosowanie |
| - | - |
| `success` | Czy końcowe zadanie zakończyło się powodzeniem; zwrócenie task\_id na etapie przyjęcia nie jest równoznaczne z success=true |
| `task_id` | ID zadania platformy, używane do odpytywania i obsługi idempotencji biznesowej |
| `trace_id` | Należy przekazać personelowi wsparcia podczas rozwiązywania problemów |
| `data[].video_url` | Adres dostępnego do odczytu wyniku wideo |
| `data[].seconds/width/height/fps` | Rzeczywisty czas trwania, wymiary i liczba klatek na sekundę wyjścia zmierzone przez serwer |
| `data[].draft_task_id` | Wejściowe ID ulepszenia szkicu; występuje tylko przy zwracaniu szkicu możliwego do ponownego użycia |
| `usage` | Końcowe rozliczane użycie; nie zastępuj rzeczywistego seconds żądanym duration |
| `cost.amount` | Ostatecznie pobrane Credits za ten raz; `currency=credit` nie oznacza dolarów |
| `cost.list_amount` | Credits przed rabatem na konsumpcję dla użytkownika aplikacji; zwracane, gdy ma zastosowanie |

To jest historyczny rzeczywisty test sprzed zmiany cen: `list_amount=2.9871876975` Credits, konto miało wówczas 10% rabatu na konsumpcję, a rzeczywiste `amount=2.68846892775` Credits. Nowa cena z 2026-10-02 została obniżona o około 6.33%; ten sam szkic o długości 5.041667 sekundy kosztuje według aktualnej ceny 2.798125185 Credits (przed rabatem na konsumpcję), a przy nadal obowiązującym 10% rabacie na konsumpcję — 2.5183126665 Credits. Rozliczenia historycznych zadań nie są przeliczane ponownie. Plany i rabaty dla innych kont mogą się różnić; nie jest to stała cena w dolarach dla wszystkich użytkowników.

## 4. Obraz do wideo: zwykłe i z klatkami kluczowymi z czasem

Poniżej znajdują się przykłady parametrów, wymagające zastąpienia adresów URL materiałów; nie stanowią one deklaracji, że ten przykład został już pomyślnie wykonany. Po zakończeniu generowania wykonaj zapytanie zgodnie z powyższym procesem; struktura wyniku jest taka sama.

Dla jednego lub dwóch obrazów użyj zwykłej tablicy:

```json theme={null}
{
  "action": "generate",
  "model": "flux-3",
  "mode": "i2v",
  "prompt": "The camera slowly moves around the product in soft studio light.",
  "keyframes": ["https://example.com/first-frame.jpg"],
  "duration": 5,
  "resolution": "hd",
  "generate_audio": false,
  "async": true
}
```

Przy określaniu momentów klatek kluczowych użyj par `[liczba sekund, URL obrazu]`:

```json theme={null}
{
  "action": "generate",
  "model": "flux-3",
  "mode": "i2v",
  "prompt": "A smooth transition from morning light to a warm sunset.",
  "keyframes": [[0, "https://example.com/start.jpg"], [5, "https://example.com/end.jpg"]],
  "duration": 5,
  "resolution": "hd",
  "async": true
}
```

Dozwolonych jest 1–10 klatek kluczowych. Tablica z czasem musi być uporządkowana rosnąco według czasu, czas wynosi 0–20 sekund i nie można mieszać zwykłych URL-i z elementami zawierającymi czas. Trzy lub więcej zwykłych klatek kluczowych musi mieć wyraźnie określone duration, nie można używać auto.

### Rzeczywiste wyjście testowe obrazu do wideo

Pasujące dane wejściowe tego rzeczywistego testu są następujące (pełny base64 zastąpiono wyłącznie tekstem objaśniającym, pozostałe pola są rzeczywistym żądaniem):

```json theme={null}
{
  "async": true,
  "action": "generate",
  "model": "flux-3",
  "prompt": "The toy sailboat drifts slowly across calm water. A steady camera, gentle daylight, no people or text.",
  "duration": 5,
  "resolution": "hd",
  "generate_audio": false,
  "draft": false,
  "mode": "i2v",
  "keyframes": [
    "<下图 PNG 文件的原始 base64 字符串>"
  ]
}
```

![Referencyjna klatka kluczowa obrazu do wideo z tego testu](https://cdn.acedata.cloud/assets/examples/flux/b1106de8-d586-4e23-b489-381e2f86a10f-input-b0525db595d2.png)

Po [pobraniu tej klatki kluczowej PNG](https://cdn.acedata.cloud/assets/examples/flux/b1106de8-d586-4e23-b489-381e2f86a10f-input-b0525db595d2.png) można użyć w Pythonie `base64.b64encode(image_bytes).decode("ascii")`, aby uzyskać oryginalny ciąg znaków, i umieścić go w tablicy keyframes. Nie używaj tekstu objaśniającego z dokumentu jako wejścia obrazu.

Poniżej znajduje się rzeczywista końcowa response zadania produkcyjnego z 2026-10-01 (nie jest to odpowiedź symulowana); tylko adres URL wideo został zamieniony na długoterminową przykładową kopię o tym samym hashu. Rzeczywiste dane wejściowe testu używają oryginalnego ciągu base64 PNG 1280×720 jako pojedynczej klatki kluczowej; powyższe wejście URL jest niezależnym przykładem parametru.

```json theme={null}
{
  "success": true,
  "task_id": "b1106de8-d586-4e23-b489-381e2f86a10f",
  "trace_id": "f62d5c56-cfb2-4f8f-b339-ef019d4c0d10",
  "data": [
    {
      "id": "b1106de8-d586-4e23-b489-381e2f86a10f",
      "model": "flux-3",
      "video_url": "https://cdn.acedata.cloud/assets/examples/flux/b1106de8-d586-4e23-b489-381e2f86a10f-bef14458cc9d.mp4",
      "seconds": 5.041667,
      "width": 1280,
      "height": 704,
      "fps": 24
    }
  ],
  "usage": {
    "action": "generate",
    "seconds": 5.041667,
    "output_mp_seconds": 4.3326825781250005,
    "mode": "i2v",
    "resolution": "hd",
    "draft": false
  },
  "cost": {
    "amount": 7.617328628625,
    "currency": "credit",
    "list_amount": 8.46369847625
  }
}
```

[Obejrzyj wideo z testów rzeczywistych](https://cdn.acedata.cloud/assets/examples/flux/b1106de8-d586-4e23-b489-381e2f86a10f-bef14458cc9d.mp4)。

## 5. Kontynuacja wideo

Do `start_video` przekaż adres istniejącego pliku wideo, `mode=v2v`, czas trwania maksymalnie 15 sekund.

```json theme={null}
{
  "action": "generate",
  "model": "flux-3",
  "mode": "v2v",
  "prompt": "Continue the sailboat drifting forward with the same steady camera.",
  "start_video": "https://example.com/source.mp4",
  "duration": 5,
  "resolution": "hd",
  "async": true
}
```

### Wynik testowy kontynuacji wideo

Pełne dane wejściowe tego rzeczywistego testu są następujące; podczas odtwarzania ulepszenia szkicu należy zastąpić je własnym ID szkicu. URL materiału używa długoterminowej przykładowej kopii tego samego pliku:

```json theme={null}
{
  "action": "generate",
  "model": "flux-3",
  "mode": "v2v",
  "start_video": "https://cdn.acedata.cloud/assets/examples/flux/b41293be-94c0-4dc7-9f39-ce04f0a8798d-c055a3079059.mp4",
  "prompt": "Continue the same sailboat drifting gently across calm water in the same continuous steady shot.",
  "duration": 5,
  "resolution": "hd",
  "generate_audio": false,
  "async": true
}
```

Poniżej znajduje się rzeczywista końcowa response zadania produkcyjnego z 2026-10-01 (nie jest to odpowiedź symulowana); jedynie URL wideo został zmieniony na długoterminową przykładową kopię o tym samym hashu.

```json theme={null}
{
  "success": true,
  "task_id": "8af9aa42-7e4d-47a4-bd61-144d97440c91",
  "trace_id": "4fb49afc-abca-4039-bbaa-adb66e293544",
  "data": [
    {
      "id": "8af9aa42-7e4d-47a4-bd61-144d97440c91",
      "model": "flux-3",
      "video_url": "https://cdn.acedata.cloud/assets/examples/flux/8af9aa42-7e4d-47a4-bd61-144d97440c91-a512d6574811.mp4",
      "seconds": 5,
      "width": 1280,
      "height": 704,
      "fps": 24
    }
  ],
  "usage": {
    "action": "generate",
    "seconds": 5,
    "output_mp_seconds": 4.296875,
    "mode": "v2v",
    "resolution": "hd",
    "draft": false
  },
  "cost": {
    "amount": 18.219375,
    "currency": "credit",
    "list_amount": 20.24375
  }
}
```

[Obejrzyj wideo z testów rzeczywistych](https://cdn.acedata.cloud/assets/examples/flux/8af9aa42-7e4d-47a4-bd61-144d97440c91-a512d6574811.mp4)。

Testowe dane wejściowe `start_video` to [ukończone wideo szkicu](https://cdn.acedata.cloud/assets/examples/flux/b41293be-94c0-4dc7-9f39-ce04f0a8798d-c055a3079059.mp4), pozostałe parametry to duration=5、resolution=hd、generate\_audio=false。

## 6. Najpierw szkic, następnie ulepszenie

1. Wygeneruj szkic za pomocą `draft=true`、`resolution=hd` i poczekaj na powodzenie.
2. Pobierz ID szkicu platformy z końcowego `data[0].draft_task_id`.
3. Prześlij żądanie ulepszenia przy użyciu poświadczeń aplikacji o tym samym przypisaniu:

```json theme={null}
{
  "action": "generate",
  "model": "flux-3",
  "mode": "draft_enhance",
  "draft_task_id": "替换为自己的已完成草稿 ID",
  "resolution": "fhd",
  "async": true
}
```

Do ulepszenia szkicu nie można przekazywać `prompt`、`duration`、`aspect_ratio`、`version`、`generate_audio`、`draft`、`keyframes`、`start_video`, aby nadpisać oryginalną zawartość. Pamięć podręczna szkicu jest zasobem tymczasowym, prosimy o terminowe ulepszenie; nie gwarantuje się stałego przechowywania ani określonej liczby dni przechowywania. Szkice niebędące własnymi/niepochodzące z bieżącej aplikacji, nieukończone szkice oraz wygasłe pamięci podręczne nie mogą być ponownie użyte. Szkic i ulepszenie to dwa zadania, za które po powodzeniu naliczane są opłaty osobno.

### Wynik testowy ulepszenia szkicu

Pełne dane wejściowe tego rzeczywistego testu są następujące; podczas odtwarzania ulepszenia szkicu należy zastąpić je własnym ID szkicu. URL materiału używa długoterminowej przykładowej kopii tego samego pliku:

```json theme={null}
{
  "action": "generate",
  "model": "flux-3",
  "mode": "draft_enhance",
  "draft_task_id": "b41293be-94c0-4dc7-9f39-ce04f0a8798d",
  "resolution": "hd",
  "async": true
}
```

Poniżej znajduje się rzeczywista końcowa response zadania produkcyjnego z 2026-10-01 (nie jest to odpowiedź symulowana); jedynie URL wideo został zmieniony na długoterminową przykładową kopię o tym samym hashu.

```json theme={null}
{
  "success": true,
  "task_id": "1db6243b-4a05-4484-828c-25bb17de7108",
  "trace_id": "64f93fa1-8d18-4c8b-a6d2-888009eb7cfa",
  "data": [
    {
      "id": "1db6243b-4a05-4484-828c-25bb17de7108",
      "model": "flux-3",
      "video_url": "https://cdn.acedata.cloud/assets/examples/flux/1db6243b-4a05-4484-828c-25bb17de7108-058d92166607.mp4",
      "seconds": 5.041667,
      "width": 1280,
      "height": 704,
      "fps": 24
    }
  ],
  "usage": {
    "action": "generate",
    "seconds": 5.041667,
    "output_mp_seconds": 4.3326825781250005,
    "mode": "t2v",
    "resolution": "hd",
    "draft": false
  },
  "cost": {
    "amount": 7.617328628625,
    "currency": "credit",
    "list_amount": 8.46369847625
  }
}
```

[Obejrzyj wideo z testów rzeczywistych](https://cdn.acedata.cloud/assets/examples/flux/1db6243b-4a05-4484-828c-25bb17de7108-058d92166607.mp4)。

Dane wejściowe testu to własne draft\_task\_id=b41293be-94c0-4dc7-9f39-ce04f0a8798d、resolution=hd；końcowe usage.mode=t2v wskazuje tryb oryginalnego szkicu. To zadanie i oryginalny szkic są rozliczane osobno.

## 7. Wywołanie Python end-to-end

Zainstaluj `requests`, ustaw własny Token, a uruchomienie poniższego skryptu pozwoli zakończyć „jedno przesłanie → odpytywanie → wyprowadzenie URL wideo”. Zarówno zapytania, jak i ponowienia sieciowe powinny używać oryginalnego task\_id, aby uniknąć wielokrotnego przesyłania płatnych zadań.

```python theme={null}
import os
import time
import requests

base_url = "https://api.acedata.cloud"
headers = {
    "Authorization": "Bearer " + os.environ["ACEDATACLOUD_API_TOKEN"],
    "Accept": "application/json",
}
payload = {
    "action": "generate",
    "model": "flux-3",
    "mode": "t2v",
    "prompt": "A small toy sailboat floating on calm blue water in warm morning light.",
    "duration": 5,
    "resolution": "hd",
    "draft": True,
    "async": True,
}
submitted = requests.post(base_url + "/flux/videos", json=payload, headers=headers, timeout=120)
submitted.raise_for_status()
accepted = submitted.json()
if accepted.get("error"):
    raise RuntimeError(accepted["error"])
task_id = accepted["task_id"]
print("Task ID:", task_id)  # 持久化保存，用于恢复轮询

# 30 分钟是本示例的客户端等待上限，不是服务的完成时限承诺。
deadline = time.monotonic() + 30 * 60
while time.monotonic() < deadline:
    polled = requests.post(
        base_url + "/flux/tasks",
        json={"action": "retrieve", "id": task_id},
        headers=headers,
        timeout=30,
    )
    polled.raise_for_status()
    task = polled.json()
    if task.get("error"):
        raise RuntimeError(task["error"])
    result = task.get("response") or task.get("result")
    if isinstance(result, dict) and result.get("success") is True:
        print("Video:", result["data"][0]["video_url"])
        print("Usage:", result.get("usage"))
        print("Cost:", result.get("cost"))
        break
    if isinstance(result, dict) and result.get("error"):
        raise RuntimeError(result["error"])
    time.sleep(10)
else:
    raise TimeoutError("Still processing; resume polling with task_id=" + task_id)
```

Po przekroczeniu limitu czasu sieciowego nie traktuj nieznanego stanu jako niepowodzenia i nie przesyłaj natychmiast ponownie. Jeżeli uzyskano już `task_id`, kontynuuj odpytywanie tego zadania; zapisuj `task_id` i `trace_id`, aby ułatwić diagnozowanie. Sam interfejs odpytywania nie pobiera opłat za generowanie.

## 8. Korzystanie z callbacków

Podczas przesyłania dodaj `callback_url`; po ukończeniu zadania końcowy wynik JSON zostanie wysłany metodą POST pod ten adres. Struktura sukcesu jest zgodna z opisanym wcześniej response, a w przypadku niepowodzenia zawiera error.

```json theme={null}
{
  "action": "generate",
  "model": "flux-3",
  "mode": "t2v",
  "prompt": "A small sailboat on calm water.",
  "duration": 5,
  "resolution": "hd",
  "draft": true,
  "callback_url": "https://your-server.example/flux-callback"
}
```

Adres callbacka powinien być dostępny z publicznego Internetu. Po otrzymaniu powiadomienia przetwarzaj je idempotentnie według task\_id i jak najszybciej zwróć 2xx; przetwarzanie biznesowe można umieścić w kolejce. Niniejszy dokument nie deklaruje, że callback posiada uwierzytelnianie podpisem: przed wykonaniem wrażliwych operacji, takich jak przyznanie uprawnień biznesowych, użyj własnego Tokena, aby zapytać o to samo zadanie i zweryfikować wynik. Jeżeli callback nie zostanie otrzymany, można również kontynuować odpytywanie; nie generuj ponownie.

## 9. Aktualne rozliczenia i tabela cen

Aktualizacja z 2026-10-02: ceny jednostkowe wszystkich wariantów tego interfejsu wideo zostały obniżone o około 6,33%; sposób naliczania, pakiety i zasady rabatów za zużycie pozostają bez zmian. Cost w historycznych, rzeczywistych response przytoczonych wcześniej jest rachunkiem z chwili ukończenia zadania i nie reprezentuje aktualnej wyceny.

Generowanie wideo jest rozliczane według **rzeczywistej liczby sekund wyjściowych**. Poniżej znajdują się aktualne ceny jednostkowe w Credits przed zastosowaniem rabatów za zużycie konta, zgodne z zasadami na [stronie cen Flux](https://platform.acedata.cloud/services/flux?tab=pricing).

| Operacja/tryb | Rozdzielczość | Cena jednostkowa Credits |
| - | - | -: |
| Szkic t2v / i2v | hd | 0.555 / sek. |
| Szkic v2v | hd | 1.11 / sek. |
| t2v / i2v / ulepszenie odpowiadającego szkicu | hd | 1.5725 / sek. |
| Jak wyżej | fhd | 2.6825 / sek. |
| Jak wyżej | qhd | 3.7 / sek. |
| Jak wyżej | uhd | 7.4 / sek. |
| v2v / ulepszenie odpowiadającego szkicu | hd | 3.7925 / sek. |
| Jak wyżej | fhd | 4.9025 / sek. |
| Jak wyżej | qhd | 6.0125 / sek. |
| Jak wyżej | uhd | 8.7875 / sek. |

Przeliczenie na USD: `rzeczywisty koszt (USD) = cost.amount (Credits) × price pakietu / amount pakietu`. Poziomy doładowań i rabaty za zużycie wpływają na rzeczywistą cenę; Credits nie mogą być bezpośrednio traktowane jako USD. Nieudane zadania nie są obciążane opłatą za generowanie; ostateczna kwota zależy od wyniku ukończenia i zapisów wywołań w konsoli.

## 10. Częste problemy i diagnostyka

| Sytuacja | Zalecenie |
| - | - |
| Błąd parametrów (400) | Sprawdź action=generate, mode, duration i format klatki kluczowej; nie mieszaj pól różnych trybów generowania |
| Błąd uwierzytelniania (401) | Sprawdź Bearer Token, uprawnienia aplikacji oraz ważność poświadczeń |
| Odrzucenie przez moderację treści (403) | Dostosuj materiały i prompt, nie przesyłaj wielokrotnie identycznej wersji |
| Ograniczenie liczby żądań (429) | Zmniejsz równoległość, ponawiaj z wycofywaniem |
| service\_unavailable (503) | Bieżąca operacja jest niedostępna; zaakceptowane zadania asynchroniczne mogą zgłosić ten błąd w końcowym response |
| task\_id został zwrócony, ale nadal nie ma wideo | Kontynuuj odpytywanie response, nie traktuj HTTP 200 jako ukończenia generowania |
| Szkicu nie można ponownie wykorzystać | Potwierdź własnego/bieżącego aplikację, ukończenie zadania, oryginalne żądanie draft=true oraz sprawdź, czy tymczasowy cache jest nadal ważny |

Przy zgłaszaniu opinii podaj task\_id, trace\_id, czas żądania i zanonimizowane parametry; nie wysyłaj API Tokena. Więcej metod znajdziesz w [przewodniku integracji Flux MCP](https://platform.acedata.cloud/documents/flux-mcp).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.