Skip to content

Text to Video

Shows how to create a text-to-video generation task and retrieve its status.

This example assumes using KlingAI; is in scope and apiKey contains your KlingAI API key.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
using var client = new KlingAIClient(apiKey);

// Create a text-to-video task using the Kling v2 model with a 5-second duration.
var createResponse = await client.CreateTextToVideoAsync(
    prompt: "A golden retriever running through a sunlit meadow, cinematic slow motion",
    modelName: CreateTextToVideoRequestModelName.KlingV2,
    mode: CreateTextToVideoRequestMode.Std,
    aspectRatio: CreateTextToVideoRequestAspectRatio.x16_9,
    duration: CreateTextToVideoRequestDuration.x5);

Console.WriteLine($"Task ID: {createResponse.Data.TaskId}");
Console.WriteLine($"Task Status: {createResponse.Data.TaskStatus}");

// Retrieve the task to check its status and get the result when complete.
var taskResponse = await client.GetTextToVideoTaskAsync(
    id: createResponse.Data.TaskId!);

Console.WriteLine($"Status: {taskResponse.Data.TaskStatus}");

// When the task succeeds, the result will contain video URLs.
if (taskResponse.Data.TaskStatus == TaskDataTaskStatus.Succeed)
{
    Console.WriteLine($"Video URL: {taskResponse.Data.TaskResult.Videos![0].Url}");
}