| Feature (Endpoint) | Supported |
|---|---|
text-to-video video/text/generate | ✅ |
image-to-video video/img/generate | ✅ |
transition video/transition/generate | ✅ |
lipsync video/lip_sync/generate | ✅ |
extend video/extend/generate | ✅ |
sound_effect video/sound_effect/generate | ✅ |
fusion(reference to video) video/fusion/generate | ✅ |
restyle video/restyle/generate | ✅ |
multi_transition video/multi_transition/generate | ✅ |
swap video/swap/generate | ✅ |
restyle video/restyle/generate | ✅ |
mimic video/mimic/generate | ✅ |
modify video/modify/generate | ✅ |
upscale video/upscale/generate | ✅ |
POSTapplication/json| Header Name | Type | Description |
|---|---|---|
Webhook-Timestamp | string | Unix timestamp (seconds) |
Webhook-Nonce | string | 32-character random string |
Webhook-Signature | string | Request signature (Base64-encoded HMAC-SHA256) |
Ai-Trace-Id | string | Request trace ID |
Content-Type | string | Fixed value application/json |
{
"id": "123456789",
"status": 1,
"url": "https://example.com/video.mp4",
"size": 10.5,
"has_audio": true,
"credits": 100
}\n):{timestamp}\n{nonce}\n{url_encoded_payload}timestamp: obtained from the Webhook-Timestamp headernonce: obtained from the Webhook-Nonce headerurl_encoded_payload: JSON body encoded as a URL query stringkey=value format and join them with &.Secret Key, then encode the result using Base64.signature = Base64(HMAC-SHA256(secret_key, sign_string))Webhook-Signature from the request headers.| Item | Requirement |
|---|---|
| HTTP Status Code | 200 |
| Response Body | ok (lowercase, no extra characters) |
HTTP/1.1 200 OK
Content-Type: text/plain
ok200 or the body is not ok, the system will retry the webhook.| Attempt | Interval |
|---|---|
| 1 | 2 seconds |
| 2 | 10 seconds |
| 3 | 30 seconds |
| 4 | 1 minute |
| 5 | 5 minutes |
| 6 | 15 minutes |
| 7 | 1 hour |
| 8 | 4 hours |
id.true / false)