agentsclimarketplace

Klingai upgrade migration

Skill jeremylongshore/claude-code-plugins-plus-skills/plugins/saas-packs/klingai-pack/skills/klingai-upgrade-migration

'Migrate between Kling AI model versions safely. Use when upgrading from v1.x to v2.x orFrom its SKILL.md

Install
npx -y skills add jeremylongshore/claude-code-plugins-plus-skills --skill klingai-upgrade-migration

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

What its file declares

Copied from the file, not written here

The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

4.0 KB, ~1.1k tokens by cl100k_base, as published. Nobody here has run it

Kling AI Upgrade & Migration

Overview

Guide for migrating between Kling AI model versions. Covers breaking changes, parameter differences, feature availability, and parallel testing strategies.

Version History

VersionReleaseKey Changes
v1.02024-06Initial T2V + I2V
v1.52024-091080p, motion brush, I2V-only model
v1.62024-11Lip sync, camera paths, effects API
v2.02025-03Quality leap, kling-v2-master
v2.12025-06Optimized I2V, kling-v2-1-master for T2V
v2.5 Turbo2025-0940% faster, best speed/quality ratio
v2.62025-12Native audio, 30-48 FPS, highest quality

Migration: v1.x to v2.x

# v1.x request
body = {
    "model_name": "kling-v1-6",
    "prompt": "A sunset over mountains",
    "duration": "5",
    "mode": "standard",
}

# v2.x -- only model_name changes
body["model_name"] = "kling-v2-master"

Breaking changes:

  • kling-v2-1 is I2V-only (no text-to-video support)
  • Camera control intensities produce different results at same values
  • Generation times differ (v2.x generally slower, higher quality)

Migration: v2.x to v2.6 with Audio

body["model_name"] = "kling-v2-6"
body["motion_has_audio"] = True  # NEW: synchronized audio

# Cost impact: audio multiplies credits 5x
# 5s standard: 10 -> 50 credits

Feature Availability Matrix

Featurev1.0v1.5v1.6v2.0v2.1v2.5Tv2.6
Text-to-videoYYYYI2V onlyYY
Image-to-videoYYYYYYY
Camera control--YYYYY
Motion brush-YYYYYY
Lip sync--YYYYY
Effects--YYYYY
Native audio------Y
1080p-YYYYYY

Parallel A/B Comparison

def compare_models(prompt, models):
    """Generate same prompt across models for comparison."""
    results = {}
    for model in models:
        r = requests.post(f"{BASE}/videos/text2video", headers=get_headers(), json={
            "model_name": model, "prompt": prompt, "duration": "5", "mode": "standard",
        }).json()
        results[model] = {"task_id": r["data"]["task_id"], "start": time.time()}

    # Poll all
    while any("url" not in r for r in results.values()):
        for model, info in results.items():
            if "url" in info or "error" in info:
                continue
            r = requests.get(
                f"{BASE}/videos/text2video/{info['task_id']}", headers=get_headers()
            ).json()
            if r["data"]["task_status"] == "succeed":
                info["url"] = r["data"]["task_result"]["videos"][0]["url"]
                info["time"] = round(time.time() - info["start"])
            elif r["data"]["task_status"] == "failed":
                info["error"] = r["data"].get("task_status_msg")
        time.sleep(10)

    for model, info in results.items():
        print(f"{model}: {info.get('url', info.get('error'))} ({info.get('time', '?')}s)")
    return results

Rollback Strategy

# Feature flag for instant rollback
KLING_MODEL = os.environ.get("KLING_MODEL_VERSION", "kling-v2-master")
body["model_name"] = KLING_MODEL

# To rollback: export KLING_MODEL_VERSION=kling-v1-6

Resources

What ships with it: 5 files

7.9 KB alongside SKILL.md

Keep looking

Skills are one crate of 326,144. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.