Générer de la musique avec Lyria

Vous pouvez utiliser Lyria pour générer de nouveaux morceaux de musique à partir de prompts. Les interfaces compatibles incluent la Cloud de Confiance consoleet l'API Gemini API.

Essayer Lyria sur Agent Platform (Agent Platform Studio)

Avant de commencer

  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. Configurez l'authentification pour votre environnement.

    Sélectionnez l'onglet correspondant à la façon dont vous prévoyez d'utiliser les exemples de cette page :

    Console

    Lorsque vous utilisez la Cloud de Confiance console pour accéder aux Cloud de Confiance by S3NS services et aux API, vous n'avez pas besoin de configurer l'authentification.

    REST

    Pour utiliser les exemples API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à la gcloud CLI.

      Installez la Google Cloud CLI, puis connectez-vous à la gcloud CLI avec votre identité fédérée.

    Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l' Cloud de Confiance authentification.

Console

  1. Dans la Cloud de Confiance console, accédez à la page Vertex AI Studio > Generate Media > Generate media (Vertex AI Studio > Générer des médias > Générer des médias).

    Générer un studio

  2. Cliquez sur Music (Musique).

  3. Dans le menu Task (Tâche), sélectionnez Text-to-music (Texte en musique).

  4. Dans le menu Model (Modèle), sélectionnez un modèle parmi les options listées.

  5. Facultatif : Dans la section Input assets (Éléments d'entrée), cliquez sur Add (Ajouter) pour ajouter un élément à cette requête.

  6. Dans le champ Prompt (Prompt), saisissez votre prompt textuel en anglais américain décrivant la musique à générer.

  7. Cliquez sur Run (Exécuter).

    Les clips audio générés sont disponibles en prévisualisation et téléchargeables au format WAV.

Lyria 3 REST

Avant d'utiliser les données de requête, effectuez les remplacements suivants :

  • PROJECT_ID: chaîne représentant votre Cloud de Confiance by S3NS ID du projet.
  • MODEL_ID: chaîne représentant l'ID du modèle à utiliser. Les valeurs suivantes sont acceptées :

    • lyria-3-clip-preview
    • lyria-3-pro-preview
  • TEXT_PROMPT: Le prompt textuel utilisé pour guider la génération de musique.
  • IMAGE_URI : facultatif : URI Cloud Storage où se trouve votre image d'entrée.
  • IMAGE_DATABYTES : facultatif : image d'entrée encodée en base64.

Méthode HTTP et URL :

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

Corps JSON de la requête :

{
  "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"
    },
  ]
}

Pour envoyer votre requête, choisissez l'une des options suivantes :

curl

Enregistrez le corps de la requête dans un fichier nommé request.json, et exécutez la commande suivante :

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

Enregistrez le corps de la requête dans un fichier nommé request.json, et exécutez la commande suivante :

$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
La requête renvoie le nom, l'état et le résultat de l'opération.
{
  "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

Utilisez la méthode predict pour envoyer une requête de génération de musique. La réponse contiendra directement les données audio, généralement encodées en base64 si la réponse est au format JSON.

Pour en savoir plus sur les requêtes envoyées au modèle lyria-002, consultez la lyria-002 documentation de référence de l'API du modèle.

Pour générer de la musique, envoyez une requête POST au point de terminaison predict du modèle.

Requête :

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

Réponse :

Une requête réussie renvoie un objet JSON contenant les données audio générées. Exemple :

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

Vous devez ensuite décoder audioContent (base64) pour obtenir le fichier audio WAV. Chaque clip dure 32,8 secondes.

Étape suivante