Extend an existing Veo3.1 video by generating new content based on the original video and a text prompt.
Extend an existing Veo3.1 video by generating new content based on the original video and a text prompt. This feature allows you to extend video duration or add new content based on your existing video clips.
Our Veo 3.1 Video Extension API is more than simple video splicing. It layers intelligent extension algorithms on top of the official models, giving you greater flexibility and markedly higher success rates — 25% of the official Google pricing (see Billing Details for full details).
Capability
Details
Smart Extension
Generate new video segments based on existing videos and text prompts
Seamless Connection
Extended videos naturally connect with the original video
Flexible Control
Precisely control the style and actions of extended content through prompts
High-Quality Output
Maintain the same quality and style as the original video
Audio Track
Extended videos default to background audio, consistent with the original video
Task ID of the original video generation. Must be a valid taskId returned from the video generation interface. Note: Videos generated after 1080P generation cannot be extended.
Random seed parameter for controlling the randomness of generated content. Range: 10000-99999. Same seeds will generate similar video content, different seeds will generate different video content. If not specified, the system will automatically assign random seeds.
Detailed Action Description: Clearly describe how you want the video to be extended, e.g., “the dog continues running through the park, jumping over obstacles”
Maintain Style Consistency: Ensure the style of extended content matches the original video
Natural Transition: Described actions should naturally connect with the end of the original video
Use English: Recommend using English prompts for best results
Avoid Conflicts: Ensure extended content doesn’t create logical conflicts with the original video
openapi: 3.0.0info: title: Veo3.1 API description: Apikley Veo3.1 API Documentation - Text-to-Video and Image-to-Video API version: 1.0.0 contact: name: Technical Support email: [email protected]servers: - url: https://api.apikley.ru description: API Serversecurity: - BearerAuth: []paths: /api/v1/veo/extend: post: summary: Extend Veo3.1 Video description: >- Extend an existing Veo3.1 video by generating new content based on the original video and a text prompt. operationId: extend-veo3-1-video requestBody: required: true content: application/json: schema: type: object properties: taskId: type: string description: >- Task ID of the original video generation. Must be a valid taskId returned from the video generation interface. Note: Videos generated after 1080P generation cannot be extended. example: veo_task_abcdef123456 prompt: type: string description: >- Text prompt describing the extended video content. Should detail how you want the video to be extended, including actions, scene changes, style, etc. example: >- The dog continues running through the park, jumping over obstacles and playing with other dogs seeds: type: integer description: >- Random seed parameter for controlling the randomness of generated content. Range: 10000-99999. Same seeds will generate similar video content, different seeds will generate different video content. If not specified, the system will automatically assign random seeds. minimum: 10000 maximum: 99999 example: 12345 watermark: type: string description: >- Watermark text (optional). If provided, a watermark will be added to the generated video. example: MyBrand callBackUrl: type: string description: >- Callback URL when the task is completed (optional). Strongly recommended for production environments. - The system will send a POST request to this URL when video extension is completed, containing task status and results - The callback contains generated video URLs, task information, etc. - Your callback endpoint should accept POST requests with JSON payloads containing video results - For detailed callback format and implementation guide, see [Video Generation Callbacks](https://docs.apikley.ru/veo3-api/generate-veo-3-video-callbacks) - Alternatively, you can use [the get video details interface](https://docs.apikley.ru/veo3-api/get-veo-3-video-details) to poll task status example: https://your-callback-url.com/veo-extend-callback required: - taskId - prompt example: taskId: veo_task_abcdef123456 prompt: >- The dog continues running through the park, jumping over obstacles and playing with other dogs seeds: 12345 watermark: MyBrand callBackUrl: https://your-callback-url.com/veo-extend-callback responses: '200': description: Request successful content: application/json: schema: type: object properties: code: type: integer enum: - 200 - 400 - 401 - 402 - 404 - 422 - 429 - 455 - 500 - 501 - 505 description: >- Response status code - **200**: Success - Extension task created - **400**: Client error - Prompt violates content policy or other input errors - **401**: Unauthorized - Authentication credentials missing or invalid - **402**: Insufficient credits - Account does not have enough credits to perform the operation - **404**: Not found - Original video or task does not exist - **422**: Validation error - Request parameter validation failed - **429**: Rate limit - Exceeded the request limit for this resource - **455**: Service unavailable - System is under maintenance - **500**: Server error - Unexpected error occurred while processing the request - **501**: Extension failed - Video extension task failed - **505**: Feature disabled - The requested feature is currently disabled msg: type: string description: Response message example: success data: type: object properties: taskId: type: string description: >- Task ID that can be used to query task status via the get video details interface example: veo_extend_task_xyz789 example: code: 200 msg: success data: taskId: veo_extend_task_xyz789 '500': $ref: '#/components/responses/Error' callbacks: onVideoExtended: '{$request.body#/callBackUrl}': post: summary: Video Extension Callback description: >- When the video extension task is completed, the system will send the result to your provided callback URL via POST request requestBody: required: true content: application/json: schema: type: object properties: code: type: integer description: >- Status code - **200**: Success - Video extension task successful - **400**: Your prompt was flagged by the website as violating content policies. English prompts only. Unable to retrieve image. Please verify any access restrictions set by you or your service provider. Public error: Unsafe image upload. - **500**: Internal error, please try again later. Internal error - Timeout - **501**: Failed - Video extension task failed enum: - 200 - 400 - 500 - 501 msg: type: string description: Status message example: Veo3.1 video extension successful. data: type: object properties: taskId: type: string description: Task ID example: veo_extend_task_xyz789 info: type: object properties: resultUrls: type: string description: Extended video URLs example: '[http://example.com/extended_video1.mp4]' originUrls: type: string description: >- Original video URLs. Only available when aspectRatio is not 16:9 example: '[http://example.com/original_video1.mp4]' resolution: type: string description: Video resolution information example: 1080p fallbackFlag: type: boolean description: >- Whether generated through fallback model. true means using backup model generation, false means using main model generation example: false deprecated: true responses: '200': description: Callback received successfullycomponents: responses: Error: description: Server Error securitySchemes: BearerAuth: type: http scheme: bearer bearerFormat: API Key description: >- All APIs require authentication via Bearer Token. Get API Key: 1. Visit [API Key Management Page](https://app.apikley.ru/keys) to get your API Key Usage: Add to request header: Authorization: Bearer APIKLEY_API_KEY