Zum Hauptinhalt springen
Die Hauptfunktion der Fish Tasks API besteht darin, den Status der Ausführung eines Auftrags anhand der von der Fish Audios Generation API generierten Auftrags-ID abzufragen. Dieses Dokument wird die Integrationsanweisungen für die Fish Tasks API detailliert beschreiben, um Ihnen zu helfen, diese API einfach zu integrieren und ihre leistungsstarken Funktionen voll auszuschöpfen. Mit der Fish Tasks API können Sie den Status der Ausführung von Aufträgen der Fish Audios Generation API problemlos abfragen.

Antragsprozess

Um die Fish Tasks API zu nutzen, müssen Sie zunächst auf die Anmeldeseite Fish Audios Generation API gehen und den entsprechenden Dienst beantragen, dann kopieren Sie die Auftrags-ID der Fish Audios Generation API, wie im Bild gezeigt:

Gehen Sie schließlich zur Tasks API-Seite Fish Tasks API, um den entsprechenden Dienst zu beantragen. Klicken Sie nach dem Betreten der Seite auf die Schaltfläche „Acquire“, wie im Bild gezeigt: Anmeldeseite Wenn Sie noch nicht angemeldet oder registriert sind, werden Sie automatisch zur Anmeldeseite weitergeleitet, um sich zu registrieren und anzumelden. Nach der Anmeldung werden Sie automatisch zur aktuellen Seite zurückgeleitet. Bei der ersten Beantragung erhalten Sie ein kostenloses Kontingent, mit dem Sie diese API kostenlos nutzen können.

Anfragebeispiel

Die Fish Tasks API kann verwendet werden, um die Ergebnisse der Fish Audios Generation API abzufragen. Informationen zur Verwendung der Fish Audios Generation API finden Sie im Dokument Fish Videos Generation API. Wir nehmen eine von der Fish Audios Generation API zurückgegebene Auftrags-ID als Beispiel und demonstrieren, wie man diese API verwendet. Angenommen, wir haben eine Auftrags-ID: 2725a2d3-f87e-4905-9c53-9988d5a7b2f5, im Folgenden zeigen wir, wie man durch Eingabe einer Auftrags-ID vorgeht.

Auftragsbeispielbild

Anfrageheader und Anfragekörper festlegen

Request Headers umfassen:
  • accept: Gibt an, dass die Antwort im JSON-Format empfangen werden soll, hier eingetragen als application/json.
  • authorization: Der Schlüssel zur API, der nach der Beantragung direkt ausgewählt werden kann.
Request Body umfasst:
  • id: Die hochgeladene Auftrags-ID.
  • action: Die Art der Operation für den Auftrag.
Einstellung wie im folgenden Bild gezeigt:

Codebeispiel

Es kann festgestellt werden, dass auf der rechten Seite der Seite bereits automatisch Code in verschiedenen Sprachen generiert wurde, wie im Bild gezeigt:

Einige Codebeispiele sind wie folgt:

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

Antwortbeispiel

Nach erfolgreicher Anfrage gibt die API die Detailinformationen zu diesem Auftrag zurück. Zum Beispiel:
{
  "_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"
      }
    ]
  }
}
Die Rückgabe enthält mehrere Felder, das request-Feld ist der request body, der beim Starten des Auftrags gesendet wurde, während das response-Feld der response body ist, der nach Abschluss des Auftrags zurückgegeben wird. Die Feldbeschreibung ist wie folgt.
  • id, die ID, die diesen Auftrag generiert hat, um diesen Generierungsauftrag eindeutig zu identifizieren.
  • request, die Anfrageinformationen im Auftrag.
  • response, die Rückgabeinformationen im Auftrag.

Batch-Abfrageoperation

Dies ist eine Abfrage der Auftragsdetails für mehrere Auftrags-IDs. Im Gegensatz zu oben muss die Aktion auf retrieve_batch gesetzt werden. Request Body umfasst:
  • ids: Ein Array der hochgeladenen Auftrags-IDs.
  • action: Die Art der Operation für den Auftrag.
Einstellung wie im folgenden Bild gezeigt:

Codebeispiel

Es kann festgestellt werden, dass auf der rechten Seite der Seite bereits automatisch Code in verschiedenen Sprachen generiert wurde, wie im Bild gezeigt:

Einige Codebeispiele sind wie folgt:

Antwortbeispiel

Nach erfolgreicher Anfrage gibt die API die spezifischen Detailinformationen zu allen Batch-Aufträgen zurück. Zum Beispiel:
{
  "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": "eine weiße Siamkatze",
        "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": "eine weiße Siamkatze",
        "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
}
Fehlerbehandlung Bei der Verwendung der API, wenn ein Fehler auftritt, gibt die API den entsprechenden Fehlercode und die Informationen zurück. Zum Beispiel:
  • 400 token_mismatched: Ungültige Anfrage, möglicherweise aufgrund fehlender oder ungültiger Parameter.
  • 400 api_not_implemented: Ungültige Anfrage, möglicherweise aufgrund fehlender oder ungültiger Parameter.
  • 401 invalid_token: Unbefugt, ungültiger oder fehlender Autorisierungstoken.
  • 429 too_many_requests: Zu viele Anfragen, Sie haben das Kontingent überschritten.
  • 500 api_error: Interner Serverfehler, etwas ist auf dem Server schiefgelaufen.

Fehlerantwort Beispiel

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

Fazit

Durch dieses Dokument haben Sie gelernt, wie Sie die Fish Tasks API verwenden, um die spezifischen Detailinformationen zu einzelnen oder Batch-Aufgaben abzufragen. Wir hoffen, dass dieses Dokument Ihnen hilft, die API besser zu integrieren und zu nutzen. Bei Fragen wenden Sie sich bitte jederzeit an unser technisches Support-Team.