Przejdź do głównej treści
Główną funkcją Fish Tasks API jest możliwość sprawdzania statusu wykonania zadań za pomocą ID zadań generowanych przez Fish Audios Generation API. Dokument ten szczegółowo opisuje integrację Fish Tasks API, aby pomóc Ci łatwo zintegrować i w pełni wykorzystać potężne możliwości tego API. Dzięki Fish Tasks API możesz łatwo sprawdzić status wykonania zadań w Fish Audios Generation API.

Proces aplikacji

Aby korzystać z Fish Tasks API, najpierw należy przejść do strony aplikacji Fish Audios Generation API i złożyć wniosek o odpowiednią usługę, a następnie skopiować ID zadania z Fish Audios Generation API, jak pokazano na obrazku:

Na koniec przejdź do strony Tasks API Fish Tasks API i złóż wniosek o odpowiednią usługę, po wejściu na stronę kliknij przycisk „Acquire”, jak pokazano na obrazku: Strona aplikacji Jeśli nie jesteś zalogowany lub zarejestrowany, automatycznie zostaniesz przekierowany na stronę logowania, aby zarejestrować się i zalogować, po zalogowaniu lub rejestracji automatycznie wrócisz na bieżącą stronę. Podczas pierwszej aplikacji otrzymasz darmowy limit, który pozwala na bezpłatne korzystanie z tego API.

Przykład żądania

Fish Tasks API może być używane do sprawdzania wyników Fish Audios Generation API. Aby dowiedzieć się, jak korzystać z Fish Audios Generation API, zapoznaj się z dokumentem Fish Videos Generation API. Weźmy jako przykład ID zadania zwrócone przez usługę Fish Audios Generation API, aby pokazać, jak używać tego API. Załóżmy, że mamy ID zadania: 2725a2d3-f87e-4905-9c53-9988d5a7b2f5, a następnie pokażemy, jak to zrobić, przekazując ID zadania.

Przykład zadania

Ustawienia nagłówków żądania i ciała żądania

Nagłówki żądania obejmują:
  • accept: określa, że oczekiwany jest wynik w formacie JSON, tutaj wpisz application/json.
  • authorization: klucz do wywołania API, po złożeniu wniosku można go bezpośrednio wybrać z rozwijanej listy.
Ciało żądania obejmuje:
  • id: ID przesłanego zadania.
  • action: sposób operacji na zadaniu.
Ustawienia są pokazane na poniższym obrazku:

Przykład kodu

Można zauważyć, że po prawej stronie strony automatycznie wygenerowano kod w różnych językach, jak pokazano na obrazku:

Przykładowy kod wygląda następująco:

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

Przykład odpowiedzi

Po pomyślnym wykonaniu żądania API zwróci szczegółowe informacje o tym zadaniu. Na przykład:
{
  "_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"
      }
    ]
  }
}
Zwracany wynik zawiera wiele pól, pole request to ciało żądania podczas inicjowania zadania, a pole response to ciało odpowiedzi zwrócone po zakończeniu zadania. Opis pól jest następujący.
  • id, ID generujące to zadanie, używane do unikalnej identyfikacji tego zadania.
  • request, informacje o żądaniu w zadaniu.
  • response, informacje o odpowiedzi w zadaniu.

Operacje zbiorcze

To jest zapytanie o szczegóły wielu ID zadań, w przeciwieństwie do powyższego, należy wybrać akcję jako retrieve_batch. Ciało żądania obejmuje:
  • ids: tablica ID przesłanych zadań.
  • action: sposób operacji na zadaniu.
Ustawienia są pokazane na poniższym obrazku:

Przykład kodu

Można zauważyć, że po prawej stronie strony automatycznie wygenerowano kod w różnych językach, jak pokazano na obrazku:

Przykładowy kod wygląda następująco:

Przykład odpowiedzi

Po pomyślnym wykonaniu żądania API zwróci szczegółowe informacje o wszystkich zadaniach w partii. Na przykład:
{
  "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": "mowa",
        "prompt": "biały kot syjamski",
        "model": "fish-tts",
        "voice_id": "d7900c21663f485ab63ebdb7e5905036",
        "callback_url": "https://webhook.site/4815f79f-a40f-4078-ac85-1cc126b6bb34"
      },
      "trace_id": "e2d308bc-4df8-4c69-9369-a60f3c54f2b3",
      "type": "audio",
      "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": "mowa",
        "prompt": "biały kot syjamski",
        "model": "fish-tts",
        "voice_id": "d7900c21663f485ab63ebdb7e5905036",
        "callback_url": "https://webhook.site/4815f79f-a40f-4078-ac85-1cc126b6bb34"
      },
      "trace_id": "e2d308bc-4df8-4c69-9369-a60f3c54f2b3",
      "type": "audio",
      "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,批量任务的所有具体详情信息。它 jest tablicą, każdy element tablicy ma taki sam format jak wynik zapytania pojedynczego zadania.
  • 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:Złe żądanie, prawdopodobnie z powodu brakujących lub nieprawidłowych parametrów.
  • 400 api_not_implemented:Złe żądanie, prawdopodobnie z powodu brakujących lub nieprawidłowych parametrów.
  • 401 invalid_token:Nieautoryzowany, nieprawidłowy lub brakujący token autoryzacyjny.
  • 429 too_many_requests:Zbyt wiele żądań, przekroczyłeś limit szybkości.
  • 500 api_error:Błąd wewnętrzny serwera, coś poszło nie tak na serwerze.

错误响应示例

{
  "success": false,
  "error": {
    "code": "api_error",
    "message": "pobieranie nie powiodło się"
  },
  "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}

结论

通过本文档,您已经了解了如何使用 Fish Tasks API 进行查询单个或批量任务的所有具体详情信息。希望本文档能帮助您更好地对接和使用该 API。如有任何问题,请随时联系我们的技术支持团队。