How to Create AI Music Videos via API (Music + Video + Lip-Sync)
5 min read • February 24, 2025 (June 15, 2026)
Table of contents
Introduction
Due to popular demand, we have created step-by-step instructions on how to create music videos using the APIs we offer:
- Mureka API v1 to compose music
- Runway API v1 or MiniMax API v1 to create video clips for the composed music
- PixVerse API v2 to lip-sync the music track and the video clips together into the final video
The demo song, clips and final video on this page were produced with the tools available when this walkthrough was first published — the now-retired Riffusion API for music and Runway’s Gen-3 Turbo for video. The steps below have been updated to the current stack: Mureka for music and Runway’s unified
videos/create(Gen-4.5) for video.
Compose music
Compose a song from a text prompt with POST mureka/music/create, or supply your own lyrics, vocals and a reference track with POST mureka/music/create-advanced. See the Mureka music samples for more examples.
Prompt:
drum & base song by pretty lady wearing pink singing how she like to party
Generated song • Pink Rush (composed with the now-retired Riffusion API; use Mureka for new tracks)
Generated lyrics
Drum & Bass, feminine vocals, uptempo breakbeats, bright synths, energetic drops
[Verse 1]
Motion takes me higher
Pink rays light my way
Feel it getting brighter
Can't make me behave
[Pre-Chorus]
Racing through my system
Everything's alive
[Chorus]
Pink lights in my veins (ooh)
Pink lights in my veins
Feel the rush again (aah)
Feel the rush again
(Pink lights, pink lights)
(Feel the rush, feel it)
[Verse 2]
Lost in pure sensation
Colors splash and spray
Sweet intoxication
Takes my breath away
[Pre-Chorus]
Racing through my system
Everything's alive
[Chorus]
Pink lights in my veins (ooh)
Pink lights in my veins
Feel the rush again (aah)
Feel the rush again
(Pink lights, pink lights)
(Feel the rush, feel it)
[Bridge]
[Extended vocalizations]
Aaah-ah-ah, ooh-ooh
Higher, higher
Aaah-ah-ah, ooh-ooh
Fire, fire
[Final Chorus]
Pink lights in my veins (ooh)
Pink lights in my veins
Feel the rush again (aah)
Feel the rush again
(Pink lights, pink lights)
(Feel the rush, feel it)
Create video clips
Use POST runway/videos/create (Gen-4.5 by default, with Gen-4, Veo 3.1, Kling, Sora 2 and more selectable via the model parameter) or POST minimax/videos/create to create video clips.
Prompt:
Pretty lady shaking her hips up and down while looking straight into the camera. She is wearing pink trousers, and her arms are moving very slowly.
We generated about a dozen 10-second clips and selected the four we liked the most. After that, we used ffmpeg to stitch them together into a single continuous 40-second clip.
ffmpeg concat -safe 0 -i files.txt -c copy output.mp4
files.txt:
file ./2937129837.mp4
file ./9345983745.mp4
file ./1273824742.mp4
file ./9856745456.mp4
Lipsync
Upload both the generated audio and video files via POST pixverse/files and create the final video using POST pixverse/videos/lipsync.
Final music video: