Kling-O1 Video Edit
- Kling-O1 Video Edit (kling-o1-video-edit) model supports video editing
- Asynchronous processing mode, use the returned task ID to query status
- Generated video links are valid for 24 hours, please save them promptly
OpenAPI
````yaml en/api-manual/video-series/kling/kling-o1-video-edit.json post /v1/videos/generations openapi: 3.1.0 info: title: kling-o1-video-edit API description: Create video editing tasks using AI models license: name: MIT version: 1.0.0 servers: - url: https://ai.odkkk.com/apiv1 description: Production security: - bearerAuth: [] tags: - name: Video Generation description: AI video generation APIs paths: /v1/videos/generations: post: tags: - Video Generation summary: kling-o1-video-edit API description: >- - Kling-O1 Video Edit (kling-o1-video-edit) model supports video editing
- Asynchronous processing mode, use the returned task ID to [query
status](/en/api-manual/task-management/get-task-detail)
- Generated video links are valid for 24 hours, please save them
promptly
operationId: createVideoGeneration
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/VideoGenerationRequest'
examples:
video_edit:
summary: Video Edit
value:
model: kling-o1-video-edit
prompt: Make the video more cinematic
video_urls:
- https://example.com/original-video.mp4
video_edit_with_reference:
summary: Video Edit with Reference Image
value:
model: kling-o1-video-edit
prompt: Make the video more cinematic
video_urls:
- https://example.com/original-video.mp4
image_urls:
- https://example.com/reference.jpg
responses:
'200':
description: Video generation task created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/VideoGenerationResponse'
'400':
description: Invalid request parameters
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
error:
code: 400
message: Invalid request parameter
type: invalid_request_error
'401':
description: Unauthenticated, invalid or expired token
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
error:
code: 401
message: Invalid or expired token
type: authentication_error
'402':
description: Insufficient quota, recharge required
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
error:
code: 402
message: Insufficient quota
type: insufficient_quota_error
fallback_suggestion: https://ai.odkkk.com/apiv1/dashboard/billing
'403':
description: Access denied
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
error:
code: 403
message: Access denied for this model
type: permission_error
param: model
'404':
description: Resource not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
error:
code: 404
message: Specified model not found
type: not_found_error
param: model
fallback_suggestion: kling-o1-video-edit
'429':
description: Rate limit exceeded
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
error:
code: 429
message: Rate limit exceeded
type: rate_limit_error
fallback_suggestion: retry after 60 seconds
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
error:
code: 500
message: Internal server error
type: internal_server_error
fallback_suggestion: try again later
'502':
description: Upstream service error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
error:
code: 502
message: Upstream AI service unavailable
type: upstream_error
fallback_suggestion: try different model
'503':
description: Service temporarily unavailable
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
error:
code: 503
message: Service temporarily unavailable
type: service_unavailable_error
fallback_suggestion: retry after 30 seconds
components: schemas: VideoGenerationRequest: type: object required: - model - prompt - video_urls properties: model: type: string description: Video generation model name default: kling-o1-video-edit example: kling-o1-video-edit prompt: type: string description: Prompt describing how to edit the video example: Make the video more cinematic maxLength: 5000 video_urls: type: array description: >- Original video URL list for editing
**Note:**
- Only `1` video per request
- Supported video duration: `3` to `10` seconds (videos under `3`
seconds are billed as `3` seconds, videos over `10` seconds are
billed as `10` seconds)
- Video size: up to `100MB`
- Supported formats: `.mp4`, `.mov`
- Video URL must be directly accessible by the server
items:
type: string
format: uri
minItems: 1
maxItems: 1
example:
- https://example.com/video.mp4
image_urls:
type: array
description: |-
Reference image URL list for specifying editing effect
**Note:**
- Supports up to `4` reference images per request
- Image size: up to `10MB`
- Supported formats: `.jpg`, `.jpeg`, `.png`, `.webp`
- Image URL must be directly accessible by the server
items:
type: string
format: uri
minItems: 1
maxItems: 4
example:
- https://example.com/reference.jpg
aspect_ratio:
type: string
description: |-
Video aspect ratio
**Options:**
- `16:9`: Landscape video
- `9:16`: Portrait video
- `1:1`: Square video
enum:
- '16:9'
- '9:16'
- '1:1'
example: '16:9'
keep_original_sound:
type: boolean
description: |-
Whether to keep the original video sound
**Options:**
- `true`: Keep the original video sound
- `false`: Do not keep the original video sound
example: true
callback_url:
type: string
description: >-
HTTPS callback URL for task completion
**Callback Timing:**
- Triggered when task is completed, failed, or cancelled
- Sent after billing confirmation
**Security Restrictions:**
- HTTPS protocol only
- Internal IP addresses are prohibited (127.0.0.1, 10.x.x.x,
172.16-31.x.x, 192.168.x.x, etc.)
- URL length must not exceed `2048` characters
**Callback Mechanism:**
- Timeout: `10` seconds
- Maximum `3` retries after failure (at `1`/`2`/`4` seconds after
failure)
- Callback response format is consistent with task query API
- 2xx status code is considered successful, other codes trigger
retry
format: uri
example: https://your-domain.com/webhooks/video-task-completed
VideoGenerationResponse:
type: object
properties:
created:
type: integer
description: Task creation timestamp
example: 1757169743
id:
type: string
description: Task ID
example: task-unified-1757169743-7cvnl5zw
model:
type: string
description: Actual model name used
example: kling-o1-video-edit
object:
type: string
enum:
- video.generation.task
description: Task type
progress:
type: integer
description: Task progress percentage (0-100)
minimum: 0
maximum: 100
example: 0
status:
type: string
description: Task status
enum:
- pending
- processing
- completed
- failed
example: pending
task_info:
$ref: '#/components/schemas/VideoTaskInfo'
description: Video task details
type:
type: string
enum:
- text
- image
- audio
- video
description: Task output type
example: video
usage:
$ref: '#/components/schemas/VideoUsage'
description: Usage and billing information
ErrorResponse:
type: object
properties:
error:
type: object
properties:
code:
type: integer
description: HTTP status error code
message:
type: string
description: Error description
example: Invalid request parameter
type:
type: string
description: Error type
example: invalid_request_error
param:
type: string
description: Related parameter name
example: model
fallback_suggestion:
type: string
description: Suggestion for error resolution
example: kling-o1-video-edit
VideoTaskInfo:
type: object
properties:
can_cancel:
type: boolean
description: Whether the task can be cancelled
example: true
estimated_time:
type: integer
description: Estimated completion time (seconds)
minimum: 0
example: 300
video_duration:
type: integer
description: Video duration (seconds)
example: 9
VideoUsage:
type: object
description: Usage and billing information
properties:
billing_rule:
type: string
description: Billing rule
enum:
- per_call
- per_token
- per_second
example: per_call
credits_reserved:
type: number
description: Estimated credits consumed
minimum: 0
example: 7
user_group:
type: string
description: User group category
example: default
securitySchemes: bearerAuth: type: http scheme: bearer description: >- ## All APIs require Bearer Token authentication ##
**Get API Key:**
Visit [API Key Management Page](https://ai.odkkk.com/apiv1/dashboard/keys) to
get your API Key
**Add to request header:**
```
Authorization: Bearer YOUR_API_KEY
```
````
To find navigation and other pages in this documentation, fetch the llms.txt file at: https://ai.odkkk.com/apiv1/docs/llms.txt