mirror of
https://github.com/affaan-m/everything-claude-code.git
synced 2026-04-19 00:23:35 +08:00
3.3 KiB
3.3 KiB
name, description, origin
| name | description | origin |
|---|---|---|
| videodb-skills | The only video skill your agent needs — upload any video, connect real-time streams, search inside by what was said or shown, build complex editing workflows with overlays, generate AI media, add subtitles, and get instant streaming links. | ECC |
VideoDB Skills
The only video skill your agent needs. Upload any video, connect real-time streams, search inside by what was said or shown, build complex editing workflows with overlays, generate AI media, add subtitles, and get instant streaming links — all via the VideoDB Python SDK.
When to Activate
- Uploading or ingesting videos from YouTube URLs, web URLs, or local files
- Searching spoken words or visual scenes across video content
- Generating transcripts or auto-styling subtitles
- Editing clips — trim, combine, multi-timeline composition
- Adding overlays — text, images, audio, music
- Generating AI media — images, video, music, sound effects, voiceovers
- Transcoding — resolution, codec, bitrate, FPS changes
- Reframing video for social platforms (vertical, square, etc.)
- Real-time screen or audio capture with AI transcription
- Getting playable HLS streaming links for any output
Setup
# Install the skill
npx skills add video-db/skills
# Or setup manually
pip install "videodb[capture]" python-dotenv
export VIDEO_DB_API_KEY=sk-xxx
Run /videodb setup inside your agent for guided setup ($20 free credits, no credit card).
Core Patterns
Upload and Process
import videodb
conn = videodb.connect()
video = conn.upload(url="https://www.youtube.com/watch?v=VIDEO_ID")
transcript = video.get_transcript()
for entry in transcript:
print(f"[{entry['start']:.1f}s] {entry['text']}")
Search Across Videos
# Index for semantic search
video.index_spoken_words()
# Search by what was said
results = video.search("product demo")
for r in results:
print(f"{r.start:.1f}s - {r.end:.1f}s: {r.text}")
Timeline Editing
from videodb import Timeline, VideoAsset, AudioAsset
timeline = Timeline(conn)
asset = VideoAsset(asset_id=video.id, start=10, end=30)
timeline.add_inline(asset)
stream = timeline.generate_stream()
print(stream) # Playable HLS link
AI Media Generation
audio = conn.generate_audio(text="Upbeat background music", duration=30)
image = conn.generate_image(prompt="Title card: Welcome to the Demo")
Capabilities
| Capability | What It Does |
|---|---|
| Upload | YouTube, URLs, local files |
| Search | Speech-based and scene-based |
| Transcripts | Timestamped, multi-language |
| Edit | Trim, combine, multi-timeline |
| Subtitles | Auto-generate, custom styling |
| AI Generate | Images, video, music, SFX, voiceover |
| Capture | Screen + audio, real-time |
| Transcode | Resolution, codec, aspect ratio |
| Stream | HLS playable links |
Best Practices
- Always verify SDK connection before operations:
conn.get_collection() - Use
video.index_spoken_words()before searching — indexing is required once per video - For scene search, use
video.index_scenes()— this processes visual frames - Timeline edits produce new streams; the original video is never modified
- AI generation is async — poll status or use callbacks for long operations
- Store
VIDEO_DB_API_KEYin.env, not hardcoded