---
name: fal-text-to-video
description: |
  Complete fal.ai text-to-video system.
  PROACTIVELY activate for: (1) Kling 2.0/2.5/2.6 Pro video generation, (2) Sora 2 for creative videos, (3) LTX Video with audio, (4) Runway Gen-3 Turbo for fast iteration, (5) Luma Dream Machine, (6) Video duration and aspect ratio, (7) Motion prompt engineering, (8) Camera movement keywords.
  Provides: Model endpoints, quality tiers, prompt structure, duration options.
  Ensures cinematic video generation with proper motion description.
---

## Quick Reference

| Model | Endpoint | Duration | Audio | Speed |
|-------|----------|----------|-------|-------|
| Kling 2.6 Pro | `fal-ai/kling-video/v2.6/pro/text-to-video` | 5-10s | Yes | Slow |
| Sora 2 | `fal-ai/sora` | 5-20s | Optional | Slow |
| LTX-2 Pro | `fal-ai/ltx-2-pro` | 5s | Yes | Medium |
| Runway Turbo | `fal-ai/runway-gen3/turbo/text-to-video` | 5-10s | No | Fast |
| Luma | `fal-ai/luma-dream-machine` | 5s | No | Medium |

| Aspect Ratio | Value | Use Case |
|--------------|-------|----------|
| Landscape | `"16:9"` | Standard video |
| Portrait | `"9:16"` | Social/mobile |
| Square | `"1:1"` | Social posts |

| Prompt Structure | Example |
|------------------|---------|
| Subject + Action | "A woman walks" |
| + Setting | "through a forest" |
| + Style | "cinematic lighting" |
| + Camera | "tracking shot" |

## When to Use This Skill

Use for **text-to-video generation**:
- Creating videos from text descriptions
- Choosing models by quality/speed tier
- Crafting motion-oriented prompts
- Generating videos with native audio
- Preview workflow (fast) → Final (quality)

**Related skills:**
- For image-to-video: see `fal-image-to-video`
- For video editing: see `fal-video-to-video`
- For model comparison: see `fal-model-guide`

---

# fal.ai Text-to-Video Models

Complete reference for all text-to-video generation models on fal.ai.

## Kling Video Models

### Kling 2.0 Standard
**Endpoint:** `fal-ai/kling-video/v2.0/text-to-video`
**Best For:** Good quality, cost-effective

```typescript
import { fal } from "@fal-ai/client";

const result = await fal.subscribe("fal-ai/kling-video/v2.0/text-to-video", {
  input: {
    prompt: "A majestic eagle soaring over snow-capped mountains at golden hour, cinematic lighting",
    duration: "5",  // "5" or "10" seconds
    aspect_ratio: "16:9",
    negative_prompt: "blurry, distorted, low quality"
  }
});

console.log(result.video.url);
```

```python
import fal_client

result = fal_client.subscribe(
    "fal-ai/kling-video/v2.0/text-to-video",
    arguments={
        "prompt": "A majestic eagle soaring over mountains",
        "duration": "5",
        "aspect_ratio": "16:9",
        "negative_prompt": "blurry, distorted"
    }
)
print(result["video"]["url"])
```

### Kling 2.5 Pro
**Endpoint:** `fal-ai/kling-video/v2.5/pro/text-to-video`
**Best For:** Professional quality videos

```typescript
const result = await fal.subscribe("fal-ai/kling-video/v2.5/pro/text-to-video", {
  input: {
    prompt: "A luxury car driving through a mountain road, drone shot, cinematic",
    duration: "5",
    aspect_ratio: "16:9",
    negative_prompt: "shaky, amateur, blurry"
  }
});
```

### Kling 2.6 Pro (Latest)
**Endpoint:** `fal-ai/kling-video/v2.6/pro/text-to-video`
**Best For:** Highest quality with native audio generation

The latest Kling model with built-in audio generation.

```typescript
const result = await fal.subscribe("fal-ai/kling-video/v2.6/pro/text-to-video", {
  input: {
    prompt: "Ocean waves crashing on rocky cliffs at sunset, seagulls flying, ambient sounds",
    duration: "5",
    aspect_ratio: "16:9",
    negative_prompt: "static, boring, low quality"
  }
});

console.log(result.video.url);
console.log(result.audio?.url);  // Native audio included
```

**Kling Parameters:**

