0.0
The project is in a healthy, maintained state
The Kling Ruby 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 Ruby.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Runtime

~> 0.3.0
 Project Readme

RunAPI

Kling API SDKs for JavaScript, Python, Ruby, Go, Java, and PHP on RunAPI.

npm PyPI RubyGems Go Reference Maven Central License


The Kling API SDK packages JavaScript, Python, Ruby, Go, Java, and PHP clients for Kling on RunAPI. Use it for text-to-video, image-to-video, avatar, motion-control, and V2.5 Turbo continuation workflows when your app needs typed request builders, predictable task polling, file upload helpers, account helpers, and consistent RunAPI errors.

Kling is listed in the RunAPI model catalog at https://runapi.ai/models/kling. Variant pages below carry pricing, rate-limit, and commercial-usage details. The public kling-sdk repository groups the non-PHP language packages, examples, CI, and release tags for this model. The PHP package is released from a split Composer repository.

Install

npm install @runapi.ai/kling
pip install runapi-kling
gem install runapi-kling
go get github.com/runapi-ai/kling-sdk/go@latest

Gradle:

dependencies {
  implementation("ai.runapi:runapi-kling:0.1.6")
}

Maven:

<dependency>
  <groupId>ai.runapi</groupId>
  <artifactId>runapi-kling</artifactId>
  <version>0.1.6</version>
</dependency>

Use the Java BOM when installing multiple RunAPI Java modules:

dependencies {
  implementation(platform("ai.runapi:runapi-bom:0.2.9"))
  implementation("ai.runapi:runapi-kling")
}

The PHP package is published from the split Composer repository as runapi-ai/kling; see https://github.com/runapi-ai/kling-php for PHP install and examples.

What you can build

  • Build apps, agent workflows, batch jobs, and production services around Kling requests.
  • Install only the language package your app needs while keeping one model-specific repository for docs and releases.
  • Use create for submit-only jobs, get for status lookup, and run for submit-and-poll scripts.
  • Upload local files, URL files, or base64 files through shared RunAPI file helpers.
  • Handle validation, authentication, rate limits, insufficient credits, task failures, and polling timeouts through RunAPI SDK errors.

Java quick start

import ai.runapi.kling.KlingClient;
import ai.runapi.kling.types.TextToVideoParams;
import ai.runapi.kling.types.CompletedTextToVideoResponse;
import ai.runapi.kling.types.TextToVideoModel;

KlingClient client = KlingClient.builder()
    .apiKey(System.getenv("RUNAPI_API_KEY"))
    .build();

CompletedTextToVideoResponse result = client.textToVideo().run(
    TextToVideoParams.builder()
        .model(TextToVideoModel.KLING_3_0)
        .prompt("A crane shot over a snowy mountain village")
        .aspectRatio("16:9")
        .outputResolution("720p")
        .durationSeconds(3)
        .build()
);

Java packages target Java 8 bytecode and are tested on Java 8, 11, 17, and 21. Each model artifact depends on ai.runapi:runapi-core, so application code normally installs only ai.runapi:runapi-kling.

Kling 2.6

Use kling-v2.6 for text-to-video, image-to-video, or motion-control requests. Sound requires mode: "pro"; an image-to-video final frame additionally requires a five-second request. Motion control requires source_image_url, output_resolution, and character_orientation; its reference_video_url may be 3-10 seconds for image orientation or 3-30 seconds for video orientation, and it does not accept background_source.

const result = await client.imageToVideo.run({
  model: 'kling-v2.6',
  prompt: 'Camera follows the cyclist through fog as the city lights appear',
  first_frame_image_url: 'https://cdn.runapi.ai/public/samples/image-to-video.jpg',
  mode: 'pro',
  duration_seconds: 5,
  enable_sound: true,
  last_frame_image_url: 'https://cdn.runapi.ai/public/samples/last-frame.jpg',
});

Kling O1 reference media

Use kling-o1 with ordered public HTTP(S) JPG, JPEG, or PNG reference images and an optional public HTTP(S) MP4 or MOV reference video. Mention every reference in prompt as <<<image_1>>>, <<<image_2>>>, and <<<video_1>>>. When a video is present, up to four reference images are allowed. 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; a base reference video cannot be combined with frame inputs. O1 requests are five seconds, use std or pro, and keep sound disabled.

const result = await client.textToVideo.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,
});

Kling V3 Omni

Use kling-v3-omni for text-to-video or image-to-video requests with 720p, 1080p, or 4k output resolution and optional synchronized sound. Image-to-video requires a first frame; a final frame can be used only with a five-second request.

const result = await client.imageToVideo.run({
  model: 'kling-v3-omni',
  prompt: 'Camera follows the cyclist through fog as the city lights appear',
  first_frame_image_url: 'https://cdn.runapi.ai/public/samples/portrait.jpg',
  last_frame_image_url: 'https://cdn.runapi.ai/public/samples/image.jpg',
  output_resolution: '1080p',
  duration_seconds: 5,
  enable_sound: true,
});

Task lifecycle

Most media endpoints are asynchronous. create() submits a task and returns its id, get(id) fetches the latest task state, and run(params) creates the task and polls until it reaches a terminal state. In web request handlers, prefer create() plus webhook or later get() polling so the server does not hold a worker open.

Repository layout

  • js/ publishes @runapi.ai/kling.
  • python/ publishes runapi-kling.
  • ruby/ publishes runapi-kling.
  • go/ publishes github.com/runapi-ai/kling-sdk/go.
  • java/ publishes ai.runapi:runapi-kling and uses ai.runapi:runapi-core.

Public links

Pricing and variants

Use the most specific Kling variant page for pricing, rate limits, and commercial usage:

Default pricing link for the Kling SDK: https://runapi.ai/models/kling/3.0

File storage

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.

FAQ

Which package should I install for Kling work?

Install the model package for your language: @runapi.ai/kling on npm, runapi-kling on PyPI, runapi-kling on RubyGems, github.com/runapi-ai/kling-sdk/go, ai.runapi:runapi-kling on Maven Central, or runapi-ai/kling on Packagist. Install core SDK packages only when you are building shared SDK infrastructure.

Where should public links point?

Primary Kling links point to https://runapi.ai/models/kling. Pricing and usage-policy links point to variant pages such as https://runapi.ai/models/kling/3.0. Provider comparisons point to https://runapi.ai/providers/kuaishou, and broad browsing points to https://runapi.ai/models.

License

Licensed under the Apache License, Version 2.0.