Install any skill in seconds. Free to start, no credit card required.
Get Started Free →jeremylongshore/klingai-image-to-video
Animate static images into video using Kling AI.
Passed 20 of 23 test cases with the skill, and 17 of 23 without it.
and 1 more in the full report
3 fixed17 passed either way3 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 3 test cases the skill fixed. Same model, same prompt, with and without the skill.
When polling the task status endpoint `GET https://api.klingai.com/v1/videos/image2video/{task_id}`, what exact string values in `data.task_status` indicate success versus failure?
| Checked | Without skill | With skill |
|---|---|---|
| The success status string is "succeed". | Missed | Passed |
| The failure status string is "failed". | Missed | Passed |
The instructions your model reads when the skill loads.
Animate static images using the /v1/videos/image2video endpoint. Supports motion prompts, camera control, dynamic masks (motion brush), static masks, and tail images for start-to-end transitions.
Endpoint: POST https://api.klingai.com/v1/videos/image2video
| Parameter | Type | Required | Description |
|---|---|---|---|
model_name | string | Yes | kling-v1-5, kling-v2-1, kling-v2-master, etc. |
image | string | Yes | URL of the source image (JPG, PNG, WebP) |
prompt | string | No | Motion description for the animation |
negative_prompt | string | No | What to exclude |
duration | string | Yes | "5" or "10" seconds |
aspect_ratio | string | No | "16:9" default |
mode | string | No | "standard" or "professional" |
cfg_scale | float | No | Prompt adherence (0.0-1.0) |
image_tail | string | No | End-frame image URL (mutually exclusive with masks/camera) |
camera_control | object | No | Camera movement (mutually exclusive with masks/image_tail) |
static_mask | string | No | Mask image URL for fixed regions |
dynamic_masks | array | No | Motion brush trajectories |
callback_url | string | No | Webhook for completion |
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"}
test cases passed, vs 17 / 23 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.