Перейти до основного вмісту
Основна функція Fish Tasks API полягає в тому, щоб за допомогою введеного ID завдання, згенерованого Fish Audios Generation API, перевіряти стан виконання цього завдання. Цей документ детально описує інтеграцію Fish Tasks API, щоб допомогти вам легко інтегрувати та повністю використовувати потужні можливості цього API. За допомогою Fish Tasks API ви можете легко реалізувати перевірку стану виконання завдань Fish Audios Generation API.

Процес подачі заявки

Щоб використовувати Fish Tasks API, спочатку потрібно перейти на сторінку подачі заявки Fish Audios Generation API для отримання відповідної послуги, а потім скопіювати ID завдання Fish Audios Generation API, як показано на малюнку:

Нарешті, перейдіть на сторінку Tasks API Fish Tasks API для отримання відповідної послуги, після входу на сторінку натисніть кнопку «Acquire», як показано на малюнку: Сторінка подачі заявки Якщо ви ще не увійшли в систему або не зареєстровані, вас автоматично перенаправлять на сторінку входу, запрошуючи вас зареєструватися та увійти. Після входу або реєстрації ви автоматично повернетеся на поточну сторінку. При першій подачі заявки вам буде надано безкоштовний ліміт, який дозволяє безкоштовно використовувати цей API.

Приклад запиту

Fish Tasks API можна використовувати для перевірки результатів Fish Audios Generation API. Щоб дізнатися, як використовувати Fish Audios Generation API, зверніться до документа Fish Videos Generation API. Розглянемо приклад з ID завдання, повернутим сервісом Fish Audios Generation API. Припустимо, у нас є ID завдання: 2725a2d3-f87e-4905-9c53-9988d5a7b2f5, далі демонструємо, як передати цей ID завдання.

Приклад завдання

Налаштування заголовків запиту та тіла запиту

Request Headers включає:
  • accept: вказує на прийняття відповіді у форматі JSON, тут вказується application/json.
  • authorization: ключ для виклику API, після подачі заявки можна вибрати з випадаючого списку.
Request Body включає:
  • id: ID завдання, яке потрібно завантажити.
  • action: спосіб виконання завдання.
Налаштування, як показано на малюнку:

Приклад коду

Можна помітити, що на правій стороні сторінки вже автоматично згенеровано код на різних мовах, як показано на малюнку:

Частина прикладів коду наведена нижче:

CURL

curl -X POST 'https://api.acedata.cloud/fish/tasks' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "id": "2725a2d3-f87e-4905-9c53-9988d5a7b2f5",
  "action": "retrieve"
}'

Приклад відповіді

Після успішного запиту API поверне детальну інформацію про це завдання. Наприклад:
{
  "_id": "68cfad98550a4144a5476a92",
  "id": "2725a2d3-f87e-4905-9c53-9988d5a7b2f5",
  "api_id": "8e6f8083-4683-45fe-a993-3e1d993fc999",
  "application_id": "3559d836-2505-46be-96ea-ea72bcb7c080",
  "created_at": 1758440856.34,
  "credential_id": "881ad87d-8ba7-40b7-ac45-d19e41ae6e3a",
  "request": {
    "action": "speech",
    "prompt": "a white siamese cat",
    "model": "fish-tts",
    "voice_id": "d7900c21663f485ab63ebdb7e5905036",
    "callback_url": "https://webhook.site/4815f79f-a40f-4078-ac85-1cc126b6bb34"
  },
  "trace_id": "e2d308bc-4df8-4c69-9369-a60f3c54f2b3",
  "type": "audios",
  "user_id": "ad7afe47-cea9-4cda-980f-2ad8810e51cf",
  "response": {
    "success": true,
    "task_id": "2725a2d3-f87e-4905-9c53-9988d5a7b2f5",
    "trace_id": "e2d308bc-4df8-4c69-9369-a60f3c54f2b3",
    "data": [
      {
        "audio_url": "https://platform.r2.fish.audio/task/b627c2f7d38a4083a837570ba6d0962f.mp3"
      }
    ]
  }
}
У відповіді є кілька полів, поле request - це тіло запиту, яке було надіслано під час створення завдання, а поле response - це тіло відповіді, яке повертається після завершення завдання. Ось опис полів.
  • id, ID, що генерує це завдання, використовується для унікальної ідентифікації цього завдання.
  • request, інформація про запит у завданні.
  • response, інформація про відповідь у завданні.

Пакетний запит

Це запит для перевірки деталей кількох ID завдань, на відміну від попереднього, потрібно вибрати action як retrieve_batch. Request Body включає:
  • ids: масив ID завдань, які потрібно завантажити.
  • action: спосіб виконання завдання.
