Claude Code Video Toolkit

repository·main·Indexed 23 days ago

https://github.com/digitalsamba/claude-code-video-toolkit

An AI-native video production workspace for Claude Code that enables autonomous script writing, voiceover generation, and MP4 rendering. It includes tools for video watermark removal via ProPainter, AI-powered image editing using Qwen-Image-Edit-2511 with LightX2V acceleration, and Qwen3-TTS, with support for RunPod serverless deployment and Playwright video recording scripts for Remotion projects.

Tokens
94.6K
Snippets
247
Records
460
Agent score
82%

What's inside claude-code-video-toolkit

  1. Overview of Digital Samba skill capabilities

    main

    The Digital Samba skill provides Claude with the necessary context to build video conferencing applications. It includes:

    • 97 REST API endpoints: Covers Rooms, sessions, recordings, webhooks, and more.
    • SDK methods and events: A full reference for the embedded SDK.
    • 6 integration patterns: Pre-defined patterns for Public rooms, authenticated users, webinars, and recordings.
    • JWT authentication guide: Instructions for token generation across Node.js, Python, and PHP.
  2. Overview of the Digital Samba skill capabilities

    main

    The Digital Samba skill provides Claude with the context necessary to build video conferencing applications. It includes:

    • 97 REST API endpoints: Covering Rooms, sessions, recordings, webhooks, and more.
    • SDK methods and events: A full reference for the embedded SDK.
    • 6 integration patterns: Pre-defined patterns for Public rooms, authenticated users, webinars, and recordings.
    • JWT authentication guide: Instructions for token generation in Node.js, Python, and PHP.
  3. Project asset structure and requirements

    main

    The project expects assets to be organized in the following directory structure:

    • Images: public/images/ (e.g., ds-logo.png, legacy.png, app-icon-after.png)
    • Demos: public/demos/ (MP4 files for various feature demonstrations)
    • Audio: public/audio/ (e.g., voiceover.mp3, background-music.mp3)

    Video Specifications:

    • Format: MP4
    • Resolution: 1920x1080
    • Frame Rate: 30fps
  4. Configure Brand Voice and Tone for Digital Samba

    main

    When generating content or using AI tools with the Digital Samba context, adhere to the following brand guidelines to ensure consistency with the company's identity as a privacy-first, developer-centric video conferencing provider.

    Brand Voice

    • Approachable experts: Knowledgeable without ego.
    • Honest and direct: Avoid marketing fluff.
    • Confident but not salesy.
    • Human and conversational.

    Tone Guidelines

    Do

    • Speak like a helpful colleague rather than a corporate brochure.
    • Focus on user/developer achievements and capabilities.
    • Be specific and practical.
    • Use personal pronouns like "you" and "your".

    Don't

    • Avoid Buzzwords: Do not use terms like leverage, cutting-edge, seamless, or world-class.
    • Avoid Hype: Do not oversell or use hyperbolic language.
    • Avoid Formality: Do not sound robotic or overly formal.
    • Avoid Vague Claims: Do not make claims without providing substance.
  5. Branding guidelines for Digital Samba Skill Demo

    main

    When creating assets for the Digital Samba Skill Demo, follow these branding specifications to maintain visual consistency:

    Digital Samba

    • Primary Color: #0066FF (blue)
    • Secondary Color: #00D4AA (teal/green accent)
    • Logo: ds-logo.png (200x200)
    • App Icon: embedded-app-icon.png
    • Font: System sans-serif (Inter or similar)

    Claude Code

    • Color: #D97706 (amber/orange)
    • Styling: Terminal aesthetic, dark backgrounds

    Combined Aesthetic

    • Background: Dark (#0a0a0a or #111)
    • Elements: Code/terminal sections with syntax highlighting, clean modern tech feel, and subtle animated backgrounds (floating shapes).
  6. Template directory structure

    main

    A standard template follows this directory layout:

    • `templates/my-template/
      • package.json`: Package metadata.
      • tsconfig.json: TypeScript configuration.
      • `src/
        • index.ts`: Entry point.
        • Root.tsx: Composition registration.
        • `config/
          • types.ts`: Config type definitions.
          • theme.ts: Theme system integration.
          • defaults.ts: Default configuration values.
        • `components/
          • TitleSlide.tsx`: Example slide component.
          • ContentSlide.tsx: Example slide component.
      • `public/
        • .gitkeep`: Public assets placeholder.
    templates/
    └── my-template/
        ├── package.json
        ├── tsconfig.json
        ├── src/
        │   ├── index.ts           # Entry point
        │   ├── Root.tsx           # Composition registration
        │   ├── config/
        │   │   ├── types.ts       # Config type definitions
        │   │   ├── theme.ts       # Theme system
        │   │   └── defaults.ts    # Default values
        │   └── components/
        │       ├── TitleSlide.tsx
        │       ├── ContentSlide.tsx
        │       └── ...
        └── public/
            └── .gitkeep
  7. How SadTalker handles long audio via Chunking

    main

    To prevent gradual head position drift during long video generations, SadTalker implements automatic chunking for any audio longer than 45 seconds.

    Process:

    1. The audio is split into multiple chunks.
    2. Each chunk is processed independently.
    3. The resulting video segments are concatenated into a single final video.

    This ensures higher stability in head movement for longer durations.

  8. Project structure of the Sprint Review example

    main

    The project is organized into a root directory for management and a remotion/ directory for the video engine.

    • README.md: Project overview.
    • ASSETS-NEEDED.md: List of required media assets.
    • VIDEO-SPEC.md: Full video specification.
    • VOICEOVER-SCRIPT.md: Narration script.
    • CLAUDE.md: AI context.
    • PROJECT-STATUS.md: Production tracking.
    • remotion/src/config/sprint-config.ts: Demo configuration.
    • remotion/public/images/: Logos and images.
    • remotion/public/demos/: Video recordings.
    • remotion/public/audio/: Voiceover, music, and SFX.
  9. Manage brand profiles and theming

    main

    Brand profiles allow for consistent visual identity across different video projects. The toolkit uses a brand.ts utility (lib/brand.ts) to load themes into templates.

    To manage brands, use the /brand command. When you create a new project via the /video command, it automatically generates a brand.ts file based on your selected brand profile.

  10. Understand frame rate and Remotion compatibility

    main

    Playwright natively outputs WebM at 25fps. This toolkit automatically converts the output to 30fps (or your specified config.targetFps) to ensure compatibility with Remotion. This conversion is critical for:

    • Accurate timing in compositions.
    • Correct frame count calculations.
    • Proper audio synchronization.

    If your Remotion project uses a non-standard frame rate, ensure you update config.targetFps in your configuration.

  11. How Modal cloud GPU architecture works

    main

    The toolkit uses a distributed architecture to handle heavy AI workloads:

    1. Independent Apps: Each tool (e.g., flux2, qwen3_tts) is deployed as its own Modal app (docker/modal-*/app.py). This allows for independent scaling and GPU assignment.
    2. Web Endpoints: Tools expose HTTP POST endpoints via @modal.fastapi_endpoint. This means the client-side tools do not need a modal pip dependency; they simply make web requests.
    3. Scale-to-Zero: Containers are configured with scaledown_window=60, meaning they automatically shut down after 1 minute of inactivity to save costs.
    4. Data Flow: Large results are uploaded to Cloudflare R2 if configured; otherwise, they are returned via base64.
    5. Client Routing: The tools/cloud_gpu.py module handles routing requests to either RunPod (async submit + poll) or Modal (synchronous POST).