| Feature (Endpoint) | Supported |
|---|---|
text-to-video video/text/generate | ✅ |
image-to-video video/image/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)