| Parameter | Type | Values | Description |
|-----------|------|--------|-------------|
| `prompt` | string | - | Video description |
| `duration` | string | "5", "10" | Duration in seconds |
| `aspect_ratio` | string | "16:9", "9:16", "1:1" | Video dimensions |
| `negative_prompt` | string | - | What to avoid |

## Sora 2

### Sora (OpenAI)
**Endpoint:** `fal-ai/sora`
**Best For:** Advanced, creative video generation

```typescript
const result = await fal.subscribe("fal-ai/sora", {
  input: {
    prompt: "A stylish woman walks down a Tokyo street filled with warm glowing neon and animated city signage. She wears a black leather jacket, a long red dress, and black boots. She carries a black purse. She wears sunglasses and red lipstick. She walks confidently. The street is damp and reflective, creating a mirror effect of the colorful lights.",
    duration: 10,
    aspect_ratio: "16:9",
    resolution: "1080p"
  }
});

console.log(result.video.url);
```

**Sora Parameters:**

| Parameter | Type | Values | Description |
|-----------|------|--------|-------------|
| `prompt` | string | - | Detailed video description |
| `duration` | number | 5-20 | Duration in seconds |
| `aspect_ratio` | string | "16:9", "9:16", "1:1" | Video dimensions |
| `resolution` | string | "720p", "1080p" | Output resolution |

## LTX Video Models

### LTX Video (Original)
**Endpoint:** `fal-ai/ltx-video`
**Best For:** Fast, efficient generation

```typescript
const result = await fal.subscribe("fal-ai/ltx-video", {
  input: {
    prompt: "A beautiful sunset over the ocean with gentle waves",
    negative_prompt: "low quality, blurry, distorted",
    num_inference_steps: 30,
    guidance_scale: 7.5,
    aspect_ratio: "16:9"
  }
});
```

### LTX Video v2
**Endpoint:** `fal-ai/ltx-video/v2`
**Best For:** Improved quality over v1

```typescript
const result = await fal.subscribe("fal-ai/ltx-video/v2", {
  input: {
    prompt: "A futuristic city with flying cars and neon lights",
    negative_prompt: "ugly, distorted",
    num_inference_steps: 35,
    guidance_scale: 7.0,
    resolution: "720p"
  }
});
```

### LTX-2 Pro
**Endpoint:** `fal-ai/ltx-2-pro`
**Best For:** High fidelity with audio support

```typescript
const result = await fal.subscribe("fal-ai/ltx-2-pro", {
  input: {
    prompt: "A jazz band performing in a dimly lit club, smooth music, intimate atmosphere",
    negative_prompt: "worst quality, inconsistent motion, blurry",
    num_inference_steps: 30,
    guidance_scale: 3.5,
    resolution: "720p",
    enable_audio: true  // Generate matching audio
  }
});

console.log(result.video.url);
console.log(result.audio?.url);  // Audio track if enabled
```

**LTX Parameters:**

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `prompt` | string | - | Video description |
| `negative_prompt` | string | - | What to avoid |
| `num_inference_steps` | number | 30 | Quality steps |
| `guidance_scale` | number | 7.5 | Prompt adherence |
| `resolution` | string | "720p" | "720p" or "480p" |
| `aspect_ratio` | string | "16:9" | Video dimensions |
| `enable_audio` | boolean | false | Generate audio (LTX-2 Pro) |

## Wan Video

### Wan v2.1 1.3B
**Endpoint:** `fal-ai/wan/v2.1/1.3b/text-to-video`
**Best For:** Lightweight, fast generation

```typescript
const result = await fal.subscribe("fal-ai/wan/v2.1/1.3b/text-to-video", {
  input: {
    prompt: "A cat playing with a ball of yarn, cute, playful",
    num_frames: 81,  // Number of frames
    resolution: "480p"
  }
});
```

### Wan v2.1 14B
**Endpoint:** `fal-ai/wan/v2.1/14b/text-to-video`
**Best For:** Higher quality, larger model

```typescript
const result = await fal.subscribe("fal-ai/wan/v2.1/14b/text-to-video", {
  input: {
    prompt: "A professional chef preparing sushi, precise movements, high-end restaurant",
    num_frames: 81,
    resolution: "720p"
  }
});
```

## MiniMax Video

### MiniMax Text-to-Video
**Endpoint:** `fal-ai/minimax-video/text-to-video`
**Best For:** Balanced quality and speed

