Lyria 3 Clip icon
Music by Google

Lyria 3 Clip API

Short loops and stingers from Lyria 3.

Integrate Lyria 3 Clip with a single API call — one key, one unified endpoint, and shared billing across every model on Apiframe.

model: "lyria-3-clip"

What's special about Lyria 3 Clip

  • Generates natively synchronized audio.
  • Fast turnaround — about 20s per generation on average.
  • Pay-as-you-go pricing with no Google account required — you only pay for successful generations.
  • One API key, unified billing, idempotency and webhooks across every Apiframe model.

Made with Lyria 3 Clip

A few outputs generated through the Lyria 3 Clip API on Apiframe.

Sample coming soon

Upbeat indie pop track with bright guitars and a catchy chorus

Sample coming soon

Lo-fi hip hop beat with mellow piano and soft vinyl crackle

Sample coming soon

Epic orchestral cinematic score with soaring strings and percussion

Overview

Endpoint
POST /v2/music/generate
Model ID
lyria-3-clip
Params key
lyriaParams
Modality
music
Provider
Google
Pricing
Pay-as-you-go
Avg. completion
~20s

Capabilities

AudioSupported
Avg. time~20s

Quick start

Send a single POST /v2/music/generate request with your API key to generate with Lyria 3 Clip. The call returns a jobId you can poll or receive via webhook.

curl -X POST https://api.apiframe.ai/v2/music/generate \
  -H "X-API-Key: afk_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
        "prompt": "an upbeat synthwave track with a driving bassline",
        "model": "lyria-3-clip",
        "lyriaParams": {
            "reference_images": [
                "https://example.com/input.jpg"
            ]
        }
    }'
import requests

response = requests.post(
    "https://api.apiframe.ai/v2/music/generate",
    headers={
        "X-API-Key": "afk_your_api_key_here",
        "Content-Type": "application/json",
    },
    json={
        "prompt": "an upbeat synthwave track with a driving bassline",
        "model": "lyria-3-clip",
        "lyriaParams": {
            "reference_images": [
                "https://example.com/input.jpg"
            ]
        }
    },
)
print(response.json())  # { "jobId": "...", "status": "QUEUED" }
const response = await fetch("https://api.apiframe.ai/v2/music/generate", {
  method: "POST",
  headers: {
    "X-API-Key": "afk_your_api_key_here",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "prompt": "an upbeat synthwave track with a driving bassline",
    "model": "lyria-3-clip",
    "lyriaParams": {
      "reference_images": [
        "https://example.com/input.jpg"
      ]
    }
  }),
});
const { jobId } = await response.json();
console.log(jobId);

Response & job lifecycle

Generation is asynchronous. A successful submission returns 202 Accepted with a jobId. Poll GET /v2/jobs/{id} (or supply a webhook_url) until the status is COMPLETED; the result field then holds the output URL(s).

1. Submission response (202)

{
  "jobId": "b2c3d4e5-f6a7-8901-bcde-f23456789012",
  "status": "QUEUED"
}

2. Poll for the result

curl https://api.apiframe.ai/v2/jobs/JOB_ID \
  -H "X-API-Key: afk_your_api_key_here"
import requests, time

while True:
    job = requests.get(
        "https://api.apiframe.ai/v2/jobs/JOB_ID",
        headers={"X-API-Key": "afk_your_api_key_here"},
    ).json()
    if job["status"] in ("COMPLETED", "FAILED"):
        break
    time.sleep(2)
print(job["result"])
let job;
do {
  await new Promise((r) => setTimeout(r, 2000));
  job = await fetch("https://api.apiframe.ai/v2/jobs/JOB_ID", {
    headers: { "X-API-Key": "afk_your_api_key_here" },
  }).then((r) => r.json());
} while (job.status !== "COMPLETED" && job.status !== "FAILED");
console.log(job.result);

Input schema

Request parameters accepted by the Lyria 3 Clip endpoint. Model-specific options are nested under the params object shown below.

Parameter Type Required Default Allowed / range Description
prompt string required Text description of what to generate.
model string required "lyria-3-clip" "lyria-3-clip" The model identifier for this endpoint.
lyriaParams.reference_images string[] (URLs) optional Optional moodboard — Lyria uses these to inspire the composition.

Frequently Asked Questions

Common questions about the Lyria 3 Clip API.

Is there an API for Lyria 3 Clip?

Yes. Apiframe exposes Lyria 3 Clip through a single REST endpoint (`POST /v2/music/generate` with `model: "lyria-3-clip"`). You get one unified API, key, and billing across every supported model — no separate Google account required.

How much does the Lyria 3 Clip API cost?

Lyria 3 Clip uses simple pay-as-you-go pricing on Apiframe — you only pay for successful generations. See the pricing page for plans and volume discounts.

How do I call the Lyria 3 Clip API?

Send a POST request to `/v2/music/generate` with your `X-API-Key` and a JSON body containing `model: "lyria-3-clip"`. The call returns a `jobId`; poll `GET /v2/jobs/{id}` or use a webhook to receive the result.

What parameters does Lyria 3 Clip support?

Lyria 3 Clip accepts 1 model-specific parameters (nested under `lyriaParams`) plus the common `prompt` and `webhook_url` fields. See the input schema above for the full list with types and defaults.

Still have questions?

Start building with the Lyria 3 Clip API

Get your API key and integrate Lyria 3 Clip in minutes — Pay-as-you-go.

Free credits to start
One API for every model
Webhooks, SDKs & idempotency
No provider account required

Questions? Join our Discord or contact sales.