Extend AI Video
Extend existing AI-generated videos to create longer sequences.
Usage Guide
- Add additional segments to your AI-generated videos
- Maintain visual consistency while extending narratives
- Create longer sequences for storytelling or demonstrations
Parameter Details
taskIdidentifies the original video to extendpromptguides how the video should continuequalityvideo resolution, optional values are 720p or 1080p.waterMarkvideo watermark text content, empty string means no watermark
Developer Notes
- Extended videos are stored for 14 days before automatic deletion
- Extension maintains the same aspect ratio as the original video
- Extension works best when continuing the same subject/theme as the original video
Rate limits and quotas are enforced by Apikley and may differ from upstream providers.
OpenAPI
runway-api/runway-api.json post /api/v1/runway/extend
Copy
openapi: 3.0.0
info:
title: Runway API
description: Apikley Runway API Documentation
version: 1.0.0
contact:
name: Technical Support
email: [email protected]
servers:
- url: https://api.apikley.ru
description: API Server
security:
- BearerAuth: []
paths:
/api/v1/runway/extend:
post:
summary: Extend AI Video
description: >-
Extend existing AI-generated videos to create longer sequences.
### Usage Guide
- Add additional segments to your AI-generated videos
- Maintain visual consistency while extending narratives
- Create longer sequences for storytelling or demonstrations
### Parameter Details
- `taskId` identifies the original video to extend
- `prompt` guides how the video should continue
- `quality` video resolution, optional values are 720p or 1080p.
- `waterMark` video watermark text content, empty string means no
watermark
### Developer Notes
- Extended videos are stored for 14 days before automatic deletion
- Extension maintains the same aspect ratio as the original video
- Extension works best when continuing the same subject/theme as the
original video
operationId: extend-ai-video
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- taskId
- prompt
- quality
properties:
taskId:
type: string
description: >-
Unique identifier of the original video generation task.
Must be a valid task ID from a previously generated video.
example: ee603959-debb-48d1-98c4-a6d1c717eba6
prompt:
type: string
description: >-
Descriptive text that guides the continuation of the video.
Explain what actions, movements, or developments should
happen next. Be specific but maintain consistency with the
original video content.
example: >-
The cat continues dancing with more energy and excitement,
spinning around with colorful light effects intensifying
quality:
type: string
description: 'Video resolution, optional values are 720p or 1080p. '
example: 720p
waterMark:
type: string
description: >-
Video watermark text content. An empty string indicates no
watermark, while a non-empty string will display the
specified text as a watermark in the bottom right corner of
the video.
example: apikley
callBackUrl:
type: string
description: >-
The URL to receive AI video extension task completion
updates. Required for all video extension requests.
- System will POST task status and results to this URL when
video extension completes
- Callback includes extended video URLs, cover images, and
task information
- Your callback endpoint should accept POST requests with
JSON payload containing extension results
- For detailed callback format and implementation guide, see
[Video Extension
Callbacks](https://docs.apikley.ru/runway-api/extend-ai-video-callbacks)
- Alternatively, use the Get AI Video Details endpoint to
poll task status
example: https://api.example.com/callback
example:
taskId: ee603959-debb-48d1-98c4-a6d1c717eba6
prompt: >-
The cat continues dancing with more energy and excitement,
spinning around with colorful light effects intensifying
imageUrl: https://file.com/m/xxxxxxxx.png
expandPrompt: true
waterMark: apikley
callBackUrl: https://api.example.com/callback
responses:
'200':
description: Request successful
content:
application/json:
schema:
allOf:
- type: object
properties:
code:
type: integer
enum:
- 200
- 401
- 404
- 422
- 429
- 451
- 455
- 500
description: >-
Response status code
- **200**: Success - Request has been processed
successfully
- **401**: Unauthorized - Authentication credentials
are missing or invalid
- **404**: Not Found - The requested resource or
endpoint does not exist
- **422**: Validation Error - The request parameters
failed validation checks.The request parameters are
incorrect, please check the parameters.
- **429**: Rate Limited - Request limit has been
exceeded for this resource
- **451**: Unauthorized - Failed to fetch the image.
Kindly verify any access limits set by you or your
service provider.
- **455**: Service Unavailable - System is currently
undergoing maintenance
- **500**: Server Error - An unexpected error occurred
while processing the request
msg:
type: string
description: Status message
example: success
data:
type: object
properties:
taskId:
type: string
description: >-
Task ID for tracking task status. Use this ID with
the "Get AI Video Details" endpoint to query
extension task details and results.
example: 5c79****be8e
example:
code: 200
msg: success
data:
taskId: ee603959-debb-48d1-98c4-a6d1c717eba6
'500':
$ref: '#/components/responses/Error'
callbacks:
onVideoExtended:
'{$request.body#/callBackUrl}':
post:
summary: Video Extension Completion Callback
description: >-
When video extension is complete, the system will send a POST
request to the provided callback URL to notify the result
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- code
- data
- msg
properties:
code:
type: integer
description: Status code, 200 indicates success
example: 200
msg:
type: string
description: Status message
example: All generated successfully.
data:
type: object
required:
- image_url
- task_id
- video_id
- video_url
properties:
image_url:
type: string
description: Cover image URL of the generated video
example: https://file.com/m/xxxxxxxx.png
task_id:
type: string
description: Task ID
example: ee603959-debb-48d1-98c4-a6d1c717eba6
video_id:
type: string
description: Video ID
example: 485da89c-7fca-4340-8c04-101025b2ae71
video_url:
type: string
description: Accessible video URL, valid for 14 days
example: https://file.com/k/xxxxxxx.mp4
responses:
'200':
description: Callback received successfully
content:
application/json:
schema:
allOf:
- type: object
properties:
code:
type: integer
enum:
- 200
- 400
- 500
description: >-
Response status code
- **200**: Success - Request has been
processed successfully
- **400**: Get image info failed.
Inappropriate content detected. Please replace
the image or video.
Incorrect image format.
Please try again later. You can upgrade to
Standard membership to start generating now.
Reached the limit for concurrent generations.
Unsupported width or height. Please adjust the
size and try again.
Upload failed due to network reasons, please
re-enter.
Your prompt was caught by our AI moderator.
Please adjust it and try again!
Your prompt/negative prompt cannot exceed 2048
characters. Please check if your input is too
long.
Your video creation prompt contains NSFW
content, which isn't allowed under our policy.
Kindly revise your prompt and generate again.
- **500**: Server Error - An unexpected error
occurred while processing the request
msg:
type: string
description: Error message when code != 200
example: success
example:
code: 200
msg: success
components:
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
Note:
- Keep your API Key secure and do not share it with others
- If you suspect your API Key has been compromised, reset it immediately
in the management page
To find navigation and other pages in this documentation, fetch the llms.txt file at: https://docs.apikley.ru/llms.txt