```typescript
const result = await fal.subscribe("fal-ai/minimax-video/text-to-video", {
  input: {
    prompt: "A butterfly emerging from a cocoon, macro shot, nature documentary style",
    prompt_optimizer: true  // Enhance prompt automatically
  }
});
```

**MiniMax Parameters:**

| Parameter | Type | Description |
|-----------|------|-------------|
| `prompt` | string | Video description |
| `prompt_optimizer` | boolean | Auto-enhance prompt |

## Runway Gen-3

### Runway Gen-3 Turbo
**Endpoint:** `fal-ai/runway-gen3/turbo/text-to-video`
**Best For:** Fast iteration, previews

```typescript
const result = await fal.subscribe("fal-ai/runway-gen3/turbo/text-to-video", {
  input: {
    prompt: "A dancer performing ballet in an empty theater, spotlight, graceful movements",
    duration: 5,
    ratio: "16:9"
  }
});
```

**Runway Parameters:**

| Parameter | Type | Values | Description |
|-----------|------|--------|-------------|
| `prompt` | string | - | Video description |
| `duration` | number | 5, 10 | Seconds |
| `ratio` | string | "16:9", "9:16", "1:1" | Aspect ratio |

## Luma Dream Machine

### Luma Text-to-Video
**Endpoint:** `fal-ai/luma-dream-machine`
**Best For:** Creative, artistic videos

```typescript
const result = await fal.subscribe("fal-ai/luma-dream-machine", {
  input: {
    prompt: "A magical forest with glowing mushrooms and fireflies at night",
    aspect_ratio: "16:9",
    loop: false
  }
});
```

**Luma Parameters:**

| Parameter | Type | Description |
|-----------|------|-------------|
| `prompt` | string | Video description |
| `aspect_ratio` | string | "16:9", "9:16", "1:1" |
| `loop` | boolean | Create looping video |

## CogVideoX

### CogVideoX Text-to-Video
**Endpoint:** `fal-ai/cogvideox`
**Best For:** Open-source alternative

```typescript
const result = await fal.subscribe("fal-ai/cogvideox", {
  input: {
    prompt: "A timelapse of a flower blooming, from bud to full bloom",
    num_inference_steps: 50,
    guidance_scale: 6.0
  }
});
```

### CogVideoX-5B
**Endpoint:** `fal-ai/cogvideox-5b`
**Best For:** Higher quality open-source

```typescript
const result = await fal.subscribe("fal-ai/cogvideox-5b", {
  input: {
    prompt: "An astronaut floating in space with Earth in the background",
    num_inference_steps: 50,
    guidance_scale: 6.0,
    num_frames: 49
  }
});
```

## HunyuanVideo

### Hunyuan Video
**Endpoint:** `fal-ai/hunyuan-video`
**Best For:** Chinese model, good quality

```typescript
const result = await fal.subscribe("fal-ai/hunyuan-video", {
  input: {
    prompt: "A traditional Chinese dragon dance during festival celebration",
    num_inference_steps: 50,
    guidance_scale: 6.0
  }
});
```

## Model Comparison

### Quality Rankings

| Tier | Models | Quality | Speed | Cost |
|------|--------|---------|-------|------|
| Premium | Kling 2.6 Pro, Sora 2 | Highest | Slow | $$$ |
| Professional | Kling 2.5 Pro, LTX-2 Pro | High | Medium | $$ |
| Standard | Kling 2.0, Runway Turbo | Good | Fast | $ |
| Budget | LTX v1, CogVideoX | Acceptable | Fast | $ |

### Feature Comparison

| Model | Audio | Duration | Resolution | Best Use |
|-------|-------|----------|------------|----------|
| Kling 2.6 Pro | Native | 5-10s | 1080p | Cinematic |
| Sora 2 | Optional | 5-20s | 1080p | Creative |
| LTX-2 Pro | Yes | 5s | 720p | Fast HQ |
| Runway Turbo | No | 5-10s | 720p | Iteration |
| MiniMax | No | 6s | 720p | Balanced |
| Luma | No | 5s | 720p | Artistic |

### Speed Comparison (approximate)

| Model | ~Generation Time (5s video) |
|-------|-----------------------------|
| Runway Gen-3 Turbo | 30-60s |
| LTX Video | 45-90s |
| MiniMax | 60-120s |
| Kling 2.5 Pro | 120-180s |
| Kling 2.6 Pro | 150-240s |
| Sora 2 | 180-300s |

