Skip to content
AI & Agents
Skill

/kling-video

Generate AI videos using Kling video generation models. Use when you need to: (1) create videos from text prompts, (2) animate images into videos, (3) transform existing videos with AI, or (4) create AI avatar videos with speech.

From plugin
refly-skills
19959 skills
Install
$ npx -y skills add refly-ai/refly-skills --skill kling-video --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/kling-video

Context preview

The summary Claude sees to decide when to auto-load this skill.

Generate AI videos using Kling video generation models. Use when you need to: (1) create videos from text prompts, (2) animate images into videos, (3) transform existing videos with AI, or (4) create AI avatar videos with speech.

SKILL.md

kling-video.SKILL.md
name: kling-video
description: "Generate AI videos using Kling video generation models. Use when you need to: (1) create videos from text prompts, (2) animate images into videos, (3) transform existing videos with AI, or (4) create AI avatar videos with speech."
tags:
  - ai-video
  - media-generation
version: 1.0.0
skillId: skp-d8eft4uduju18mhdv19pnpeb
workflowId: c-p3ydudm0cbdu13cmqodjqwhu
installationId: skpi-rzakvguz9m7memgp3o6dokta
triggers:
  - kling video
  - text to video
  - image to video
  - video generation
  - ai avatar
category: file-generation

Kling Video

Generate AI videos using Kling video generation models. Use when you need to: (1) create videos from text prompts, (2) animate images into videos, (3) transform existing videos with AI, or (4) create AI avatar videos with speech.

Input

Provide input as JSON:

{
  "video_prompt": "Text description for the video you want to generate (e.g., 'A cat walking in a futuristic city at sunset')",
  "image_url": "<file-id>",
  "video_url": "<file-id>",
  "model_version": "Kling model to use: 'o1' for advanced reasoning or 'v2.6' for premium visuals",
  "duration": "Video duration in seconds (5-10s supported)",
  "aspect_ratio": "Video aspect ratio: '16:9' (landscape), '9:16' (portrait), or '1:1' (square)"
}

**Note on File Inputs:**

  • `image_url` and `video_url` require a **file ID** (format: `df-xxxxx`)
  • **How to get file ID:**

1. Upload your file to Refly using `refly file upload <file-path>` 2. Copy the returned file ID from the upload response 3. Use this file ID in the input JSON

  • For text-to-video mode, omit both `image_url` and `video_url`
  • For image-to-video mode, provide `image_url`
  • For video-to-video mode, provide `video_url`

Execution (Pattern A: File Generation)

Step 0 (Optional): Upload Files for Image/Video-to-Video Modes

# Upload an image for image-to-video
IMAGE_RESULT=$(refly file upload /path/to/your/image.jpg)
IMAGE_FILE_ID=$(echo "$IMAGE_RESULT" | jq -r '.payload.fileId')
echo "Image file ID: $IMAGE_FILE_ID"

# Or upload a video for video-to-video
VIDEO_RESULT=$(refly file upload /path/to/your/video.mp4)
VIDEO_FILE_ID=$(echo "$VIDEO_RESULT" | jq -r '.payload.fileId')
echo "Video file ID: $VIDEO_FILE_ID"

Step 1: Run the Skill and Get Run ID

**Example 1: Text-to-Video**

RESULT=$(refly skill run --id skpi-rzakvguz9m7memgp3o6dokta --input '{
  "video_prompt": "A cat walking through a futuristic city at sunset",
  "duration": "5",
  "aspect_ratio": "16:9",
  "model_version": "v2.6"
}')
RUN_ID=$(echo "$RESULT" | jq -r '.payload.workflowExecutions[0].id')

**Example 2: Image-to-Video**

# Use the IMAGE_FILE_ID from Step 0
RESULT=$(refly skill run --id skpi-rzakvguz9m7memgp3o6dokta --input '{
  "video_prompt": "Camera slowly zooms in on the scene",
  "image_url": "'"$IMAGE_FILE_ID"'",
  "duration": "5",
  "aspect_ratio": "16:9",
  "model_version": "v2.6"
}')
RUN_ID=$(echo "$RESULT" | jq -r '.payload.workflowExecutions[0].id')

Step 2: Open Workflow in Browser and Wait for Completion

open "https://refly.ai/workflow/c-p3ydudm0cbdu13cmqodjqwhu"
refly workflow status "$RUN_ID" --watch --interval 30000

Step 3: Download and Show Result

# Get files from this run
FILES=$(refly workflow toolcalls "$RUN_ID" --files --latest | jq -r '.payload.files[]')

# Download and open each file
echo "$FILES" | jq -c '.' | while read -r file; do
  FILE_ID=$(echo "$file" | jq -r '.fileId')
  FILE_NAME=$(echo "$file" | jq -r '.name')
  if [ -n "$FILE_ID" ] && [ "$FILE_ID" != "null" ]; then
    refly file download "$FILE_ID" -o "$HOME/Desktop/${FILE_NAME}"
    open "$HOME/Desktop/${FILE_NAME}"
  fi
done

Expected Output

  • **Type**: Video
  • **Format**: .mp4 video file
  • **Location**: `~/Desktop/`
  • **Action**: Opens automatically to show user

Rules

Follow base skill workflow: `~/.claude/skills/refly/SKILL.md`

Read more
Ships withrefly-skills

Refly skills repository

Get the whole plugin