Hoppa till huvudinnehåll
Fish Tasks API:s huvudfunktion är att genom att ange det uppdrag-ID som genererats av Fish Audios Generation API för att kontrollera statusen för det uppdraget. Detta dokument kommer att detaljerat beskriva integrationen av Fish Tasks API, för att hjälpa dig att enkelt integrera och fullt utnyttja den kraftfulla funktionen hos detta API. Genom Fish Tasks API kan du enkelt kontrollera statusen för uppdrag som utförs av Fish Audios Generation API.

Ansökningsprocess

För att använda Fish Tasks API måste du först gå till ansökningssidan Fish Audios Generation API för att ansöka om den aktuella tjänsten, och sedan kopiera uppdrag-ID:t från Fish Audios Generation API, som visas i bilden:

Slutligen går du till Tasks API-sidan Fish Tasks API för att ansöka om den aktuella tjänsten. När du kommer till sidan klickar du på knappen “Acquire”, som visas i bilden: Ansökningssidan Om du inte har loggat in eller registrerat dig kommer du automatiskt att omdirigeras till inloggningssidan för att registrera dig och logga in. Efter inloggning och registrering kommer du automatiskt att återvända till den aktuella sidan. Vid första ansökan kommer det att finnas en gratis kvot som ges, så att du kan använda detta API gratis.

Begärningsexempel

Fish Tasks API kan användas för att kontrollera resultaten från Fish Audios Generation API. För information om hur man använder Fish Audios Generation API, se dokumentet Fish Videos Generation API. Vi tar ett exempel med ett uppdrag-ID som returnerats av Fish Audios Generation API för att demonstrera hur man använder detta API. Anta att vi har ett uppdrag-ID: 2725a2d3-f87e-4905-9c53-9988d5a7b2f5, och vi visar hur man gör detta genom att ange ett uppdrag-ID.

Uppdragsexempelbild

Ställ in begärningshuvuden och begärningskropp

Begärningshuvuden inkluderar:
  • accept: anger att du tar emot svar i JSON-format, här anges som application/json.
  • authorization: nyckeln för att anropa API:t, som kan väljas direkt efter ansökan.
Begärningskropp inkluderar:
  • id: det uppladdade uppdrag-ID:t.
  • action: hur uppdraget ska hanteras.
Inställningarna visas i bilden nedan:

Kodexempel

Det kan noteras att olika språkets kod redan har genererats automatiskt på högra sidan, som visas i bilden:

Några kodexempel är som följer:

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

Svarsexempel

När begäran lyckas kommer API:t att returnera detaljerad information om detta uppdrag. Till exempel:
{
  "_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"
      }
    ]
  }
}
Det returnerade resultatet innehåller flera fält, där request-fältet är begärningskroppen vid uppdragets start, medan response-fältet är svaret som returneras efter att uppdraget har slutförts. Fälten beskrivs nedan.
  • id, ID:t för att generera detta uppdrag, används för att unikt identifiera detta genererade uppdrag.
  • request, begärningsinformationen i uppdraget.
  • response, svarsinformationen i uppdraget.

Batchfrågeoperationer

Detta är för att fråga detaljer om flera uppdrag-ID:n, och till skillnad från ovan måste action väljas som retrieve_batch. Begärningskropp inkluderar:
  • ids: en array av uppladdade uppdrag-ID:n.
  • action: hur uppdraget ska hanteras.
Inställningarna visas i bilden nedan:

Kodexempel

Det kan noteras att olika språkets kod redan har genererats automatiskt på högra sidan, som visas i bilden:

Några kodexempel är som följer:

Svarsexempel

När begäran lyckas kommer API:t att returnera detaljerad information om alla batchuppdrag. Till exempel:
{
  "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": "en vit siamesisk katt",
        "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": "en vit siamesisk katt",
        "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,批量uppgiftens alla specifika detaljer. Det är en array, varje element i arrayen har samma format som resultatet av att fråga enskilda uppgifter.
  • count,detta är antalet uppgifter i batchfrågan.

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

Felhantering

Vid anrop av API:et, om ett fel uppstår, kommer API:et att returnera motsvarande felkod och information. Till exempel:
  • 400 token_mismatched:Dålig begäran, möjligtvis på grund av saknade eller ogiltiga parametrar.
  • 400 api_not_implemented:Dålig begäran, möjligtvis på grund av saknade eller ogiltiga parametrar.
  • 401 invalid_token:Obehörig, ogiltig eller saknad auktoriseringstoken.
  • 429 too_many_requests:För många begärningar, du har överskridit hastighetsgränsen.
  • 500 api_error:Intern serverfel, något gick fel på servern.

Felrespons exempel

{
  "success": false,
  "error": {
    "code": "api_error",
    "message": "hämtning misslyckades"
  },
  "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}

Slutsats

Genom detta dokument har du fått en förståelse för hur man använder Fish Tasks API för att fråga enskilda eller batchuppgifters alla specifika detaljer. Vi hoppas att detta dokument kan hjälpa dig att bättre integrera och använda API:et. Om du har några frågor, tveka inte att kontakta vårt tekniska supportteam.