## Prompt Engineering for Video

### Structure Your Prompts

```text
[Subject] + [Action] + [Setting] + [Style] + [Camera/Technical]
```

**Examples:**

```typescript
// Good: Specific, action-oriented
"A golden retriever running through autumn leaves in a forest, slow motion, cinematic, warm lighting, tracking shot"

// Bad: Vague, static
"A dog in a forest"
```

### Motion Keywords

| Keyword | Effect |
|---------|--------|
| "walking", "running", "jumping" | Subject movement |
| "slow motion", "timelapse" | Speed modification |
| "tracking shot", "pan", "zoom" | Camera movement |
| "floating", "flying", "falling" | Spatial movement |
| "dancing", "spinning", "waving" | Rhythmic movement |

### Style Keywords

| Keyword | Effect |
|---------|--------|
| "cinematic" | Movie-like quality |
| "documentary" | Realistic style |
| "anime" | Animated style |
| "noir" | Dark, contrasty |
| "vibrant" | Saturated colors |

### Camera Movements

| Term | Description |
|------|-------------|
| "tracking shot" | Camera follows subject |
| "pan left/right" | Horizontal camera sweep |
| "tilt up/down" | Vertical camera sweep |
| "zoom in/out" | Focal length change |
| "drone shot" | Aerial perspective |
| "POV shot" | First-person view |
| "dolly shot" | Camera moves on track |

## Complete Parameter Reference

```typescript
interface TextToVideoInput {
  // Required
  prompt: string;

  // Duration (varies by model)
  duration?: number | string;  // seconds

  // Dimensions
  aspect_ratio?: "16:9" | "9:16" | "1:1" | "4:3" | "21:9";
  resolution?: "480p" | "720p" | "1080p";

  // Quality control
  negative_prompt?: string;
  num_inference_steps?: number;
  guidance_scale?: number;

  // Reproducibility
  seed?: number;

  // Model-specific
  prompt_optimizer?: boolean;  // MiniMax
  enable_audio?: boolean;      // LTX-2 Pro, Kling 2.6
  loop?: boolean;              // Luma
  num_frames?: number;         // Wan, CogVideoX
}
```

## Workflow Examples

Production workflow and batch-generation examples for fal.ai text-to-video models, including fast preview iteration with Runway Turbo and final rendering with Kling Pro, live in `references/workflow-examples.md`. Load that reference when turning model-selection guidance into executable generation code.

## Best Practices

1. **Use `subscribe()` not `run()`** - Video generation takes time
2. **Start with previews** - Use faster models to iterate on prompts
3. **Be specific about motion** - Describe what moves and how
4. **Include camera direction** - Guide the visual perspective
5. **Use negative prompts** - Avoid common artifacts
6. **Match model to need** - Don't use premium for tests
7. **Include audio keywords** - For models that support audio generation


---
Source attribution: JosiahSiegel
Original project: https://github.com/JosiahSiegel/claude-plugin-marketplace/blob/5a1b1123b9e50aa9a66a61005ca6fe012cc7442d/plugins/fal-ai-master/skills/fal-text-to-video/SKILL.md
License: MIT
License information: https://opensource.org/license/mit
Original upstream instructions; downloaded from Mega AI Hub.

## Upstream license notice

MIT License

Copyright (c) 2025 Josiah Siegel

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.



# Mega AI Hub resource metadata

Creator / publisher: JosiahSiegel
Original project: https://github.com/JosiahSiegel/claude-plugin-marketplace/blob/5a1b1123b9e50aa9a66a61005ca6fe012cc7442d/plugins/fal-ai-master/skills/fal-text-to-video/SKILL.md
Attribution basis: Recovered original package and original project license at a pinned revision

Fields of work: Content & Media, Marketing
Roles: Content Marketer, Social Media Manager, Video Producer
Specialties: API
Tools: Fal.Ai
Country applicability: Country not specified
Classification basis: Source catalog labels
Instruction SHA-256: 655e01825955bb730ac03895c52f99510e1654ba058e8031421b3bfd5047dd97
Metadata reviewed: 2026-10-27
This metadata supersedes earlier Mega AI Hub catalog attribution. Original instruction and supporting files are preserved.
