Vai al contenuto principale
La principale funzionalità dell’API Fish Tasks è quella di interrogare lo stato di esecuzione di un’attività utilizzando l’ID dell’attività generato dall’API Fish Audios Generation. Questo documento fornirà una dettagliata descrizione dell’integrazione dell’API Fish Tasks, aiutandoti a integrare facilmente e sfruttare appieno le potenti funzionalità di questa API. Con l’API Fish Tasks, puoi facilmente interrogare lo stato di esecuzione delle attività dell’API Fish Audios Generation.

Processo di richiesta

Per utilizzare l’API Fish Tasks, è necessario prima andare alla pagina di richiesta Fish Audios Generation API per richiedere il servizio corrispondente, quindi copiare l’ID dell’attività dell’API Fish Audios Generation, come mostrato nell’immagine:

Infine, accedi alla pagina dell’API Tasks Fish Tasks API per richiedere il servizio corrispondente. Una volta entrato nella pagina, fai clic sul pulsante “Acquire”, come mostrato nell’immagine: Pagina di richiesta Se non hai ancora effettuato il login o la registrazione, verrai automaticamente reindirizzato alla pagina di login che ti invita a registrarti e accedere. Dopo aver effettuato il login o la registrazione, verrai automaticamente riportato alla pagina corrente. Alla prima richiesta, verrà offerto un credito gratuito, che ti consente di utilizzare gratuitamente questa API.

Esempio di richiesta

L’API Fish Tasks può essere utilizzata per interrogare i risultati dell’API Fish Audios Generation. Per informazioni su come utilizzare l’API Fish Audios Generation, fare riferimento al documento Fish Videos Generation API. Prendiamo come esempio un ID di attività restituito dal servizio Fish Audios Generation API, per dimostrare come utilizzare questa API. Supponiamo di avere un ID di attività: 2725a2d3-f87e-4905-9c53-9988d5a7b2f5, e ora dimostreremo come passare un ID di attività.

Esempio di attività

Impostazione dell’intestazione della richiesta e del corpo della richiesta

Request Headers includono:
  • accept: specifica di ricevere la risposta in formato JSON, qui si compila con application/json.
  • authorization: la chiave per chiamare l’API, che può essere selezionata direttamente dopo la richiesta.
Request Body include:
  • id: l’ID dell’attività caricata.
  • action: il modo di operare sull’attività.
Impostato come mostrato nell’immagine:

Esempio di codice

Si può notare che, sul lato destro della pagina, sono già stati generati automaticamente codici in varie lingue, come mostrato nell’immagine:

Alcuni esempi di codice sono i seguenti:

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

Esempio di risposta

Dopo una richiesta riuscita, l’API restituirà le informazioni dettagliate di questa attività. Ad esempio:
{
  "_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"
      }
    ]
  }
}
Il risultato restituito contiene diversi campi, il campo request è il corpo della richiesta al momento dell’avvio dell’attività, mentre il campo response è il corpo della risposta restituito al termine dell’attività. La descrizione dei campi è la seguente.
  • id, l’ID che ha generato questa attività, utilizzato per identificare univocamente questa generazione di attività.
  • request, informazioni sulla richiesta nell’attività.
  • response, informazioni sulla risposta nell’attività.

Operazione di query in batch

Questa è per interrogare i dettagli di più ID di attività, a differenza di quanto sopra, è necessario selezionare l’azione come retrieve_batch. Request Body include:
  • ids: array degli ID delle attività caricate.
  • action: il modo di operare sull’attività.
Impostato come mostrato nell’immagine:

Esempio di codice

Si può notare che, sul lato destro della pagina, sono già stati generati automaticamente codici in varie lingue, come mostrato nell’immagine:

Alcuni esempi di codice sono i seguenti:

Esempio di risposta

Dopo una richiesta riuscita, l’API restituirà le informazioni dettagliate di tutte le attività in batch. Ad esempio:
{
  "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": "un gatto siamese bianco",
        "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": "un gatto siamese bianco",
        "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"
}'

Errore di gestione

In caso di errore durante la chiamata all’API, l’API restituirà il codice di errore e le informazioni corrispondenti. Ad esempio:
  • 400 token_mismatched:Richiesta non valida, probabilmente a causa di parametri mancanti o non validi.
  • 400 api_not_implemented:Richiesta non valida, probabilmente a causa di parametri mancanti o non validi.
  • 401 invalid_token:Non autorizzato, token di autorizzazione non valido o mancante.
  • 429 too_many_requests:Troppe richieste, hai superato il limite di frequenza.
  • 500 api_error:Errore interno del server, qualcosa è andato storto sul server.

Esempio di risposta di errore

{
  "success": false,
  "error": {
    "code": "api_error",
    "message": "fetch failed"
  },
  "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}

Conclusione

Attraverso questo documento, hai compreso come utilizzare l’API Fish Tasks per interrogare i dettagli specifici di singoli o batch di attività. Speriamo che questo documento possa aiutarti a integrare e utilizzare meglio questa API. Se hai domande, non esitare a contattare il nostro team di supporto tecnico.