curl --request POST \
--url https://api.aiid.edu.kg/kling/v1/videos/image2video \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "kling-v1",
"prompt": "人物转身走开",
"image": "https://example.com/image.jpg",
"duration": 5,
"width": 1280,
"height": 720
}
'import requests
url = "https://api.aiid.edu.kg/kling/v1/videos/image2video"
payload = {
"model": "kling-v1",
"prompt": "人物转身走开",
"image": "https://example.com/image.jpg",
"duration": 5,
"width": 1280,
"height": 720
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
model: 'kling-v1',
prompt: '人物转身走开',
image: 'https://example.com/image.jpg',
duration: 5,
width: 1280,
height: 720
})
};
fetch('https://api.aiid.edu.kg/kling/v1/videos/image2video', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.aiid.edu.kg/kling/v1/videos/image2video",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'model' => 'kling-v1',
'prompt' => '人物转身走开',
'image' => 'https://example.com/image.jpg',
'duration' => 5,
'width' => 1280,
'height' => 720
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.aiid.edu.kg/kling/v1/videos/image2video"
payload := strings.NewReader("{\n \"model\": \"kling-v1\",\n \"prompt\": \"人物转身走开\",\n \"image\": \"https://example.com/image.jpg\",\n \"duration\": 5,\n \"width\": 1280,\n \"height\": 720\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.aiid.edu.kg/kling/v1/videos/image2video")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"model\": \"kling-v1\",\n \"prompt\": \"人物转身走开\",\n \"image\": \"https://example.com/image.jpg\",\n \"duration\": 5,\n \"width\": 1280,\n \"height\": 720\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aiid.edu.kg/kling/v1/videos/image2video")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"model\": \"kling-v1\",\n \"prompt\": \"人物转身走开\",\n \"image\": \"https://example.com/image.jpg\",\n \"duration\": 5,\n \"width\": 1280,\n \"height\": 720\n}"
response = http.request(request)
puts response.read_body{
"task_id": "abcd1234efgh",
"status": "queued"
}{
"error": {
"message": "<string>",
"type": "<string>",
"param": "<string>",
"code": "<string>"
}
}Kling Генерация видео по изображению
Эта серия поддерживает формат генерации видео OpenAI (подробности см. по ссылке совместимые форматы видео生成Sora ).
Используйте модель Kling для создания видео из изображения.
Поддерживается передача URL-адреса изображения или данных изображения в кодировке Base64 через параметр image.
curl --request POST \
--url https://api.aiid.edu.kg/kling/v1/videos/image2video \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "kling-v1",
"prompt": "人物转身走开",
"image": "https://example.com/image.jpg",
"duration": 5,
"width": 1280,
"height": 720
}
'import requests
url = "https://api.aiid.edu.kg/kling/v1/videos/image2video"
payload = {
"model": "kling-v1",
"prompt": "人物转身走开",
"image": "https://example.com/image.jpg",
"duration": 5,
"width": 1280,
"height": 720
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
model: 'kling-v1',
prompt: '人物转身走开',
image: 'https://example.com/image.jpg',
duration: 5,
width: 1280,
height: 720
})
};
fetch('https://api.aiid.edu.kg/kling/v1/videos/image2video', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.aiid.edu.kg/kling/v1/videos/image2video",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'model' => 'kling-v1',
'prompt' => '人物转身走开',
'image' => 'https://example.com/image.jpg',
'duration' => 5,
'width' => 1280,
'height' => 720
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.aiid.edu.kg/kling/v1/videos/image2video"
payload := strings.NewReader("{\n \"model\": \"kling-v1\",\n \"prompt\": \"人物转身走开\",\n \"image\": \"https://example.com/image.jpg\",\n \"duration\": 5,\n \"width\": 1280,\n \"height\": 720\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.aiid.edu.kg/kling/v1/videos/image2video")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"model\": \"kling-v1\",\n \"prompt\": \"人物转身走开\",\n \"image\": \"https://example.com/image.jpg\",\n \"duration\": 5,\n \"width\": 1280,\n \"height\": 720\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aiid.edu.kg/kling/v1/videos/image2video")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"model\": \"kling-v1\",\n \"prompt\": \"人物转身走开\",\n \"image\": \"https://example.com/image.jpg\",\n \"duration\": 5,\n \"width\": 1280,\n \"height\": 720\n}"
response = http.request(request)
puts response.read_body{
"task_id": "abcd1234efgh",
"status": "queued"
}{
"error": {
"message": "<string>",
"type": "<string>",
"param": "<string>",
"code": "<string>"
}
}Авторизации
Используйте проверку подлинности Bearer Token.
Формат: Authorization: Bearer sk-xxxxxx
Тело
Запрос на генерацию видео
ID модели/стиля
"kling-v1"
Текстовое описание промпта
"宇航员站起身走了"
Ввод изображения (URL или Base64)
"https://example.com/image.jpg"
Длительность видео (сек.)
5
Ширина видео
1280
Высота видео
720
Частота кадров видео
30
Случайное число (seed)
20231234
Количество создаваемых видео
1
Формат ответа
"url"
Идентификатор пользователя
"user-1234"
Дополнительные параметры (например, negative_prompt, style, quality_level и др.)
