/** * Music generation via Google Lyria 3 on the **Gemini Developer API** (NOT * Vertex). This is an API-KEY product, so it resolves a key from the existing * Gemini key pool (GEMINI_API_KEYS / GOOGLE_API_KEYS / GOOGLE_API_KEY) via * `fetchGeminiWithPool` — no Vertex project, no billing, just a Gemini key. * * VERIFIED LIVE (2026-06-01) against the Gemini Developer API: * * POST https://generativelanguage.googleapis.com/v1beta/models/{MODEL}:generateContent?key={KEY} * Content-Type: application/json * Body: { contents: [{ parts: [ { text: "" } , ] }] } * * Optional image-to-music conditioning attaches a second part in the SAME * parts array: * { inlineData: { mimeType: "image/png", data: "" } } * * Response: candidates[0].content.parts[] — find the part whose * inlineData.mimeType starts with "audio/" (observed "audio/mpeg"); its * inlineData.data is base64 MP3. (There is also a { text: "" } * part which we ignore.) * * MODEL (via LYRIA3_MODEL env, default lyria-3-clip-preview): * - lyria-3-clip-preview Lyria 3, 30s clip, text + image (default) * - lyria-3-pro-preview Lyria 3 Pro, full song up to ~184s, text + image * * Output is MP3 (audio/mpeg) — the file is always written with a `.mp3` * extension regardless of the requested outputPath suffix. durationMs is a * deterministic estimate from input.durationSec (or a model-default: 180s for * a 'pro' model, 30s otherwise) — true MP3 duration parsing is out of scope. * * Availability: a Gemini key is resolvable (pool size > 0 or one of the env * vars set); gated via the descriptor's requiresGeminiKey flag in the registry. */ import type { MusicBackend } from './types.js'; export declare const lyria3Backend: MusicBackend; //# sourceMappingURL=native-lyria3.d.ts.map