# Mureka | Generate Soundtrack Mureka Generate Soundtrack composes original music anchored to an image or video — analyses the visual content and produces audio matching its mood, atmosphere and rhythm. Supports both image-to-music and video-to-music generation, with songs up to 5m30s. An optional text prompt steers genre, instrumentation and tempo; specify 'vocals' or 'instrumental' in the prompt or let the visuals decide. Returns 1-3 variants per request in MP3, FLAC and WAV formats. ## API Information - **Model Slug:** mureka-generate-soundtrack - **Branded URL:** https://www.eachlabs.ai/mureka/mureka/mureka-generate-soundtrack - **Provider:** Mureka - **Category:** Text to Voice - **Output Type:** object - **Status:** active - **Version:** 0.0.1 - **Base Cost:** 0.10 per song - **Estimated Processing Time:** 120 seconds - **Last Updated:** 2026-08-16 - **Interactive Demo:** https://www.eachlabs.ai/ai-models/mureka-generate-soundtrack ## Pricing - **Charge Type:** dynamic - **Estimated Price (default example):** $0.1000 - **Pricing Details:** 0.10 per song ### Pricing Rules | Condition | Pricing | | --- | --- | | Rule 1 | 0.10 per song | | Default (fallback) | Conservative fallback at provider's listed soundtrack rate | ## Input Schema No input parameters documented. ## Example Request ```bash curl -X POST https://api.eachlabs.ai/v1/prediction/ \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "mureka-generate-soundtrack", "input": {} }' ``` ## Output Schema Response returned by `GET /v1/prediction/{id}` when the job completes: ```json { "status": "success", "predictionID": "string", "output": "object", "metrics": { "predict_time": "number (seconds)" } } ``` ## Polling ```bash curl https://api.eachlabs.ai/v1/prediction/{PREDICTION_ID} \ -H "Authorization: Bearer YOUR_API_KEY" ``` | Status | Meaning | |--------|---------| | `processing` | Still running — poll again | | `success` | Done — read `output` | | `error` | Failed — read `message` / `details` | ## Webhook (alternative to polling) Pass `"webhook_url": "https://your.host/path"` in the create request. Eachlabs POSTs this payload when the job ends: ```json { "exec_id": "prediction-uuid", "status": "succeeded", "output": "https://...", "error": "" } ``` `status` is `"succeeded"` or `"failed"`. `exec_id` equals the `predictionID` from create. Return 2xx within 30 seconds. ## Errors Error body: `{ "status": "error", "message": "...", "details": "..." }` | Code | Meaning | |------|---------| | `400` | Invalid input | | `401` | Missing / invalid `Authorization` bearer token | | `404` | Unknown model or prediction id | | `429` | Rate limit — 100 creates / min, 10 concurrent per key | | `5xx` | Retry with backoff | ## Overview **Mureka | Generate Soundtrack Overview** Mureka | Generate Soundtrack, from the Mureka family by provider Mureka, transforms text prompts into immersive soundtracks and audio experiences, solving the challenge of creating custom music and voice elements without production expertise. Available on each::labs at eachlabs.ai, this text-to-voice model stands out for its focus on generating full soundtracks from descriptive text, enabling quick audio creation for videos, games, and apps. Users input natural language descriptions to produce cohesive audio tracks that match mood, genre, and pacing needs. As part of the mureka family, it leverages advanced generative techniques to deliver high-fidelity soundscapes. Ideal for creators seeking efficient, on-demand audio generation, Mureka | Generate Soundtrack streamlines workflows on each::labs, making professional-grade sound accessible via simple prompts. Whether enhancing videos or building interactive media, this model empowers precise audio customization. ## Usage Notes - API Base URL: `https://api.eachlabs.ai/v1` - Authentication: send `Authorization: Bearer YOUR_API_KEY`. Generate a key from the Eachlabs dashboard at https://www.eachlabs.ai/dashboard/api-keys. - File-typed parameters (`*_url`, `image_url`, `video_url`, `audio_url`, etc.) accept publicly-reachable HTTPS URLs only. Upload your asset first (GCS / S3 / your CDN) and pass the resulting URL. Data-URIs and localhost URLs are rejected. - For structured parameters (arrays / objects) send real JSON values, not stringified payloads. - Monetary values are reported in USD; per-token / per-megapixel rates may be billed in micro-cents internally. - Prefer `webhook_url` over polling for long-running predictions — see the Webhook Callback section.