Generates AI videos via Kuaishou Kling API. Create videos from text or images, extend existing clips, apply motion control, or lip-sync audio. Supports multiple models and quality modes.
How this skill is triggered — by the user, by Claude, or both
Slash command
/acedatacloud-ai-media:kling-videoThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Generate AI videos through AceDataCloud's Kuaishou Kling API.
Generate AI videos through AceDataCloud's Kuaishou Kling API.
Setup: See authentication for token setup.
curl -X POST https://api.acedata.cloud/kling/videos \
-H "Authorization: Bearer $ACEDATACLOUD_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"action": "text2video", "prompt": "a cat playing piano on a rooftop at sunset", "model": "kling-v3", "mode": "std", "duration": 5}'
Async: See async task polling. Poll via
POST /kling/taskswith{"id": "..."}.
| Model | Quality | Best For |
|---|---|---|
kling-v3 | Latest | Best quality, flexible 3–15s duration, optional audio generation |
kling-v3-omni | Latest | Omni model with audio support, flexible 3–15s duration |
kling-v2-6 | High | High-quality output with optional audio (pro mode) |
kling-v2-5-turbo | High + Fast | Best speed/quality trade-off |
kling-v2-master | High | High-quality output |
kling-v2-1-master | High | Improved v2 |
kling-v1-6 | Improved | Better quality than v1 |
kling-v1 | Standard | Basic generation, lowest cost |
kling-video-o1 | Premium | Highest quality (thinking model) |
| Mode | Speed | Cost | Use For |
|---|---|---|---|
std (Standard) | Slower | Lower | Draft/preview |
pro (Professional) | Faster | Higher | Final output |
4k (Native 4K) | — | Premium | Native 4K output — only kling-v3 and kling-v3-omni; incompatible with camera_control |
POST /kling/videos
{
"action": "text2video",
"prompt": "a futuristic city with flying cars",
"model": "kling-v3",
"mode": "std",
"duration": 5,
"aspect_ratio": "16:9"
}
Animate a still image. Optionally specify an ending frame.
POST /kling/videos
{
"action": "image2video",
"prompt": "the scene slowly comes alive with movement",
"start_image_url": "https://example.com/scene.jpg",
"end_image_url": "https://example.com/end-scene.jpg",
"model": "kling-v3",
"mode": "pro"
}
Continue an existing video with additional seconds.
POST /kling/videos
{
"action": "extend",
"video_id": "existing-video-id",
"prompt": "the camera pulls back to reveal the full landscape",
"model": "kling-v2-5-turbo"
}
Apply precise camera/motion control from an image + reference video.
POST /kling/motion
{
"image_url": "https://example.com/subject.jpg",
"video_url": "https://example.com/motion-reference.mp4"
}
Create a lip-synced video from a source video plus either an audio track or input text.
POST /kling/lip-sync
{
"video_url": "https://example.com/source.mp4",
"mode": "audio2video",
"audio_url": "https://example.com/voiceover.mp3"
}
| Parameter | Values | Description |
|---|---|---|
action | "text2video", "image2video", "extend" | Generation mode |
model | See models table | Model to use |
mode | "std", "pro", "4k" | Quality mode (4k only for kling-v3 / kling-v3-omni, incompatible with camera_control) |
duration | 5, 10 (v3/v3-omni: 3–15) | Duration in seconds |
generate_audio | true, false | Generate audio with video (v3, v3-omni, v2-6 pro only) |
aspect_ratio | "16:9", "9:16", "1:1" | Video aspect ratio |
cfg_scale | 0–1 | Prompt relevance strength |
negative_prompt | string | What to avoid in the video |
camera_control | object | Camera movement parameters |
element_list | array | Reference subjects from the element library (each item has element_id). Combined with video_list, total reference images + subjects ≤ 7 (or ≤ 4 if a reference video is included) |
video_list | array | Reference video(s) via video_url (MP4/MOV, 3–10s, ≤200MB, max 1 video). Each item has video_url, refer_type ("feature" or "base"), and optional keep_original_sound |
callback_url | string | Async callback URL |
mode (/kling/lip-sync) | "audio2video", "text2video" | Lip-sync mode |
video_url (/kling/lip-sync) | URL | Source video URL for lip-sync |
video_id (/kling/lip-sync) | string | Existing Kling video ID for lip-sync |
audio_url (/kling/lip-sync) | URL | Audio source URL (for audio2video) |
audio_type (/kling/lip-sync) | "url", "file" | Audio input type (default url) |
audio_file (/kling/lip-sync) | string | Audio file payload when audio_type=file |
text (/kling/lip-sync) | string | Input text to synthesize speech (for text2video) |
voice_id (/kling/lip-sync) | string | Voice preset ID used in text2video |
voice_language (/kling/lip-sync) | "zh", "en" | TTS language for text2video (default zh) |
voice_speed (/kling/lip-sync) | number | TTS speaking speed (default 1.0) |
duration supports 5 or 10 seconds for most models; kling-v3 and kling-v3-omni support flexible 3–15 secondsmode=4k is only available for kling-v3 and kling-v3-omni and is incompatible with camera_controlgenerate_audio enables synchronized audio generation (supported by kling-v3, kling-v3-omni, and kling-v2-6 in pro mode)end_image_url is only for image2video action — it defines the last frame/kling/motion) is a separate endpoint from video generation/kling/lip-sync) and requires mode; use audio_url for audio2video or text + voice fields for text2videopro mode costs roughly 2x std mode but generates faster with better quality"succeed" (not "succeeded") — check for this value when pollingnegative_prompt helps avoid unwanted elements (e.g., "blurry, low quality, text")npx claudepluginhub acedatacloud/skills --plugin acedatacloud-ai-toolsCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.