Skip to content
cccskills
FreePublished on GitHub

image-to-video

FFmpeg-based video creation from image and audio.

The English summary is being prepared. Showing the original description.

See how to install

Files included (7)

  • SKILL.md3.2 KB
  • references/ffmpeg-filters.md4.9 KB
  • scripts/image_to_video.py17.2 KB
  • workspace/.gitignore202 B
  • workspace/completed/.gitkeep0 B
  • workspace/output/.gitkeep0 B
  • workspace/README.md1.4 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Image to Video Skill

Combine a static image with an audio file to produce an MP4 via FFmpeg. Supports resolution presets, audio visualization overlays, and batch processing. For image generation, use image-gen.

Deep References

SignalLoadWhy
FFmpeg filter graphs for visualization modesreferences/ffmpeg-filters.mdScale/pad, showwaves, showspectrum, overlay filters

Phase 1: VALIDATE

  1. Check FFmpeg: ffmpeg -version. If missing, stop with install instructions.
  2. Verify both input files exist with absolute paths and non-zero size. Supported: PNG/JPG/JPEG/GIF/WEBP/BMP (image), MP3/WAV/M4A/OGG/FLAC (audio).
  3. Determine parameters from the user's request -- do not default to static when the user requested a visualization.
PresetDimensionsPlatform
1080p1920x1080YouTube HD (default)
720p1280x720Standard HD
square1080x1080Instagram, social
vertical1080x1920Stories, Reels, TikTok

Visualization modes (off unless requested): waveform, spectrum, cqt, bars.

Gate: FFmpeg installed, both files exist, parameters resolved.

Phase 2: PREPARE

Use the user's output path or derive from audio filename (/same/dir/filename.mp4). Verify directory is writable.

Phase 3: ENCODE

Defaults: libx264 preset medium, CRF 23, yuv420p, 192k AAC.

python3 $HOME/vexjoy-agent/skills/content/image-to-video/scripts/image_to_video.py \
  --image /path/to/image.png --audio /path/to/audio.mp3 \
  --output /path/to/output.mp4 --resolution 1080p --visualization static

Batch mode (matched pairs in workspace/input/):

python3 $HOME/vexjoy-agent/skills/content/image-to-video/scripts/image_to_video.py \
  --process-workspace --visualization waveform

Gate: Script exits 0.

Phase 4: VERIFY

FFmpeg can exit 0 but produce a corrupt file. Always probe:

ffprobe -v error -show_entries format=duration,size -show_entries stream=codec_name,width,height \
  -of default=noprint_wrappers=1 /path/to/output.mp4

Confirm video duration matches audio (within 1s). Report: file path, size, duration, resolution, visualization mode.

Error Handling

ErrorCauseSolution
FFmpeg not foundNot installedapt install ffmpeg or brew install ffmpeg
Image/audio not foundWrong or relative pathUse absolute paths; check with ls -la
FFmpeg filter errorsMinimal build lacks showwaves/showcqtInstall full FFmpeg; fall back to --visualization static
Cannot determine audio durationCorrupted audio fileTest with ffprobe; convert: ffmpeg -i input -acodec pcm_s16le output.wav

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Manage multiple Claude Code accounts: add, list, check, launch, and install shell aliases for 10+ isolated CLAUDE_CONFIG_DIR profiles.

The English summary is being prepared. Showing the original description.

notque/vexjoy-agent442Updated Oct 20, 2026

Improve architecture across modules by deepening interfaces.

The English summary is being prepared. Showing the original description.

notque/vexjoy-agent442Updated Oct 20, 2026

Assessment: read-only inspection, codebase overview, value analysis, health checks, ADR consultation, decision analysis, multi-perspective critique.

The English summary is being prepared. Showing the original description.

notque/vexjoy-agent442Updated Oct 20, 2026

Background memory consolidation — overnight review, merge, and injection payload for memory files.

The English summary is being prepared. Showing the original description.

notque/vexjoy-agent442Updated Oct 20, 2026

Jev-driven browser automation: Jev picks operations, programs execute, a text model writes field values only when Jev cannot pick one from the goal.

The English summary is being prepared. Showing the original description.

notque/vexjoy-agent442Updated Oct 20, 2026

Write, compose, integrate, and improve programs that call Jev, TypeSafe's System One judgment model.

The English summary is being prepared. Showing the original description.

notque/vexjoy-agent442Updated Oct 20, 2026

See all skills by notque

Report a problem with this skill