Webapplicaties
Voeg AI-generatie toe aan je app met een paar regels code. Webhook-helpers regelen asynchrone levering.
Claude visitors: new accounts receive $1.00 in bonus API credit within 30 days. One per person; usage credits only.
Typeveilige clients voor Python, Node.js, Go, Ruby, Java en PHP. Met ingebouwde polling van asynchrone taken, webhookhelpers en automatische nieuwe pogingen.
npm install @runapi.ai/kling
npm
import { KlingClient } from "@runapi.ai/kling";
const client = new KlingClient({ apiKey: process.env.RUNAPI_API_KEY });
const task = await client.textToVideo.create({
"model": "kling-v3-turbo-text-to-video",
"prompt": "A paper kite flying above a quiet coastal town at sunrise",
"duration_seconds": 5,
"aspect_ratio": "16:9",
"output_resolution": "720p"
});
pip install runapi-kling
PyPI
import os
from runapi.kling import KlingClient
client = KlingClient(api_key=os.environ["RUNAPI_API_KEY"])
task = client.text_to_video.create(
model="kling-v3-turbo-text-to-video",
prompt="A paper kite flying above a quiet coastal town at sunrise",
duration_seconds=5,
aspect_ratio="16:9",
output_resolution="720p"
)
go get github.com/runapi-ai/kling-sdk/go@latest
Go modules
package main
import (
"context"
"log"
"os"
"github.com/runapi-ai/core-sdk/go/option"
kling "github.com/runapi-ai/kling-sdk/go/kling"
)
func main() {
client, err := kling.NewClient(option.WithAPIKey(os.Getenv("RUNAPI_API_KEY")))
if err != nil {
log.Fatal(err)
}
task, err := client.TextToVideo.Create(context.Background(), kling.TextToVideoParams{
Model: kling.TextToVideoModel("kling-v3-turbo-text-to-video"),
Prompt: "A paper kite flying above a quiet coastal town at sunrise",
DurationSeconds: 5,
AspectRatio: "16:9",
OutputResolution: kling.KlingTextToVideoOutputResolution("720p"),
})
if err != nil {
log.Fatal(err)
}
_ = task
}
gem install runapi-kling
RubyGems
require "runapi/kling"
client = RunApi::Kling::Client.new(api_key: ENV.fetch("RUNAPI_API_KEY"))
task = client.text_to_video.create(
model: "kling-v3-turbo-text-to-video",
prompt: "A paper kite flying above a quiet coastal town at sunrise",
duration_seconds: 5,
aspect_ratio: "16:9",
output_resolution: "720p"
)
implementation("ai.runapi:runapi-kling")
Maven
import ai.runapi.kling.KlingClient;
import ai.runapi.kling.types.TextToVideoParams;
import ai.runapi.core.polling.TaskCreateResponse;
public final class Example {
public static void main(String[] args) {
KlingClient client = KlingClient.builder()
.apiKey(System.getenv("RUNAPI_API_KEY"))
.build();
TaskCreateResponse task = client.textToVideo().create(
TextToVideoParams.builder()
.model("kling-v3-turbo-text-to-video")
.prompt("A paper kite flying above a quiet coastal town at sunrise")
.durationSeconds(5)
.aspectRatio("16:9")
.outputResolution("720p")
.build()
);
}
}
composer require runapi-ai/kling
Packagist
<?php
require __DIR__ . '/vendor/autoload.php';
use RunApi\Core\ClientOptions;
use RunApi\Kling\KlingClient;
$client = new KlingClient(new ClientOptions(apiKey: getenv('RUNAPI_API_KEY')));
$task = $client->textToVideo->create([
"model" => "kling-v3-turbo-text-to-video",
"prompt" => "A paper kite flying above a quiet coastal town at sunrise",
"duration_seconds" => 5,
"aspect_ratio" => "16:9",
"output_resolution" => "720p"
]);
Modelspecifieke SDK’s delen hetzelfde taakobject, dezelfde authenticatie, foutafhandeling en prijslinks.
import { KlingClient } from "@runapi.ai/kling";
const client = new KlingClient({ apiKey: process.env.RUNAPI_API_KEY });
const task = await client.textToVideo.create({
"model": "kling-v3-turbo-text-to-video",
"prompt": "A paper kite flying above a quiet coastal town at sunrise",
"duration_seconds": 5,
"aspect_ratio": "16:9",
"output_resolution": "720p"
});
import os
from runapi.kling import KlingClient
client = KlingClient(api_key=os.environ["RUNAPI_API_KEY"])
task = client.text_to_video.create(
model="kling-v3-turbo-text-to-video",
prompt="A paper kite flying above a quiet coastal town at sunrise",
duration_seconds=5,
aspect_ratio="16:9",
output_resolution="720p"
)
package main
import (
"context"
"log"
"os"
"github.com/runapi-ai/core-sdk/go/option"
kling "github.com/runapi-ai/kling-sdk/go/kling"
)
func main() {
client, err := kling.NewClient(option.WithAPIKey(os.Getenv("RUNAPI_API_KEY")))
if err != nil {
log.Fatal(err)
}
task, err := client.TextToVideo.Create(context.Background(), kling.TextToVideoParams{
Model: kling.TextToVideoModel("kling-v3-turbo-text-to-video"),
Prompt: "A paper kite flying above a quiet coastal town at sunrise",
DurationSeconds: 5,
AspectRatio: "16:9",
OutputResolution: kling.KlingTextToVideoOutputResolution("720p"),
})
if err != nil {
log.Fatal(err)
}
_ = task
}
require "runapi/kling"
client = RunApi::Kling::Client.new(api_key: ENV.fetch("RUNAPI_API_KEY"))
task = client.text_to_video.create(
model: "kling-v3-turbo-text-to-video",
prompt: "A paper kite flying above a quiet coastal town at sunrise",
duration_seconds: 5,
aspect_ratio: "16:9",
output_resolution: "720p"
)
import ai.runapi.kling.KlingClient;
import ai.runapi.kling.types.TextToVideoParams;
import ai.runapi.core.polling.TaskCreateResponse;
public final class Example {
public static void main(String[] args) {
KlingClient client = KlingClient.builder()
.apiKey(System.getenv("RUNAPI_API_KEY"))
.build();
TaskCreateResponse task = client.textToVideo().create(
TextToVideoParams.builder()
.model("kling-v3-turbo-text-to-video")
.prompt("A paper kite flying above a quiet coastal town at sunrise")
.durationSeconds(5)
.aspectRatio("16:9")
.outputResolution("720p")
.build()
);
}
}
<?php
require __DIR__ . '/vendor/autoload.php';
use RunApi\Core\ClientOptions;
use RunApi\Kling\KlingClient;
$client = new KlingClient(new ClientOptions(apiKey: getenv('RUNAPI_API_KEY')));
$task = $client->textToVideo->create([
"model" => "kling-v3-turbo-text-to-video",
"prompt" => "A paper kite flying above a quiet coastal town at sunrise",
"duration_seconds" => 5,
"aspect_ratio" => "16:9",
"output_resolution" => "720p"
]);
Voeg AI-generatie toe aan je app met een paar regels code. Webhook-helpers regelen asynchrone levering.
Verwerk generatieverzoeken op schaal. Ingebouwde retries en snelheidslimieten houden je service betrouwbaar.
Genereer trainingsdata, verrijk datasets of maak synthetische media als onderdeel van je ML-pipeline.
Direct vervangbaar. Wijzig de basis-URL en behoud uw bestaande code.
TypeScript- en Python-typen voor elk model, endpoint en parameter.
Native async/await en SSE-streaming in alle ondersteunde talen.
RunAPI onderhoudt modelspecifieke SDK’s voor Python, Node.js, PHP, Java, Ruby en Go. PHP-pakketten worden gepubliceerd op Packagist en kunnen worden geïnstalleerd met Composer. Elk pakket richt zich op één modelfamilie, terwijl de REST-API beschikbaar blijft voor Elixir, .NET en elke runtime die HTTPS-verzoeken kan versturen.
Modelspecifieke pakketten houden applicatieafhankelijkheden klein en maken verzoekvelden begrijpelijker. Een video-app kan Kling of Seedance installeren, een muziek-app Suno, en een multimodale backend kan pakketten toevoegen zodra nieuwe workflows beschikbaar komen.
Het huidige geëxporteerde contract omvat 251 openbare model-ID’s en 132 verzoekbewerkingen. Dit contract wordt gegenereerd uit de RunAPI-catalogus en houdt SDK-voorbeelden, CLI-metadata en API-documentatie op elkaar afgestemd.
Nee. SDK-aanroepen gebruiken dezelfde RunAPI API-sleutel als REST, CLI, MCP en agentvaardigheden. Sla deze op in RUNAPI_API_KEY of geef deze door via de geheimenbeheerder van uw deployment in plaats van deze hard te coderen.
Ja. Taken die met de SDK zijn gemaakt volgen dezelfde levenscyclus als REST-verzoeken. U kunt de status vanuit een worker opvragen of callbacks instellen zodat RunAPI de uiteindelijke taakgegevens naar uw backend stuurt.
Raadpleeg de modelcatalogus en prijspagina voordat u een model integreert. SDK-documentatie verwijst naar modelpagina’s om de huidige factureringseenheid, endpointstructuur en ondersteunde model-ID’s te controleren zonder prijzen naar code te kopiëren.
We helpen je met enterprise-inrichting, integraties en technische vragen.