Film Creator logo

Film Creator

Community
happycapy-ai
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'.

Overview

Publisherhappycapy-ai
RepositoryHappycapy-skills
Skill namefilm-creator
Stars
138
Forks
30
Bundled files
Instructions only
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by happycapy-ai on GitHub. Read the source before you install it.

Installation

Install the Film Creator AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/happycapy-ai/Happycapy-skills.git /tmp/Happycapy-skills
mkdir -p .claude/skills
cp -r /tmp/Happycapy-skills/skills/film-creator .claude/skills/film-creator
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Film Creator in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Film Creator on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Film Creator is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

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

ModelBest ForDuration per Scene
google/veo-3.1-generate-previewBalanced quality and reliability (Recommended)5-6 seconds
openai/sora-2Cinematic quality with complex scenes4-6 seconds
openai/sora-2-proProfessional-grade cinematic output4-6 seconds
byteplus/seedance-1-0-proFlexible aspect ratios5-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

Frequently asked questions

What does the Film Creator AI skill do?

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'.

Why use Film Creator on TypingMind?

Because you install it once and use it with any model. Film Creator is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Film Creator in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/happycapy-ai/Happycapy-skills/tree/main/skills/film-creator. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Film Creator?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Film Creator?

As many as you like. As long as a model supports skills, you can use Film Creator with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Film Creator AI skill free?

Yes. It is published on GitHub by happycapy-ai under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