Skip to main content
Glama

extend_video

Add 4-5 seconds to existing videos using AI, generating new content that continues from the last frame to create longer sequences or additional scenes.

Instructions

Extend a video by 4-5 seconds using Kling AI. This feature allows you to continue a video beyond its original ending, generating new content that seamlessly follows from the last frame. Perfect for creating longer sequences or adding additional scenes to existing videos.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
task_idYesThe task ID of the original video to extend (from a previous generation)
promptYesText prompt describing how to extend the video (what should happen next)
model_nameNoModel version to use for extension (default: kling-v2-master)
durationNoExtension duration (fixed at 5 seconds)
modeNoVideo generation mode (default: standard)

Implementation Reference

  • Core implementation of the extend_video tool: sends POST request to Kling AI /v1/video/extension endpoint with task_id and prompt to extend existing video.
    async extendVideo(request: VideoExtensionRequest): Promise<{ task_id: string }> { const path = '/v1/video/extension'; const body: any = { task_id: request.task_id, prompt: request.prompt, duration: request.duration || '5', mode: request.mode || 'standard', model_name: request.model_name || 'kling-v2-master', // V2-master is default }; try { const response = await this.axiosInstance.post(path, body); return response.data.data; } catch (error) { if (axios.isAxiosError(error)) { throw new Error(`Kling API error: ${error.response?.data?.message || error.message}`); } throw error; } }
  • TypeScript interface defining input parameters for video extension request.
    export interface VideoExtensionRequest { task_id: string; prompt: string; model_name?: 'kling-v1' | 'kling-v1.5' | 'kling-v1.6' | 'kling-v2-master'; duration?: '5'; mode?: 'standard' | 'professional'; }
  • src/index.ts:224-256 (registration)
    MCP tool registration in TOOLS array, including name, description, and JSON schema for input validation.
    { name: 'extend_video', description: 'Extend a video by 4-5 seconds using Kling AI. This feature allows you to continue a video beyond its original ending, generating new content that seamlessly follows from the last frame. Perfect for creating longer sequences or adding additional scenes to existing videos.', inputSchema: { type: 'object', properties: { task_id: { type: 'string', description: 'The task ID of the original video to extend (from a previous generation)', }, prompt: { type: 'string', description: 'Text prompt describing how to extend the video (what should happen next)', }, model_name: { type: 'string', enum: ['kling-v1', 'kling-v1.5', 'kling-v1.6', 'kling-v2-master'], description: 'Model version to use for extension (default: kling-v2-master)', }, duration: { type: 'string', enum: ['5'], description: 'Extension duration (fixed at 5 seconds)', }, mode: { type: 'string', enum: ['standard', 'professional'], description: 'Video generation mode (default: standard)', }, }, required: ['task_id', 'prompt'], }, },
  • MCP server request handler (CallToolRequestSchema) that validates arguments, calls KlingClient.extendVideo, and formats response.
    case 'extend_video': { const extendRequest = { task_id: args.task_id as string, prompt: args.prompt as string, model_name: (args.model_name as 'kling-v1' | 'kling-v1.5' | 'kling-v1.6' | 'kling-v2-master' | undefined) || 'kling-v2-master', duration: '5' as const, mode: (args.mode as 'standard' | 'professional') || 'standard', }; const result = await klingClient.extendVideo(extendRequest); return { content: [ { type: 'text', text: `Video extension started successfully!\nTask ID: ${result.task_id}\n\nThe video will be extended by approximately 5 seconds.\nUse the check_video_status tool with this task ID to check the progress.`, }, ], }; }
  • JSON schema in tool registration for input validation in MCP protocol.
    inputSchema: { type: 'object', properties: { task_id: { type: 'string', description: 'The task ID of the original video to extend (from a previous generation)', }, prompt: { type: 'string', description: 'Text prompt describing how to extend the video (what should happen next)', }, model_name: { type: 'string', enum: ['kling-v1', 'kling-v1.5', 'kling-v1.6', 'kling-v2-master'], description: 'Model version to use for extension (default: kling-v2-master)', }, duration: { type: 'string', enum: ['5'], description: 'Extension duration (fixed at 5 seconds)', }, mode: { type: 'string', enum: ['standard', 'professional'], description: 'Video generation mode (default: standard)', }, }, required: ['task_id', 'prompt'], }, },

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/199-mcp/mcp-kling'

If you have feedback or need assistance with the MCP directory API, please join our Discord server