Generate multiple songs at once from a YAML file.
# From local file
suno batch songs.yaml -o ./output
# From URL
suno batch https://example.com/album.yaml -o ./outputsongs:
- title: "Song 1"
prompt: path/to/lyrics1.txt
style: "pop, upbeat"
- title: "Song 2"
prompt: |
Verse 1:
Inline prompt works too
No separate file needed
style: path/to/style.txtEach song must have:
title- Song titleprompt- File path or inline textstyle- File path or inline text
- title: "My Song"
prompt: lyrics.txt
style: "pop"
# Optional fields
output: ./custom-dir # Custom output directory
model: V5 # AI model
gender: female # Vocal gender
instrumental: true # Instrumental only
# ID3 Tags
artist: "My Band"
album: "First Album"
track: 3
cover: cover.jpg # Custom cover
generate_cover: true # Generate AI coverGenerates songs one after another:
suno batch songs.yaml -o ./albumStarts all generations at once:
suno batch songs.yaml -o ./album --parallelWait N seconds between each song:
suno batch songs.yaml -o ./album --delay 10# album.yaml
songs:
- title: "Opening Track"
prompt: track1.txt
style: "pop, energetic"
track: 1
album: "My Album"
artist: "My Band"
cover: album-cover.jpg
- title: "Second Song"
prompt: track2.txt
style: "pop, mid-tempo"
track: 2
album: "My Album"
artist: "My Band"
cover: album-cover.jpg
- title: "Ballad"
prompt: track3.txt
style: "ballad, emotional"
track: 3
album: "My Album"
artist: "My Band"
gender: female
cover: album-cover.jpgsuno batch album.yaml -o ./my-albumGenerate the same song in different styles:
# variations.yaml
songs:
- title: "Dreams - Pop Version"
prompt: dreams.txt
style: "pop, upbeat, 120 BPM"
- title: "Dreams - Rock Version"
prompt: dreams.txt
style: "rock, energetic, 140 BPM"
- title: "Dreams - Acoustic"
prompt: dreams.txt
style: "acoustic, intimate, folk"
gender: female
- title: "Dreams - Electronic"
prompt: dreams.txt
style: "electronic, EDM, 128 BPM"
- title: "Dreams - Jazz"
prompt: dreams.txt
style: "jazz, smooth, sophisticated"
- title: "Dreams - Instrumental"
prompt: dreams.txt
style: "cinematic, orchestral"
instrumental: truesuno batch variations.yaml -o ./variations --parallel# songs.yaml
songs:
- title: "First Song"
prompt: "Verse 1: Walking down the street..."
style: "pop, upbeat"
- title: "Second Song"
prompt: "Verse 1: Stars are shining bright..."
style: "dance pop, energetic"
gender: femalesuno batch songs.yaml -o ./songsoutput/
├── song_01/
│ ├── track_1.mp3
│ ├── track_2.mp3
│ └── metadata.json
├── song_02/
│ ├── track_1.mp3
│ ├── track_2.mp3
│ └── metadata.json
└── song_03/
├── track_1.mp3
├── track_2.mp3
└── metadata.json
Or with custom output directories:
output/
├── track1/
├── track2/
└── track3/
See examples/ directory:
batch-simple.yaml- Basic batchbatch-album.yaml- Full album with 5 tracksbatch-variations.yaml- Same song, 6 different styles
- Parallel vs Sequential: Use
--parallelfor faster completion, sequential for API rate limiting - Album Production: Use same
album,artist, andcoverfor all tracks - Variations: Use same
promptwith differentstylefor comparisons - Output: Specify custom
outputper song for better organization