klingai-text-to-video

Generate videos from text prompts with Kling AI. Use when creating videos from descriptions, learning prompt techniques, or building T2V pipelines. Trigger with phrases like 'kling ai text to video', 'klingai prompt', 'generate video from text', 'text2video kling'.

1,868 stars

Best use case

klingai-text-to-video is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Generate videos from text prompts with Kling AI. Use when creating videos from descriptions, learning prompt techniques, or building T2V pipelines. Trigger with phrases like 'kling ai text to video', 'klingai prompt', 'generate video from text', 'text2video kling'.

Teams using klingai-text-to-video should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/klingai-text-to-video/SKILL.md --create-dirs "https://raw.githubusercontent.com/jeremylongshore/claude-code-plugins-plus-skills/main/plugins/saas-packs/klingai-pack/skills/klingai-text-to-video/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/klingai-text-to-video/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How klingai-text-to-video Compares

Feature / Agentklingai-text-to-videoStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Generate videos from text prompts with Kling AI. Use when creating videos from descriptions, learning prompt techniques, or building T2V pipelines. Trigger with phrases like 'kling ai text to video', 'klingai prompt', 'generate video from text', 'text2video kling'.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

Related Guides

SKILL.md Source

# Kling AI Text-to-Video

## Overview

Generate videos from text prompts using the `/v1/videos/text2video` endpoint. Supports models v1 through v2.6, standard/professional modes, camera control, negative prompts, and native audio (v2.6+).

**Endpoint:** `POST https://api.klingai.com/v1/videos/text2video`

## Request Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `model_name` | string | Yes | Model version (see model catalog) |
| `prompt` | string | Yes | Video description, max 2500 chars |
| `negative_prompt` | string | No | What to exclude from generation |
| `duration` | string | Yes | `"5"` or `"10"` seconds |
| `aspect_ratio` | string | No | `"16:9"` (default), `"9:16"`, `"1:1"`, etc. |
| `mode` | string | No | `"standard"` (default) or `"professional"` |
| `cfg_scale` | float | No | Prompt adherence (0.0-1.0, default 0.5) |
| `camera_control` | object | No | Camera movement config |
| `callback_url` | string | No | Webhook URL for completion notification |

## Complete Example — Python

```python
import jwt, time, os, requests

BASE = "https://api.klingai.com/v1"

def get_headers():
    ak, sk = os.environ["KLING_ACCESS_KEY"], os.environ["KLING_SECRET_KEY"]
    token = jwt.encode(
        {"iss": ak, "exp": int(time.time()) + 1800, "nbf": int(time.time()) - 5},
        sk, algorithm="HS256", headers={"alg": "HS256", "typ": "JWT"}
    )
    return {"Authorization": f"Bearer {token}", "Content-Type": "application/json"}

# Create text-to-video task
response = requests.post(f"{BASE}/videos/text2video", headers=get_headers(), json={
    "model_name": "kling-v2-6",
    "prompt": "Aerial drone shot of a coral reef at golden hour, "
              "tropical fish swimming through crystal clear water, "
              "sun rays penetrating the surface, cinematic 4K",
    "negative_prompt": "blurry, low quality, distorted, watermark",
    "duration": "5",
    "aspect_ratio": "16:9",
    "mode": "professional",
    "cfg_scale": 0.5,
})

task = response.json()
task_id = task["data"]["task_id"]

# Poll for completion
while True:
    time.sleep(15)
    result = requests.get(
        f"{BASE}/videos/text2video/{task_id}", headers=get_headers()
    ).json()

    status = result["data"]["task_status"]
    if status == "succeed":
        video = result["data"]["task_result"]["videos"][0]
        print(f"Video URL: {video['url']}")
        print(f"Duration: {video['duration']}s")
        break
    elif status == "failed":
        raise RuntimeError(result["data"]["task_status_msg"])
    # else: submitted/processing — keep polling
```

## With Camera Control

```python
# Camera movement types: pan, tilt, zoom, roll
response = requests.post(f"{BASE}/videos/text2video", headers=get_headers(), json={
    "model_name": "kling-v2-6",
    "prompt": "A medieval castle on a cliff at sunrise, fog in the valley",
    "duration": "5",
    "mode": "standard",
    "camera_control": {
        "type": "simple",
        "config": {
            "horizontal": 5,    # pan right (negative = left), range -10 to 10
            "vertical": 0,      # tilt (negative = down, positive = up)
            "zoom": 3,          # zoom in (positive) or out (negative)
            "roll": 0,          # rotation
            "pan": 0,           # dolly left/right
            "tilt": -2,         # dolly up/down
        }
    },
})
```

**Rule:** Only one non-zero field in `config` for `type: "simple"`.

## With Native Audio (v2.6 only)

```python
response = requests.post(f"{BASE}/videos/text2video", headers=get_headers(), json={
    "model_name": "kling-v2-6",
    "prompt": "A jazz band performing in a dimly lit club, saxophone solo, "
              "audience clapping, warm amber lighting",
    "duration": "10",
    "mode": "professional",
    "motion_has_audio": True,  # generates synchronized audio
})
```

## Prompt Engineering Tips