Налаштування, як показано на малюнку:

Приклад коду

Можна помітити, що на правій стороні сторінки вже автоматично згенеровано код на різних мовах, як показано на малюнку:

Частина прикладів коду наведена нижче:

Приклад відповіді

Після успішного запиту API поверне детальну інформацію про всі пакетні завдання. Наприклад:
{
  "items": [
    {
      "_id": "68cfad98550a4144a5476a92",
      "id": "2725a2d3-f87e-4905-9c53-9988d5a7b2f5",
      "api_id": "8e6f8083-4683-45fe-a993-3e1d993fc999",
      "application_id": "3559d836-2505-46be-96ea-ea72bcb7c080",
      "created_at": 1758440856.34,
      "credential_id": "881ad87d-8ba7-40b7-ac45-d19e41ae6e3a",
      "request": {
        "action": "speech",
        "prompt": "білий сіамський кіт",
        "model": "fish-tts",
        "voice_id": "d7900c21663f485ab63ebdb7e5905036",
        "callback_url": "https://webhook.site/4815f79f-a40f-4078-ac85-1cc126b6bb34"
      },
      "trace_id": "e2d308bc-4df8-4c69-9369-a60f3c54f2b3",
      "type": "audios",
      "user_id": "ad7afe47-cea9-4cda-980f-2ad8810e51cf",
      "response": {
        "success": true,
        "task_id": "2725a2d3-f87e-4905-9c53-9988d5a7b2f5",
        "trace_id": "e2d308bc-4df8-4c69-9369-a60f3c54f2b3",
        "data": [
          {
            "audio_url": "https://platform.r2.fish.audio/task/b627c2f7d38a4083a837570ba6d0962f.mp3"
          }
        ]
      }
    },
    {
      "_id": "68cfad98550a4144a5476a92",
      "id": "2725a2d3-f87e-4905-9c53-9988d5a7b2f5",
      "api_id": "8e6f8083-4683-45fe-a993-3e1d993fc999",
      "application_id": "3559d836-2505-46be-96ea-ea72bcb7c080",
      "created_at": 1758440856.34,
      "credential_id": "881ad87d-8ba7-40b7-ac45-d19e41ae6e3a",
      "request": {
        "action": "speech",
        "prompt": "білий сіамський кіт",
        "model": "fish-tts",
        "voice_id": "d7900c21663f485ab63ebdb7e5905036",
        "callback_url": "https://webhook.site/4815f79f-a40f-4078-ac85-1cc126b6bb34"
      },
      "trace_id": "e2d308bc-4df8-4c69-9369-a60f3c54f2b3",
      "type": "audios",
      "user_id": "ad7afe47-cea9-4cda-980f-2ad8810e51cf",
      "response": {
        "success": true,
        "task_id": "2725a2d3-f87e-4905-9c53-9988d5a7b2f5",
        "trace_id": "e2d308bc-4df8-4c69-9369-a60f3c54f2b3",
        "data": [
          {
            "audio_url": "https://platform.r2.fish.audio/task/b627c2f7d38a4083a837570ba6d0962f.mp3"
          }
        ]
      }
    }
  ],
  "count": 2
}

CURL

curl -X POST 'https://api.acedata.cloud/fish/tasks' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "ids": ["2725a2d3-f87e-4905-9c53-9988d5a7b2f5","2725a2d3-f87e-4905-9c53-9988d5a7b2f5"],
  "action": "retrieve_batch"
}'

Помилка обробки

У разі виклику API, якщо виникає помилка, API поверне відповідний код помилки та інформацію. Наприклад:
  • 400 token_mismatched:Неправильний запит, можливо, через відсутні або недійсні параметри.
  • 400 api_not_implemented:Неправильний запит, можливо, через відсутні або недійсні параметри.
  • 401 invalid_token:Неавторизовано, недійсний або відсутній токен авторизації.
  • 429 too_many_requests:Занадто багато запитів, ви перевищили ліміт запитів.
  • 500 api_error:Внутрішня помилка сервера, щось пішло не так на сервері.

Приклад відповіді на помилку

{
  "success": false,
  "error": {
    "code": "api_error",
    "message": "не вдалося отримати"
  },
  "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}

Висновок

За допомогою цього документа ви дізналися, як використовувати Fish Tasks API для запиту всіх конкретних деталей окремих або пакетних завдань. Сподіваємося, що цей документ допоможе вам краще інтегрувати та використовувати цей API. Якщо у вас є будь-які питання, будь ласка, звертайтеся до нашої технічної підтримки.