Batch Music Generation

Batch generate pure music/BGM, vocal-free and lyric-free, supporting multiple styles and duration control (30-120 seconds).

meitu batch audio-music-generate

Note: Batch processing is available from meitu-cli v2.1.1 onward. Please upgrade if you're on an older version.

Two input modes:

  1. Directory scan mode — scan text files via --input-dir (one prompt per line), with --duration for unified duration.
  2. Config file mode — specify a YAML/JSON config file via --config, supporting per-task custom parameters.

Usage Examples

# Scenario 1: Directory scan mode (batch generate background music)
meitu batch audio-music-generate \
  --input-dir ./prompts \
  --output-dir ./music \
  --duration 60 \
  --json

# Scenario 2: Config file mode (custom parameters)
meitu batch audio-music-generate \
  --config ./batch.audio-music-generate.yaml \
  --output-dir ./music \
  --json

Config File Example

version: 1
defaults:
  outputDir: ./music
  duration: 60
items:
  - prompt: light and pleasant background music for a cafe
    duration: 60
  - prompt: tense suspenseful film score
    duration: 90

Parameter Reference

ParameterRequiredDescription
--input-dirNoInput directory, scans text files (one prompt per line)
--output-dirYesOutput directory
--configNoPath to YAML/JSON config file
--durationYesType: number; Range: 30-120; Music duration in seconds. Required in directory scan mode; in config file mode, serves as default and can be overridden per item
--concurrencyNoType: number; Default: 3; Number of concurrent executions
--max-retriesNoType: number; Default: 0; Number of retries on failure
--skip-existNoSkip existing output files
--dry-runNoPreview the plan without executing
--no-progressNoDisable per-task progress logging
--jsonNoOutput results in JSON format
--json-outputNoWrite results to a specified JSON file
--skill-nameNoSkill name attributed on the server side