Skip to content

Mureka 9.5 Lyrics Video

Integrate

Model id mureka/api/generate/lyrics-video
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.com/v1/run/mureka/api/generate/lyrics-video?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'

# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.com/v1/requests/REQUEST_ID?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY"

This request: $0.15 150 API credits Run it on this page

Get API key
Mureka Lipsync & Avatars Lipsync #music#lyrics#video

Creates a lyrics video from a generated or uploaded song, with seven layouts and four aspect ratios

Mureka · Video

Your first result goes here

Build a request below and run it with your API key. Outputs are copied to our storage, kept forever or 7 days for free.

Build a request

Controls are generated from the model schema. The code and the price update as you change them.

aspect_ratio default 9:16

Aspect ratio of the generated video.

Advanced layout · song_id · upload_audio_id · background_id · cover_url · title · lyrics_start_row · lyrics_end_row · selection_start · selection_end · enable_safety_checker
layout default layout_1

Template defining the lyrics video's visual layout.

Generated audio identifier supplied as song_id instead of upload_audio_id; exactly one is required. Take its value from song_id in the response for a song or instrumental.

Uploaded audio identifier supplied as upload_audio_id instead of song_id; exactly one is required. Obtain it through /files/upload with purpose='audio'.

Background image identifier obtained from /files/upload using purpose='lyrics-video'.

Optional cover image, unavailable for layout_1. Supply a JPG, PNG, or WebP using either a data URI or a publicly accessible HTTPS URL.

Optional title to show within the lyrics video.

First included lyric row for row-based selection, which requires lyrics_end_row and excludes time-based selection. Row numbering begins at 1.

Last included lyric row for a row-based selection defined together with lyrics_start_row, rather than a time-based selection.

Audio-range boundary that requires selection_end and excludes lyric-row selection. It specifies where the included audio begins, measured in milliseconds.

Audio-range boundary that requires selection_start and excludes lyric-row selection. It specifies where the included audio ends, measured in milliseconds.

POST /run/mureka/api/generate/lyrics-video?wait=20 quote → $0.15
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.com/v1/run/mureka/api/generate/lyrics-video?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'

# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.com/v1/requests/REQUEST_ID?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY"

Run this request

Your key stays in this browser: it is sent only to the Doitong API and saved (localStorage) only if you tick Remember. Get an API key

About Mureka 9.5 Lyrics Video

Builds a lyrics video from either a `song_id` or an `upload_audio_id`; give exactly one. Pick `aspect_ratio` (16:9, 9:16, 3:4 or 4:3) and one of seven `layout` templates, and optionally add a `title`, `background_id` or `cover_url`. To use only part of the song, select lyric rows or a millisecond time range, but not both.

Parameters

NameType DefaultAllowed Description
song_idoptional
Typestring | null
Generated audio identifier supplied as song_id instead of upload_audio_id; exactly one is required. Take its value from song_id in the response for a song or instrumental.
upload_audio_idoptional
Typestring | null
Uploaded audio identifier supplied as upload_audio_id instead of song_id; exactly one is required. Obtain it through /files/upload with purpose='audio'.
background_idoptional
Typestring | null
Background image identifier obtained from /files/upload using purpose='lyrics-video'.
cover_urloptional
Typestring | null
Optional cover image, unavailable for layout_1. Supply a JPG, PNG, or WebP using either a data URI or a publicly accessible HTTPS URL.
titleoptional
Typestring | null
Optional title to show within the lyrics video.
aspect_ratiooptional
Typeenum
Default9:16
16:99:163:44:3
Aspect ratio of the generated video.
layoutoptional
Typeenum
Defaultlayout_1
layout_1layout_2layout_3layout_4layout_5layout_6layout_7
Template defining the lyrics video's visual layout.
lyrics_start_rowoptional
Typeinteger | null
≥ 1
First included lyric row for row-based selection, which requires lyrics_end_row and excludes time-based selection. Row numbering begins at 1.
lyrics_end_rowoptional
Typeinteger | null
≥ 1
Last included lyric row for a row-based selection defined together with lyrics_start_row, rather than a time-based selection.
selection_startoptional
Typeinteger | null
≥ 0
Audio-range boundary that requires selection_end and excludes lyric-row selection. It specifies where the included audio begins, measured in milliseconds.
selection_endoptional
Typeinteger | null
≥ 0
Audio-range boundary that requires selection_start and excludes lyric-row selection. It specifies where the included audio ends, measured in milliseconds.
enable_safety_checkeroptional
Typeboolean
Defaulttrue
Screening can be relaxed by setting false, provided the caller is authorized.
required

Output

GET /requests/req_8k2m4q7x1z9c3v5b6n0p2r4t
{
  "id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
  "object": "request",
  "model": "mureka/api/generate/lyrics-video",
  "status": "succeeded",
  "created_at": "2026-10-20T12:00:00Z",
  "started_at": "2026-10-20T12:00:02Z",
  "completed_at": "2026-10-20T12:00:09Z",
  "queue_position": null,
  "cost": {
    "credits": 150,
    "usd": "0.15",
    "charged": 150,
    "refunded": 0
  },
  "input": {},
  "output": {
    "video": {
      "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.mp4",
      "content_type": "video/mp4",
      "file_name": "0-output.mp4",
      "file_size": 1843200
    }
  },
  "outputs": [
    {
      "type": "video",
      "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.mp4",
      "content_type": "video/mp4",
      "file_size": 1843200,
      "width": 1280,
      "height": 720,
      "duration": 5,
      "stored": true
    }
  ],
  "error": null,
  "metrics": {
    "inference_seconds": 6.8
  },
  "urls": {
    "self": "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t",
    "cancel": "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t/cancel"
  }
}
Your files, your choiceEvery outputs[].url is a copy on our storage: kept forever (paid per GB-month) or 7 days for free, by your account setting or ?storage=.
Same shape on every modeltype, url, content_type, width, height and duration, for images, video and audio alike. output is the model’s own result object.
Fields of output
video
object {url, content_type, file_name, file_size}Video file produced by generation.

More models: Lipsync & Avatars

For AI agents: this page as Markdown is at https://doitong.com/developers/models/mureka/api/generate/lyrics-video.md. All models and guides: https://doitong.com/developers/llms.txt