AI Talking Photo
POST /api/v1/ai-talking-photo/submit
imageUrl is required and audioUrl is required and textContent is required.
Required inputs
imageUrlstring- URL of the portrait photo (JPG, JPEG, PNG, or WebP, up to 30 MB).
audioUrlstring- URL of the reference voice audio (MP3 or WAV, up to 15 MB). It controls voice identity, tone, and style; its original words do not become part of the output.
textContentstring- The complete spoken script (max 300 chars). Keep it short enough to produce a 2–15 second video. Use estimate_capability_credits for the exact credit estimate.
Edit the sample inputs for your own task before submitting.
# Set VIDMAGE_IDEMPOTENCY_KEY to a unique value for this task; preserve it for transport retries.
curl -X POST "https://vidmage.ai/api/v1/ai-talking-photo/submit" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Idempotency-Key: ${VIDMAGE_IDEMPOTENCY_KEY}" \
-H "Content-Type: application/json" \
-d '{"imageUrl":"https://vidmage.ai/assets/images/samples/blue-eyed-woman-sunlight.webp","audioUrl":"https://vidmage.ai/templates/voices/alice.mp3","textContent":"Welcome to VidMage. This reference voice will speak the complete script."}'
# -> { "success": true, "taskId": "...", "creditsConsumed": ... }Parameters and input rules3 fields
| Field | Type | Required | Default | Meaning and limits |
|---|---|---|---|---|
imageUrl | string | Yes | Not specified | URL of the portrait photo (JPG, JPEG, PNG, or WebP, up to 30 MB). No additional field constraint listed. |
audioUrl | string | Yes | Not specified | URL of the reference voice audio (MP3 or WAV, up to 15 MB). It controls voice identity, tone, and style; its original words do not become part of the output. No additional field constraint listed. |
textContent | string | Yes | Not specified | The complete spoken script (max 300 chars). Keep it short enough to produce a 2–15 second video. Use estimate_capability_credits for the exact credit estimate. Maximum length: 300 |
Retrieve the result
Save taskId from the accepted submission and send it to this endpoint:
POST /api/v1/ai-talking-photo/query
Use the same Bearer API key. On completion, read the videoUrl result field.
curl -X POST "https://vidmage.ai/api/v1/ai-talking-photo/query" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "taskId": "TASK_ID_FROM_SUBMIT" }'
# -> { "success": true, "data": { "status": "...", "videoUrl": "https://..." } }
