Aplikacje webowe
Dodaj generowanie AI do aplikacji za pomocą kilku linii kodu. Helpery webhooków obsługują dostarczanie asynchroniczne.
Claude visitors: new accounts receive $1.00 in bonus API credit within 30 days. One per person; usage credits only.
Klienty z bezpieczną obsługą typów dla Python, Node.js, Go, Ruby, Java i PHP. Wbudowane odpytywanie zadań asynchronicznych, funkcje pomocnicze webhooków i automatyczne ponawianie prób.
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"
]);
SDK poszczególnych modeli współdzielą obiekt zadania, uwierzytelnianie, obsługę błędów i odnośniki do cen.
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"
]);
Dodaj generowanie AI do aplikacji za pomocą kilku linii kodu. Helpery webhooków obsługują dostarczanie asynchroniczne.
Przetwarzaj żądania generowania na dużą skalę. Wbudowane ponowienia i ograniczanie częstotliwości zwiększają niezawodność usługi.
Generuj dane treningowe, rozszerzaj zbiory danych lub twórz syntetyczne media jako część potoku ML.
Bezpośredni zamiennik. Zmień bazowy adres URL i zachowaj istniejący kod.
Typy TypeScript i Python dla każdego modelu, punktu końcowego i parametru.
Natywna obsługa async/await i strumieniowania SSE we wszystkich obsługiwanych językach.
RunAPI utrzymuje SDK poszczególnych modeli dla Python, Node.js, PHP, Java, Ruby i Go. Pakiety PHP są publikowane w Packagist i można je instalować za pomocą Composer. Każdy pakiet obsługuje jedną rodzinę modeli, a REST API pozostaje dostępne dla Elixir, .NET i każdego środowiska uruchomieniowego, które może wysyłać żądania HTTPS.
Pakiety dla konkretnych modeli ograniczają zależności aplikacji i ułatwiają zrozumienie pól żądań. Aplikacja wideo może zainstalować Kling lub Seedance, aplikacja muzyczna — Suno, a backend multimodalny może dodawać pakiety w miarę wdrażania nowych procesów.
Obecny eksportowany kontrakt obejmuje 251 publicznych identyfikatorów modeli i 132 operacji żądań. Jest generowany z katalogu RunAPI i służy do zachowania spójności przykładów SDK, metadanych CLI i dokumentacji API.
Nie. Wywołania SDK używają tego samego klucza API RunAPI co REST, CLI, MCP i umiejętności agentów. Zapisz go w RUNAPI_API_KEY lub przekaż przez menedżer sekretów wdrożenia zamiast wpisywać na stałe w kodzie źródłowym.
Tak. Zadania utworzone przez SDK mają ten sam cykl życia co żądania REST. Możesz odpytywać o status zadania z procesu roboczego lub skonfigurować obsługę wywołań zwrotnych, aby RunAPI wysłało do backendu końcowe dane zadania.
Przed integracją modelu sprawdź katalog modeli i stronę cen. Dokumentacja SDK zawiera odnośniki do stron modeli, dzięki czemu deweloperzy mogą sprawdzić aktualną jednostkę rozliczeniową, strukturę punktu końcowego i obsługiwane identyfikatory modeli bez kopiowania cen do kodu.
Pomożemy w konfiguracji dla firm, integracjach i kwestiach technicznych.