Overview
Animate a portrait photo to lip-sync with a given audio track, generating a realistic talking-head video from a single still image.
Primary Endpoint
POST
/api/v1/talkingPhoto/startStart talking photo generation
Request Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| name | string | Yes | Name of the talking photo task |
| image_url | string | Yes | URL of the source image |
| audio_url | string | No | Optional audio URL |
| duration | integer | No | Duration in seconds |
| prompt | string | Yes | Generation prompt |
| negative_prompt | string | Yes | Negative prompt to avoid unwanted features |
| webhook_url | string | No | HTTPS URL to receive task.completed / task.failed notifications. Best-effort delivery, single attempt, no retries; clients should treat the detail API as the source of truth. |
| webhook_token | string | No | Optional plaintext token returned in the X-A2e-Webhook-Token header so receivers can verify the request originated from a2e. |
Request Example
curl -X POST "https://www.a2e.com.cn/api/v1/talkingPhoto/start" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "My Talking Photo",
"image_url": "https://example.com/photo.jpg",
"audio_url": "https://example.com/audio.mp3",
"duration": 5,
"prompt": "Make this person smile and speak",
"negative_prompt": "blurry, distorted",
"webhook_url": "https://your-server.example.com/a2e/webhook",
"webhook_token": "a-shared-secret"
}'Related Endpoints
POST
/api/v1/talkingPhoto/startStart talking photo generation
GET
/api/v1/talkingPhoto/allRecordsGet all task records
POST
/api/v1/talkingPhoto/batchDetailBatch query task details
GET
/api/v1/talkingPhoto/{_id}Get task details
DELETE
/api/v1/talkingPhoto/{_id}Delete task
Responses
200
Talking photo task started successfully
400
Bad Request - Invalid parameters
401
Unauthorized - Invalid or missing bearer token