소스 정보
- 저장소
- diegosouzapw/awesome-omni-skill
- 최근 소스 활동
- 2026년 2월 28일 04:26
- 감지된 SKILL.md 언어
- 영어
- 스타
- 50
- 포크
- 19
설치 방법
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
소스 파일 검토
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
메뉴
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/diegosouzapw/awesome-omni-skill --skill video명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SOC 직업 분류 기준
SKILL.md 표시 중
| name | video |
| description | Generate videos using fal.ai (Wan, Kling) or Sora. Text-to-video and image-to-video. |
| user-invocable | false |
| disable-model-invocation | true |
| disabled | false |
| icon | film.fill |
| aliases | ["sora","generate video","vid","fal"] |
| parameters | [{"name":"prompt","placeholder":"Describe the video...","required":true}] |
Two providers: fal.ai (Wan, Kling — API-based, $5/day budget) and Sora (Playwright automation, currently disabled).
Default provider: fal.ai — use Sora only when explicitly requested.
--budget to see status.# Text-to-video (Wan 2.2, 480p, 16:9 — cheapest)
python3 .claude/skills/video/src/fal_create.py "a goldfish swimming in clear water"
# Portrait (9:16)
python3 .claude/skills/video/src/fal_create.py "neon dice rolling" -a 9:16
# Higher quality (720p — 2x cost)
python3 .claude/skills/video/src/fal_create.py "epic landscape" -r 720p
# Kling Standard (better quality, $0.28/5s)
python3 .claude/skills/video/src/fal_create.py "robot playing poker" -m kling-std
# Kling Pro (best quality, $0.49/5s)
python3 .claude/skills/video/src/fal_create.py "cinematic casino scene" -m kling-pro
# 10-second Kling ($0.56)
python3 .claude/skills/video/src/fal_create.py "dice duel showdown" -m kling-std -d 10
# Image-to-video (auto-selects i2v model)
python3 .claude/skills/video/src/fal_create.py "camera slowly zooms out" --image /path/to/photo.png
# Batch mode
python3 .claude/skills/video/src/fal_create.py --batch /path/to/jobs.json
# Check budget
python3 .claude/skills/video/src/fal_create.py --budget
# Override daily limit
python3 .claude/skills/video/src/fal_create.py "prompt" --daily-limit 3.00
| Flag | Options | Default | Notes |
|---|---|---|---|
-m | wan-t2v, wan-i2v, kling-std, kling-pro, kling-std-i2v | wan-t2v | Auto-switches to i2v with --image |
-r | 480p, 580p, 720p | 480p | Wan only |
-a | 16:9, 9:16, 1:1 | 16:9 | All models |
-d | 5, 10 | 5 | Kling only (seconds) |
-f | 17-161 | 81 | Wan only (frames, 81≈5s at 16fps) |
-i | path | — | Reference image |
-b | path | — | Batch JSON |
| Model | Resolution/Duration | Cost | Videos per $5 |
|---|---|---|---|
| wan-t2v | 480p | ~$0.04/sec | ~125 |
| wan-t2v | 720p | ~$0.08/sec | ~62 |
| wan-i2v | 480p | $0.20 | 25 |
| wan-i2v | 720p | $0.40 | 12 |
| kling-std | 5s | $0.28 | 17 |
| kling-std | 10s | $0.56 | 8 |
| kling-pro | 5s | $0.49 | 10 |
| kling-pro | 10s | $0.98 | 5 |
Budget tracked in ~/.config/fal/budget.json, resets daily.
[
{"prompt": "neon dice rolling on felt", "model": "wan-t2v", "aspect_ratio": "9:16"},
{"prompt": "robot casino", "model": "kling-std", "duration": "5"},
{"prompt": "animate this", "model": "wan-i2v", "image": "/path/to/img.png"}
]
Each job supports: prompt (required), model, resolution, aspect_ratio, duration, num_frames, image.
Do NOT use when:
image skill instead)# Text-to-video (portrait, 5 seconds — portrait is default)
python3 .claude/skills/video/src/create.py "a goldfish swimming in clear water" -o portrait
# Landscape orientation (only when explicitly requested)
python3 .claude/skills/video/src/create.py "a person walking through rain" -o landscape
# Square
python3 .claude/skills/video/src/create.py "abstract shapes morphing" -o square
# Longer duration (10s = 300 frames, 15s = 450, 20s = 600)
python3 .claude/skills/video/src/create.py "timelapse of clouds" -f 300
# Image-to-video (animate a reference image)
python3 .claude/skills/video/src/create.py "camera slowly zooms out" --image /path/to/photo.png
# Larger resolution (512x896 portrait, 1024x576 landscape)
python3 .claude/skills/video/src/create.py "epic landscape" -s large
# Batch mode (submit multiple jobs in one browser session)
python3 .claude/skills/video/src/create.py --batch /path/to/jobs.json
# Download recent videos WITHOUT generating (recover from timeouts)
python3 .claude/skills/video/src/download.py
# Download more history (default: 20 recent drafts)
python3 .claude/skills/video/src/download.py --limit 50
-o, --orientation: landscape (default), portrait (square is NOT supported by Sora)-s, --size: small (default), large-f, --frames: 150 (5s, default), 300 (10s), 450 (15s), 600 (20s)-i, --image: path to reference image for image-to-video generation-b, --batch: path to JSON file with array of jobsSubmit multiple videos in a single browser session. Write a JSON file with an array of jobs:
[
{"prompt": "first video prompt", "orientation": "portrait"},
{"prompt": "second video", "image": "/path/to/ref.png", "frames": 300},
{"prompt": "third video", "orientation": "square", "size": "large"}
]
Each job supports: prompt (required), orientation, size, frames, image (all optional).
All jobs are submitted at once, polled together, and downloaded when ready. Much faster than running one at a time.
For multi-scene videos with consistent visual style, use this Gemini→Gemini→Sora pipeline:
Generate 2-3 mood boards with the image skill to establish the visual identity. Include color palette, key elements, atmosphere, character design. Present to user for approval.
Generate each scene frame with Gemini, chaining the previous frame as reference:
The mood board is the anchor preventing style drift. The previous frame gives scene continuity. Always include "Match the visual style of the reference image exactly. Same color palette, same pixel art fidelity, same lighting approach." in every prompt.
Build a single composite image with all frames for efficient review:
from PIL import Image
frames = [Image.open(f'frame-{i}.jpg') for i in range(1, N+1)]
target_h = 400
frames = [f.resize((int(f.width * target_h/f.height), target_h), Image.LANCZOS) for f in frames]
padding = 8
comp = Image.new('RGB', (sum(f.width for f in frames) + padding*(len(frames)+1), target_h + padding*2), (20,20,30))
x = padding
for f in frames:
comp.paste(f, (x, padding))
x += f.width + padding
comp.save('storyboard.jpg', 'JPEG', quality=85)
Feed each approved frame to Sora as image-to-video in a batch. Prompt only describes MOTION, not the scene content (Sora sees the image).
When aligning with a specific brand:
Tested vocabulary for controlling Sora's output. Use these terms with confidence — they've been verified.
All work reliably for text-to-video. Sora interprets loosely but distinctly.
| Prompt term | What you get | Best for |
|---|---|---|
| "Aerial drone shot" | High-angle follow (~60°), NOT true bird's eye | Establishing shots, spectacle |
| "Extreme close-up" | Tight face/detail, beautiful bokeh, minimal motion | Emotional beats, texture |
| "Low angle looking up" | Camera on ground, subject towering, dramatic | Power shots, imposing feel |
| "Wide establishing shot" | Full environment, subject small in frame | Scene-setting, mood |
| "Over-the-shoulder" | Behind subject, shallow DOF, intimate framing | Following, voyeuristic |
Note: "Straight down / bird's eye / top-down" doesn't work — you'll get ~60° instead. True overhead needs stronger language.
Text-to-video supports some movement. Image-to-video does NOT (confirmed in earlier experiments).
| Prompt term | Actual movement? | Quality |
|---|---|---|
| "Slow dolly forward" | Barely perceptible | Beautiful scene but almost static |
| "Slow pan left to right" | YES — clear horizontal reveal | Reliable, new elements appear |
| "Camera slowly orbits" | NO — micro-shift at best | Becomes a static beauty shot |
| "Handheld shaky camera" | Subtle natural motion, NOT shaky | Sora smooths everything |
| "Steadicam tracking shot following [subject]" | YES — best actual movement | Spatial progression, most cinematic |
Winner: "steadicam tracking shot following" — the words "tracking" + "following" trigger real spatial movement. Avoid: "dolly" and "orbit" — these produce nearly static results. Note: "pan" works but may override your style — in testing it produced Pixar/3D instead of requested photorealism.
Styles that completely avoid the "AI-generated" look, ranked by convincingness:
| Style keyword | What you get | AI-looking? |
|---|---|---|
| "Japanese woodblock print, ukiyo-e, flat perspective, bold outlines" | Authentic Hiroshige-quality print | NO — could frame it |
| "Loose watercolor painting, visible brushstrokes, paint bleeding" | Real paper texture, paint bleed | NO — hand-painted feel |
| "Stop motion, handcrafted felt and wool textures, miniature set" | Felt characters, tiny props, Wes Anderson palette | NO — genuinely handcrafted |
| "Claymation, visible fingerprints on clay, handmade miniature set" | Wallace & Gromit quality clay figures | NO — physical materials |
| "Charcoal sketch on cream paper, rough expressive strokes, smudged" | Actual charcoal texture, rough marks | NO — traditional medium |
| "16-bit pixel art, retro game aesthetic, dithering" | SNES RPG quality, dithered sky | NO — retro constraint hides AI |
| "VHS camcorder footage, tracking lines, dated color" | Authentic 90s home video degradation | NO — artifacts mask tells |
| "Kodak Portra 400 film, warm grain, overexposed highlights" | Warm film grain, soft highlights | NO — passes as real footage |
| "Anime, Studio Ghibli aesthetic, hand-drawn cel animation" | Clean linework, warm flat colors | Slightly — rain too 3D |
| "Anamorphic widescreen, blue and orange grade, lens flare" | Bokeh orbs, cinematic grade | Slightly — too clean/rendered |
Top 3 for marketing: Kodak Portra (authentic), stop motion/felt (charming + unique), VHS (nostalgic).
Tested: 3 shots of same scene (wide, close-up, OTS) with identical style keywords.
What Sora CAN match across generations:
What Sora CANNOT match:
Continuity recipe: Use identical style keywords + setting description + color words across all prompts. Cut between shots that FEEL the same but avoid showing the same specific object prominently in multiple clips. For character consistency, use Gemini mood board chaining (see Multi-Scene workflow above).
Sora produces its best work with:
Avoid: interiors with harsh fluorescent lighting, anything requiring readable text.
New anti-AI styles confirmed:
| Style keyword | What you get | AI-looking? |
|---|---|---|
| "Paper craft, folded paper, cardboard, origami" | Physical-looking paper city with hanging clouds | NO — real model feel |
| "Knitted yarn landscape, button fruits, wool clouds" | Yoshi's Woolly World quality, joyful | NO — craft materials |
| "Pottery wheel, wet clay, kiln glow, 16mm film grain" | Tactile hands shaping clay, meditative | NO — earthy, real |
| "Stained glass window, light streaming, dust particles" | Cathedral light beams, rainbow on stone floor | NO — breathtaking |
| "Chalk drawing on blackboard, being drawn in real time" | Hand actually drawing with chalk, satisfying | NO — classroom feel |
| "Light painting photography, long exposure trails" | Neon trails forming shapes in pure darkness | NO — photographic |
| "Double exposure: [subject] overlaid with [background]" | Clean composite, neon accents, artistic | Slightly — but intentionally surreal |
Composition techniques that work:
Text rendering update:
Crowded scenes update:
Sora is a storyteller, not an animator. Given an image + motion prompt, it doesn't move existing elements — it reinterprets the scene through the lens of the prompt. The more motion/narrative you request, the more it invents.
| Level | Prompt Type | Scene Preservation | Quality |
|---|---|---|---|
| 1 - Still | "subtle breathing, faint particles" | Near-perfect | Best |
| 2 - Ambient | "rain falls, lights flicker, ripples" | Very good, minor color shift | Great |
| 2.5 - Detail | "cape flutters, eyes blink, cloud rises" | Very good | Great |
| 2.5 - Micro cam | "barely perceptible zoom in" | Very good | Great |
| 3 - Camera | "zoom out", "pan", "dolly" | Destroyed — scene reimagined | Broken |
| 4 - Orbit | "camera orbits around" | Destroyed — new scene invented | Broken |
| 5 - Action | "character flies, intense action" | Destroyed — new narrative created | Broken but creative |
Safe zone: Levels 1–2.5. The boundary is not "ambient vs everything" — it's "effect-like motion" vs "motion requiring 3D scene understanding." Cape flutter, rain, micro zoom, object displacement (cloud rising) = effects that work. Camera orbit, walking, flying = requires 3D understanding = breaks.
Safe at the boundary:
~95% speech hallucination rate across 30+ videos. Every prompt-based approach to prevent it fails:
ffmpeg -i input.mp4 -an -c:v copy output.mp4)Same image + same prompt produces visually consistent results across 5 runs. Composition, character position, and scene layout are highly deterministic. Only minor variations in neon sign text and color temperature. Speech content varies wildly (random noise).
API metadata reports half the actual resolution. Real values:
| Setting | Actual Resolution | File Size (5s) |
|---|---|---|
| Portrait small | 704x1280 | ~3.6 MB |
| Portrait large | 1024x1792 | ~4.5 MB |
| Landscape small | 1280x704 | ~2.9 MB |
| Square | Not supported (400 error) | N/A |
download_urls.no_watermark always returns NoneWording barely matters for ambient motion. Tested 5 variations (plain, constrained, "looping ambient", negative framing, "cinemagraph") — all produced nearly identical results. The simplest prompt works just as well as complex ones. Don't overthink it.
Two fundamentally different modes:
| Aspect | Image-to-Video | Text-to-Video |
|---|---|---|
| Style control | Exact (from reference) | Unreliable ("pixel art" may become 3D) |
| Camera movement | Destroys scene | Works well |
| Motion quality | Ambient only | Full cinematic |
| Speech hallucination | ~95% rate | Lower (0% on character-free scenes) |
| Best for | Animating existing art | Cinematic/atmospheric content |
Strategy: Use image-to-video for style-exact ambient scenes. Use text-to-video for cinematic motion and character-free atmospheric content.
All styles preserve scene with ambient prompts. But motion quality varies:
| Style | Motion Amount | Best For |
|---|---|---|
| Pixel art / neon | Most dramatic | Many light sources → lots to flicker |
| Flat illustration | Charming subtle | Eyes blink, warm light shifts |
| Art nouveau / graphic | Minimal | Fewer moving elements = less animation |
Rule: styles with many light sources = better ambient animation. Sora needs "things that can flicker."
[ambient motion description]. No new objects, preserve exact art style.
Note: speech constraints are useless — always strip audio. "No new objects, preserve exact art style" helps visual fidelity. Prompt complexity doesn't matter — keep it simple.
What works well (image-to-video):
What breaks (image-to-video):
For text-to-video:
Pre-flight checklist — do ALL of these before every batch submission:
ps aux | grep -E "src/create.py|src/download.py" | grep -v grep
If anything is running, STOP. Wait for it to finish. Do not submit a new batch.
python3 .claude/skills/video/src/download.py
The CLI often times out but the script keeps running in the background. Videos generate server-side even after a timeout. Always recover missed downloads before starting new work.
ls -lt .claude/skills/video/data/raw/*.mp4 | head -10
Verify what you already have so you don't re-generate.
Create the experiment JSON file BEFORE running the script. This way the experiment is documented even if the CLI times out mid-run.
Only now run create.py --batch. The Sora jobs are submitted server-side the moment the script runs — even if the CLI connection drops, the videos will generate. Use download.py to recover them later if needed.
ls -lt output/raw/*.mp4 | head for new files before re-running — you'll burn duplicate credits otherwise.audio_transcript: {"text": "..."} and audio_caption: "string" are accepted by the API but videos with audio never produce download URLs on the sy_8 model. Audio appears broken — use Kokoro TTS locally instead for narration overlay.SingletonLock file persists in browser/. Delete it before retrying: rm -f .claude/skills/video/browser/SingletonLock. Also kill zombie Chrome processes: ps aux | grep "Chrome.*browser" | grep -v grep | awk '{print $2}' | xargs kill -9.If the session expires, re-authenticate:
python3 .claude/skills/video/src/session.py login
# Opens Chrome, sign in to sora.chatgpt.com, type 'done'
Default output: .claude/skills/video/data/raw/
Files are named sora_{timestamp}.mp4.
data/
├── raw/ # Individual Sora generations
├── compilations/ # Finished stitched videos
├── shorts/ # Short-form edits (daily-short v1/v2/v3)
├── experiments/ # JSON batch configs
├── characters/ # Pixel character designs + rosters
├── moodboards/ # Style reference collages
├── storyboards/ # Composite overview images
└── frames/ # Gemini reference frames for Sora input
Where to save things:
data/raw/ (automatic via scripts)data/compilations/data/shorts/data/experiments/data/frames/data/moodboards/data/storyboards/data/characters/All batch JSONs live in data/experiments/.
| Batch | File | Theme | Videos | Top Picks |
|---|---|---|---|---|
| 1 | batch1-camera-angles.json | Camera angles (aerial, close-up, low, wide, OTS) | 5/5 | All solid reference |
| 2 | batch2-camera-movement.json | Camera movement (pan, orbit, dolly, tracking, handheld) | 5/5 | Steadicam tracking = winner |
| 3 | batch3-visual-styles.json | Visual styles (Kodak Portra, woodblock, watercolor) | 3/3 | Woodblock print |
| 4 | batch4-non-ai-styles.json | Non-AI aesthetics (stop motion, claymation, pixel art, VHS) | 4/4 | Stop motion felt |
| 5 | batch5-continuity.json | Continuity across shots (same scene, different angles) | 4/4 | Mood matches, details don't |
| 6 | batch6-lighting.json | Lighting variations and atmospheric effects | 5/5 | All good |
| 7 | batch7-marketing-scenes.json | Marketing/commercial scenes | 5/5 | Cozy workspace |
| 8 | batch8-mixed-styles.json | Mixed creative combos (felt+neon, claymation, aerial ocean) | 5/5 | Felt neon city walk (#1) |
| 9 | batch9-untested.json | Risky/untested (market, timelapse, split screen, underwater, candle) | 5/5 | Split screen 4 seasons, underwater |
| 10 | batch10-longer-duration.json | 10s and 15s marketing clips (forest, felt city, aerial lake) | 3/3 | Aerial mountain lake 15s |
| 11 | batch11-cloude-marketing.json | Cloude-specific (couch+cat, city walk, desk, felt DEPLOY, bed phone) | 5/5 | Couch coder (#1), felt DEPLOY (#4) |
| 12 | batch12-night-mood.json | Night cinematics (rain window, subway, rooftop, noir, aurora) | 4/5 | Rooftop 3am (#3), rain window (#1) |
| 13 | batch13-tech-aesthetic.json | Tech/coding (code screen, server room, hologram, keyboard, glasses) | 5/5 | Server room (#2), code glasses (#5) |
| 14 | batch14-textures.json | Material textures (paper, pottery, knitted, stained glass, chalk) |
Stitched videos from batches 16-19:
compilations/01-universe-creatures.mp4 — 5 clips, 25scompilations/02-universe-clouds.mp4 — 5 clips, 25scompilations/03-gaming-creatures.mp4 — 4 clips, 20s ⭐ BESTcompilations/04-gaming-clouds.mp4 — 4 clips, 20s10 pixel art variants from ref-creature.png saved in data/characters/:
DJ, Hacker, Astronaut, Samurai, Scientist, Boxer, Skater, King, Rockstar, Pirate
Best pipeline discovered for character-consistent animated pixel art:
Full recipe documented in plans/20_active/gaming-creatures-video.md.
| 5/5 |
| Stained glass (#4), knitted world (#3) |
| 15 | batch15-abstract.json | Abstract (ink water, geometric, light painting, double exposure, particles) | 5/5 | Double exposure face+city (#4), particle brain (#5) |
| 16 | batch16-universe-creatures.json | Cloude Universe — pixel creatures in cloud city (aerial, home, market, sunset, tavern) | 5/5 | Sunset panorama, tavern meeting |
| 17 | batch17-universe-clouds.json | Cloude Universe — cloud squad (village, home, forest, stargazing, festival) | 5/5 | Magic forest, cloud festival |
| 18 | batch18-gaming-creatures.json | Cloude Gaming — creatures in retro games (pac-man, fighter, platformer, invaders, kart) | 4/5 | Kart racing, fighter game |
| 19 | batch19-gaming-clouds.json | Cloude Gaming — clouds in retro games (pac-man, tetris, pokemon, cooking, arcade) | 4/5 | Pokemon battle, cooking mama |