IMAGINE
Generate a video based on a prompt and/or an image input.
POST https://api.apiframe.pro/kling-imagine
Headers
Content-Type
application/json
Authorization*
Your APIFRAME API Key
Body
prompt*
string
the text prompt for the video
generation_type*
string
It can be 'text2video' or 'image2video'
negative_prompt
string
Describe what you don't want
image_url
string
URL of the image representing the initial frame of the video, for 'image2video'
end_image_url
string
URL of the image representing the end frame of the video, also for 'image2video'
mode
string
It can be 'std' or 'pro', only 'kling-v1-5' works with 'pro'
aspect_ratio
string
Aspect ratio for the video. Can be 16:9, 9:16, 1:1, 4:3, 3:4, or 21:9 Only for 'text2video'
model
string
The model to use to generate the video, it can be 'kling-v1', 'kling-v1-5' or 'kling-v1-6'
duration
integer
The duration of the video, it can be 5 or 10
cfg_scale
float
cfg_scale should be a float between 0 and 1
webhook_url
string
The final result and updates of this task will be posted at this URL.
webhook_secret
string
Will be passed as x-webhook-secret in the webhook call headers for authentication.
Response
// Success, the task has been submitted
{
"task_id": "29e983ca-7e86-4017-a9e3-ef6fe9cd5f2a"
}// Bad request
{
"errors": [{ msg: "Invalid request" }]
}// Invalid API Key
{}// A server error occured
{}This endpoint doesn't generate the video instantly, you can use the Fetch endpoint to fetch the result or use webhooks.
The result (posted to the webhook_url or retrieved with the Fetch endpoint) looks like this:
{
"task_id": "29e983ca-7e86-4017-a9e3-ef6fe9cd5f2a",
"task_type": "kling-video",
"video_url": "https://...........xxxx.mp4", //
"status": "finished",
"percentage": 100
}If the job is not completed, you will get a result like this:
{
"task_id": "29e983ca-7e86-4017-a9e3-ef6fe9cd5f2a",
"task_type": "kling-video",
"status": "processing",
"percentage": "40",
}Code samples
const axios = require('axios');
const data = JSON.stringify({
"prompt": "A colossal mech suit towering over a futuristic cityscape, its powerful weapons primed for battle against an unseen threat.",
"generation_type": "text2video",
"webhook_url": "https://........",
"webhook_secret": "abc123"
});
const config = {
method: 'post',
maxBodyLength: Infinity,
url: 'https://api.apiframe.pro/kling-imagine',
headers: {
'Content-Type': 'application/json',
'Authorization': 'YOUR_API_KEY'
},
data : data
};
axios.request(config)
.then((response) => {
console.log(JSON.stringify(response.data));
})
.catch((error) => {
console.log(error);
});
import requests
import json
url = "https://api.apiframe.pro/kling-imagine"
payload = json.dumps({
"prompt": "A colossal mech suit towering over a futuristic cityscape, its powerful weapons primed for battle against an unseen threat.",
"generation_type": "text2video",
"webhook_url": "https://........",
"webhook_secret": "abc123"
})
headers = {
'Content-Type': 'application/json',
'Authorization': 'YOUR_API_KEY'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.apiframe.pro/kling-imagine',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS =>'{
"prompt": "A colossal mech suit towering over a futuristic cityscape, its powerful weapons primed for battle against an unseen threat.",
"generation_type": "text2video",
"webhook_url": "https://........",
"webhook_secret": "abc123"
}',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json',
'Authorization: YOUR_API_KEY'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\r\n \"prompt\": \"A colossal mech suit towering over a futuristic cityscape, its powerful weapons primed for battle against an unseen threat.\",\r\n \"generation_type\": \"text2video\",\r\n \"webhook_url\": \"https://........\",\r\n \"webhook_secret\": \"abc123\"\r\n}");
Request request = new Request.Builder()
.url("https://api.apiframe.pro/kling-imagine")
.method("POST", body)
.addHeader("Content-Type", "application/json")
.addHeader("Authorization", "YOUR_API_KEY")
.build();
Response response = client.newCall(request).execute();var headers = {
'Content-Type': 'application/json',
'Authorization': 'YOUR_API_KEY'
};
var data = json.encode({
"prompt": "A colossal mech suit towering over a futuristic cityscape, its powerful weapons primed for battle against an unseen threat.",
"generation_type": "text2video",
"webhook_url": "https://........",
"webhook_secret": "abc123"
});
var dio = Dio();
var response = await dio.request(
'https://api.apiframe.pro/kling-imagine',
options: Options(
method: 'POST',
headers: headers,
),
data: data,
);
if (response.statusCode == 200) {
print(json.encode(response.data));
}
else {
print(response.statusMessage);
}var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://api.apiframe.pro/kling-imagine");
request.Headers.Add("Authorization", "YOUR_API_KEY");
var content = new StringContent("{\r\n \"prompt\": \"A colossal mech suit towering over a futuristic cityscape, its powerful weapons primed for battle against an unseen threat.\",\r\n \"generation_type\": \"text2video\",\r\n \"webhook_url\": \"https://........\",\r\n \"webhook_secret\": \"abc123\"\r\n}", null, "application/json");
request.Content = content;
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
Console.WriteLine(await response.Content.ReadAsStringAsync());require "uri"
require "json"
require "net/http"
url = URI("https://api.apiframe.pro/kling-imagine")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = "application/json"
request["Authorization"] = "YOUR_API_KEY"
request.body = JSON.dump({
"prompt": "A colossal mech suit towering over a futuristic cityscape, its powerful weapons primed for battle against an unseen threat.",
"generation_type": "text2video",
"webhook_url": "https://........",
"webhook_secret": "abc123"
})
response = https.request(request)
puts response.read_body
Last updated
Was this helpful?