SkillJavaScriptv1.2.4

ai-music-video

Generate AI music videos end-to-end.

0 downloads
gprecious
Updated Feb 17, 2026

AI Music Video Generator

Create complete music videos: AI music + AI visuals + ffmpeg assembly.

Quick Start

"90๋…„๋Œ€ ๋ณด์ด๋ฐด๋“œ ํ’ ํ•œ๊ตญ์–ด ๋…ธ๋ž˜ ๋งŒ๋“ค์–ด์ค˜" โ†’ music only
"๋ฐœ๋ผ๋“œ ๋ฎค๋น„ ๋งŒ๋“ค์–ด์ค˜" โ†’ music + slideshow MV
"EDM ๋ฎค๋น„ ํ’€์˜์ƒ์œผ๋กœ" โ†’ music + video clips MV
"Suno ๋ฎค๋น„๋กœ ๋งŒ๋“ค์–ด์ค˜" โ†’ Suno native music video

Workflow

1. Plan scenes from lyrics/mood

Before generating, create prompts.json โ€” array of scene descriptions derived from the song's lyrics, mood, and narrative. 8-12 scenes for a 3-min song.

[
  {"prompt": "Neon-lit city street at night, rain reflections", "type": "image"},
  {"prompt": "Camera slowly panning across a rooftop at sunset", "type": "video"},
  "A lone figure walking through cherry blossoms"
]

2. Generate music

bash scripts/suno_music.sh \
  --prompt "๊ฐ€์‚ฌ ๋˜๋Š” ์„ค๋ช…" \
  --style "90s boy band pop, korean" \
  --title "๋„ˆ๋งŒ์„ ์›ํ•ด" \
  --model V4_5ALL --custom \
  --outdir /tmp/mv_project

Options:

  • --model V4_5ALL (default), V5, V4_5PLUS, V4_5, V4
  • --instrumental โ€” no vocals
  • --vocal-gender m|f โ€” vocal gender hint
  • --negative-tags "Heavy Metal, Drums" โ€” styles to avoid
  • --music-video โ€” generate Suno native music video (MP4)
  • --dry-run โ€” cost check only

Persona (์ผ๊ด€๋œ ์Šคํƒ€์ผ ์œ ์ง€):

  • --persona-id ID โ€” ๊ธฐ์กด ํŽ˜๋ฅด์†Œ๋‚˜ ์‚ฌ์šฉ (๊ฐ™์€ ๋ณด์ปฌ/์Šคํƒ€์ผ๋กœ ์—ฌ๋Ÿฌ ๊ณก ์ƒ์„ฑ)
  • --create-persona โ€” ์ƒ์„ฑ๋œ ๊ณก์—์„œ ํŽ˜๋ฅด์†Œ๋‚˜ ์ƒ์„ฑ โ†’ persona.json ์ €์žฅ
  • --persona-name "์ด๋ฆ„" / --persona-desc "์„ค๋ช…" / --persona-style "์Šคํƒ€์ผ"

Auto features:

  • ๐ŸŽค Timestamped Lyrics: Non-instrumental tracks automatically fetch lyrics timestamps and save as {outdir}/lyrics.srt
  • ๐ŸŽฌ Suno Native MV: With --music-video, Suno generates a visualized MP4 video directly
  • ๐ŸŽญ Persona: With --create-persona, extracts voice/style identity for reuse

3. Generate visuals (custom MV flow)

bash scripts/gen_visuals.sh \
  --mode slideshow \
  --prompts-file /tmp/mv_project/prompts.json \
  --image-provider seedream \
  --outdir /tmp/mv_project

Or with OpenAI (cheaper, lower res):

bash scripts/gen_visuals.sh \
  --mode slideshow \
  --prompts-file /tmp/mv_project/prompts.json \
  --image-provider openai --image-model gpt-image-1-mini --image-quality medium \
  --outdir /tmp/mv_project

Add --dry-run first to show cost estimate before spending.

4. Assemble

bash scripts/assemble_mv.sh \
  --audio /tmp/mv_project/track_0_xxx.mp3 \
  --outdir /tmp/mv_project \
  --output /tmp/mv_project/final_mv.mp4 \
  --transition fade

Subtitle behavior:

  • Auto-detects {outdir}/lyrics.srt and overlays lyrics automatically
  • --subtitle /path/to/custom.srt โ€” use custom SRT file
  • --no-subtitle โ€” disable lyrics overlay entirely

Modes

ModeVisualBest ForCost (10 scenes)
slideshowAI imagesFast, cheap~$0.02 (mini low) / ~$0.09 (mini med) / ~$0.45 (Seedream)
videoAI video clipsPremium~$1.40 (Seedance Lite) / ~$8.00 (Sora 2)
hybridMix of bothBalanced~$0.50-$4.00
suno-nativeSuno MVEasiestSuno credits only

Image cost is token-based โ€” actual billing may be lower than listed estimates. Use --dry-run for precise cost.

Provider Options

