# Colorize

Turn photos, videos, and Live Photos into a black-and-white to color reveal clip (单彩渐变...

- Repository: https://github.com/vibe-motion/skills (1498 stars)
- Category: Mobile
- License: see repository
- Last updated: 2026-10-05
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add vibe-motion/skills --skill colorize -g -a claude-code -y`
Codex: `npx skills add vibe-motion/skills --skill colorize -g -a codex -y`
Cursor: `npx skills add vibe-motion/skills --skill colorize -g -a cursor -y`
Gemini CLI: `npx skills add vibe-motion/skills --skill colorize -g -a gemini-cli -y`

## Description

Turn photos, videos, and Live Photos into a black-and-white to color reveal clip (单彩渐变 + 动感模糊 + 丁达尔旋焦). The frame starts monochrome and spun, color sweeps in from the left under a horizontal motion blur, and the spin settles from the center outward into a softly glowing full-color frame. Use when users ask for 上色效果, 黑白变彩色, 丁达尔旋焦, 旋焦上色, 剪映上色特效, color reveal, colorize transition, or want this effect on images, iPhone Live Photos (HEIC/JPG + MOV), Android motion photos, or video clips. Outputs H.264 MP4.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Colorize

## Workflow

1. Collect the user's inputs: images, videos, or Live Photos. Use absolute paths.
2. Resolve the skill directory and install dependencies once (see Requirements).
3. Run `scripts/colorize.py` with the inputs and an output path.
4. Wait for `VALIDATION=PASS` and `OUTPUT_VIDEO=<absolute path>`.
5. Optionally extract a few frames with `ffmpeg` to check the look before replying.
6. Return the output path and the settings used.

## Quick Start

```bash
skill_dir=""
for base in "${AGENTS_HOME:-$HOME/.agents}" "${CLAUDE_HOME:-$HOME/.claude}" "${CODEX_HOME:-$HOME/.codex}"; do
  if [ -d "$base/skills/colorize" ]; then
    skill_dir="$base/skills/colorize"
    break
  fi
done
[ -n "$skill_dir" ] || { echo "colorize skill not found under ~/.agents, ~/.claude, or ~/.codex"; exit 1; }

python3 -m pip install -r "$skill_dir/scripts/requirements.txt"
python3 "$skill_dir/scripts/colorize.py" "/abs/path/photo.jpg" -o "$(pwd)/out/photo_colorize.mp4"
```

If the agent already knows the directory containing this `SKILL.md`, use that as `skill_dir`.

## Inputs

| Input | What happens |
| --- | --- |
| Image (`png jpg jpeg webp heic heif avif bmp tif`) | Static plate; the reveal lasts `--duration` seconds, then `--hold` seconds of the settled frame. |
| Video (`mp4 mov m4v webm mkv avi gif`) | Each source frame keeps moving; the reveal runs over the first `--duration` seconds and the rest of the clip keeps the settled look. Audio is kept. |
| iPhone Live Photo | Pass the still (`IMG_0001.HEIC` or `.JPG`). A same-name `.MOV` beside it is used automatically, with its audio. Pass the `.MOV` directly for the same result. |
| Android motion photo | Pass the `.jpg`; the embedded MP4 (Google `MP.jpg` / `MVIMG`, Samsung) is extracted automatically. |
| Several inputs | Rendered in order and joined into one MP4. Each input gets its own reveal. |

Use `--still` to ignore Live Photo or motion photo video and animate only the still.

## Common Commands

The rest: https://github.com/vibe-motion/skills/blob/HEAD/colorize/SKILL.md
