curl --request POST \
--url https://aireiter.com/api/openapi/submit \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "kling_3_0",
"params": {
"prompt": "A cat focused on painting in a bright rehearsal room",
"image_url": "https://example.com/first-frame.jpg",
"resolution": "1080p",
"video_length": 5,
"generate_audio": true,
"aspect_ratio": "16:9"
},
"out_task_id": "my_task_123456"
}'
import requests
url = "https://aireiter.com/api/openapi/submit"
payload = {
"model": "kling_3_0",
"params": {
"prompt": "A cat focused on painting in a bright rehearsal room",
"image_url": "https://example.com/first-frame.jpg",
"resolution": "1080p",
"video_length": 5,
"generate_audio": True,
"aspect_ratio": "16:9"
},
"out_task_id": "my_task_123456"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
const url = "https://aireiter.com/api/openapi/submit";
const payload = {
model: "kling_3_0",
params: {
prompt: "A cat focused on painting in a bright rehearsal room",
image_url: "https://example.com/first-frame.jpg",
resolution: "1080p",
video_length: 5,
generate_audio: true,
aspect_ratio: "16:9"
},
out_task_id: "my_task_123456"
};
const headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
};
fetch(url, {
method: "POST",
headers: headers,
body: JSON.stringify(payload)
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
package main
import (
"bytes"
"encoding/json"
"fmt"
"io/ioutil"
"net/http"
)
func main() {
url := "https://aireiter.com/api/openapi/submit"
payload := map[string]interface{}{
"model": "kling_3_0",
"params": map[string]interface{}{
"prompt": "A cat focused on painting in a bright rehearsal room",
"image_url": "https://example.com/first-frame.jpg",
"resolution": "1080p",
"video_length": 5,
"generate_audio": true,
"aspect_ratio": "16:9",
},
"out_task_id": "my_task_123456",
}
jsonData, _ := json.Marshal(payload)
req, _ := http.NewRequest("POST", url, bytes.NewBuffer(jsonData))
req.Header.Set("Authorization", "Bearer <token>")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, _ := ioutil.ReadAll(resp.Body)
fmt.Println(string(body))
}
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
public class Main {
public static void main(String[] args) {
try {
URL url = new URL("https://aireiter.com/api/openapi/submit");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setRequestProperty("Authorization", "Bearer <token>");
conn.setRequestProperty("Content-Type", "application/json");
conn.setDoOutput(true);
String jsonPayload = "{\"model\":\"kling_3_0\",\"params\":{\"prompt\":\"A cat focused on painting in a bright rehearsal room\",\"image_url\":\"https://example.com/first-frame.jpg\",\"resolution\":\"1080p\",\"video_length\":5,\"generate_audio\":true,\"aspect_ratio\":\"16:9\"},\"out_task_id\":\"my_task_123456\"}";
OutputStream os = conn.getOutputStream();
os.write(jsonPayload.getBytes());
os.flush();
os.close();
BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line;
StringBuilder response = new StringBuilder();
while ((line = br.readLine()) != null) {
response.append(line);
}
br.close();
System.out.println(response.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
<?php
$url = "https://aireiter.com/api/openapi/submit";
$payload = array(
"model" => "kling_3_0",
"params" => array(
"prompt" => "A cat focused on painting in a bright rehearsal room",
"image_url" => "https://example.com/first-frame.jpg",
"resolution" => "1080p",
"video_length" => 5,
"generate_audio" => true,
"aspect_ratio" => "16:9"
),
"out_task_id" => "my_task_123456"
);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Authorization: Bearer <token>",
"Content-Type: application/json"
));
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload));
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
require 'net/http'
require 'json'
require 'uri'
url = URI.parse("https://aireiter.com/api/openapi/submit")
payload = {
model: "kling_3_0",
params: {
prompt: "A cat focused on painting in a bright rehearsal room",
image_url: "https://example.com/first-frame.jpg",
resolution: "1080p",
video_length: 5,
generate_audio: true,
aspect_ratio: "16:9"
},
out_task_id: "my_task_123456"
}
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url.path)
request["Authorization"] = "Bearer <token>"
request["Content-Type"] = "application/json"
request.body = payload.to_json
response = http.request(request)
puts response.body
import Foundation
let url = URL(string: "https://aireiter.com/api/openapi/submit")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer <token>", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
let payload: [String: Any] = [
"model": "kling_3_0",
"params": [
"prompt": "A cat focused on painting in a bright rehearsal room",
"image_url": "https://example.com/first-frame.jpg",
"resolution": "1080p",
"video_length": 5,
"generate_audio": true,
"aspect_ratio": "16:9"
],
"out_task_id": "my_task_123456"
]
request.httpBody = try? JSONSerialization.data(withJSONObject: payload)
let task = URLSession.shared.dataTask(with: request) { data, response, error in
if let data = data {
print(String(data: data, encoding: .utf8) ?? "")
}
}
task.resume()
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
var url = "https://aireiter.com/api/openapi/submit";
var payload = "{\"model\":\"kling_3_0\",\"params\":{\"prompt\":\"A cat focused on painting in a bright rehearsal room\",\"image_url\":\"https://example.com/first-frame.jpg\",\"resolution\":\"1080p\",\"video_length\":5,\"generate_audio\":true,\"aspect_ratio\":\"16:9\"},\"out_task_id\":\"my_task_123456\"}";
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Add("Authorization", "Bearer <token>");
var content = new StringContent(payload, Encoding.UTF8, "application/json");
var response = await client.PostAsync(url, content);
var result = await response.Content.ReadAsStringAsync();
Console.WriteLine(result);
}
}
}
#include <stdio.h>
#include <curl/curl.h>
int main(void)
{
CURL *curl;
CURLcode res;
curl = curl_easy_init();
if(curl) {
curl_easy_setopt(curl, CURLOPT_URL, "https://aireiter.com/api/openapi/submit");
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Authorization: Bearer <token>");
headers = curl_slist_append(headers, "Content-Type: application/json");
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
const char *data = "{\"model\":\"kling_3_0\",\"params\":{\"prompt\":\"A cat focused on painting in a bright rehearsal room\",\"image_url\":\"https://example.com/first-frame.jpg\",\"resolution\":\"1080p\",\"video_length\":5,\"generate_audio\":true,\"aspect_ratio\":\"16:9\"},\"out_task_id\":\"my_task_123456\"}";
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, data);
res = curl_easy_perform(curl);
curl_slist_free_all(headers);
curl_easy_cleanup(curl);
}
return 0;
}
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSURL *url = [NSURL URLWithString:@"https://aireiter.com/api/openapi/submit"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"POST"];
[request setValue:@"Bearer <token>" forHTTPHeaderField:@"Authorization"];
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
NSDictionary *payload = @{
@"model": @"kling_3_0",
@"params": @{
@"prompt": @"A cat focused on painting in a bright rehearsal room",
@"image_url": @"https://example.com/first-frame.jpg",
@"resolution": @"1080p",
@"video_length": @5,
@"generate_audio": @YES,
@"aspect_ratio": @"16:9"
},
@"out_task_id": @"my_task_123456"
};
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:payload options:0 error:nil];
[request setHTTPBody:jsonData];
NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *task = [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
if (data) {
NSString *result = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"%@", result);
}
}];
[task resume];
[[NSRunLoop currentRunLoop] run];
}
return 0;
}
open Lwt
open Cohttp
open Cohttp_lwt_unix
let url = "https://aireiter.com/api/openapi/submit"
let payload = {|{"model":"kling_3_0","params":{"prompt":"A cat focused on painting in a bright rehearsal room","image_url":"https://example.com/first-frame.jpg","resolution":"1080p","video_length":5,"generate_audio":true,"aspect_ratio":"16:9"},"out_task_id":"my_task_123456"}|}
let () =
let headers = Header.init ()
|> fun h -> Header.add h "Authorization" "Bearer <token>"
|> fun h -> Header.add h "Content-Type" "application/json" in
let body = Cohttp_lwt.Body.of_string payload in
let response = Client.post ~headers ~body (Uri.of_string url) >>= fun (resp, body) ->
body |> Cohttp_lwt.Body.to_string >|= fun body ->
print_endline body
in
Lwt_main.run response
import 'dart:convert';
import 'package:http/http.dart' as http;
void main() async {
var url = Uri.parse('https://aireiter.com/api/openapi/submit');
var payload = {
'model': 'kling_3_0',
'params': {
'prompt': 'A cat focused on painting in a bright rehearsal room',
'image_url': 'https://example.com/first-frame.jpg',
'resolution': '1080p',
'video_length': 5,
'generate_audio': true,
'aspect_ratio': '16:9'
},
'out_task_id': 'my_task_123456'
};
var response = await http.post(
url,
headers: {
'Authorization': 'Bearer <token>',
'Content-Type': 'application/json',
},
body: jsonEncode(payload),
);
print(response.body);
}
library(httr)
library(jsonlite)
url <- "https://aireiter.com/api/openapi/submit"
payload <- list(
model = "kling_3_0",
params = list(
prompt = "A cat focused on painting in a bright rehearsal room",
image_url = "https://example.com/first-frame.jpg",
resolution = "1080p",
video_length = 5,
generate_audio = TRUE,
aspect_ratio = "16:9"
),
out_task_id = "my_task_123456"
)
response <- POST(
url,
add_headers(
Authorization = "Bearer <token>",
`Content-Type` = "application/json"
),
body = toJSON(payload, auto_unbox = TRUE),
encode = "json"
)
cat(content(response, "text"))
{
"statusCode": 200,
"message": "",
"data": {
"out_task_id": "my_task_123456",
"status": "pending",
"estimated_credits": 190,
"created_at": "2026-06-25T06:03:28.242Z"
}
}
{
"statusCode": 400,
"message": "Invalid request parameters",
"ok": false
}
{
"error": {
"code": 401,
"message": "Authentication failed, please check your API key"
}
}
{
"error": {
"code": 433,
"message": "Insufficient account balance, please recharge and try again"
}
}
{
"error": {
"code": 500,
"message": "Internal server error, please try again later"
}
}
Kling 3.0
Kling 3.0 Video Generation
- Asynchronous processing mode, returns task ID for subsequent queries
- Supports text-to-video, image-to-video (first frame + last frame)
- Supports 720p / 1080p / 4K, 3-15 seconds, optional native audio
POST
/
api
/
openapi
/
submit
curl --request POST \
--url https://aireiter.com/api/openapi/submit \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "kling_3_0",
"params": {
"prompt": "A cat focused on painting in a bright rehearsal room",
"image_url": "https://example.com/first-frame.jpg",
"resolution": "1080p",
"video_length": 5,
"generate_audio": true,
"aspect_ratio": "16:9"
},
"out_task_id": "my_task_123456"
}'
import requests
url = "https://aireiter.com/api/openapi/submit"
payload = {
"model": "kling_3_0",
"params": {
"prompt": "A cat focused on painting in a bright rehearsal room",
"image_url": "https://example.com/first-frame.jpg",
"resolution": "1080p",
"video_length": 5,
"generate_audio": True,
"aspect_ratio": "16:9"
},
"out_task_id": "my_task_123456"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
const url = "https://aireiter.com/api/openapi/submit";
const payload = {
model: "kling_3_0",
params: {
prompt: "A cat focused on painting in a bright rehearsal room",
image_url: "https://example.com/first-frame.jpg",
resolution: "1080p",
video_length: 5,
generate_audio: true,
aspect_ratio: "16:9"
},
out_task_id: "my_task_123456"
};
const headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
};
fetch(url, {
method: "POST",
headers: headers,
body: JSON.stringify(payload)
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
package main
import (
"bytes"
"encoding/json"
"fmt"
"io/ioutil"
"net/http"
)
func main() {
url := "https://aireiter.com/api/openapi/submit"
payload := map[string]interface{}{
"model": "kling_3_0",
"params": map[string]interface{}{
"prompt": "A cat focused on painting in a bright rehearsal room",
"image_url": "https://example.com/first-frame.jpg",
"resolution": "1080p",
"video_length": 5,
"generate_audio": true,
"aspect_ratio": "16:9",
},
"out_task_id": "my_task_123456",
}
jsonData, _ := json.Marshal(payload)
req, _ := http.NewRequest("POST", url, bytes.NewBuffer(jsonData))
req.Header.Set("Authorization", "Bearer <token>")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, _ := ioutil.ReadAll(resp.Body)
fmt.Println(string(body))
}
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
public class Main {
public static void main(String[] args) {
try {
URL url = new URL("https://aireiter.com/api/openapi/submit");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setRequestProperty("Authorization", "Bearer <token>");
conn.setRequestProperty("Content-Type", "application/json");
conn.setDoOutput(true);
String jsonPayload = "{\"model\":\"kling_3_0\",\"params\":{\"prompt\":\"A cat focused on painting in a bright rehearsal room\",\"image_url\":\"https://example.com/first-frame.jpg\",\"resolution\":\"1080p\",\"video_length\":5,\"generate_audio\":true,\"aspect_ratio\":\"16:9\"},\"out_task_id\":\"my_task_123456\"}";
OutputStream os = conn.getOutputStream();
os.write(jsonPayload.getBytes());
os.flush();
os.close();
BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line;
StringBuilder response = new StringBuilder();
while ((line = br.readLine()) != null) {
response.append(line);
}
br.close();
System.out.println(response.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
<?php
$url = "https://aireiter.com/api/openapi/submit";
$payload = array(
"model" => "kling_3_0",
"params" => array(
"prompt" => "A cat focused on painting in a bright rehearsal room",
"image_url" => "https://example.com/first-frame.jpg",
"resolution" => "1080p",
"video_length" => 5,
"generate_audio" => true,
"aspect_ratio" => "16:9"
),
"out_task_id" => "my_task_123456"
);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Authorization: Bearer <token>",
"Content-Type: application/json"
));
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload));
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
require 'net/http'
require 'json'
require 'uri'
url = URI.parse("https://aireiter.com/api/openapi/submit")
payload = {
model: "kling_3_0",
params: {
prompt: "A cat focused on painting in a bright rehearsal room",
image_url: "https://example.com/first-frame.jpg",
resolution: "1080p",
video_length: 5,
generate_audio: true,
aspect_ratio: "16:9"
},
out_task_id: "my_task_123456"
}
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url.path)
request["Authorization"] = "Bearer <token>"
request["Content-Type"] = "application/json"
request.body = payload.to_json
response = http.request(request)
puts response.body
import Foundation
let url = URL(string: "https://aireiter.com/api/openapi/submit")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer <token>", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
let payload: [String: Any] = [
"model": "kling_3_0",
"params": [
"prompt": "A cat focused on painting in a bright rehearsal room",
"image_url": "https://example.com/first-frame.jpg",
"resolution": "1080p",
"video_length": 5,
"generate_audio": true,
"aspect_ratio": "16:9"
],
"out_task_id": "my_task_123456"
]
request.httpBody = try? JSONSerialization.data(withJSONObject: payload)
let task = URLSession.shared.dataTask(with: request) { data, response, error in
if let data = data {
print(String(data: data, encoding: .utf8) ?? "")
}
}
task.resume()
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
var url = "https://aireiter.com/api/openapi/submit";
var payload = "{\"model\":\"kling_3_0\",\"params\":{\"prompt\":\"A cat focused on painting in a bright rehearsal room\",\"image_url\":\"https://example.com/first-frame.jpg\",\"resolution\":\"1080p\",\"video_length\":5,\"generate_audio\":true,\"aspect_ratio\":\"16:9\"},\"out_task_id\":\"my_task_123456\"}";
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Add("Authorization", "Bearer <token>");
var content = new StringContent(payload, Encoding.UTF8, "application/json");
var response = await client.PostAsync(url, content);
var result = await response.Content.ReadAsStringAsync();
Console.WriteLine(result);
}
}
}
#include <stdio.h>
#include <curl/curl.h>
int main(void)
{
CURL *curl;
CURLcode res;
curl = curl_easy_init();
if(curl) {
curl_easy_setopt(curl, CURLOPT_URL, "https://aireiter.com/api/openapi/submit");
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Authorization: Bearer <token>");
headers = curl_slist_append(headers, "Content-Type: application/json");
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
const char *data = "{\"model\":\"kling_3_0\",\"params\":{\"prompt\":\"A cat focused on painting in a bright rehearsal room\",\"image_url\":\"https://example.com/first-frame.jpg\",\"resolution\":\"1080p\",\"video_length\":5,\"generate_audio\":true,\"aspect_ratio\":\"16:9\"},\"out_task_id\":\"my_task_123456\"}";
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, data);
res = curl_easy_perform(curl);
curl_slist_free_all(headers);
curl_easy_cleanup(curl);
}
return 0;
}
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSURL *url = [NSURL URLWithString:@"https://aireiter.com/api/openapi/submit"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"POST"];
[request setValue:@"Bearer <token>" forHTTPHeaderField:@"Authorization"];
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
NSDictionary *payload = @{
@"model": @"kling_3_0",
@"params": @{
@"prompt": @"A cat focused on painting in a bright rehearsal room",
@"image_url": @"https://example.com/first-frame.jpg",
@"resolution": @"1080p",
@"video_length": @5,
@"generate_audio": @YES,
@"aspect_ratio": @"16:9"
},
@"out_task_id": @"my_task_123456"
};
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:payload options:0 error:nil];
[request setHTTPBody:jsonData];
NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *task = [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
if (data) {
NSString *result = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"%@", result);
}
}];
[task resume];
[[NSRunLoop currentRunLoop] run];
}
return 0;
}
open Lwt
open Cohttp
open Cohttp_lwt_unix
let url = "https://aireiter.com/api/openapi/submit"
let payload = {|{"model":"kling_3_0","params":{"prompt":"A cat focused on painting in a bright rehearsal room","image_url":"https://example.com/first-frame.jpg","resolution":"1080p","video_length":5,"generate_audio":true,"aspect_ratio":"16:9"},"out_task_id":"my_task_123456"}|}
let () =
let headers = Header.init ()
|> fun h -> Header.add h "Authorization" "Bearer <token>"
|> fun h -> Header.add h "Content-Type" "application/json" in
let body = Cohttp_lwt.Body.of_string payload in
let response = Client.post ~headers ~body (Uri.of_string url) >>= fun (resp, body) ->
body |> Cohttp_lwt.Body.to_string >|= fun body ->
print_endline body
in
Lwt_main.run response
import 'dart:convert';
import 'package:http/http.dart' as http;
void main() async {
var url = Uri.parse('https://aireiter.com/api/openapi/submit');
var payload = {
'model': 'kling_3_0',
'params': {
'prompt': 'A cat focused on painting in a bright rehearsal room',
'image_url': 'https://example.com/first-frame.jpg',
'resolution': '1080p',
'video_length': 5,
'generate_audio': true,
'aspect_ratio': '16:9'
},
'out_task_id': 'my_task_123456'
};
var response = await http.post(
url,
headers: {
'Authorization': 'Bearer <token>',
'Content-Type': 'application/json',
},
body: jsonEncode(payload),
);
print(response.body);
}
library(httr)
library(jsonlite)
url <- "https://aireiter.com/api/openapi/submit"
payload <- list(
model = "kling_3_0",
params = list(
prompt = "A cat focused on painting in a bright rehearsal room",
image_url = "https://example.com/first-frame.jpg",
resolution = "1080p",
video_length = 5,
generate_audio = TRUE,
aspect_ratio = "16:9"
),
out_task_id = "my_task_123456"
)
response <- POST(
url,
add_headers(
Authorization = "Bearer <token>",
`Content-Type` = "application/json"
),
body = toJSON(payload, auto_unbox = TRUE),
encode = "json"
)
cat(content(response, "text"))
{
"statusCode": 200,
"message": "",
"data": {
"out_task_id": "my_task_123456",
"status": "pending",
"estimated_credits": 190,
"created_at": "2026-06-25T06:03:28.242Z"
}
}
{
"statusCode": 400,
"message": "Invalid request parameters",
"ok": false
}
{
"error": {
"code": 401,
"message": "Authentication failed, please check your API key"
}
}
{
"error": {
"code": 433,
"message": "Insufficient account balance, please recharge and try again"
}
}
{
"error": {
"code": 500,
"message": "Internal server error, please try again later"
}
}
Authorizations
string
required
All endpoints require authentication using a Bearer Token.Get your API Key:Visit the API Key Management Page to obtain your API Key.Include in the request header:
Authorization: Bearer YOUR_API_KEY
Body
string
required
Model Name:
"kling_3_0"- Default
object
required
Model Parameters Object
Show params Object Properties
Show params Object Properties
string
required
Text description for video generation
- Required
string
URL of the reference image for image-to-video (first frame)
- Supports only a single image
- Supports publicly accessible URLs
string
URL of the reference image for the last frame
- Supports only a single image
- Must be used together with the first frame image_url
- Supports publicly accessible URLs
string
default:"1080p"
Video resolution
720p- Standard Definition1080p- High Definition (default)4K- Ultra High Definition
integer
default:"5"
Video length (seconds)
- Range: 3 to 15 (integer)
boolean
default:"true"
Whether to generate AI audio synchronized with the video
true- Generate audio (default)false- Do not generate audio- No extra charge for audio at 4K resolution
string
default:"16:9"
Video aspect ratio
16:9- Landscape (default)9:16- Portrait1:1- Square- Can be omitted if a reference image is provided; the system will automatically adapt based on the image
string
required
Initiator Task IDUser-defined task identifier, required
Response
string
Initiator task ID, which can be used to query the result
string
Initial status, fixed as
"pending"number
Estimated credits consumption
string
Creation time (ISO format)
curl --request POST \
--url https://aireiter.com/api/openapi/submit \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "kling_3_0",
"params": {
"prompt": "A cat focused on painting in a bright rehearsal room",
"image_url": "https://example.com/first-frame.jpg",
"resolution": "1080p",
"video_length": 5,
"generate_audio": true,
"aspect_ratio": "16:9"
},
"out_task_id": "my_task_123456"
}'
import requests
url = "https://aireiter.com/api/openapi/submit"
payload = {
"model": "kling_3_0",
"params": {
"prompt": "A cat focused on painting in a bright rehearsal room",
"image_url": "https://example.com/first-frame.jpg",
"resolution": "1080p",
"video_length": 5,
"generate_audio": True,
"aspect_ratio": "16:9"
},
"out_task_id": "my_task_123456"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
const url = "https://aireiter.com/api/openapi/submit";
const payload = {
model: "kling_3_0",
params: {
prompt: "A cat focused on painting in a bright rehearsal room",
image_url: "https://example.com/first-frame.jpg",
resolution: "1080p",
video_length: 5,
generate_audio: true,
aspect_ratio: "16:9"
},
out_task_id: "my_task_123456"
};
const headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
};
fetch(url, {
method: "POST",
headers: headers,
body: JSON.stringify(payload)
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
package main
import (
"bytes"
"encoding/json"
"fmt"
"io/ioutil"
"net/http"
)
func main() {
url := "https://aireiter.com/api/openapi/submit"
payload := map[string]interface{}{
"model": "kling_3_0",
"params": map[string]interface{}{
"prompt": "A cat focused on painting in a bright rehearsal room",
"image_url": "https://example.com/first-frame.jpg",
"resolution": "1080p",
"video_length": 5,
"generate_audio": true,
"aspect_ratio": "16:9",
},
"out_task_id": "my_task_123456",
}
jsonData, _ := json.Marshal(payload)
req, _ := http.NewRequest("POST", url, bytes.NewBuffer(jsonData))
req.Header.Set("Authorization", "Bearer <token>")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, _ := ioutil.ReadAll(resp.Body)
fmt.Println(string(body))
}
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
public class Main {
public static void main(String[] args) {
try {
URL url = new URL("https://aireiter.com/api/openapi/submit");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setRequestProperty("Authorization", "Bearer <token>");
conn.setRequestProperty("Content-Type", "application/json");
conn.setDoOutput(true);
String jsonPayload = "{\"model\":\"kling_3_0\",\"params\":{\"prompt\":\"A cat focused on painting in a bright rehearsal room\",\"image_url\":\"https://example.com/first-frame.jpg\",\"resolution\":\"1080p\",\"video_length\":5,\"generate_audio\":true,\"aspect_ratio\":\"16:9\"},\"out_task_id\":\"my_task_123456\"}";
OutputStream os = conn.getOutputStream();
os.write(jsonPayload.getBytes());
os.flush();
os.close();
BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line;
StringBuilder response = new StringBuilder();
while ((line = br.readLine()) != null) {
response.append(line);
}
br.close();
System.out.println(response.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
<?php
$url = "https://aireiter.com/api/openapi/submit";
$payload = array(
"model" => "kling_3_0",
"params" => array(
"prompt" => "A cat focused on painting in a bright rehearsal room",
"image_url" => "https://example.com/first-frame.jpg",
"resolution" => "1080p",
"video_length" => 5,
"generate_audio" => true,
"aspect_ratio" => "16:9"
),
"out_task_id" => "my_task_123456"
);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Authorization: Bearer <token>",
"Content-Type: application/json"
));
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload));
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
require 'net/http'
require 'json'
require 'uri'
url = URI.parse("https://aireiter.com/api/openapi/submit")
payload = {
model: "kling_3_0",
params: {
prompt: "A cat focused on painting in a bright rehearsal room",
image_url: "https://example.com/first-frame.jpg",
resolution: "1080p",
video_length: 5,
generate_audio: true,
aspect_ratio: "16:9"
},
out_task_id: "my_task_123456"
}
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url.path)
request["Authorization"] = "Bearer <token>"
request["Content-Type"] = "application/json"
request.body = payload.to_json
response = http.request(request)
puts response.body
import Foundation
let url = URL(string: "https://aireiter.com/api/openapi/submit")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer <token>", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
let payload: [String: Any] = [
"model": "kling_3_0",
"params": [
"prompt": "A cat focused on painting in a bright rehearsal room",
"image_url": "https://example.com/first-frame.jpg",
"resolution": "1080p",
"video_length": 5,
"generate_audio": true,
"aspect_ratio": "16:9"
],
"out_task_id": "my_task_123456"
]
request.httpBody = try? JSONSerialization.data(withJSONObject: payload)
let task = URLSession.shared.dataTask(with: request) { data, response, error in
if let data = data {
print(String(data: data, encoding: .utf8) ?? "")
}
}
task.resume()
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
var url = "https://aireiter.com/api/openapi/submit";
var payload = "{\"model\":\"kling_3_0\",\"params\":{\"prompt\":\"A cat focused on painting in a bright rehearsal room\",\"image_url\":\"https://example.com/first-frame.jpg\",\"resolution\":\"1080p\",\"video_length\":5,\"generate_audio\":true,\"aspect_ratio\":\"16:9\"},\"out_task_id\":\"my_task_123456\"}";
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Add("Authorization", "Bearer <token>");
var content = new StringContent(payload, Encoding.UTF8, "application/json");
var response = await client.PostAsync(url, content);
var result = await response.Content.ReadAsStringAsync();
Console.WriteLine(result);
}
}
}
#include <stdio.h>
#include <curl/curl.h>
int main(void)
{
CURL *curl;
CURLcode res;
curl = curl_easy_init();
if(curl) {
curl_easy_setopt(curl, CURLOPT_URL, "https://aireiter.com/api/openapi/submit");
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Authorization: Bearer <token>");
headers = curl_slist_append(headers, "Content-Type: application/json");
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
const char *data = "{\"model\":\"kling_3_0\",\"params\":{\"prompt\":\"A cat focused on painting in a bright rehearsal room\",\"image_url\":\"https://example.com/first-frame.jpg\",\"resolution\":\"1080p\",\"video_length\":5,\"generate_audio\":true,\"aspect_ratio\":\"16:9\"},\"out_task_id\":\"my_task_123456\"}";
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, data);
res = curl_easy_perform(curl);
curl_slist_free_all(headers);
curl_easy_cleanup(curl);
}
return 0;
}
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSURL *url = [NSURL URLWithString:@"https://aireiter.com/api/openapi/submit"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"POST"];
[request setValue:@"Bearer <token>" forHTTPHeaderField:@"Authorization"];
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
NSDictionary *payload = @{
@"model": @"kling_3_0",
@"params": @{
@"prompt": @"A cat focused on painting in a bright rehearsal room",
@"image_url": @"https://example.com/first-frame.jpg",
@"resolution": @"1080p",
@"video_length": @5,
@"generate_audio": @YES,
@"aspect_ratio": @"16:9"
},
@"out_task_id": @"my_task_123456"
};
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:payload options:0 error:nil];
[request setHTTPBody:jsonData];
NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *task = [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
if (data) {
NSString *result = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"%@", result);
}
}];
[task resume];
[[NSRunLoop currentRunLoop] run];
}
return 0;
}
open Lwt
open Cohttp
open Cohttp_lwt_unix
let url = "https://aireiter.com/api/openapi/submit"
let payload = {|{"model":"kling_3_0","params":{"prompt":"A cat focused on painting in a bright rehearsal room","image_url":"https://example.com/first-frame.jpg","resolution":"1080p","video_length":5,"generate_audio":true,"aspect_ratio":"16:9"},"out_task_id":"my_task_123456"}|}
let () =
let headers = Header.init ()
|> fun h -> Header.add h "Authorization" "Bearer <token>"
|> fun h -> Header.add h "Content-Type" "application/json" in
let body = Cohttp_lwt.Body.of_string payload in
let response = Client.post ~headers ~body (Uri.of_string url) >>= fun (resp, body) ->
body |> Cohttp_lwt.Body.to_string >|= fun body ->
print_endline body
in
Lwt_main.run response
import 'dart:convert';
import 'package:http/http.dart' as http;
void main() async {
var url = Uri.parse('https://aireiter.com/api/openapi/submit');
var payload = {
'model': 'kling_3_0',
'params': {
'prompt': 'A cat focused on painting in a bright rehearsal room',
'image_url': 'https://example.com/first-frame.jpg',
'resolution': '1080p',
'video_length': 5,
'generate_audio': true,
'aspect_ratio': '16:9'
},
'out_task_id': 'my_task_123456'
};
var response = await http.post(
url,
headers: {
'Authorization': 'Bearer <token>',
'Content-Type': 'application/json',
},
body: jsonEncode(payload),
);
print(response.body);
}
library(httr)
library(jsonlite)
url <- "https://aireiter.com/api/openapi/submit"
payload <- list(
model = "kling_3_0",
params = list(
prompt = "A cat focused on painting in a bright rehearsal room",
image_url = "https://example.com/first-frame.jpg",
resolution = "1080p",
video_length = 5,
generate_audio = TRUE,
aspect_ratio = "16:9"
),
out_task_id = "my_task_123456"
)
response <- POST(
url,
add_headers(
Authorization = "Bearer <token>",
`Content-Type` = "application/json"
),
body = toJSON(payload, auto_unbox = TRUE),
encode = "json"
)
cat(content(response, "text"))
{
"statusCode": 200,
"message": "",
"data": {
"out_task_id": "my_task_123456",
"status": "pending",
"estimated_credits": 190,
"created_at": "2026-06-25T06:03:28.242Z"
}
}
{
"statusCode": 400,
"message": "Invalid request parameters",
"ok": false
}
{
"error": {
"code": 401,
"message": "Authentication failed, please check your API key"
}
}
{
"error": {
"code": 433,
"message": "Insufficient account balance, please recharge and try again"
}
}
{
"error": {
"code": 500,
"message": "Internal server error, please try again later"
}
}