| Technique | Example |
|-----------|---------|
| Scene + action + style | "A samurai walking through cherry blossoms, cinematic slow motion" |
| Lighting cues | "golden hour", "neon-lit", "overcast diffused light" |
| Camera language | "close-up", "wide establishing shot", "tracking shot" |
| Negative prompt | "blurry, watermark, text overlay, distorted faces" |
| Material/texture | "brushed steel", "hand-painted watercolor", "photorealistic" |

## Cost Reference

| Duration | Standard | Professional |
|----------|----------|-------------|
| 5 seconds | 10 credits | 35 credits |
| 10 seconds | 20 credits | 70 credits |

## Error Handling

| Error | Cause | Fix |
|-------|-------|-----|
| `400` invalid prompt | Empty or >2500 chars | Check prompt length |
| `400` invalid model | Unsupported `model_name` | Use valid model ID from catalog |
| `402` insufficient credits | Not enough credits | Top up account |
| `task_status: failed` | Content policy violation or complexity | Simplify prompt, remove restricted content |

## Resources

- [Text-to-Video API](https://app.klingai.com/global/dev/document-api/apiReference/model/textToVideo)
- [Camera Control Guide](https://app.klingai.com/global/quickstart/ai-camera-control-guide)
- [Content Guidelines](https://app.klingai.com/global/dev/document-api/protocols/paidServiceProtocol)

Related Skills

windsurf-cascade-context

1868
from jeremylongshore/claude-code-plugins-plus-skills

Manage Cascade context window and memory for complex projects. Activate when users mention "cascade context", "ai memory", "context management", "large codebase navigation", or "multi-session development". Handles context optimization and persistence. Use when working with windsurf cascade context functionality. Trigger with phrases like "windsurf cascade context", "windsurf context", "windsurf".

openrouter-context-optimization

1868
from jeremylongshore/claude-code-plugins-plus-skills

Optimize context window usage for OpenRouter models to reduce cost and improve quality. Use when hitting context limits, managing long conversations, or building RAG systems. Triggers: 'openrouter context', 'context window', 'openrouter token limit', 'reduce tokens openrouter'.

klingai-webhook-config

1868
from jeremylongshore/claude-code-plugins-plus-skills

Configure webhook callbacks for Kling AI task completion. Use when building event-driven pipelines or replacing polling. Trigger with phrases like 'klingai webhook', 'kling ai callback', 'klingai notifications', 'video completion webhook'.

klingai-video-extension

1868
from jeremylongshore/claude-code-plugins-plus-skills

Extend video duration using Kling AI continuation. Use when creating longer videos from shorter clips or building sequences. Trigger with phrases like 'klingai extend video', 'kling ai video continuation', 'klingai longer video', 'extend klingai clip'.

klingai-usage-analytics

1868
from jeremylongshore/claude-code-plugins-plus-skills

Build usage analytics and reporting for Kling AI video generation. Use when tracking patterns, analyzing costs, or building dashboards. Trigger with phrases like 'klingai analytics', 'kling ai usage report', 'klingai metrics', 'video generation stats'.

klingai-upgrade-migration

1868
from jeremylongshore/claude-code-plugins-plus-skills

Migrate between Kling AI model versions safely. Use when upgrading from v1.x to v2.x or adopting new features. Trigger with phrases like 'klingai upgrade', 'kling ai migrate', 'klingai version update', 'upgrade kling model'.

klingai-team-setup

1868
from jeremylongshore/claude-code-plugins-plus-skills

Configure Kling AI for teams with per-project API keys, usage quotas, and role-based access. Trigger with phrases like 'klingai team', 'kling ai organization', 'klingai multi-user', 'shared klingai access'.

klingai-style-transfer

1868
from jeremylongshore/claude-code-plugins-plus-skills

Apply artistic styles and visual effects to Kling AI video generation. Use when creating stylized content or using effects API. Trigger with phrases like 'klingai style', 'kling ai effects', 'klingai artistic video', 'stylize klingai video'.

klingai-storage-integration

1868
from jeremylongshore/claude-code-plugins-plus-skills

Download and store Kling AI generated videos in cloud storage (S3, GCS, Azure). Use when persisting videos or building CDN pipelines. Trigger with phrases like 'klingai storage', 'save klingai video', 'kling ai s3 upload', 'klingai cloud storage'.

klingai-sdk-patterns

1868
from jeremylongshore/claude-code-plugins-plus-skills

Production SDK patterns for Kling AI: client wrapper, retry logic, async polling, and error handling. Use when building robust integrations. Trigger with phrases like 'klingai sdk', 'kling ai client', 'klingai patterns', 'kling ai wrapper'.

klingai-reference-architecture

1868
from jeremylongshore/claude-code-plugins-plus-skills

Production reference architecture for Kling AI video generation platforms. Use when designing scalable systems. Trigger with phrases like 'klingai architecture', 'kling ai system design', 'video platform architecture', 'klingai production setup'.

klingai-rate-limits

1868
from jeremylongshore/claude-code-plugins-plus-skills

Handle Kling AI API rate limits with backoff and queuing strategies. Use when hitting 429 errors or planning high-volume workflows. Trigger with phrases like 'klingai rate limit', 'kling ai 429', 'klingai throttle', 'kling api limits'.