Image
Core functionality module for generating and processing image content
clawhub install image视频缩略图提取器:从视频自动提取和生成缩略图的工具
# Install Skill npx skills add dkyazzentwatwa/chatgpt-skills@video-thumbnail-extractor # Claude Code will auto-detect and use it after installation
# Same install command — works with all SKILL.md-compatible AI coding tools npx skills add dkyazzentwatwa/chatgpt-skills@video-thumbnail-extractor
python video_thumbnail_extractor.py --input video.mp4 --time 00:01:30 --output thumb.jpg
python video_thumbnail_extractor.py --input video.mp4 --grid 4x4 --output preview.jpg
npx skills add dkyazzentwatwa/chatgpt-skills@video-thumbnail-extractor && skills video-thumbnail-extractor --input ./movie.mp4 --smart-select --count 3 --quality high --format jpgUpload images to img402.dev and get a public URL. Free tier: 1MB max, 7-day retention, no auth. Use when the agent needs a hosted image URL — for sharing in messages, embedding in documents, posting to social platforms, or any context that requires a public link to an image file.
clawhub install image-hostingReal cold-start runs of this skill on Claude Code and Codex.
Input: From a 14s multi-scene video, extract a single representative 1280×720 poster frame (ffmpeg `thumbnail` filter — smart frame selection, not frame 0).
Scored ALL 420 frames with `thumbnail=n=420` (most thorough), then scale+pad to 1280×720 (a no-op since the source was already 16:9). Picked a muted gradient frame. Harmless image2 non-pattern-filename warning.
claude-opus-4-8
`thumbnail=n=100` over a 100-frame window from ~3.5s → selected the vivid full-saturation SMPTE color-bar frame. Fast (15s / 3 cmds) — Codex is efficient on simple deterministic tasks.
codex-cli 0.140
Output: thumbnail.png — 1280×720 representative poster. Different frame per agent (Codex vivid SMPTE bars; Claude muted gradient) — both valid; source was a synthetic test-pattern reel.
Verdict: Both extracted a valid 1280×720 poster via the ffmpeg thumbnail filter (not frame 0). Approaches differ — Codex sampled a 100-frame window (15s / 3); Claude scored all 420 frames (more thorough, 30s / 4). Frame choice differs by windowing; both representative. Another simple-task data point: Codex was faster.
Input: Chain TWO skills end-to-end on an 8s clip: (1) Video Thumbnail Extractor (ffmpeg `thumbnail`) picks the most representative frame → poster.png; (2) ImageMagick composes a 1200×630 social/OG card from it (cover-fit + 40% darken, bold "skills.video" title + subtitle lower-left, accent rule) → card.png.
Chained both skills cleanly: `thumbnail=n=240` picked the frame at ~3.83s (not frame 0) → fed ImageMagick which cover-fit + 40%-darkened the poster and annotated it (orange accent rule). IM font registry was empty → supplied absolute Arial Bold/Regular paths (known env prereq).
claude-opus-4-8
Environment: macOS · ffmpeg 8.1.1 + ImageMagick 7.1.2 · symmetric cold start (codex exec vs a fresh Claude Code subagent). Inputs are synthetic clips (test-pattern / mandelbrot), so the posters are generated frames.
Same chain — `thumbnail` selected the SAME frame at 3.83s (byte-identical poster, md5 dae35d3a…), then ImageMagick cover-cropped + 40%-darkened + annotated (green accent rule, slightly different text metrics). 9 shell steps.
codex-cli 0.140
Output: Both: poster.png 1280×720 (byte-identical, md5 dae35d3a…) → card.png 1200×630 social card (Claude 847 KB / orange accent, Codex 845 KB / green accent). Two skills composed into one shareable artifact.
Verdict: Both completed the multi-skill pipeline successfully — a real "涉及的其他 skills" composition (thumbnail extractor + ImageMagick). The deterministic step (frame selection) converged byte-identical; the creative step (card design) split (accent color/text metrics) — finding f3 illustrated inside a single pipeline. Efficiency favors Claude (6 vs 9 actions).