kling-sdk
Version:
Node.js SDK for Kling AI API
215 lines (214 loc) • 5.71 kB
TypeScript
export interface KlingConfig {
accessKey: string;
secretKey: string;
baseUrl?: string;
}
export interface TaskResponse {
code: number;
message: string;
request_id: string;
data: {
task_id: string;
task_status: TaskStatus;
created_at: number;
updated_at: number;
task_info?: {
external_task_id?: string;
parent_video?: {
id: string;
url: string;
duration: string;
};
};
};
}
export interface TaskDetailResponse {
code: number;
message: string;
request_id: string;
data: {
task_id: string;
task_status: TaskStatus;
task_status_msg?: string;
created_at: number;
updated_at: number;
task_info?: {
external_task_id?: string;
parent_video?: {
id: string;
url: string;
duration: string;
};
};
task_result?: TaskResult;
};
}
export interface TaskListResponse {
code: number;
message: string;
request_id: string;
data: Array<{
task_id: string;
task_status: TaskStatus;
task_status_msg?: string;
created_at: number;
updated_at: number;
task_info?: {
external_task_id?: string;
parent_video?: {
id: string;
url: string;
duration: string;
};
};
task_result?: TaskResult;
}>;
}
export type TaskStatus = 'submitted' | 'processing' | 'succeed' | 'failed';
export interface TaskResult {
images?: Array<{
index: number;
url: string;
}>;
videos?: Array<{
id?: string;
url: string;
duration: string;
}>;
}
export interface PaginationParams {
pageNum?: number;
pageSize?: number;
}
export interface ResourcePackInfo {
resource_pack_name: string;
resource_pack_id: string;
resource_pack_type: 'decreasing_total' | 'constant_period';
total_quantity: number;
remaining_quantity: number;
purchase_time: number;
effective_time: number;
invalid_time: number;
status: 'toBeOnline' | 'online' | 'expired' | 'runOut';
}
export interface ResourcePackResponse {
code: number;
message: string;
request_id: string;
data: {
code: number;
msg: string;
resource_pack_subscribe_infos: ResourcePackInfo[];
};
}
export interface ResourcePackQueryParams {
start_time: number;
end_time: number;
resource_pack_name?: string;
}
export interface VirtualTryOnParams {
model_name?: 'kolors-virtual-try-on-v1' | 'kolors-virtual-try-on-v1-5';
human_image: string;
cloth_image: string;
callback_url?: string;
}
export interface ImageGenerationParams {
model_name?: 'kling-v1' | 'kling-v1-5';
prompt: string;
negative_prompt?: string;
image?: string;
image_reference?: 'subject' | 'face';
image_fidelity?: number;
human_fidelity?: number;
n?: number;
aspect_ratio?: '16:9' | '9:16' | '1:1' | '4:3' | '3:4' | '3:2' | '2:3' | '21:9';
callback_url?: string;
}
export interface Text2VideoParams {
model_name?: 'kling-v1' | 'kling-v1-6';
prompt: string;
negative_prompt?: string;
cfg_scale?: number;
mode?: 'std' | 'pro';
camera_control?: {
type?: 'simple' | 'down_back' | 'forward_up' | 'right_turn_forward' | 'left_turn_forward';
config?: {
horizontal?: number;
vertical?: number;
pan?: number;
tilt?: number;
roll?: number;
zoom?: number;
};
};
aspect_ratio?: '16:9' | '9:16' | '1:1';
duration?: '5' | '10';
callback_url?: string;
external_task_id?: string;
}
export interface Image2VideoParams {
model_name?: 'kling-v1' | 'kling-v1-6';
image: string;
prompt?: string;
negative_prompt?: string;
cfg_scale?: number;
mode?: 'std' | 'pro';
camera_control?: {
type?: 'simple' | 'down_back' | 'forward_up' | 'right_turn_forward' | 'left_turn_forward';
config?: {
horizontal?: number;
vertical?: number;
pan?: number;
tilt?: number;
roll?: number;
zoom?: number;
};
};
aspect_ratio?: '16:9' | '9:16' | '1:1';
duration?: '5' | '10';
callback_url?: string;
external_task_id?: string;
}
export interface VideoExtendParams {
video_id: string;
prompt?: string;
negative_prompt?: string;
cfg_scale?: number;
callback_url?: string;
}
export interface VideoEffectsParams {
effect_scene: 'fuzzyfuzzy' | 'squish' | 'expansion' | 'hug' | 'kiss' | 'heart_gesture';
input: SingleImageEffectInput | DoubleImageEffectInput;
callback_url?: string;
external_task_id?: string;
}
export interface SingleImageEffectInput {
model_name: 'kling-v1-6';
image: string;
duration: '5';
}
export interface DoubleImageEffectInput {
model_name?: 'kling-v1' | 'kling-v1-5' | 'kling-v1-6';
mode?: 'std' | 'pro';
images: [string, string];
duration: '5' | '10';
}
export interface LipSyncParams {
input: {
video_id?: string;
video_url?: string;
mode: 'text2video' | 'audio2video';
text?: string;
voice_id?: string;
voice_language?: 'zh' | 'en';
voice_speed?: number;
audio_type?: 'file' | 'url';
audio_file?: string;
audio_url?: string;
};
callback_url?: string;
}
export interface TaskQueryParams {
task_id?: string;
external_task_id?: string;
}