| name | photo-studio-skill |
| description | Generate professional AI-enhanced photos using ByteDance Seedream 4.5 model. Use when users want to, (1) Create portraits with various styles, (2) Generate couple or family group photos, (3) Take photos with movie characters, (4) Edit images (change clothing, background, material, style), (5) Merge multiple photos (outfit fusion, person-scenery fusion, brand design), (6) Create series of related images (seasons, character states, story sequences), (7) Design posters (movie, event, product), or (8) Use custom prompts with full creative control. |
Photo Studio
Generate professional AI-enhanced portraits and group photos using Seedream 4.5 AI model.
Quick Start
python scripts/main.py generate --photo path/to/your/photo.jpg
python scripts/main.py generate --photo "$USER_PHOTO" --scenario portrait --non-interactive
Core Workflow
- Select scenario from 9 options: celebrity, portrait, couple, family, edit, fusion, series, poster, free
- Provide inputs: photos, styles, templates, prompts based on scenario
- Generate images: CLI preprocesses photos, calls Seedream 4.5 API, saves results to
output/images/
- Review and save: View, reorder, regenerate, or confirm images
Essential Commands
Generate Images
python scripts/main.py generate --photo "$USER_PHOTO" --scenario celebrity --non-interactive
python scripts/main.py generate --photo "$USER_PHOTO" --scenario portrait --style "่ไธๅๅก็
ง" --non-interactive
python scripts/main.py generate --photos "$PHOTO1,$PHOTO2" --scenario couple --pose "ๆ็ตๆ้ขๅ้ๅคด" --background "ๆตทๆปฉๆฅ่ฝ" --non-interactive
python scripts/main.py generate --photos "$PHOTO1,$PHOTO2,$PHOTO3" --scenario family --template "ๆธฉ้ฆจๅฎถๅบญ่ไผ" --non-interactive
python scripts/main.py generate --photo "$USER_PHOTO" --scenario edit --template change-clothing --clothing "่ฟๅจๅคๅฅ" --non-interactive
python scripts/main.py generate --photos "$PHOTO1,$PHOTO2" --scenario fusion --template outfit-fusion --non-interactive
python scripts/main.py generate --photo "$USER_PHOTO" --scenario series --template seasons --count 4 --non-interactive
python scripts/main.py generate --photo "$USER_PHOTO" --scenario poster --template movie-poster --non-interactive
python scripts/main.py generate --photo "$USER_PHOTO" --scenario free --prompt "A futuristic cyberpunk portrait" --non-interactive
List Available Options
python scripts/main.py list-scenarios
python scripts/main.py list-styles --scenario <scenario_id>
python scripts/main.py list-poses
python scripts/main.py list-templates
python scripts/main.py list-backgrounds --scenario <scenario_id>
python scripts/main.py list-characters
Configuration and Utilities
python scripts/main.py config --show
python scripts/main.py config --set generation.default_image_count=3
python scripts/main.py add-character "Character Name" "Description" --scene "Scene"
python scripts/main.py cleanup
Scenarios Overview
| Scenario | Photos Required | Key Options |
|---|
| Celebrity | 1 | characters, count |
| Portrait | 1 | style, count |
| Couple | 2 | pose, background, count |
| Family | 1-6 | template, background, count |
| Edit | 1 | template (5 options), template-specific params |
| Fusion | 1-6 | template (4 options), template-specific params |
| Series | 1 | template (4 options), count (4/6/8/10) |
| Poster | 1 | template (3 options), template-specific params |
| Free | 1-14 | prompt, negative-prompt, count |
Environment Setup
pip install -r requirements.txt
export MOCK_API=true
Configuration
Key settings in config.json:
generation.image_width / generation.image_height - Image dimensions (default: 2048)
generation.default_image_count - Default number of images (default: 5)
scenarios.default_scenario - Default scenario (default: celebrity)
File Structure
photo-studio-skill/
โโโ SKILL.md # This file
โโโ scripts/ # Executable CLI tools
โ โโโ main.py # Main entry point
โโโ data/ # Scenario templates and options
โโโ references/ # Feature documentation
โ โโโ celebrity.md # Celebrity photos with movie characters
โ โโโ portrait.md # Professional personal portraits
โ โโโ couple.md # Couple/friend portraits
โ โโโ family.md # Family group photos
โ โโโ edit.md # Image editing
โ โโโ fusion.md # Multi-photo fusion
โ โโโ series.md # Series creation
โ โโโ poster.md # Poster design
โ โโโ free.md # Free mode with custom prompts
โโโ output/images/ # Generated images
โโโ temp/ # Temporary files
โโโ logs/ # Error logs
โโโ config.json # Configuration settings
โโโ requirements.txt # Python dependencies
โโโ AGENTS.md # Agent development guidelines
โโโ README.md # Project documentation
References
Load these reference files when working with specific features:
Feature Modules:
- references/celebrity.md - Celebrity photos with movie characters
- references/portrait.md - Professional personal portraits with various styles
- references/couple.md - Couple or friend portraits with poses and backgrounds
- references/family.md - Family group photos with templates
- references/edit.md - Image editing (clothing, material, background, style, enhancement)
- references/fusion.md - Multi-photo fusion (outfit, person-scenery, brand, composite)
- references/series.md - Series creation (seasons, brand kit, character states, story)
- references/poster.md - Poster design (movie, event, product)
- references/free.md - Free mode with custom prompts
Technical Notes
Image Generation
- Model: Seedream 4.5 (
doubao-seedream-4.5-251128)
- Resolution: 2048x2048 (configurable)
- Supports 1-14 reference photos
- Uses image-to-image generation with user photos as reference
- Processing time: ~10-20 seconds per image
Multi-Photo Scenarios
- Couple and family scenarios use multi-reference image fusion
- Person count controlled via prompt descriptions (not precise)
Mock Mode Benefits
- No API costs
- Fast testing (500ms instead of 10-20 seconds)
- No network dependency
- Consistent test results
Troubleshooting
Image generation fails:
- Check internet connection
- Verify API key is properly configured (see Environment Setup)
- Ensure photos are clear and well-lit (โฅ1024ร1024 recommended)
- Check
logs/ directory for detailed errors
Common issues:
- Large photos require more processing time
- API rate limits may apply
- Person count in group photos is controlled via prompt (not precise)