curl --request POST \
--url https://api.apimart.ai/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "kling-3.0-turbo",
"prompt": "Un corgi court au bord de la mer, ambiance cinématographique, lumière du crépuscule",
"aspect_ratio": "16:9",
"resolution": "1080p",
"duration": 5
}'
import requests
url = "https://api.apimart.ai/v1/videos/generations"
payload = {
"model": "kling-3.0-turbo",
"prompt": "Un corgi court au bord de la mer, ambiance cinématographique, lumière du crépuscule",
"aspect_ratio": "16:9",
"resolution": "1080p",
"duration": 5
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
const url = "https://api.apimart.ai/v1/videos/generations";
const payload = {
model: "kling-3.0-turbo",
prompt: "Un corgi court au bord de la mer, ambiance cinématographique, lumière du crépuscule",
aspect_ratio: "16:9",
resolution: "1080p",
duration: 5
};
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://api.apimart.ai/v1/videos/generations"
payload := map[string]interface{}{
"model": "kling-3.0-turbo",
"prompt": "Un corgi court au bord de la mer, ambiance cinématographique, lumière du crépuscule",
"aspect_ratio": "16:9",
"resolution": "1080p",
"duration": 5,
}
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.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
public class Main {
public static void main(String[] args) throws Exception {
String url = "https://api.apimart.ai/v1/videos/generations";
String payload = """
{
"model": "kling-3.0-turbo",
"prompt": "Un corgi court au bord de la mer, ambiance cinématographique, lumière du crépuscule",
"aspect_ratio": "16:9",
"resolution": "1080p",
"duration": 5
}
""";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(url))
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(payload))
.build();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}
<?php
$url = "https://api.apimart.ai/v1/videos/generations";
$payload = [
"model" => "kling-3.0-turbo",
"prompt" => "Un corgi court au bord de la mer, ambiance cinématographique, lumière du crépuscule",
"aspect_ratio" => "16:9",
"resolution" => "1080p",
"duration" => 5
];
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Authorization: Bearer <token>",
"Content-Type: application/json"
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
require 'net/http'
require 'json'
require 'uri'
url = URI("https://api.apimart.ai/v1/videos/generations")
payload = {
model: "kling-3.0-turbo",
prompt: "Un corgi court au bord de la mer, ambiance cinématographique, lumière du crépuscule",
aspect_ratio: "16:9",
resolution: "1080p",
duration: 5
}
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 = payload.to_json
response = http.request(request)
puts response.body
import Foundation
let url = URL(string: "https://api.apimart.ai/v1/videos/generations")!
let payload: [String: Any] = [
"model": "kling-3.0-turbo",
"prompt": "Un corgi court au bord de la mer, ambiance cinématographique, lumière du crépuscule",
"aspect_ratio": "16:9",
"resolution": "1080p",
"duration": 5
]
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer <token>", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.httpBody = try? JSONSerialization.data(withJSONObject: payload)
let task = URLSession.shared.dataTask(with: request) { data, response, error in
if let error = error {
print("Error: \(error)")
return
}
if let data = data, let responseString = String(data: data, encoding: .utf8) {
print(responseString)
}
}
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://api.apimart.ai/v1/videos/generations";
var payload = @"{
""model"": ""kling-3.0-turbo"",
""prompt"": ""Un corgi court au bord de la mer, ambiance cinématographique, lumière du crépuscule"",
""aspect_ratio"": ""16:9"",
""resolution"": ""1080p"",
""duration"": 5
}";
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);
}
}
{
"code": 200,
"data": [
{
"status": "submitted",
"task_id": "task_xxxxxxxxxx"
}
]
}
{
"error": {
"code": 400,
"message": "Paramètres de requête invalides",
"type": "invalid_request_error"
}
}
{
"error": {
"code": 401,
"message": "Échec de l'authentification, veuillez vérifier votre clé API",
"type": "authentication_error"
}
}
{
"error": {
"code": 402,
"message": "Solde du compte insuffisant, veuillez recharger puis réessayer",
"type": "payment_required"
}
}
{
"error": {
"code": 429,
"message": "Requêtes trop fréquentes, veuillez réessayer plus tard",
"type": "rate_limit_error"
}
}
{
"error": {
"code": 500,
"message": "Erreur interne du serveur, veuillez réessayer plus tard",
"type": "server_error"
}
}
Kling 3.0 Turbo
Génération de vidéo Kling 3.0 Turbo
- Mode de traitement asynchrone, retourne un ID de tâche pour les requêtes ultérieures
- Prise en charge de la conversion texte-vidéo et image-vidéo (contrôle de la première image)
- Prise en charge de deux niveaux de définition : 720P / 1080P
- Prise en charge d’une durée de vidéo de 3 à 15 secondes
- Prise en charge du découpage multi-plans (exprimé via des prompts au format fixe)
POST
/
v1
/
videos
/
generations
curl --request POST \
--url https://api.apimart.ai/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "kling-3.0-turbo",
"prompt": "Un corgi court au bord de la mer, ambiance cinématographique, lumière du crépuscule",
"aspect_ratio": "16:9",
"resolution": "1080p",
"duration": 5
}'
import requests
url = "https://api.apimart.ai/v1/videos/generations"
payload = {
"model": "kling-3.0-turbo",
"prompt": "Un corgi court au bord de la mer, ambiance cinématographique, lumière du crépuscule",
"aspect_ratio": "16:9",
"resolution": "1080p",
"duration": 5
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
const url = "https://api.apimart.ai/v1/videos/generations";
const payload = {
model: "kling-3.0-turbo",
prompt: "Un corgi court au bord de la mer, ambiance cinématographique, lumière du crépuscule",
aspect_ratio: "16:9",
resolution: "1080p",
duration: 5
};
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://api.apimart.ai/v1/videos/generations"
payload := map[string]interface{}{
"model": "kling-3.0-turbo",
"prompt": "Un corgi court au bord de la mer, ambiance cinématographique, lumière du crépuscule",
"aspect_ratio": "16:9",
"resolution": "1080p",
"duration": 5,
}
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.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
public class Main {
public static void main(String[] args) throws Exception {
String url = "https://api.apimart.ai/v1/videos/generations";
String payload = """
{
"model": "kling-3.0-turbo",
"prompt": "Un corgi court au bord de la mer, ambiance cinématographique, lumière du crépuscule",
"aspect_ratio": "16:9",
"resolution": "1080p",
"duration": 5
}
""";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(url))
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(payload))
.build();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}
<?php
$url = "https://api.apimart.ai/v1/videos/generations";
$payload = [
"model" => "kling-3.0-turbo",
"prompt" => "Un corgi court au bord de la mer, ambiance cinématographique, lumière du crépuscule",
"aspect_ratio" => "16:9",
"resolution" => "1080p",
"duration" => 5
];
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Authorization: Bearer <token>",
"Content-Type: application/json"
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
require 'net/http'
require 'json'
require 'uri'
url = URI("https://api.apimart.ai/v1/videos/generations")
payload = {
model: "kling-3.0-turbo",
prompt: "Un corgi court au bord de la mer, ambiance cinématographique, lumière du crépuscule",
aspect_ratio: "16:9",
resolution: "1080p",
duration: 5
}
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 = payload.to_json
response = http.request(request)
puts response.body
import Foundation
let url = URL(string: "https://api.apimart.ai/v1/videos/generations")!
let payload: [String: Any] = [
"model": "kling-3.0-turbo",
"prompt": "Un corgi court au bord de la mer, ambiance cinématographique, lumière du crépuscule",
"aspect_ratio": "16:9",
"resolution": "1080p",
"duration": 5
]
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer <token>", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.httpBody = try? JSONSerialization.data(withJSONObject: payload)
let task = URLSession.shared.dataTask(with: request) { data, response, error in
if let error = error {
print("Error: \(error)")
return
}
if let data = data, let responseString = String(data: data, encoding: .utf8) {
print(responseString)
}
}
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://api.apimart.ai/v1/videos/generations";
var payload = @"{
""model"": ""kling-3.0-turbo"",
""prompt"": ""Un corgi court au bord de la mer, ambiance cinématographique, lumière du crépuscule"",
""aspect_ratio"": ""16:9"",
""resolution"": ""1080p"",
""duration"": 5
}";
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);
}
}
{
"code": 200,
"data": [
{
"status": "submitted",
"task_id": "task_xxxxxxxxxx"
}
]
}
{
"error": {
"code": 400,
"message": "Paramètres de requête invalides",
"type": "invalid_request_error"
}
}
{
"error": {
"code": 401,
"message": "Échec de l'authentification, veuillez vérifier votre clé API",
"type": "authentication_error"
}
}
{
"error": {
"code": 402,
"message": "Solde du compte insuffisant, veuillez recharger puis réessayer",
"type": "payment_required"
}
}
{
"error": {
"code": 429,
"message": "Requêtes trop fréquentes, veuillez réessayer plus tard",
"type": "rate_limit_error"
}
}
{
"error": {
"code": 500,
"message": "Erreur interne du serveur, veuillez réessayer plus tard",
"type": "server_error"
}
}
curl --request POST \
--url https://api.apimart.ai/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "kling-3.0-turbo",
"prompt": "Un corgi court au bord de la mer, ambiance cinématographique, lumière du crépuscule",
"aspect_ratio": "16:9",
"resolution": "1080p",
"duration": 5
}'
import requests
url = "https://api.apimart.ai/v1/videos/generations"
payload = {
"model": "kling-3.0-turbo",
"prompt": "Un corgi court au bord de la mer, ambiance cinématographique, lumière du crépuscule",
"aspect_ratio": "16:9",
"resolution": "1080p",
"duration": 5
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
const url = "https://api.apimart.ai/v1/videos/generations";
const payload = {
model: "kling-3.0-turbo",
prompt: "Un corgi court au bord de la mer, ambiance cinématographique, lumière du crépuscule",
aspect_ratio: "16:9",
resolution: "1080p",
duration: 5
};
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://api.apimart.ai/v1/videos/generations"
payload := map[string]interface{}{
"model": "kling-3.0-turbo",
"prompt": "Un corgi court au bord de la mer, ambiance cinématographique, lumière du crépuscule",
"aspect_ratio": "16:9",
"resolution": "1080p",
"duration": 5,
}
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.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
public class Main {
public static void main(String[] args) throws Exception {
String url = "https://api.apimart.ai/v1/videos/generations";
String payload = """
{
"model": "kling-3.0-turbo",
"prompt": "Un corgi court au bord de la mer, ambiance cinématographique, lumière du crépuscule",
"aspect_ratio": "16:9",
"resolution": "1080p",
"duration": 5
}
""";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(url))
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(payload))
.build();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}
<?php
$url = "https://api.apimart.ai/v1/videos/generations";
$payload = [
"model" => "kling-3.0-turbo",
"prompt" => "Un corgi court au bord de la mer, ambiance cinématographique, lumière du crépuscule",
"aspect_ratio" => "16:9",
"resolution" => "1080p",
"duration" => 5
];
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Authorization: Bearer <token>",
"Content-Type: application/json"
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
require 'net/http'
require 'json'
require 'uri'
url = URI("https://api.apimart.ai/v1/videos/generations")
payload = {
model: "kling-3.0-turbo",
prompt: "Un corgi court au bord de la mer, ambiance cinématographique, lumière du crépuscule",
aspect_ratio: "16:9",
resolution: "1080p",
duration: 5
}
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 = payload.to_json
response = http.request(request)
puts response.body
import Foundation
let url = URL(string: "https://api.apimart.ai/v1/videos/generations")!
let payload: [String: Any] = [
"model": "kling-3.0-turbo",
"prompt": "Un corgi court au bord de la mer, ambiance cinématographique, lumière du crépuscule",
"aspect_ratio": "16:9",
"resolution": "1080p",
"duration": 5
]
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer <token>", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.httpBody = try? JSONSerialization.data(withJSONObject: payload)
let task = URLSession.shared.dataTask(with: request) { data, response, error in
if let error = error {
print("Error: \(error)")
return
}
if let data = data, let responseString = String(data: data, encoding: .utf8) {
print(responseString)
}
}
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://api.apimart.ai/v1/videos/generations";
var payload = @"{
""model"": ""kling-3.0-turbo"",
""prompt"": ""Un corgi court au bord de la mer, ambiance cinématographique, lumière du crépuscule"",
""aspect_ratio"": ""16:9"",
""resolution"": ""1080p"",
""duration"": 5
}";
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);
}
}
{
"code": 200,
"data": [
{
"status": "submitted",
"task_id": "task_xxxxxxxxxx"
}
]
}
{
"error": {
"code": 400,
"message": "Paramètres de requête invalides",
"type": "invalid_request_error"
}
}
{
"error": {
"code": 401,
"message": "Échec de l'authentification, veuillez vérifier votre clé API",
"type": "authentication_error"
}
}
{
"error": {
"code": 402,
"message": "Solde du compte insuffisant, veuillez recharger puis réessayer",
"type": "payment_required"
}
}
{
"error": {
"code": 429,
"message": "Requêtes trop fréquentes, veuillez réessayer plus tard",
"type": "rate_limit_error"
}
}
{
"error": {
"code": 500,
"message": "Erreur interne du serveur, veuillez réessayer plus tard",
"type": "server_error"
}
}
Authentification
string
requis
Toutes les interfaces nécessitent une authentification via Bearer TokenObtenir une clé API :Rendez-vous sur la page de gestion des clés API pour obtenir votre clé APILors de l’utilisation, ajoutez dans l’en-tête de la requête :
Authorization: Bearer YOUR_API_KEY
Paramètres de requête
string
requis
Nom du modèle de génération de vidéoModèles pris en charge :
kling-3.0-turbo- Kling 3.0 Turbo
boolean
défaut:"false"
Indique s’il faut modérer le contenu avant d’envoyer la tâche vidéo.
true: vérifier les prompts et les images d’entrée avecomni-moderation-latestfalseou omis : ne pas envoyer de requête de modération, sans coût ni latence de modération supplémentaires (par défaut)
string
requis
Prompt textuelLa limite en amont est de 3072 caractères, il est recommandé de ne pas dépasser 2500 caractères.Exemple :
"Un corgi court au bord de la mer, ambiance cinématographique, lumière du crépuscule"string
Prend en charge une URL d’image ou une chaîne Base64.
Limites en amont pour la première image :
- Format :
.jpg/.jpeg/.png - Taille : ≤ 50MB
- Largeur/hauteur : ≥ 300px
- Rapport largeur/hauteur :
1:2.5~2.5:1
string
défaut:"16:9"
Rapport largeur/hauteur de la vidéoValeurs possibles :
16:9- Format horizontal9:16- Format vertical1:1- Format carré
16:9Effectif uniquement pour la conversion texte-vidéo. Ce champ est inopérant pour la conversion image-vidéo, le rapport de la vidéo étant déterminé par la première image.
string
défaut:"720p"
Définition de la vidéoValeurs possibles :
720p1080p
720pinteger
défaut:"5"
Durée de la vidéo (secondes)Plage de valeurs : 3-15 (minimum 3 secondes, maximum 15 secondes)Valeur par défaut :
5⚠️ Attention : vous devez saisir un nombre pur (par exemple 6), sans guillemets, sinon une erreur se produiraboolean
Ajouter ou non un filigraneN’est transmis en amont que s’il est explicitement fourni ; s’il n’est pas transmis, aucun filigrane n’est ajouté.
Texte-vidéo vs Image-vidéo
Le système détermine automatiquement le mode de génération selon quefirst_frame_image est fourni ou non : avec une première image, il s’agit de la conversion image-vidéo ; sans première image, il s’agit de la conversion texte-vidéo. L’utilisateur n’a pas besoin de le déclarer explicitement.
| Paramètre | Texte-vidéo | Image-vidéo |
|---|---|---|
prompt | ✅ Obligatoire | ✅ Optionnel (vide : génération uniquement à partir de la première image) |
first_frame_image | ❌ Ne pas transmettre | ✅ Obligatoire |
aspect_ratio | ✅ Optionnel | ❌ Inopérant (rapport déterminé par la première image) |
resolution | ✅ Optionnel | ✅ Optionnel |
duration | ✅ Optionnel (3-15) | ✅ Optionnel (3-15) |
watermark | ✅ Optionnel | ✅ Optionnel |
Réponse
integer
Code de statut de la réponse, 200 en cas de succès
array
Cas d’usage
Cas 1 : Texte-vidéo (1080P)
{
"model": "kling-3.0-turbo",
"prompt": "Un corgi court au bord de la mer, ambiance cinématographique, lumière du crépuscule",
"aspect_ratio": "16:9",
"resolution": "1080p",
"duration": 5
}
Cas 2 : Texte-vidéo (format vertical 720P)
{
"model": "kling-3.0-turbo",
"prompt": "Le carrefour de Shibuya à Tokyo, les néons d'une nuit pluvieuse se reflètent sur le sol mouillé, des passants traversent sous leurs parapluies",
"aspect_ratio": "9:16",
"resolution": "720p",
"duration": 10
}
Cas 3 : Image-vidéo (première image)
{
"model": "kling-3.0-turbo",
"prompt": "La caméra avance lentement, le personnage sourit",
"first_frame_image": "https://cdn.example.com/first.jpg",
"resolution": "720p",
"duration": 5
}
Cas 4 : Image-vidéo pure à partir de la première image (sans prompt)
{
"model": "kling-3.0-turbo",
"first_frame_image": "https://cdn.example.com/first.jpg",
"resolution": "1080p",
"duration": 5
}
Cas 5 : Découpage multi-plans (texte-vidéo)
{
"model": "kling-3.0-turbo",
"prompt": "Plan 1,2,un corgi court au bord de la mer ; Plan 2,3,la caméra avance vers le personnage qui sourit ;",
"aspect_ratio": "16:9",
"resolution": "1080p",
"duration": 5
}
Interroger le résultat de la tâcheLa génération de vidéo est une tâche asynchrone ; après la soumission, un
task_id est retourné. Utilisez l’interface Obtenir le statut de la tâche pour interroger la progression et le résultat de la génération.