Skip to main content
Dieser Artikel beschreibt eine Integrationsanleitung für die Producer Audios Generation API, die es ermöglicht, durch Eingabe benutzerdefinierter Parameter die offizielle Musik von Producer zu generieren.

Antragsprozess

Um die Producer Audios Generation API zu nutzen, müssen Sie zunächst Ihr API-Token im Ace Data Cloud Dashboard abrufen und für zukünftige Verwendung aufbewahren. Wenn Sie noch nicht angemeldet oder registriert sind, werden Sie automatisch zur Anmeldeseite weitergeleitet, die Sie zur Registrierung und Anmeldung einlädt. Nach Abschluss werden Sie automatisch zur aktuellen Seite zurückgeleitet. Ein API-Token reicht aus, um auf alle Dienste der Plattform zuzugreifen, es ist nicht erforderlich, für jeden Dienst separat zu beantragen. Bei der ersten Beantragung erhalten Sie ein kostenloses Kontingent, um die Dienste kostenlos auszuprobieren; wenn das Kontingent erschöpft ist, können Sie im Dashboard Ihr Guthaben aufladen.
📘 Vollständige Dokumentation: Producer Audios Generation API →

Grundlegende Nutzung

Was auch immer Sie sich für Lieder wünschen, können Sie einen beliebigen Text eingeben. Wenn ich zum Beispiel ein Lied über Weihnachten generieren möchte, kann ich a song for Christmas eingeben, wie im Bild gezeigt:

Hier haben wir die Request-Header festgelegt, einschließlich:
  • accept: In welchem Format Sie die Antwort erhalten möchten, hier eingetragen als application/json, also im JSON-Format.
  • authorization: Der Schlüssel zum Aufrufen der API, den Sie nach der Beantragung direkt auswählen können.
Zusätzlich umfassen die Parameter des Request-Body:
  • action: Die Aktion dieser Musikgenerierungsaufgabe, um ein Lied zu generieren, ist generate.
  • model: Das Modell, das zur Erstellung des Liedes verwendet wird, derzeit hauptsächlich: FUZZ-2.0 Pro, FUZZ-2.0, FUZZ-2.0 Raw, FUZZ-1.1 Pro, FUZZ-1.0 Pro, FUZZ-1.0, FUZZ-1.1, FUZZ-0.8.
  • lyric: Der Inhalt des Songtextes.
  • custom: Ob das Lied auf benutzerdefinierte Weise generiert werden soll.
  • prompt: Stichworte im Inspirationsmodus.
  • title: Informationen zum Titel des Liedes.
  • audio_id: Referenz-Song-ID für Fortsetzungen/Neuinterpretationen usw.
  • continue_at: Fortsetzung des Liedes ab einer bestimmten Sekunde.
  • replace_section_start/replace_section_end: Start- und Endzeit des zu ersetzenden Abschnitts, in Sekunden.
  • lyrics_strength: Die Stärke des Textes, die angibt, wie stark der Text die Audioerzeugung beeinflusst, wählbar zwischen 0-1, Standardwert 0.7.
  • sound_strength: Die Stärke der Audio-Stichworte, wählbar zwischen 0.2-1, Standardwert 0.7.
  • cover_strength: Die Stärke des Covers, wählbar zwischen 0.2-1, Standardwert 1.
  • weirdness: Der Grad der Stilbesonderheit, wählbar zwischen 0-1, Standardwert 0.5.
  • callback_url: Die URL, an die die Ergebnisse zurückgerufen werden sollen.
  • async: Optional, wenn auf true gesetzt, gibt die Schnittstelle sofort task_id zurück, ohne dass callback_url bereitgestellt werden muss, und die Ergebnisse können dann über die entsprechende Task-Abfrage-Schnittstelle abgefragt werden.
  • instrumental: Ob es sich um einen instrumentalen Modus ohne Text handelt.
Nach der Auswahl können Sie sehen, dass auf der rechten Seite auch der entsprechende Code generiert wurde, wie im Bild gezeigt:

Klicken Sie auf die Schaltfläche „Try“, um einen Test durchzuführen. Wie im obigen Bild gezeigt, haben wir folgendes Ergebnis erhalten:
Die Rückgabe enthält mehrere Felder, die wie folgt beschrieben werden:
  • success, der Status der Musikgenerierungsaufgabe zu diesem Zeitpunkt.
    • data, das Ergebnis dieser Musikaufgabe
      • id, die ID der Musikgenerierungsaufgabe zu diesem Zeitpunkt.
      • sound, das Stichwort der Musikgenerierungsaufgabe zu diesem Zeitpunkt.
      • seed, der Seed-Wert der Musikgenerierungsaufgabe zu diesem Zeitpunkt.
      • audio_url, der Audio-Link der Musikgenerierungsaufgabe zu diesem Zeitpunkt.
      • image_url, der Cover-Link der Musikgenerierungsaufgabe zu diesem Zeitpunkt.
      • image_id, die Cover-ID der Musikgenerierungsaufgabe zu diesem Zeitpunkt.
      • state, der Status der Musikgenerierungsaufgabe zu diesem Zeitpunkt.
      • duration, die Dauer der Musik zu diesem Zeitpunkt.
      • progress, der Fortschrittswert der Musikaufgabe zu diesem Zeitpunkt.
      • model, die Modellinformationen, die für die Musikgenerierungsaufgabe verwendet werden.
      • lyric, die Textinformationen der Musikgenerierungsaufgabe zu diesem Zeitpunkt.
