Перейти к основному содержанию
Основная функция 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, в качестве примера, чтобы продемонстрировать, как использовать этот 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
}
返回结果一共有多个字段,其中items是包含了批量任务的具体详情信息,每个任务的具体信息与上文的字段一样,字段信息如下。
  • items,批量任务的所有具体详情信息。它是一个数组,每个数组的元素 и上文查询单个任务的返回结果格式是一样的。
  • count,此处批量查询任务的个数。

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": "fetch failed"
  },
  "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}

Заключение

С помощью этого документа вы узнали, как использовать Fish Tasks API для запроса всех конкретных деталей о единичных или пакетных задачах. Надеемся, что этот документ поможет вам лучше интегрировать и использовать этот API. Если у вас есть какие-либо вопросы, пожалуйста, не стесняйтесь обращаться в нашу техническую поддержку.