Membuat musik dengan Lyria

Anda dapat menggunakan Lyria untuk membuat trek musik baru dari perintah. Antarmuka yang didukung mencakup konsol Cloud de Confiance dan Gemini API.

Mencoba Lyria di Agent Platform (Agent Platform Studio)

Sebelum memulai

  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. Siapkan autentikasi untuk lingkungan Anda.

    Pilih tab untuk melihat bagaimana Anda berencana menggunakan contoh di halaman ini:

    Konsol

    Saat menggunakan konsol Cloud de Confiance untuk mengakses layanan dan API Cloud de Confiance by S3NS , Anda tidak perlu menyiapkan autentikasi.

    REST

    Untuk menggunakan contoh REST API di halaman ini dalam lingkungan pengembangan lokal, gunakan kredensial yang Anda berikan ke gcloud CLI.

      Instal Google Cloud CLI, lalu login ke gcloud CLI dengan identitas gabungan Anda.

    Untuk mengetahui informasi selengkapnya, lihat Melakukan autentikasi untuk menggunakan REST dalam dokumentasi autentikasi Cloud de Confiance .

Konsol

  1. Di konsol Cloud de Confiance , buka halaman Vertex AI Studio > Generate Media > Generate media.

    Generate studio

  2. Klik Musik.

  3. Dari menu Tugas, pilih Text-to-music.

  4. Dari menu Model, pilih model dari opsi yang tercantum.

  5. Opsional: Di bagian Aset input, klik Tambahkan untuk menambahkan aset untuk permintaan ini.

  6. Di kotak Prompt, masukkan perintah teks dalam bahasa Inggris AS yang mendeskripsikan musik yang akan dibuat.

  7. Klik Run.

    Klip audio yang dihasilkan tersedia untuk pratinjau dan dapat didownload sebagai file WAV.

REST Lyria 3

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: String yang mewakili project ID Cloud de Confiance by S3NS Anda.
  • MODEL_ID: String yang mewakili ID model yang akan digunakan. Berikut adalah nilai yang diterima:

    • lyria-3-clip-preview
    • lyria-3-pro-preview
  • TEXT_PROMPT: Perintah teks yang digunakan untuk memandu pembuatan musik.
  • IMAGE_URI: opsional: URI Cloud Storage tempat gambar input Anda berada.
  • IMAGE_DATABYTES: Opsional: Gambar input berenkode Base64.

Metode HTTP dan URL:

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

Meminta isi JSON:

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

Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

curl

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

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

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

$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
Permintaan akan menampilkan nama, status, dan hasil operasi.
{
  "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

Gunakan metode predict untuk mengirim permintaan pembuatan musik. Respons akan langsung berisi data audio, biasanya berenkode base64 jika responsnya adalah JSON.

Untuk mengetahui informasi selengkapnya tentang permintaan model lyria-002, lihat referensi API model lyria-002.

Untuk membuat musik, kirim permintaan POST ke endpoint predict model.

Permintaan:

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

Respons:

Permintaan yang berhasil akan menampilkan objek JSON yang berisi data audio yang dihasilkan. Tampilannya akan terlihat seperti ini:

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

Kemudian, Anda akan mendekode audioContent (base64) untuk mendapatkan file audio WAV. Setiap klip berdurasi 32,8 detik.

Langkah berikutnya