Webhook Callbacks
Instead of polling the status endpoint, you can provide a callback URL when submitting 3D tasks to receive automatic notifications when generation completes.How It Works
- Submit with callback URL: Include a
callback_urlin your 3D task submission - Receive notification: When the task completes (success or failure), PoYo AI sends a POST request to your URL
- Process result: Your server receives the complete task data including generated model files
Callback Request
When a task completes, PoYo AI sends a POST request to your callback URL. The callback body uses the same task data shape as the 3D status endpoint, without the outercode and data wrapper.
Request Headers
Request Body
Failed Task Callback
Signature Verification
PoYo signs every 3D webhook request with HMAC-SHA256. Existing receivers can ignore these headers, but production systems should verify them. Get your webhook HMAC key:task_idis the top-leveltask_idin the callback bodytimestampis the value ofX-Webhook-Timestampwebhook_hmac_keyis returned byGET /api/api-keys/webhook-secret
Requirements
Your callback endpoint must meet the following requirements:- HTTPS only: Must use HTTPS protocol (HTTP not supported)
- Maximum URL length: 2048 characters
- Response timeout: Must respond within 30 seconds
- Success response: Should return HTTP 200-299 status code
- No internal IPs: Cannot use private/internal IP addresses (e.g., 192.168.x.x, 10.x.x.x)
- Public accessibility: Must be publicly accessible from the internet
Retry Policy
If your callback endpoint fails to respond or returns an error:- Retry attempts: Up to 5 automatic retries
- Retry delays: Exponential backoff, starting at about 60 seconds and capped at 10 minutes
- Final failure: After all retry attempts fail, no further retries are made
Important Notes
Next Steps
Task Status
Learn about polling 3D task status
Meshy 6 3D
Generate 3D models with Meshy 6
Tripo3D H3.1
Generate 3D models with Tripo3D H3.1
