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

# Flux Videos API Integrationsleitfaden

> Flux API guide - Ace Data Cloud

Die Flux Videos API verwendet `POST /flux/videos` zur Durchführung von Videogenerierung, Schlüsselbild-zu-Video, Videofortsetzung und Entwurfsverbesserung. `action=generate` (Standard), `mode` wählt den Generierungsmodus; für die Abfrage von Ergebnissen wird einheitlich das vorhandene `POST /flux/tasks` verwendet.

> Derzeit Beta. Text-zu-Video, Bild-zu-Video, Videofortsetzung und Entwurfsverbesserung sind verfügbar. HTTP 200 und die Aufgaben-ID bedeuten nur, dass die Aufgabe angenommen wurde; das endgültige Ergebnis muss weiterhin abgefragt werden.

## 1. API-Token abrufen

1. Registrieren Sie sich oder melden Sie sich in der [Ace Data Cloud-Konsole](https://platform.acedata.cloud/console/applications) an, erstellen Sie eine Anwendung und rufen Sie den API-Token ab. Ein allgemeiner API-Token kann Plattformdienste aufrufen; bitte bestätigen Sie, dass die Anwendung über die Aufrufberechtigung für den Flux-Dienst und ein verfügbares Guthaben verfügt.
2. Sehen Sie sich auf der [Flux-Dienstseite](https://platform.acedata.cloud/services/flux?tab=pricing) die Pakete und Preise für jede Operation an. Laden Sie bei unzureichendem Guthaben auf der [Konsolen-Guthabenseite](https://platform.acedata.cloud/console/coin) Guthaben auf.
3. Anfragen verwenden `Authorization: Bearer <dein Token>`. Der Token sollte in serverseitigen Umgebungsvariablen gespeichert werden und nicht in Frontend-Seiten, öffentlichen Repositories, Screenshots oder Callback-URLs geschrieben werden.

![API-Token in der Konsole beantragen](https://cdn.acedata.cloud/dvc3cg.jpg)

Der Code in diesem Artikel liest einheitlich die Umgebungsvariable:

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

| Element | Wert |
| - | - |
| API-Stammadresse | `https://api.acedata.cloud` |
| Videoaufgabe übermitteln | `POST /flux/videos` |
| Vorhandene Aufgabe abfragen | `POST /flux/tasks` |
| Authentifizierung | `Authorization: Bearer $ACEDATACLOUD_API_TOKEN` |
| Anfrageformat | `Content-Type: application/json` |

Vollständige Felder und Online-Debugging finden Sie in der [Flux Videos API](https://platform.acedata.cloud/documents/flux-videos), die Aufgabenabfrage finden Sie in der [Flux Tasks API](https://platform.acedata.cloud/documents/flux-tasks).

## 2. Operation und Eingabe auswählen

| action | mode | Eingabe | Ergebnis |
| - | - | - | - |
| `generate` (Standardwert, wenn action ausgelassen wird) | `t2v` | `prompt` | Video aus Text generieren |
| `generate` | `i2v` | `prompt`, `keyframes` | Video aus einem oder mehreren Schlüsselbildern generieren |
| `generate` | `v2v` | `prompt`, `start_video` | Basierend auf dem Eingabevideo fortsetzen |
| `generate` | `draft_enhance` | `draft_task_id` des selbst fertiggestellten Entwurfs | Diesen Entwurf verbessern |

Das Generierungsmodell ist `flux-3`, `action` ist `generate` (Standard). Wählen Sie über `mode` Text-zu-Video, Bild-zu-Video, Videofortsetzung oder Entwurfsverbesserung aus.

### Allgemeine Generierungsparameter

| Parameter | Beschreibung |
| - | - |
| `mode` | Erforderlich; `t2v`, `i2v`, `v2v` oder `draft_enhance` |
| `prompt` | Für normale Generierung erforderlich; bei Entwurfsverbesserung darf der ursprüngliche Prompt nicht überschrieben werden |
| `duration` | t2v/i2v sind ganze Zahlen von 5–20 Sekunden, v2v sind ganze Zahlen von 5–15 Sekunden oder `auto`; die endgültige Ausgabedauer kann geringfügig vom angeforderten Wert abweichen |
| `resolution` | `hd`, `fhd`, `qhd`, `uhd`; normale Generierung verwendet standardmäßig `hd`, Entwurfsverbesserung standardmäßig `fhd` |
| `aspect_ratio` | `auto`, `21:9`, `2:1`, `16:9`, `4:3`, `1:1`, `3:4`, `9:16`, `9:21` |
| `draft` | Ob zunächst ein Entwurf generiert wird; Entwürfe unterstützen nur `hd` |
| `generate_audio` | Ob synchronisiertes Audio generiert wird; `false` ist ein gültiger Wert, bitte den expliziten booleschen Wert beibehalten |
| `safety_tolerance` | Optional; ganze Zahl von 0–4 |
| `async` | Es wird empfohlen, `true` festzulegen, um sofort die Plattform-Aufgaben-ID zurückzugeben und anschließend die Ergebnisse abzufragen |
| `callback_url` | Optional; HTTP(S)-Adresse zum Empfangen des endgültigen JSON-Ergebnisses; nach dem Festlegen wird die Aufgabe ebenfalls asynchron angenommen |

Material-URLs müssen vom Dienst gelesen werden können. Bei temporären signierten URLs sollte eine ausreichende Gültigkeitsdauer für Download und Verarbeitung vorgesehen werden. Verwenden Sie keine Webseitenadressen als Bild- oder Videodateiadressen.

## 3. Text-zu-Video: Vollständige getestete Anfrage und Ergebnis

Die folgende Anfrage wurde vor der Preisanpassung am 2026-10-02 erfolgreich über die Produktionsschnittstelle ausgeführt. Das Auslassen von `action` bestätigte das Standard-Generierungsverhalten; `async=true` vermeidet langes Warten auf die HTTP-Verbindung.

```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
  }'
```

Annahmeantwort (echte Aufgaben-ID):

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

Speichern Sie die `task_id` aus Ihrer eigenen Antwort und fragen Sie weiter ab; verwenden Sie nicht die Aufgaben-ID aus dem Dokumentationsbeispiel, um Ergebnisse anderer Konten abzufragen.

```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"}'
```

Das Feld `response`, das von der Aufgabenabfrage zurückgegeben wird, enthält das endgültige Geschäftsergebnis. Nachfolgend ist die bei diesem Test erfolgreich zurückgegebene `response` dargestellt, wobei die äußeren Aufgabenmetadaten ausgelassen wurden. Die Video-URL in der Dokumentation wurde durch eine gleichartige Dateikopie eines langfristigen Beispiel-CDNs ersetzt (SHA-256 identisch); der tatsächliche Aufruf gibt die Ergebnis-URL dieser Aufgabe zurück:

```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
  }
}
```

[Dieses Testvideo ansehen](https://cdn.acedata.cloud/assets/examples/flux/4341eb66-3845-4972-bb86-712a6cfae845-5f4391e1942c.mp4). Die Medienprüfung bestätigt, dass die Ausgabe ein MP4 mit 1280×704, 24 fps und 5.041667 Sekunden ist, mit einer Dateigröße von 2,607,276 Bytes.

| Antwortfeld | Zweck |
| - | - |
| `success` | Ob die endgültige Aufgabe erfolgreich war; die Rückgabe einer task\_id in der Annahmephase ist nicht gleichbedeutend mit success=true |
| `task_id` | Plattform-Aufgaben-ID, verwendet für Abfragen und idempotente Geschäftsverarbeitung |
| `trace_id` | Bei der Fehlersuche dem Support bereitstellen |
| `data[].video_url` | Lesbare Adresse des Videoergebnisses |
| `data[].seconds/width/height/fps` | Vom Server gemessene tatsächliche Ausgabedauer, Abmessungen und Bildrate |
| `data[].draft_task_id` | Eingabe-ID für die Entwurfsverbesserung; erscheint nur, wenn ein wiederverwendbarer Entwurf zurückgegeben wird |
| `usage` | Endgültige abrechenbare Nutzung; überschreiben Sie die tatsächlichen seconds nicht mit der angeforderten duration |
| `cost.amount` | Die endgültig für diesen Vorgang abgezogenen Credits; `currency=credit` ist nicht US-Dollar |
| `cost.list_amount` | Credits vor Verbrauchsrabatt für Anwendungsnutzer; wird zurückgegeben, falls zutreffend |

Dies ist ein historischer Test vor der Preisanpassung: `list_amount=2.9871876975` Credits, das Konto hatte damals 10 % Verbrauchsrabatt, der tatsächliche `amount=2.68846892775` Credits betrug. Der neue Preis vom 2026-10-02 wurde um etwa 6.33 % gesenkt; derselbe Entwurf mit 5.041667 Sekunden kostet zum aktuellen Preis 2.798125185 Credits (vor Verbrauchsrabatt) und bei weiterhin 10 % Verbrauchsrabatt 2.5183126665 Credits. Rechnungen für historische Aufgaben werden nicht neu berechnet. Tarife und Rabatte anderer Konten können abweichen; dies ist kein fester US-Dollar-Preis für alle Nutzer.

## 4. Bild-zu-Video: normal und mit zeitbasierten Keyframes

Im Folgenden finden sich Parameterbeispiele; die Material-URLs müssen ersetzt werden, dies ist keine Aussage, dass dieses Beispiel bereits erfolgreich ausgeführt wurde. Nach Abschluss der Generierung fragen Sie gemäß dem obigen Prozess ab; die Ergebnisstruktur ist dieselbe.

Für ein oder zwei Bilder verwenden Sie ein normales Array:

```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
}
```

Bei Angabe von Keyframe-Zeitpunkten verwenden Sie Paare aus `[Sekunden, Bild-URL]`:

```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
}
```

Es sind 1–10 Keyframes zulässig. Arrays mit Zeitangaben müssen in aufsteigender Zeitreihenfolge angeordnet sein, die Zeit liegt bei 0–20 Sekunden, und normale URLs dürfen nicht mit zeitbasierten Einträgen gemischt werden. Bei drei oder mehr normalen Keyframes muss duration ausdrücklich angegeben werden; auto kann nicht verwendet werden.

### Tatsächliche Ausgabe des Bild-zu-Video-Tests

Die übereinstimmende Eingabe dieses Tests lautet wie folgt (nur die vollständige base64-Zeichenfolge wird durch Beschreibungstext ersetzt, die übrigen Felder sind die tatsächliche Anfrage):

```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 字符串>"
  ]
}
```

![Referenz-Keyframe dieses Bild-zu-Video-Tests](https://cdn.acedata.cloud/assets/examples/flux/b1106de8-d586-4e23-b489-381e2f86a10f-input-b0525db595d2.png)

Nach dem [Herunterladen dieses PNG-Keyframes](https://cdn.acedata.cloud/assets/examples/flux/b1106de8-d586-4e23-b489-381e2f86a10f-input-b0525db595d2.png) kann mit Pythons `base64.b64encode(image_bytes).decode("ascii")` die ursprüngliche Zeichenfolge erhalten und in das keyframes-Array eingefügt werden. Verwenden Sie nicht den Beschreibungstext im Dokument als Bildeingabe.

Nachfolgend ist die tatsächliche endgültige response einer Produktionsaufgabe vom 2026-10-01 (keine simulierte Antwort); nur die Video-URL wurde durch eine langfristige Beispielkopie mit demselben Hash ersetzt. Die Testeingabe verwendete die ursprüngliche base64-Zeichenfolge eines 1280×720-PNGs als einzelnen Keyframe; die obige URL-Eingabe ist ein unabhängiges Parameterbeispiel.

```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
  }
}
```

[Messvideo ansehen](https://cdn.acedata.cloud/assets/examples/flux/b1106de8-d586-4e23-b489-381e2f86a10f-bef14458cc9d.mp4)。

## 5. Video-Fortsetzung

`start_video` übergibt die Adresse einer vorhandenen Videodatei, `mode=v2v`, die Dauer beträgt maximal 15 Sekunden.

```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
}
```

### Messausgabe der Video-Fortsetzung

Die vollständige Eingabe dieses Messlaufs lautet wie folgt; bei der Reproduktion der Entwurfsverbesserung muss sie durch die eigene Entwurfs-ID ersetzt werden. Die Material-URL verwendet eine langfristige Beispielkopie derselben Datei:

```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
}
```

Im Folgenden ist die tatsächliche finale response der Produktionsaufgabe vom 2026-10-01 (keine simulierte Antwort); nur die Video-URL wurde durch eine langfristige Beispielkopie mit demselben Hash ersetzt.

```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
  }
}
```

[Messvideo ansehen](https://cdn.acedata.cloud/assets/examples/flux/8af9aa42-7e4d-47a4-bd61-144d97440c91-a512d6574811.mp4)。

Das `start_video` der Messeingabe ist das [abgeschlossene Entwurfsvideo](https://cdn.acedata.cloud/assets/examples/flux/b41293be-94c0-4dc7-9f39-ce04f0a8798d-c055a3079059.mp4), die übrigen Parameter sind duration=5、resolution=hd、generate\_audio=false。

## 6. Zuerst Entwurf, dann Verbesserung

1. Erzeugen Sie mit `draft=true`、`resolution=hd` einen Entwurf und warten Sie auf den Erfolg.
2. Entnehmen Sie die Plattform-Entwurfs-ID aus der finalen `data[0].draft_task_id`.
3. Senden Sie mit Anmeldedaten derselben Zugehörigkeit eine Verbesserungsanfrage:

```json theme={null}
{
  "action": "generate",
  "model": "flux-3",
  "mode": "draft_enhance",
  "draft_task_id": "Durch die eigene abgeschlossene Entwurfs-ID ersetzen",
  "resolution": "fhd",
  "async": true
}
```

Bei der Entwurfsverbesserung dürfen `prompt`、`duration`、`aspect_ratio`、`version`、`generate_audio`、`draft`、`keyframes`、`start_video` nicht übergeben werden, um den ursprünglichen Inhalt zu überschreiben. Der Entwurfscache ist eine temporäre Ressource, bitte verbessern Sie ihn zeitnah; eine dauerhafte Speicherung oder eine feste Anzahl von Aufbewahrungstagen wird nicht zugesagt. Entwürfe von anderen/nicht der aktuellen Anwendung, unvollständige Entwürfe und abgelaufene Caches können nicht wiederverwendet werden. Entwurf und Verbesserung sind zwei Aufgaben und werden nach Erfolg jeweils separat abgerechnet.

### Messausgabe der Entwurfsverbesserung

Die vollständige Eingabe dieses Messlaufs lautet wie folgt; bei der Reproduktion der Entwurfsverbesserung muss sie durch die eigene Entwurfs-ID ersetzt werden. Die Material-URL verwendet eine langfristige Beispielkopie derselben Datei:

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

Im Folgenden ist die tatsächliche finale response der Produktionsaufgabe vom 2026-10-01 (keine simulierte Antwort); nur die Video-URL wurde durch eine langfristige Beispielkopie mit demselben Hash ersetzt.

```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
  }
}
```

[Messvideo ansehen](https://cdn.acedata.cloud/assets/examples/flux/1db6243b-4a05-4484-828c-25bb17de7108-058d92166607.mp4)。

Die Messeingabe verwendet die eigene draft\_task\_id=b41293be-94c0-4dc7-9f39-ce04f0a8798d、resolution=hd; das finale usage.mode=t2v zeigt den ursprünglichen Entwurfsmodus an. Diese Aufgabe wird getrennt vom ursprünglichen Entwurf berechnet.

## 7. Python-End-to-End-Aufruf

Installieren Sie `requests`, setzen Sie Ihren eigenen Token, und führen Sie das folgende Skript aus, um „einmal senden → abfragen → Video-URL ausgeben“ abzuschließen. Sowohl Abfragen als auch Netzwerk-Wiederholungsversuche sollten die ursprüngliche task\_id verwenden, um eine erneute Übermittlung kostenpflichtiger Aufgaben zu vermeiden.

```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)
```

Nach einem Netzwerk-Timeout dürfen Sie einen unbekannten Status nicht als Fehler behandeln und sofort erneut einreichen. Wenn Sie bereits eine task\_id erhalten haben, fragen Sie diese Aufgabe weiter ab; protokollieren Sie task\_id und trace\_id zur Fehleranalyse. Die Polling-Schnittstelle selbst berechnet keine Generierungskosten.

## 8. Verwendung von Callbacks

Fügen Sie bei der Übermittlung `callback_url` hinzu. Nachdem die Aufgabe abgeschlossen ist, wird das endgültige JSON-Ergebnis per POST an diese Adresse gesendet. Die Erfolgsstruktur entspricht der zuvor genannten response, bei einem Fehler ist error enthalten.

```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"
}
```

Die Callback-Adresse sollte aus dem öffentlichen Internet erreichbar sein. Verarbeiten Sie nach Erhalt der Benachrichtigung anhand der task\_id idempotent und geben Sie möglichst schnell 2xx zurück; die Geschäftsverarbeitung kann in eine Warteschlange gestellt werden. Dieses Dokument erklärt nicht, dass Callbacks über eine Signaturauthentifizierung verfügen: Prüfen Sie vor sensiblen Aktionen wie der Gewährung von Geschäftsberechtigungen die Ergebnisse durch Abfrage derselben Aufgabe mit Ihrem eigenen Token. Wenn der Callback nicht empfangen wird, können Sie auch weiter pollen; generieren Sie nicht erneut.

## 9. Aktuelle Abrechnung und Preistabelle

Aktualisiert am 2026-10-02: Die Stückpreise aller Stufen dieser Videoschnittstelle wurden diesmal um etwa 6,33 % gesenkt; Abrechnungsmethode, Pakete und Verbrauchsrabattregeln bleiben unverändert. Die cost in den historischen gemessenen response weiter oben ist die Rechnung zum Zeitpunkt der Aufgabenfertigstellung und stellt nicht das aktuelle Angebot dar.

Die Videogenerierung wird nach der **tatsächlich ausgegebenen Sekundenzahl** abgerechnet. Nachfolgend sind die aktuellen Credits-Stückpreise ohne angewendeten Kontoverbrauchsrabatt aufgeführt, die mit den Regeln auf der [Flux-Preisseite](https://platform.acedata.cloud/services/flux?tab=pricing) übereinstimmen.

| Vorgang/Modus | Auflösung | Credits-Stückpreis |
| - | - | -: |
| t2v / i2v Entwurf | hd | 0.555 / Sekunde |
| v2v Entwurf | hd | 1.11 / Sekunde |
| t2v / i2v / entsprechende Entwurfsverbesserung | hd | 1.5725 / Sekunde |
| Wie oben | fhd | 2.6825 / Sekunde |
| Wie oben | qhd | 3.7 / Sekunde |
| Wie oben | uhd | 7.4 / Sekunde |
| v2v / entsprechende Entwurfsverbesserung | hd | 3.7925 / Sekunde |
| Wie oben | fhd | 4.9025 / Sekunde |
| Wie oben | qhd | 6.0125 / Sekunde |
| Wie oben | uhd | 8.7875 / Sekunde |

Umrechnung in US-Dollar: `Tatsächliche Kosten (USD) = cost.amount (Credits) × Paket price / Paket amount`. Aufladestufen und Verbrauchsrabatte beeinflussen den tatsächlichen Preis; Credits können nicht direkt als USD betrachtet werden. Für fehlgeschlagene Aufgaben werden keine Generierungskosten berechnet; der endgültige Betrag richtet sich nach dem Abschlussergebnis und den Aufrufaufzeichnungen in der Konsole.

## 10. Häufige Fragen und Fehlerbehebung

| Situation | Empfehlung |
| - | - |
| Parameterfehler (400) | Prüfen Sie action=generate, mode, duration und das Keyframe-Format; mischen Sie keine Felder verschiedener Generierungsmodi |
| Authentifizierungsfehler (401) | Prüfen Sie Bearer Token, Anwendungsberechtigungen und ob die Zugangsdaten gültig sind |
| Inhaltsprüfung abgelehnt (403) | Passen Sie Material und Prompt an, reichen Sie nicht wiederholt unverändert ein |
| Ratenbegrenzung (429) | Verringern Sie die Parallelität und wiederholen Sie mit Backoff |
| service\_unavailable (503) | Der aktuelle Vorgang ist nicht verfügbar; bereits angenommene asynchrone Aufgaben können diesen Fehler in der endgültigen response melden |
| task\_id wurde zurückgegeben, aber noch kein Video | Fragen Sie response weiter ab und behandeln Sie HTTP 200 nicht als abgeschlossene Generierung |
| Entwurf kann nicht wiederverwendet werden | Bestätigen Sie den eigenen Account/die aktuelle Anwendung, dass die Aufgabe abgeschlossen ist, die ursprüngliche Anfrage draft=true enthielt, und prüfen Sie, ob der temporäre Cache noch gültig ist |

Geben Sie beim Feedback task\_id, trace\_id, Anfragezeit und anonymisierte Parameter an; senden Sie keinen API Token. Weitere Möglichkeiten finden Sie im [Flux-MCP-Integrationsleitfaden](https://platform.acedata.cloud/documents/flux-mcp).


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