Wir können sehen, dass wir die gewünschten Musikinformationen erhalten haben. Wir müssen nur die Musik-URL aus dem data-Ergebnis abrufen, um die generierte Producer-Musik zu erhalten. Wenn Sie außerdem den entsprechenden Integrationscode generieren möchten, können Sie ihn direkt kopieren, zum Beispiel sieht der CURL-Code wie folgt aus:

Benutzerdefinierte Generierung

Wenn Sie benutzerdefinierte Songtexte generieren möchten, können Sie die Texte eingeben: In diesem Fall kann das lyric-Feld Inhalte wie folgt enthalten:
Anschließend können wir basierend auf den Texten, dem Titel und dem Stil benutzerdefinierte Lieder generieren, indem wir die folgenden Inhalte angeben:
  • lyric:Text der Lyrics
  • custom:Füllen Sie true aus, was bedeutet, dass es sich um eine benutzerdefinierte Generierung handelt. Dieser Parameter ist standardmäßig auf false gesetzt, was bedeutet, dass die Generierung mit prompt erfolgt.
  • title:Der Titel des Songs.
Ein Beispiel zum Ausfüllen ist wie folgt:

Nach dem Ausfüllen wird automatisch der folgende Code generiert:

Der entsprechende Code:
Tests sind erlaubt, das generierte Ergebnis ist ähnlich.

Cover-Song

Wenn Sie einen bereits generierten Song covern möchten, können Sie den oben generierten Song eingeben, um ihn zu covern. Als nächstes werden wir basierend auf den Lyrics und dem Titel einen benutzerdefinierten Song generieren. Wenn Sie einen selbst hochgeladenen Song weiter covern möchten, können Sie den Parameter action auf upload_cover setzen und die ID des Songs eingeben, den Sie weiter covern möchten. Die Song-ID kann mit der Producer Upload API abgerufen werden, wie im folgenden Bild gezeigt:

Sie können die folgenden Inhalte angeben:
  • action:Die Aktion für diese Songaufgabe, derzeit unterstützt: generate, cover, extend, upload_cover, upload_extend, replace_section, swap_vocals, swap_instrumentals, variation, für dieses Cover verwenden Sie den Parameter cover.
  • lyric:Text der Lyrics
  • title:Der Titel des Songs.
  • custom:Ob die benutzerdefinierte Modusgenerierung verwendet werden soll, standardmäßig ist false.
  • audio_id:Die ID des Songs, den Sie covern möchten.
Ein Beispiel zum Ausfüllen ist wie folgt:

Nach dem Ausfüllen wird automatisch der folgende Code generiert:

Der entsprechende Code:
Tests sind erlaubt, das generierte Ergebnis ist ähnlich.

Fortsetzung des Songs

Wenn Sie den Song fortsetzen möchten, müssen wir den action-Parameterwert auf: extend setzen, und dann müssen wir basierend auf den Texten, dem Titel und dem Stil den Song anpassen. Wenn Sie den von Ihnen hochgeladenen Song fortsetzen möchten, können Sie den Parameter action auf upload_extend setzen und die ID des Songs eingeben, den Sie fortsetzen möchten. Die Song-ID kann mit der Producer Upload API abgerufen werden, wie im folgenden Bild gezeigt:

Beispiel für die Eingabe:

Nach dem Ausfüllen wird automatisch der folgende Code generiert:

Der entsprechende Code:
Testen erlaubt, der generierte Effekt ist ähnlich.

Musikvariation

Wenn Sie basierend auf dem Seed-Wert des vorherigen Songs eine neue Musik mit ähnlichem Effekt generieren möchten, müssen wir den action-Parameterwert auf: variation setzen, und dann können wir eine neue Musik mit ähnlichem Effekt anpassen. Beispiel für die Eingabe:

Nach dem Ausfüllen wird automatisch der folgende Code generiert:

Der entsprechende Code:

Ersetzen von Abschnitten

Wenn Sie einen Abschnitt des Songs ersetzen möchten, müssen wir den Parameter action auf: replace_section setzen, und dann müssen wir basierend auf den Lyrics und dem Titel den Song anpassen. Wenn Sie einen von Ihnen hochgeladenen Song weiter ersetzen möchten, können Sie den Parameter action auf upload_replace_section setzen und die ID des Songs eingeben, den Sie weiter anpassen möchten. Die Song-ID kann über die Producer Upload API abgerufen werden, wie im folgenden Bild gezeigt:

Ein Beispiel für die Eingabe sieht wie folgt aus:

Nachdem Sie die Eingabe abgeschlossen haben, wird automatisch der folgende Code generiert:

Der entsprechende Code:
Tests sind erlaubt, die generierten Effekte sind ähnlich.

Begleitmusik-Version

Wenn Sie die offizielle Begleitmusik-Version verwenden möchten, können Sie den Wert des action-Parameters auf swap_instrumentals setzen. Als nächstes werden wir basierend auf den Texten und dem Titel ein Lied generieren. Das Beispiel zum Ausfüllen sieht wie folgt aus:

Nach dem Ausfüllen wird automatisch der folgende Code generiert:

Der entsprechende Code:
Tests sind erlaubt, das generierte Ergebnis ist ähnlich.

Gesang-Version

Wenn Sie die offizielle Gesang-Version verwenden möchten, können Sie den Wert des action-Parameters auf swap_vocals setzen. Als nächstes werden wir basierend auf den Texten, dem Titel und dem Stil ein Lied generieren. Das Beispiel zum Ausfüllen sieht wie folgt aus:

Nach dem Ausfüllen wird automatisch der folgende Code generiert:

Der entsprechende Code:
Tests sind erlaubt, das generierte Ergebnis ist ähnlich.

Trennung von Text und Musik

Wenn Sie die offizielle Trennung von Text und Musik verwenden möchten, können Sie den Wert des action-Parameters auf stems setzen, und dann müssen wir die Trennung basierend auf der Song-ID durchführen. Das Beispiel zum Ausfüllen sieht wie folgt aus:

Nach dem Ausfüllen wird automatisch der folgende Code generiert:

Der entsprechende Code:
Tests sind erlaubt, das generierte Ergebnis ist ähnlich.

Asynchrone Rückrufe

Da die von der Producer Audios Generation API erzeugte Zeit manchmal relativ lang sein kann, wird die HTTP-Anfrage bei langer Nichtantwort immer verbunden bleiben, was zu einem zusätzlichen Verbrauch von Systemressourcen führt. Daher bietet diese API auch Unterstützung für asynchrone Rückrufe. Der gesamte Prozess ist: Wenn der Client die Anfrage stellt, gibt er zusätzlich ein Feld callback_url an. Nachdem der Client die API-Anfrage gestellt hat, gibt die API sofort ein Ergebnis zurück, das ein Feld task_id enthält, das die aktuelle Aufgaben-ID darstellt. Wenn die Aufgabe abgeschlossen ist, wird das Ergebnis der Generierung der Aufgabe in Form von POST JSON an die vom Client angegebene callback_url gesendet, wobei auch das Feld task_id enthalten ist, sodass das Aufgabenergebnis über die ID verknüpft werden kann. Lassen Sie uns anhand eines Beispiels verstehen, wie dies konkret funktioniert. Zunächst ist der Webhook-Rückruf ein Dienst, der HTTP-Anfragen empfangen kann. Entwickler sollten ihn durch die URL ihres eigenen HTTP-Servers ersetzen. Hier zur Vereinfachung verwenden wir eine öffentliche Webhook-Beispielwebsite https://webhook.site/, die beim Öffnen der Website eine Webhook-URL bereitstellt, wie im Bild gezeigt: Kopieren Sie diese URL, um sie als Webhook zu verwenden. Das Beispiel hier ist https://webhook.site/#!/view/0d73431d-f833-4be4-9276-b6e1690d55c1. Als nächstes können wir das Feld callback_url auf die oben genannte Webhook-URL setzen und die entsprechenden Parameter ausfüllen, wie im Bild gezeigt:

Klicken Sie auf Ausführen, und Sie werden sofort ein Ergebnis erhalten, wie folgt:
Warten Sie einen Moment, und wir können auf https://webhook.site/#!/view/0d73431d-f833-4be4-9276-b6e1690d55c1 das Ergebnis der Generierung der Aufgabe beobachten, wie im Bild gezeigt: Der Inhalt ist wie folgt:
Es kann gesehen werden, dass im Ergebnis ein task_id-Feld vorhanden ist, und die anderen Felder sind ähnlich wie im obigen Text, durch dieses Feld kann die Zuordnung der Aufgaben erfolgen.

Fehlerbehandlung

Beim Aufruf 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

Fazit

Durch dieses Dokument haben Sie gelernt, wie Sie die Producer Audios Generation API verwenden können, um Musik durch Eingabe von Stichwörtern zu generieren. 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.