Skip to content

Conversation

@b1ackmartian
Copy link

Summary

Closes #420

This PR extends the Art skill with AI video generation capabilities using Google's Veo models, enabling animated content with the same Excalidraw hand-drawn aesthetic used for images.

Changes

Generate.ts

  • Added Veo model support: veo-3.1, veo-3.1-fast, veo-3, veo-3-fast, veo-2
  • New video generation functions with async polling
  • Video extension for longer content (up to ~148 seconds)
  • Image-to-video (animate existing images with --first-frame)
  • Cost estimation with --dry-run
  • Optional AI-generated audio

New CLI Flags

Flag Description
--duration <sec> Target video duration (default: 8)
--first-frame <path> Image for first frame
--last-frame <path> Image for last frame (Veo 3.1)
--negative-prompt <text> Elements to exclude
--audio / --no-audio Enable/disable AI audio
--resolution <res> 720p, 1080p, or 4K
--extend Extend existing video
--input-video <path> Video to extend
--dry-run Estimate cost

New Files

  • Workflows/Video.md - Comprehensive video generation workflow

Updated Files

  • SKILL.md - Added video routing and examples
  • README.md - Updated version, added video examples

Pricing

Model Cost/Second 8s Video
veo-3.1-fast $0.15 $1.20
veo-3.1 $0.40 $3.20
veo-3 $0.40 $3.20
veo-2 $0.35 $2.80

Example Usage

# Quick 8-second draft
bun run Generate.ts --model veo-3.1-fast --prompt "..." --output ~/Downloads/video.mp4

# Animate existing image
bun run Generate.ts --model veo-3.1 --prompt "..." --first-frame image.png

# Production with audio
bun run Generate.ts --model veo-3.1 --prompt "..." --audio

# Cost estimation before generating
bun run Generate.ts --model veo-3.1 --prompt "..." --duration 30 --dry-run

Test Plan

  • Verify basic video generation with veo-3.1-fast
  • Test --audio and --no-audio flags
  • Verify image-to-video with --first-frame
  • Test video extension with --duration > 8
  • Confirm --dry-run cost estimation accuracy
  • Validate error handling for missing API key

🤖 Generated with Claude Code

b1ackmartian and others added 2 commits January 16, 2026 22:08
Extends the Art skill with AI video generation capabilities using Google's
Veo models (veo-3.1, veo-3.1-fast, veo-3, veo-2).

New features:
- Text-to-video generation with same Excalidraw aesthetic
- Image-to-video (animate existing images with --first-frame)
- Video extension for longer content (up to ~148 seconds)
- Optional AI-generated audio with --audio flag
- Cost estimation with --dry-run before generation
- Negative prompts for excluding unwanted elements

New CLI flags:
- --duration: Target video duration
- --first-frame: Image for first frame (image-to-video)
- --last-frame: Image for last frame (Veo 3.1 only)
- --negative-prompt: Elements to exclude
- --audio/--no-audio: Enable/disable AI audio
- --resolution: 720p, 1080p, or 4K
- --extend: Extend existing video
- --input-video: Source video for extension
- --dry-run: Estimate cost without generating

Video pricing:
- veo-3.1-fast: $0.15/s ($1.20 for 8s draft)
- veo-3.1: $0.40/s ($3.20 for 8s production)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Pass operation object to ai.operations.get() instead of just the name
- Add x-goog-api-key header to video download requests
- Apply fix to both generateWithVeo and extendVideo functions

Fixes "Operation name is required" error when polling for completion
Fixes 403 Forbidden error when downloading generated video

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Feature Request: Add Video Generation to Art Skill (Google Veo)

1 participant