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

> Flux API guide - Ace Data Cloud

Flux Videos API использует `POST /flux/videos` для генерации видео, генерации видео из ключевых кадров, продолжения видео и улучшения черновиков. `action=generate` (по умолчанию), `mode` выбирает режим генерации; для запроса результатов единообразно используется существующий `POST /flux/tasks`.

> В настоящее время Beta. Генерация видео из текста, генерация видео из изображений, продолжение видео и улучшение черновиков уже доступны. HTTP 200 и ID задачи означают только принятие задачи, необходимо продолжить запрос конечного результата.

## 1. Получение API Token

1. Зарегистрируйтесь или войдите в [консоль Ace Data Cloud](https://platform.acedata.cloud/console/applications), создайте приложение и получите API Token. Один универсальный API Token может вызывать сервисы платформы; убедитесь, что приложение имеет права на вызов сервиса Flux и доступный баланс.
2. Просмотрите тарифы и цены каждой операции на [странице сервиса Flux](https://platform.acedata.cloud/services/flux?tab=pricing). При недостаточном балансе пополните его на [странице баланса консоли](https://platform.acedata.cloud/console/coin).
3. Запросы используют `Authorization: Bearer &lt;ваш Token>`. Token должен храниться в переменных окружения сервера, не записывайте его на фронтенд-страницы, в публичные репозитории, скриншоты или callback URL.

![Получение API Token в консоли](https://cdn.acedata.cloud/dvc3cg.jpg)

Код в этой статье единообразно считывает переменную окружения:

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

| Пункт | Значение |
| - | - |
| Корневой адрес API | `https://api.acedata.cloud` |
| Отправка задачи видео | `POST /flux/videos` |
| Запрос существующей задачи | `POST /flux/tasks` |
| Аутентификация | `Authorization: Bearer $ACEDATACLOUD_API_TOKEN` |
| Формат запроса | `Content-Type: application/json` |

Полный список полей и онлайн-отладку смотрите в [Flux Videos API](https://platform.acedata.cloud/documents/flux-videos), запрос задач — в [Flux Tasks API](https://platform.acedata.cloud/documents/flux-tasks).

## 2. Выбор операции и входных данных

| action | mode | Ввод | Результат |
| - | - | - | - |
| `generate`（значение по умолчанию при пропуске action） | `t2v` | `prompt` | Генерация видео из текста |
| `generate` | `i2v` | `prompt`、`keyframes` | Генерация видео из одного или нескольких ключевых кадров |
| `generate` | `v2v` | `prompt`、`start_video` | Продолжение на основе входного видео |
| `generate` | `draft_enhance` | `draft_task_id` собственного завершённого черновика | Улучшение этого черновика |

Модель генерации — `flux-3`, `action` — `generate` (по умолчанию). Через `mode` выбираются генерация видео из текста, генерация видео из изображений, продолжение видео или улучшение черновика.

### Общие параметры генерации

| Параметр | Описание |
| - | - |
| `mode` | Обязательный; `t2v`, `i2v`, `v2v` или `draft_enhance` |
| `prompt` | Обязателен для обычной генерации; при улучшении черновика нельзя переопределять исходный промпт |
| `duration` | Для t2v/i2v — целое число 5–20 секунд, для v2v — целое число 5–15 секунд или `auto`; итоговая длительность вывода может немного отличаться от запрошенного значения |
| `resolution` | `hd`, `fhd`, `qhd`, `uhd`; по умолчанию для обычной генерации — `hd`, для улучшения черновика — `fhd` |
| `aspect_ratio` | `auto`, `21:9`, `2:1`, `16:9`, `4:3`, `1:1`, `3:4`, `9:16`, `9:21` |
| `draft` | Создавать ли сначала черновик; черновики поддерживают только `hd` |
| `generate_audio` | Генерировать ли синхронизированный звук; `false` является допустимым значением, сохраняйте явное булево значение |
| `safety_tolerance` | Необязательный; целое число от 0 до 4 |
| `async` | Рекомендуется установить в `true`, чтобы сразу вернуть ID задачи платформы, затем опрашивать результат |
| `callback_url` | Необязательный; HTTP(S)-адрес для получения итогового JSON-результата; после настройки также будет асинхронно принят |

URL материалов должен быть доступен для чтения сервисом. При использовании временного подписанного URL следует предусмотреть достаточный срок действия для загрузки и обработки. Не используйте адрес веб-страницы как адрес файла изображения или видео.

## 3. Генерация видео из текста: полный протестированный запрос и результат

Следующий запрос был успешно выполнен в production-интерфейсе до изменения цен 2026-10-02. Пропуск `action` подтвердил поведение генерации по умолчанию; `async=true` позволяет избежать долгого ожидания 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
  }'
```

Ответ о принятии (реальный ID задачи):

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

Сохраните `task_id` из собственного ответа и продолжите запрос; не используйте ID задачи из примера документации для запроса результатов других аккаунтов.

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

Поле `response`, возвращаемое запросом задачи, содержит конечный бизнес-результат. Ниже приведён успешно протестированный в этот раз `response`, внешние метаданные задачи опущены. URL видео в документации был заменён копией того же файла в долгосрочном примере CDN (SHA-256 совпадает); фактический вызов вернёт URL результата собственной задачи:

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

[Просмотреть тестовое видео этого запуска](https://cdn.acedata.cloud/assets/examples/flux/4341eb66-3845-4972-bb86-712a6cfae845-5f4391e1942c.mp4)。Проверка медиа подтверждает, что результатом является MP4 размером 1280×704, 24 fps и длительностью 5.041667 секунды, размер файла — 2,607,276 байт.

| Поле ответа | Назначение |
| - | - |
| `success` | Успешно ли завершена конечная задача; возврат task\_id на этапе принятия не равен success=true |
| `task_id` | ID задачи платформы, используется для опроса и идемпотентной бизнес-обработки |
| `trace_id` | Предоставляется сотрудникам поддержки при устранении неполадок |
| `data[].video_url` | Доступный для чтения адрес результата видео |
| `data[].seconds/width/height/fps` | Фактические длительность, размеры и частота кадров выходных данных, измеренные сервером |
| `data[].draft_task_id` | Входной ID улучшения черновика; появляется только при возврате повторно используемого черновика |
| `usage` | Использование для окончательного выставления счёта; не заменяйте фактические seconds запрошенным duration |
| `cost.amount` | Credits, окончательно списанные за этот раз; `currency=credit` — не доллары США |
| `cost.list_amount` | Credits до скидки на потребление для пользователей приложения; возвращается при применимости |

Это исторический тест до изменения цены: `list_amount=2.9871876975` Credits, аккаунт в то время имел скидку 10% на потребление, фактический `amount=2.68846892775` Credits. Новая цена от 2026-10-02 снижена примерно на 6.33%; такой же черновик длительностью 5.041667 секунды по текущей цене составляет 2.798125185 Credits (до скидки на потребление), а при сохранении скидки на потребление 10% — 2.5183126665 Credits. Счета по историческим задачам не пересчитываются. Тарифы и скидки других аккаунтов могут отличаться; это не фиксированная цена в долларах США для всех пользователей.

## 4. Видео из изображения: обычные и с ключевыми кадрами по времени

Ниже приведены примеры параметров, в которых необходимо заменить URL материалов; это не заявление о том, что этот пример уже был успешно выполнен. После завершения генерации выполните запрос по описанному выше процессу, структура результата будет такой же.

Для одного или двух изображений используйте обычный массив:

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

При указании момента ключевого кадра используйте пару `[секунды, 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
}
```

Допускается от 1 до 10 ключевых кадров. Массив со временем должен быть отсортирован по возрастанию времени, время должно составлять от 0 до 20 секунд, нельзя смешивать обычные URL и элементы со временем. Для трёх или более обычных ключевых кадров необходимо явно указать duration, нельзя использовать auto.

### Тестовый результат видео из изображения

Соответствующий вход этого теста приведён ниже (полная base64 заменена только пояснительным текстом, остальные поля являются реальным запросом):

```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": [
    "<исходная строка base64 PNG-файла с изображения ниже>"
  ]
}
```

![Опорный ключевой кадр видео из изображения этого запуска](https://cdn.acedata.cloud/assets/examples/flux/b1106de8-d586-4e23-b489-381e2f86a10f-input-b0525db595d2.png)

После [скачивания этого ключевого кадра PNG](https://cdn.acedata.cloud/assets/examples/flux/b1106de8-d586-4e23-b489-381e2f86a10f-input-b0525db595d2.png) можно использовать Python `base64.b64encode(image_bytes).decode("ascii")`, чтобы получить исходную строку и поместить её в массив keyframes. Не используйте пояснительный текст из документа в качестве входного изображения.

Ниже приведён реальный окончательный response производственной задачи от 2026-10-01 (не имитированный ответ); только URL видео заменён на долгосрочную демонстрационную копию с тем же хешем. В тестовом вводе использовалась исходная строка base64 PNG размером 1280×720 в качестве одного ключевого кадра; приведённый выше URL-ввод является отдельным примером параметров.

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

[Посмотреть видео из реального теста](https://cdn.acedata.cloud/assets/examples/flux/b1106de8-d586-4e23-b489-381e2f86a10f-bef14458cc9d.mp4)。

## 5. Продолжение видео

Передайте адрес существующего видеофайла в `start_video`, `mode=v2v`, продолжительность — максимум 15 секунд.

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

### Выходные данные реального теста продолжения видео

Ниже приведён полный ввод данного реального теста; при воспроизведении улучшения черновика необходимо заменить на собственный ID черновика. URL материала использует долгосрочную примерную копию того же файла:

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

Ниже приведён реальный финальный response производственной задачи от 2026-10-01 (не смоделированный ответ); только URL видео заменён на долгосрочную примерную копию с тем же хешем.

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

[Посмотреть видео из реального теста](https://cdn.acedata.cloud/assets/examples/flux/8af9aa42-7e4d-47a4-bd61-144d97440c91-a512d6574811.mp4)。

В качестве `start_video` в реальном тесте использовалось [готовое видео черновика](https://cdn.acedata.cloud/assets/examples/flux/b41293be-94c0-4dc7-9f39-ce04f0a8798d-c055a3079059.mp4), остальные параметры: duration=5、resolution=hd、generate\_audio=false。

## 6. Сначала черновик, затем улучшение

1. Создайте черновик с `draft=true`、`resolution=hd` и дождитесь успеха.
2. Получите ID черновика платформы из итогового `data[0].draft_task_id`.
3. Отправьте запрос на улучшение с учётными данными приложения того же владельца:

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

При улучшении черновика нельзя передавать `prompt`、`duration`、`aspect_ratio`、`version`、`generate_audio`、`draft`、`keyframes`、`start_video` для переопределения исходного содержимого. Кэш черновика является временным ресурсом, пожалуйста, своевременно выполняйте улучшение; постоянное хранение или фиксированное число дней хранения не гарантируются. Черновики не от владельца/не из текущего приложения, незавершённые черновики и недействительный кэш не могут быть использованы повторно. Черновик и улучшение — это две задачи, и после успеха они тарифицируются отдельно.

### Выходные данные реального теста улучшения черновика

Ниже приведён полный ввод данного реального теста; при воспроизведении улучшения черновика необходимо заменить на собственный ID черновика. URL материала использует долгосрочную примерную копию того же файла:

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

Ниже приведён реальный финальный response производственной задачи от 2026-10-01 (не смоделированный ответ); только URL видео заменён на долгосрочную примерную копию с тем же хешем.

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

[Посмотреть видео из реального теста](https://cdn.acedata.cloud/assets/examples/flux/1db6243b-4a05-4484-828c-25bb17de7108-058d92166607.mp4)。

В реальном тесте использовались собственный draft\_task\_id=b41293be-94c0-4dc7-9f39-ce04f0a8798d、resolution=hd；итоговый usage.mode=t2v обозначает исходный режим черновика. Эта задача тарифицируется отдельно от исходного черновика.

## 7. Сквозной вызов Python

Установите `requests`, задайте собственный Token и запустите приведённый ниже скрипт, чтобы выполнить «одна отправка → опрос → вывод URL видео». Для запросов и повторных попыток сети следует использовать исходный task\_id, чтобы избежать повторной отправки платных задач.

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

После тайм-аута сети не считайте неизвестный статус ошибкой и не отправляйте запрос немедленно повторно. Если `task_id` уже получен, продолжайте запрашивать эту задачу; сохраняйте `task_id` и `trace_id` для упрощения диагностики. Сам интерфейс опроса не взимает плату за генерацию.

## 8. Использование обратного вызова

При отправке добавьте `callback_url`; после завершения задачи на этот адрес будет отправлен POST-запрос с итоговым JSON-результатом. Структура успешного результата совпадает с ранее описанным response, а при ошибке содержит 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"
}
```

Адрес обратного вызова должен быть доступен из публичной сети. После получения уведомления выполняйте идемпотентную обработку по `task_id`, как можно скорее возвращайте 2xx; бизнес-обработку можно поставить в очередь. Этот документ не заявляет, что обратный вызов имеет аутентификацию подписью: перед чувствительными операциями, такими как предоставление бизнес-привилегий, используйте собственный Token для запроса той же задачи и проверки результата. Если обратный вызов не получен, также можно продолжать опрос, не генерируйте повторно.

## 9. Текущие тарифы и таблица цен

Обновлено 2026-10-02: цены за единицу для всех уровней этого видеоинтерфейса снижены примерно на 6,33%; способ измерения, пакеты и правила скидок на потребление остаются без изменений. Исторический `cost` в фактически измеренном ранее response является счётом на момент завершения задачи и не представляет текущую цену.

Генерация видео тарифицируется по **фактическому количеству секунд на выходе**. Ниже приведены текущие цены в Credits без применения скидок на потребление аккаунта, соответствующие правилам на [странице цен Flux](https://platform.acedata.cloud/services/flux?tab=pricing).

| Операция/режим | Разрешение | Цена в Credits |
| - | - | -: |
| Черновик t2v / i2v | hd | 0.555 / секунда |
| Черновик v2v | hd | 1.11 / секунда |
| Улучшение t2v / i2v / соответствующего черновика | hd | 1.5725 / секунда |
| То же самое | fhd | 2.6825 / секунда |
| То же самое | qhd | 3.7 / секунда |
| То же самое | uhd | 7.4 / секунда |
| Улучшение v2v / соответствующего черновика | hd | 3.7925 / секунда |
| То же самое | fhd | 4.9025 / секунда |
| То же самое | qhd | 6.0125 / секунда |
| То же самое | uhd | 8.7875 / секунда |

Конвертация в доллары США: `фактическая стоимость (USD) = cost.amount (Credits) × price пакета / amount пакета`. Уровни пополнения и скидки на потребление влияют на фактическую цену, Credits нельзя напрямую считать USD. За неудачные задачи плата за генерацию не взимается; окончательная сумма определяется результатом завершения и записями вызовов в консоли.

## 10. Частые вопросы и диагностика

| Ситуация | Рекомендация |
| - | - |
| Ошибка параметров (400) | Проверьте action=generate, mode, duration, формат ключевых кадров; не смешивайте поля разных режимов генерации |
| Ошибка аутентификации (401) | Проверьте Bearer Token, разрешения приложения и действительность учётных данных |
| Отклонено модерацией контента (403) | Скорректируйте материалы и подсказки, не отправляйте повторно без изменений |
| Ограничение скорости (429) | Уменьшите параллелизм, повторяйте запросы с экспоненциальной задержкой |
| service\_unavailable (503) | Текущая операция недоступна; принятые асинхронные задачи могут сообщить эту ошибку в итоговом response |
| `task_id` уже возвращён, но видео ещё нет | Продолжайте запрашивать response, не считайте HTTP 200 завершением генерации |
| Черновик нельзя повторно использовать | Убедитесь, что это ваш аккаунт/текущее приложение, задача завершена, исходный запрос содержал draft=true, и проверьте, что временный кэш всё ещё действителен |

При отправке отзыва предоставьте `task_id`, `trace_id`, время запроса и обезличенные параметры, не отправляйте API Token. Дополнительные способы смотрите в [руководстве по интеграции Flux MCP](https://platform.acedata.cloud/documents/flux-mcp).


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