Skip to content
Back to skills

Youtube Video Creator

ASecurity

Create YouTube videos from scratch — script, images, narration, assembly, upload. Full production pipeline from topic to published video.

  • 2 stars
  • 0 votes
  • 0 copies
  • 15 views
  • Added September 8, 2026
developmentgobashapi

Works with

  • cli
  • api

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned September 8, 2026

npx -y skills add TeamDay-AI/agents --skill youtube-video-creator --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Youtube Video Creator?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Youtube Video Creator
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/teamday-ai-youtube-video-creator/badge)](https://www.skillsdirectory.com/skills/teamday-ai-youtube-video-creator)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: youtube-video-creator
description: Create YouTube videos from scratch — script, images, narration, assembly, upload. Full production pipeline from topic to published video.
allowed-tools: Bash, Read, Write, Edit, Glob, Grep
env:
  - ELEVENLABS_API_KEY
  - FAL_KEY
---

# YouTube Video Creator

Create complete YouTube videos programmatically — from a topic or brief to a fully assembled, uploadable video with AI-generated images, narration, Ken Burns effects, and background music.

## Quick Start

```bash
# 1. Create project directory
mkdir -p ~/videos/my-project/audio

# 2. Write a script (see JSON format below)
# 3. Generate visuals (screenshots, HTML slides, or AI images per scene)

# 4. Generate narration
bun .claude/scripts/generate-narration.ts --script ~/videos/my-project/script.json --output-dir ~/videos/my-project/audio

# 5. Assemble video
bun .claude/scripts/assemble-video.ts --script ~/videos/my-project/script.json --output ~/videos/my-project/final.mp4

# 6. Upload (optional, needs youtube-auth.ts setup first)
bun .claude/scripts/upload-youtube.ts --video ~/videos/my-project/final.mp4 --script ~/videos/my-project/script.json
```

## Pipeline Overview

```
Topic/Brief
    |
    v
[Write script.json] --- scenes[], narration, image prompts, metadata
    |
    v
[Generate visuals] --- AI images (generate-image skill) or HTML screenshots
[Generate narration] --- ElevenLabs TTS (generate-narration.ts)
[Optional: AI video clips] --- FAL AI Kling/Wan (image-to-video skill)
    |
    v
[Assemble video] --- FFmpeg: Ken Burns + crossfades + narration + music
    |
    v
[Upload to YouTube] --- YouTube Data API v3 (resumable upload)
```

## Video Script JSON Format

```json
{
  "title": "Video Title",
  "description": "YouTube video description",
  "tags": ["tag1", "tag2"],
  "category": "28",
  "privacy": "private",
  "scenes": [
    {
      "id": "scene-1",
      "narration": "Text to speak",
      "imagePrompt": "Prompt for AI image generation",
      "type": "ken-burns",
      "imagePath": null,
      "audioPath": null,
      "audioDuration": null,
      "videoClipPath": null
    }
  ],
  "backgroundMusic": "/path/to/music.mp3",
  "backgroundMusicVolume": 0.05,
  "voice": {
    "voiceId": "21m00Tcm4TlvDq8ikWAM",
    "modelId": "eleven_multilingual_v2",
    "stability": 0.5,
    "similarityBoost": 0.75,
    "speed": 1.0
  }
}
```

### Scene Types

| Type | Description | Visual Source |
|------|-------------|--------------|
| `ken-burns` | Pan/zoom on static image (default) | `imagePath` |
| `ai-video` | Full motion AI video clip | `videoClipPath` |

### Visual Strategies

**AI Images** (most scenes): Use `generate-image` skill for abstract concepts, backgrounds, illustrations.

**HTML Screenshots** (for text/data/UI): Write an HTML file, screenshot with headless browser. Great for code snippets, data tables, charts, UI mockups.

**AI Video Clips** (1-2 hero scenes): Use `image-to-video` skill for scenes needing motion.

## Scripts Reference

| Script | Purpose | Key Args |
|--------|---------|----------|
| `generate-narration.ts` | ElevenLabs TTS | `--text`, `--script`, `--voice`, `--list-voices` |
| `assemble-video.ts` | FFmpeg assembly | `--script`, `--output`, `--resolution`, `--transition` |
| `youtube-auth.ts` | OAuth2 setup | `--credentials` (one-time) |
| `upload-youtube.ts` | YouTube upload | `--video`, `--script`, `--privacy`, `--thumbnail` |

## Narration

```bash
# Standalone
bun .claude/scripts/generate-narration.ts --text "Hello" --output ./hello.mp3

# Batch (from script)
bun .claude/scripts/generate-narration.ts --script ./script.json --output-dir ./audio

# List voices
bun .claude/scripts/generate-narration.ts --list-voices
```

### Popular ElevenLabs Voices

| Name | ID | Type |
|------|-----|------|
| Rachel | `21m00Tcm4TlvDq8ikWAM` | Female, calm, narration |
| Adam | `pNInz6obpgDQGcFmaJgB` | Male, deep, authoritative |
| Josh | `TxGEqnHWrfWFTfGW9XjX` | Male, casual, friendly |

## Assembly Options

```bash
bun .claude/scripts/assemble-video.ts \
  --script ./script.json \
  --output ./final.mp4 \
  --resolution 1920x1080 \
  --transition fade \
  --fps 30
```

Ken Burns presets rotate automatically: center zoom, left pan, right pan, top pan.

## YouTube Setup

### One-Time Auth
```bash
bun .claude/scripts/youtube-auth.ts --credentials ./client_secret.json
```

### Upload
```bash
bun .claude/scripts/upload-youtube.ts \
  --video ./final.mp4 \
  --script ./script.json \
  --privacy private
```

**Note**: Unverified OAuth apps can only upload as private. Submit your Google Cloud app for verification to upload public videos.

## Cost Estimate

| Component | Per Scene | 8-Scene Video |
|-----------|-----------|---------------|
| AI Image (Flux 2) | ~$0.05 | ~$0.40 |
| Narration (ElevenLabs) | ~$0.15-0.25 | ~$1.50 |
| AI Video Clip (optional) | ~$0.35 | ~$0.70 (2 clips) |
| FFmpeg Assembly | Free | Free |
| **Total** | | **~$2-3** |

## Prerequisites

- **ffmpeg**: `brew install ffmpeg`
- **ELEVENLABS_API_KEY**: ElevenLabs account
- **FAL_KEY**: FAL AI account
- **YouTube upload**: Google Cloud project with YouTube Data API v3 + OAuth credentials

Files in this skill

  • SKILL.md5.1 KB
  • skill-manifest.json231 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.