Install any skill in seconds. Free to start, no credit card required.
Get Started Free →jeremylongshore/klingai-text-to-video
Generate videos from text prompts with Kling AI.
Passed 21 of 22 test cases with the skill, and 19 of 22 without it.
and 1 more in the full report
2 fixed19 passed either way1 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 2 test cases the skill fixed. Same model, same prompt, with and without the skill.
Can I generate synchronized native audio for a video clip by setting motion_has_audio to true while specifying model_name as kling-v1-5 in the Kling AI text-to-video API?
| Checked | Without skill | With skill |
|---|---|---|
| The response specifies that native audio requires model version kling-v2-6. | Missed | Passed |
The instructions your model reads when the skill loads.
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
| 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 |
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",
test cases passed, vs 19 / 22 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.