film-creator
تایید شدهAI-powered film creation assistant that transforms a single sentence or image into a complete 30-second film. Automatically generates screenplay with scenes, dialogue, and camera directions, then produces cinematic video. Use when user wants to create a movie, film, or video story from text or image input. Trigger phrases: '创作电影', '生成电影', 'film creator', 'make a movie', 'create a film'.
نصب مهارت
مهارتها کدهای شخص ثالث از مخازن عمومی GitHub هستند. SkillHub الگوهای مخرب شناختهشده را اسکن میکند اما نمیتواند امنیت را تضمین کند. قبل از نصب، کد منبع را بررسی کنید.
نصب سراسری (سطح کاربر):
npx skillhub install happycapy-ai/Happycapy-skills/film-creatorنصب در پروژه فعلی:
npx skillhub install happycapy-ai/Happycapy-skills/film-creator --projectمسیر پیشنهادی: ~/.claude/skills/film-creator/
بررسی هوش مصنوعی
Scored 57 — well-designed film creation pipeline with clear 5-step workflow, bilingual support, and multiple AI model options. Good description with bilingual triggers. Limited by scripts being referenced but not included in skill files (can't verify), and niche creative use case.
محتوای SKILL.md
---
name: film-creator
description: |
AI-powered film creation assistant that transforms a single sentence or image into a complete 30-second film.
Automatically generates screenplay with scenes, dialogue, and camera directions, then produces cinematic video.
Use when user wants to create a movie, film, or video story from text or image input.
Trigger phrases: '创作电影', '生成电影', 'film creator', 'make a movie', 'create a film'.
allowed-tools: Bash, Read, Write, Edit
version: 1.0.0
license: MIT
---
# Film Creator - AI Film Production Assistant
Transform a single idea or image into a complete 30-second cinematic film with professional screenplay and video generation.
## Overview
This skill provides end-to-end film creation capabilities:
1. **Creative Analysis**: Analyzes text prompt or image to extract core creative elements
2. **Screenplay Generation**: Writes professional screenplay with scenes, dialogue, shot descriptions, and camera movements
3. **Scene Planning**: Breaks screenplay into 5-6 scenes (5 seconds each) optimized for video generation
4. **Video Production**: Generates high-quality video for each scene using AI Gateway
5. **Film Assembly**: Combines scenes into a cohesive 30-second film with transitions
## Prerequisites
**Required Environment Variable:**
- `AI_GATEWAY_API_KEY`: Your AI Gateway API key (automatically configured in HappyCapy)
**Required Tools:**
- Node.js 24+ (pre-installed in HappyCapy)
- FFmpeg (pre-installed in HappyCapy)
## Quick Start
### Create a Film from Text
```bash
node scripts/create_film.js "A lonely robot discovers the last flower on Earth"
```
### Create a Film from Image
```bash
node scripts/create_film.js --image "/path/to/image.jpg" "Transform this into a cinematic story"
```
### Create a Film with Custom Settings
```bash
node scripts/create_film.js \
"A time traveler's final journey" \
--model "openai/sora-2" \
--aspect-ratio "16:9" \
--output "my_film.mp4"
```
## Features
### Screenplay Generation
- **Story Structure**: Three-act structure adapted for 30-second format
- **Scene Breakdown**: 5-6 distinct scenes with clear transitions
- **Visual Descriptions**: Detailed shot compositions and camera movements
- **Cinematic Language**: Professional terminology (establishing shot, close-up, tracking shot, etc.)
- **Emotional Arc**: Clear beginning, middle, and end with emotional progression
### Video Generation
- **Multi-Scene Production**: Generates 5-6 individual scenes
- **Cinematic Quality**: Uses professional video generation models
- **Smart Prompting**: Converts screenplay into optimized video generation prompts
- **Continuity**: Maintains visual consistency across scenes
### Film Assembly
- **Scene Stitching**: Seamlessly combines individual scenes
- **Transitions**: Smooth cuts or fade transitions between scenes
- **Duration Control**: Precisely timed to 30 seconds total
- **Quality Preservation**: No re-encoding loss
## Supported Models
### Recommended for Film Creation
| Model | Best For | Duration per Scene |
|-------|----------|-------------------|
| `google/veo-3.1-generate-preview` | Balanced quality and reliability (Recommended) | 5-6 seconds |
| `openai/sora-2` | Cinematic quality with complex scenes | 4-6 seconds |
| `openai/sora-2-pro` | Professional-grade cinematic output | 4-6 seconds |
| `byteplus/seedance-1-0-pro` | Flexible aspect ratios | 5-6 seconds |
## Usage Examples
### Basic Film Creation
```bash
# From a simple concept
node scripts/create_film.js "A cat astronaut explores a distant planet"
# With specific genre
node scripts/create_film.js "A noir detective story set in the rain"
# From an uploaded image
node scripts/create_film.js --image "concept_art.jpg" "Make this into an epic adventure"
```
### Advanced Options
```bash
# Use premium model for highest quality
node scripts/create_film.js \
"An emotional reunion at a train station" \
--model "openai/sora-2-pro" \
--output "reunion.mp4"
# Create vertical video for mobile
node scripts/create_film.js \
"A day in the life of a street performer" \
--aspect-ratio "9:16" \
--model "byteplus/seedance-1-0-pro"
# Generate only the screenplay
node scripts/generate_screenplay.js "A magical library where books come alive"
```
## Workflow
### Step 1: Creative Analysis
The system analyzes your input (text or image) to identify:
- Core concept and theme
- Emotional tone
- Visual style
- Key story elements
### Step 2: Screenplay Writing
Generates a professional screenplay including:
- **Scene Headings**: INT./EXT. location and time
- **Action Lines**: Visual descriptions of what happens
- **Camera Directions**: Shot types and movements
- **Timing**: Duration for each scene
Example screenplay output:
```
FADE IN:
EXT. ABANDONED CITY - DAY
WIDE ESTABLISHING SHOT: A desolate cityscape covered in rust and vines.
The sun casts long shadows through broken buildings.
A small ROBOT (weathered, curious) rolls through debris, its single eye
scanning the ground.
CLOSE-UP: The robot's sensors light up as it detects something.
LOW ANGLE: The robot stops at a crack in the concrete where a single
FLOWER blooms in brilliant red.
EXTREME CLOSE-UP: The robot's optical lens focuses on the flower,
reflecting its petals.
The robot extends a gentle mechanical hand, not to touch, but to protect.
FADE OUT.
```
### Step 3: Scene-by-Scene Generation
Each scene is converted to an optimized video prompt:
- Camera angles and movements specified
- Visual details enhanced
- Lighting and mood emphasized
- Continuity elements maintained
### Step 4: Video Assembly
All scenes are combined with:
- Frame-accurate stitching
- Optional transitions (cut/fade)
- Audio-ready format (MP4)
- Optimized compression
## Command Reference
### create_film.js (Main Script)
**Parameters:**
- `prompt` (required): Text description or story concept
- `--image PATH` (optional): Image file to use as creative inspiration
- `--model MODEL` (optional): Video generation model (default: google/veo-3.1-generate-preview)
- `--aspect-ratio RATIO` (optional): Video aspect ratio (default: 16:9)
- `--output PATH` (optional): Output file path (default: generated_film.mp4)
- `--no-assembly` (optional): Generate scenes only, don't combine them
- `--transition TYPE` (optional): Transition type: "cut" or "fade" (default: cut)
### generate_screenplay.js
Generate screenplay without video production:
```bash
node scripts/generate_screenplay.js "Your story concept" [--output screenplay.txt]
```
### generate_scene.js
Generate a single scene from a prompt:
```bash
node scripts/generate_scene.js "Scene description with camera angles" [--model MODEL] [--duration SECONDS]
```
### assemble_film.js
Combine pre-generated scene videos:
```bash
node scripts/assemble_film.js scene1.mp4 scene2.mp4 scene3.mp4 --output final.mp4
```
## Best Practices
### Writing Effective Prompts
**Good prompts include:**
- Clear genre or style ("noir film", "whimsical animation style")
- Emotional core ("a story about hope", "bittersweet reunion")
- Visual anchors ("neon-lit city", "misty forest")
- Character elements ("lonely protagonist", "mischievous creature")
**Examples:**
```
✓ "A cyberpunk story about a hacker who discovers they're an AI"
✓ "A heartwarming tale of a child's robot friend, Studio Ghibli style"
✓ "A suspenseful noir detective story in the rain at night"
✓ "An epic space opera battle with massive starships"
✗ "Make a video" (too vague)
✗ "Something cool" (no direction)
```
### Model Selection
- **Use Google Veo 3.1** for most projects - excellent balance of quality and reliability
- **Use OpenAI Sora 2 Pro** for highest cinematic quality and complex physics
- **Use BytePlus Seedance** when you need non-standard aspect ratios (1:1, 9:16, 21:9)
### Image Input Tips
When using an image as input:
- Provide a complementary text prompt to guide the narrative
- The system will analyze visual elements (colors, composition, mood)
- Works best with conceptual or atmospheric images
- Character-focused images can become protagonists
### Duration Optimization
- Each scene is 5 seconds for optimal storytelling pace
- 6 scenes = 30 seconds total
- This pacing allows for:
- Establishing shot
- Rising action
- Climax/key moment
- Resolution
- Emotional beat
- Closing image
## Troubleshooting
### "Generation timeout" or "Scene generation failed"
Video generation can take time. The script automatically waits up to 5 minutes per scene. If it fails:
- Try a simpler prompt for that scene
- Use a faster model (google/veo-3.1-fast-generate-preview)
- Check your internet connection
### "FFmpeg error" during assembly
Ensure all scene files were generated successfully:
```bash
ls -lh scene_*.mp4
```
If some scenes are missing or corrupted, regenerate them individually:
```bash
node scripts/generate_scene.js "Scene description" --output scene_3.mp4
```
### Poor visual continuity between scenes
The screenplay generator aims for continuity, but AI models may interpret scenes differently. To improve:
- Add more specific visual details in your prompt
- Specify a consistent color palette or lighting
- Use model-specific style references
### "API key not found"
Set the environment variable:
```bash
export AI_GATEWAY_API_KEY="your-api-key-here"
```
## Technical Details
### Screenplay Format
The generated screenplay follows industry-standard formatting:
- Scene headings in caps
- Action lines in present tense
- Camera directions in caps or parentheses
- Timing notes for pacing
### Video Specifications
- **Format**: MP4 (H.264)
- **Resolution**: Model-dependent (typically 1280x720 or 1920x1080)
- **Frame Rate**: 24-30 fps
- **Duration**: Exactly 30 seconds
- **Aspect Ratios**: 16:9, 9:16, or custom (model-dependent)
### Assembly Process
Uses FFmpeg with:
- Lossless concatenation when possible
- Minimal re-encoding
- Frame-accurate cutting
- Preserved metadata
## Examples Gallery
### Example 1: Sci-Fi Short
**Prompt**: "A lonely robot discovers the last flower on Earth"
**Generated Screenplay** (abbreviated):
```
Scene 1: Wide shot of desolate cityscape
Scene 2: Robot character introduction
Scene 3: Discovery of flower (key moment)
Scene 4: Emotional close-up of robot's reaction
Scene 5: Robot protecting the flower
Scene 6: Hopeful closing image
```
### Example 2: Fantasy Adventure
**Prompt**: "A young wizard's first spell goes wonderfully wrong"
**Key Scenes**:
- Establishing: Magic academy interior
- Character: Nervous student with wand
- Action: Spell casting with dramatic effects
- Consequence: Humorous magical mishap
- Reaction: Wizard's surprise and laughter
- Resolution: Acceptance and learning moment
### Example 3: Noir Detective
**Prompt**: "A 1940s detective receives a mysterious case in the rain"
**Style Elements**:
- High contrast lighting (noir aesthetic)
- Rain effects and reflections
- Dramatic shadows
- Close-ups on key objects
- Moody, atmospheric tone
## Integration with Other Skills
This skill works well with:
- **generate-image**: Create concept art before film production
- **image-enhancer**: Improve reference images
- **video-frames**: Extract keyframes from generated films for editing
## Limitations
- Maximum duration: 30 seconds (by design)
- Scene count: 5-6 scenes (optimal for pacing)
- No dialogue audio (visual storytelling only)
- No custom music (silent film format)
- Limited character consistency across scenes (model limitation)
## Future Enhancements
Potential additions:
- Background music generation and integration
- Text-to-speech for dialogue
- Extended duration options (60s, 90s)
- Multi-character tracking
- Style transfer between reference and generated scenes
- Storyboard visualization before generation
## Credits
Built on top of:
- AI Gateway API (video generation)
- FFmpeg (video assembly)
- Node.js (orchestration)
## License
MIT License - Free to use and modify