Batch Image Cutout

Separates foreground from background in batch, extracting subjects or people with transparent background output. Supports both directory scan mode and config file mode.

meitu batch image-cutout

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

Usage Examples

# Scenario 1: Directory scan mode (simple batch cutout)
meitu batch image-cutout \
  --input-dir ./images \
  --output-dir ./cutouts \
  --prompt "Extract the subject" \
  --json

# Scenario 2: Config file mode (custom parameters)
meitu batch image-cutout \
  --config ./batch.image-cutout.yaml \
  --output-dir ./cutouts \
  --json

# Scenario 3: High-concurrency batch processing
meitu batch image-cutout \
  --input-dir ./products \
  --output-dir ./cutouts \
  --concurrency 5 \
  --max-retries 1 \
  --skip-exist \
  --json-output ./result.json

Config File Example

version: 1
defaults:
  outputDir: ./cutouts
items:
  - input: ./images/product1.jpg
    prompt: Cut out the product subject
  - input: ./images/person1.jpg
    prompt: Cut out the person
  - input: ./images/model.jpg
    prompt: Fine cutout, preserve hair detail

Parameter Reference

ParameterRequiredDescription
--input-dirNoInput directory, recursively scans image files
--output-dirYesOutput directory
--configNoPath to YAML/JSON config file
--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
--promptNoType: string; Cutout guidance prompt