Appearance
HappyHorse - video-edit
OpenAPI Specification
yaml
openapi: 3.0.1
info:
title: ''
description: ''
version: 1.0.0
paths:
/api/v1/jobs/createTask:
post:
summary: HappyHorse - video-edit
deprecated: false
description: >-
## Query Task Status
After submitting a task, use the unified query endpoint to check
progress and retrieve results:
**Get Task Details**
Learn how to query task status and retrieve generation results
::: tip[]
For production use, we recommend using the `callBackUrl` parameter to
receive automatic notifications when generation completes, rather than
polling the status endpoint.
:::
## Related Resources
**Market Overview**
Explore all available models
**Common API**
Check credits and account usage
operationId: happyhorse-video-edit
tags:
- docs/en/Market/Video Models/HappyHorse
parameters: []
requestBody:
content:
application/json:
schema:
type: object
required:
- model
- input
properties:
model:
type: string
description: |-
The model name to use for generation. Required field.
- Must be `happyhorse/video-edit` for this endpoint
enum:
- happyhorse/video-edit
default: happyhorse/video-edit
x-apidog-enum:
- value: happyhorse/video-edit
name: ''
description: ''
examples:
- happyhorse/video-edit
callBackUrl:
type: string
format: uri
description: >-
The URL to receive generation task completion updates.
Optional but recommended for production use.
- System will POST task status and results to this URL when
generation completes
- Callback includes generated content URLs and task
information
- Your callback endpoint should accept POST requests with
JSON payload containing results
- Alternatively, use the Get Task Details endpoint to poll
task status
- To ensure callback security, see [Webhook Verification
Guide](/common-api/webhook-verification) for signature
verification implementation
examples:
- https://your-domain.com/api/callback
input:
type: object
description: Input parameters for the generation task
properties:
prompt:
type: string
description: >-
Required edit instruction describing the intended change
(e.g., style transfer / local replacement). Max 5,000
non‑Chinese characters or 2,500 Chinese characters;
extra content is truncated.
maxLength: 5000
examples:
- >-
Make the horse-headed humanoid character in the video
wear the striped sweater from the image
video_url:
type: string
description: >-
Input video URL list. Exactly one video is required.
Video requirements:
Format: MP4, MOV (H.264 encoding recommended).
Duration: 3-60 seconds.
Resolution: the longer side must not exceed 2,160 px;
the shorter side must be at least 320 px.
Aspect ratio: 1:2.5-2.5:1.
File size: up to 100 MB.
Frame rate: greater than 8 fps.
'reference_image ':
type: array
items:
type: string
description: >-
Optional reference image URL list (0-5).
Image requirements:
Format: JPEG, JPG, PNG, WEBP.
Resolution: both width and height must be at least 300
px.
Aspect ratio: 1:2.5-2.5:1.
File size: up to 10 MB.
maxItems: 5
minItems: 0
resolution:
type: string
description: >-
Output video resolution. Valid values: 720P, 1080P
(default).
enum:
- 720p
- 1080p
default: 1080p
x-apidog-enum:
- value: 720p
name: ''
description: ''
- value: 1080p
name: ''
description: ''
examples:
- 1080p
audio_setting:
type: string
description: 'Audio handling strategy for the output video. '
enum:
- auto
- origin
x-apidog-enum:
- value: auto
name: ''
description: ''
- value: origin
name: ''
description: ''
default: auto
examples:
- auto
seed:
type: integer
description: Random seed for reproducibility (if supported).
default: 0
minimum: 0
maximum: 2147483647
x-apidog-orders:
- prompt
- video_url
- 'reference_image '
- resolution
- audio_setting
- seed
required:
- prompt
- video_url
x-apidog-ignore-properties: []
x-apidog-orders:
- model
- callBackUrl
- input
x-apidog-ignore-properties: []
example:
model: happyhorse/video-edit
callBackUrl: https://your-domain.com/api/callback
input:
prompt: >-
Make the horse-headed humanoid character in the video wear the
striped sweater from the image
video_url: https://hollow-joy.info/
'reference_image ':
- https://loremflickr.com/400/400?lock=3320229742640740
- https://loremflickr.com/400/400?lock=390084853871038
- https://loremflickr.com/400/400?lock=4205160298467577
- https://loremflickr.com/400/400?lock=7626507781317900
- https://loremflickr.com/400/400?lock=2804855355708229
resolution: 1080p
audio_setting: auto
seed: 1764574909
responses:
'200':
description: Request successful
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ApiResponse'
example:
code: 200
msg: success
data:
taskId: task_bytedance_1765186743319
headers: {}
x-apidog-name: ''
security:
- BearerAuth: []
x-apidog:
schemeGroups:
- id: kn8M4YUlc5i0A0179ezwx
schemeIds:
- BearerAuth
required: true
use:
id: kn8M4YUlc5i0A0179ezwx
scopes:
kn8M4YUlc5i0A0179ezwx:
BearerAuth: []
x-apidog-folder: docs/en/Market/Video Models/HappyHorse
x-apidog-status: released
x-run-in-apidog: https://app.apidog.com/web/project/1184766/apis/api-34250427-run
components:
schemas:
ApiResponse:
type: object
properties:
code:
type: integer
description: >-
Response status code
- **200**: Success - Request has been processed successfully
- **401**: Unauthorized - Authentication credentials are missing or
invalid
- **402**: Insufficient Credits - Account does not have enough
credits to perform the operation
- **404**: Not Found - The requested resource or endpoint does not
exist
- **422**: Validation Error - The request parameters failed
validation checks
- **429**: Rate Limited - Request limit has been exceeded for this
resource
- **433**: Request Limit - Sub-key Usage Exceeds Limit
- **455**: Service Unavailable - System is currently undergoing
maintenance
- **500**: Server Error - An unexpected error occurred while
processing the request
- **501**: Generation Failed - Content generation task failed
- **505**: Feature Disabled - The requested feature is currently
disabled
enum:
- 200
- 401
- 402
- 404
- 422
- 429
- 433
- 455
- 500
- 501
- 505
x-apidog-enum:
- value: 200
name: ''
description: ''
- value: 401
name: ''
description: ''
- value: 402
name: ''
description: ''
- value: 404
name: ''
description: ''
- value: 422
name: ''
description: ''
- value: 429
name: ''
description: ''
- value: 433
name: ''
description: ''
- value: 455
name: ''
description: ''
- value: 500
name: ''
description: ''
- value: 501
name: ''
description: ''
- value: 505
name: ''
description: ''
msg:
type: string
description: Response message, error description when failed
examples:
- success
data:
type: object
properties:
taskId:
type: string
description: >-
Task ID, can be used with Get Task Details endpoint to query
task status
x-apidog-orders:
- taskId
required:
- taskId
x-apidog-ignore-properties: []
x-apidog-orders:
- code
- msg
- data
title: response not with recordId
required:
- data
x-apidog-ignore-properties: []
x-apidog-folder: ''
securitySchemes:
BearerAuth:
type: bearer
scheme: bearer
bearerFormat: API Key
description: |-
所有 API 都需要通过 Bearer Token 进行身份验证。
获取 API Key:
1. 访问 API Key 管理页面 获取您的 API Key
使用方法:
在请求头中添加:
Authorization: Bearer YOUR_API_KEY
注意事项:
- 请妥善保管您的 API Key,切勿泄露给他人
- 若怀疑 API Key 泄露,请立即在管理页面重置
BearerAuth1:
type: bearer
scheme: bearer
bearerFormat: API Key
description: |-
所有 API 都需要通过 Bearer Token 进行身份验证。
获取 API Key:
1. 访问 API Key 管理页面 获取您的 API Key
使用方法:
在请求头中添加:
Authorization: Bearer YOUR_API_KEY
注意事项:
- 请妥善保管您的 API Key,切勿泄露给他人
- 若怀疑 API Key 泄露,请立即在管理页面重置
servers:
- url: https://api.kie.ai
description: 正式环境
security:
- BearerAuth: []
x-apidog:
schemeGroups:
- id: kn8M4YUlc5i0A0179ezwx
schemeIds:
- BearerAuth
required: true
use:
id: kn8M4YUlc5i0A0179ezwx
scopes:
kn8M4YUlc5i0A0179ezwx:
BearerAuth: []