Images: --image-provider seedream (recommended), openai, or google-together Image Model (OpenAI): --image-model gpt-image-1-mini (default, cheap) or gpt-image-1 (premium) Videos: --video-provider sora (default), sora-pro, seedance-lite, seedance-pro, veo-fast, veo-audio Quality: --image-quality low|medium|high

Cost Tracking

Every script outputs cost before and after. Always --dry-run first. Cost data saved to {outdir}/cost_estimate.json and {outdir}/visuals_meta.json.

Environment Variables

export SUNO_API_KEY="your-sunoapi-key"      # Required โ€” sunoapi.org
export OPENAI_API_KEY="your-openai-key"     # Required โ€” images + Sora video
export BYTEPLUS_API_KEY="your-byteplus-key" # Optional โ€” Seedream 4.5 (recommended for images)
export TOGETHER_API_KEY="your-together-key" # Optional โ€” Seedance, Veo, Imagen
export SUNO_CALLBACK_URL=""                 # Optional โ€” see Callback URL below

โš ๏ธ Required keys: SUNO_API_KEY and OPENAI_API_KEY must be set before running any script. BYTEPLUS_API_KEY is needed for Seedream image provider (sign up at console.byteplus.com, 200 free images). TOGETHER_API_KEY is only needed for Seedance/Veo/Imagen providers.

Callback URL

The Suno API requires a callBackUrl field for music generation requests. By default, if SUNO_CALLBACK_URL is not set, the script uses https://localhost/noop as a harmless no-op endpoint (an unreachable localhost URL that effectively disables callbacks).

To customize: set SUNO_CALLBACK_URL to your own endpoint, or set it to any dummy URL you control. The callback payload contains task metadata and audio URLs โ€” no API keys are sent.

To disable: set SUNO_CALLBACK_URL=https://localhost/noop or any unreachable URL. Generation still works via polling; the callback is not required for the script to function.

Persona Workflow (์ฑ„๋„ ์ปจ์…‰ ์œ ์ง€)

YouTube ์ฑ„๋„์ฒ˜๋Ÿผ ์ผ๊ด€๋œ ์Šคํƒ€์ผ๋กœ ์—ฌ๋Ÿฌ ๊ณก์„ ๋งŒ๋“ค ๋•Œ:

# 1. ์ฒซ ๊ณก ์ƒ์„ฑ + ํŽ˜๋ฅด์†Œ๋‚˜ ๋งŒ๋“ค๊ธฐ
bash scripts/suno_music.sh \
  --prompt "์ฝ”๋“œ ๋ฆฌ๋ทฐํ•˜๋ฉฐ ๋“ฃ๋Š” ๋…ธ๋ž˜" \
  --style "indie rock, energetic, coding vibe" \
  --title "Pull Request" \
  --custom --create-persona \
  --persona-name "๊ฐœ๋ฐœ์ž ๋…ธ๋™์š” ์‹ฑ์–ด" \
  --persona-desc "๊ฐœ๋ฐœ์ž๊ฐ€ ์ฝ”๋”ฉํ•˜๋ฉฐ ๋“ฃ๊ธฐ ์ข‹์€ ์—๋„ˆ์ง€ ๋„˜์น˜๋Š” ๋ณด์ปฌ. ์ธ๋””๋ก, ์ผ๋ ‰, ํŒ ์žฅ๋ฅด๋ฅผ ๋„˜๋‚˜๋“ ๋‹ค." \
  --persona-style "indie rock, electronic, developer work music" \
  --outdir /tmp/dev-bgm-01

# 2. persona.json์—์„œ personaId ํ™•์ธ
cat /tmp/dev-bgm-01/persona.json

# 3. ๊ฐ™์€ ํŽ˜๋ฅด์†Œ๋‚˜๋กœ ๋‹ค์Œ ๊ณก ์ƒ์„ฑ โ€” ๋ณด์ปฌ/์Šคํƒ€์ผ ์ผ๊ด€์„ฑ ์œ ์ง€
bash scripts/suno_music.sh \
  --prompt "์•ผ๊ทผํ•˜๋ฉด์„œ ๋“ฃ๋Š” ๋…ธ๋ž˜" \
  --style "electronic pop, night coding" \
  --title "Midnight Deploy" \
  --custom --persona-id <PERSONA_ID> \
  --outdir /tmp/dev-bgm-02

ํŽ˜๋ฅด์†Œ๋‚˜๋Š” ๋ณด์ปฌ ํŠน์„ฑ + ์Œ์•… ์Šคํƒ€์ผ์„ ๊ธฐ์–ตํ•ด์„œ, ์ฑ„๋„ ์ „์ฒด์˜ ํ†ต์ผ๊ฐ์„ ์œ ์ง€ํ•ด์คŒ.

Prerequisites

  • curl, python3, ffmpeg (for assembly)

References

  • SunoAPI details: Read references/sunoapi.md
  • Visual provider details: Read references/visual-providers.md
Free
Installation
Reviews

Sign in to leave a review.

No reviews yet. Be the first.