Mit Lyria Musik generieren

Mit Lyria können Sie anhand von Prompts neue Musiktitel generieren. Zu den unterstützten Schnittstellen gehören die Cloud de Confiance Console und die Gemini API API.

Lyria auf der Agent Platform testen (Agent Platform Studio)

Hinweis

  1. In the Cloud de Confiance console, on the project selector page, select or create a Cloud de Confiance project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  2. Enable the Gemini Enterprise Agent Platform API, if it is not already enabled.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

  3. Richten Sie die Authentifizierung für Ihre Umgebung ein.

    Wählen Sie den Tab für die Verwendung der Beispiele auf dieser Seite aus:

    Console

    Wenn Sie über die Cloud de Confiance Console auf Cloud de Confiance by S3NS Dienste und APIs zugreifen, müssen Sie die Authentifizierung nicht einrichten.

    REST

    Wenn Sie die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, verwenden Sie die Anmeldedaten, die Sie der gcloud CLI bereitstellen.

      Installieren Sie die Google Cloud CLI und melden Sie sich dann mit Ihrer föderierten Identität in der gcloud CLI an.

    Weitere Informationen finden Sie in der Cloud de Confiance Authentifizierungsdokumentation unter Für die Verwendung von REST authentifizieren.

Console

  1. Rufen Sie in der Cloud de Confiance Console die Seite Vertex AI Studio > Media generieren > Media generieren auf.

    Studio generieren

  2. Klicken Sie auf Musik.

  3. Wählen Sie im Menü Aufgabe die Option Text-zu-Musik aus.

  4. Wählen Sie im Menü Modell ein Modell aus den aufgeführten Optionen aus.

  5. Optional: Klicken Sie im Bereich Eingabe-Assets auf Hinzufügen, um ein Asset für diese Anfrage hinzuzufügen.

  6. Geben Sie im Feld Prompt Ihren Text-Prompt in US-Englisch ein, der die zu generierende Musik beschreibt.

  7. Klicken Sie auf Ausführen.

    Generierte Audioclips sind in der Vorschau verfügbar und können als WAV-Dateien heruntergeladen werden.

Lyria 3 REST

Ersetzen Sie folgende Werte in den Anfragedaten:

  • PROJECT_ID: Ein String der Ihre Cloud de Confiance by S3NS Projekt-ID darstellt.
  • MODEL_ID: Ein String , der die zu verwendende Modell-ID darstellt. Folgende Werte werden akzeptiert:

    • lyria-3-clip-preview
    • lyria-3-pro-preview
  • TEXT_PROMPT: Der Text-Prompt, der zur Steuerung der Musikgenerierung verwendet wird.
  • IMAGE_URI: Optional: Der Cloud Storage-URI, in dem sich Ihr Eingabebild befindet.
  • IMAGE_DATABYTES: Optional: Ein Base64-codiertes Eingabebild.

HTTP-Methode und URL:

POST https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions

JSON-Text der Anfrage:

{
  "model": "MODEL_ID",
  "input": [
    {
      "type": "text",
      "text": "TEXT_PROMPT"
    },
    {
      "type": "image",
      "mime_type": "image/jpeg",
      "uri": "IMAGE_URI"
    },
    {
      "type": "image",
      "mime_type": "image/png",
      "data": "IMAGE_DATABYTES"
    },
  ]
}

Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:

curl

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions"

PowerShell

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json, und führen Sie den folgenden Befehl aus:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions" | Select-Object -Expand Content
Die Anfrage gibt den Vorgangsnamen, den Status und das Ergebnis zurück.
{
  "status": "completed",
  "outputs": [
    {
      "text": "LYRICS",
      "type": "text"
    },
    {
      "text": "DESCRIPTION",
      "type": "text"
    },
    {
      "mime_type": "audio/mpeg",
      "data": "GENERATED_SONG_DATABYTES",
      "type": "audio"
    },
    {}
  ],
  "role": "model",
  "created": "CREATED_TIME",
  "updated": "UPDATE_TIME",
  "object": "interaction",
  "model": "lyria-3-pro-preview"
}

Lyria 2 REST

Verwenden Sie die Methode predict, um eine Anfrage zur Musikgenerierung zu senden. Die Antwort enthält direkt die Audiodaten, in der Regel base64-codiert, wenn die Antwort JSON ist.

Weitere Informationen zu lyria-002 Modellanfragen finden Sie in der lyria-002 Modell-API-Referenz.

Senden Sie zum Generieren von Musik eine POST-Anfrage an den predict-Endpunkt des Modells.

Anfrage

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/lyria-002:predict \
  -d '{
    "instances": [
      {
        "prompt": "An uplifting and hopeful orchestral piece with a soaring string melody and triumphant brass.",
        "negative_prompt": " dissonant, minor key",
        "seed": 12345
      }
    ],
    "parameters": {
      // "sample_count": 1 // Use either seed or sample_count
    }
  }'

Antwort

Bei einer erfolgreichen Anfrage wird ein JSON-Objekt mit den generierten Audiodaten zurückgegeben. Das sollte in etwa so aussehen:

{
  "predictions": [
    {
      "audioContent": "BASE64_ENCODED_WAV_STRING_SAMPLE_1",
      "mimeType": "audio/wav"
    },
    {
      "audioContent": "BASE64_ENCODED_WAV_STRING_SAMPLE_2",
      "mimeType": "audio/wav"
    }
  ],
  "deployedModelId": "xxxxxxxxxxxxxxx",
  "model": "projects/PROJECT_ID/locations/LOCATION/publishers/google/models/lyria-002",
  "modelDisplayName": "Lyria 2"
}

Anschließend decodieren Sie audioContent (base64), um die WAV-Audiodatei zu erhalten. Jeder Clip ist 32,8 Sekunden lang.

Nächste Schritte