Skip to main content

Kling API Python SDK for RunAPI

The Kling Python SDK is the language-specific package for Kling on RunAPI. Use this package for video generation, animation, and video editing workflows when your application needs request bodies, task status lookup, and consistent RunAPI errors in Python.

This README is the Python package guide inside the public kling-sdk repository. For the repository overview, start at ../README.md; for model details, use https://runapi.ai/models/kling; for API reference, use https://runapi.ai/docs/api/kling/text-to-video; for SDK docs, use https://runapi.ai/docs/resources/sdks.

Install

pip install runapi-kling

Quick start

from runapi.kling import KlingClient

client = KlingClient()  # reads RUNAPI_API_KEY, or pass api_key="sk-..."

task = client.text_to_video.create(
    model="kling-3.0",
    prompt="A cat walking through a garden",
)
status = client.text_to_video.get(task.id)

avatar = client.ai_avatar.create(
    model="kling-ai-avatar-pro",
    prompt="A friendly host greeting the audience",
    source_image_url="https://cdn.runapi.ai/public/samples/portrait.jpg",
    source_audio_url="https://cdn.runapi.ai/public/samples/voice.mp3",
)

Kling O1 reference media

result = client.text_to_video.run(
    model="kling-o1",
    prompt="Keep <<<image_1>>> beside the performer from <<<video_1>>>",
    reference_image_urls=["https://cdn.runapi.ai/public/samples/portrait.jpg"],
    reference_video_url="https://cdn.runapi.ai/public/samples/video.mp4",
    reference_video_type="feature",
    preserve_reference_video_audio=True,
    mode="pro",
    duration_seconds=5,
)

Number reference images in prompt order as <<<image_1>>>, <<<image_2>>>, and so on; the optional video is <<<video_1>>>. With a video, send at most four images. Do not combine last_frame_image_url with reference images or a reference video. A feature reference video may be used with the required first frame; base cannot be combined with frame inputs. O1 requests are five seconds and keep sound disabled. Pricing and limits: https://runapi.ai/models/kling/o1.

Kling V3 Omni source-video editing

Use kling-v3-omni-reference with text_to_video for image-only reference inputs. For a source video, use edit_video with either kling-v3-omni-reference or kling-v3-omni-edit. The reference model keeps sound disabled for source-video requests.

Use create when you want to submit a task and return quickly, get when you need the latest task state, and run when a script should create and poll until completion:

result = client.text_to_video.run(
    model="kling-3.0",
    prompt="A serene drone shot over a misty forest",
)
print(result.videos[0].url)

In web request handlers, prefer create plus webhook or later get polling so a worker is not held open.

RunAPI-generated file URLs are temporary. Download and store generated images, videos, audio, or other files in your own durable storage within 7 days; do not treat returned URLs as long-term assets.

Language notes

Pass parameters as keyword arguments and catch the runapi.kling error classes when building video jobs, workers, or scripts. The available resources are text_to_video, edit_video, ai_avatar, image_to_video, and motion_control. Keep RUNAPI_API_KEY in the environment or your secret manager; never commit API keys or callback secrets.

Links

License

Licensed under the Apache License, Version 2.0.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

runapi_kling-0.3.0.tar.gz (13.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

runapi_kling-0.3.0-py3-none-any.whl (14.9 kB view details)

Uploaded Python 3

File details

Details for the file runapi_kling-0.3.0.tar.gz.

File metadata

  • Download URL: runapi_kling-0.3.0.tar.gz
  • Upload date:
  • Size: 13.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.31 {"installer":{"name":"uv","version":"0.11.31","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for runapi_kling-0.3.0.tar.gz
Algorithm Hash digest
SHA256 d8f22ad9f27f8e771033bd5b7ef30c0314a711b97c235f5142b90a292386e293
MD5 26fcf299a1d34b73789ef89303404b4f
BLAKE2b-256 cecff5720c8e0d7e3e2a709f7003bdbfff07f50b48c91f351a19474e6cf161cc

See more details on using hashes here.

File details

Details for the file runapi_kling-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: runapi_kling-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 14.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.31 {"installer":{"name":"uv","version":"0.11.31","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for runapi_kling-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f5ffac6167d9be8b8e41a6de05d783968e8d109afd68ccbf2cd1bcba1d04f11f
MD5 db61f506ffe62569c61c068577a77de0
BLAKE2b-256 f2eaeca2f4e588ec7d18b21bad343cac27bd12e886d77a81f27ffb61b4977406

See more details on using hashes here.

Release history Release notifications | RSS feed

0.3.1

2 files

This release

0.3.0 This release

2 files

0.2.2

2 files

0.2.1

2 files

0.2.0

2 files

0.1.4

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page