
Speed Painting API Reference
This page covers all steps to integrate speed painting API into your system.
Good to know: A quick start guide can be good to help folks get up and running with your API in a few steps. Some people prefer diving in with the basics rather than meticulously reading every page of documentation!
Get your API keys
Your API requests are authenticated using API keys. Any request that doesn't include an API key will return an error.
You can generate an API key from your user dashboard in Miragic website anytime.

Authentication
All requests must include the X-API-Key header containing your assigned API key.
How To Create Speed Painting Task
POST /api/v1/speed-painting/create
This API starts the Speed Painting process by creating a task that generates an hand-drawn artworks video.
Processing Information
Tasks are processed asynchronously in the background
Progress can be monitored using the
Get Task Status APIThe final result will be a high-quality video with audio
Request
image
File
Yes
Input image
audio_file
File
Optional
Input audio
quality
String
Yes
This value can be hd or sd
sequence
String
Yes
How the drawing animation sequence is generated. the value can be auto or vertical
fps
Number
Yes
Frames per second: This can be 30 or 60
hand_style
Number
Yes
The value can be 0, 1, 2, 3, 4
Request Example (Without audio input)
Request Example (With audio input)
Response
Response Field
jobId
String
A unique identifier used to track task status and retrieve results.
status
String
The initial status will be PENDING. Use the Get Task Status API to track progress.
originalImageUrl
String
URL to input image
message
String
Explanation for result
success
Logic
true or false to indicate whether task is successful or not.
How To Get Task Status
GET /api/v1/speed-painting/jobs/:jobId
This API lets you check the status of a try-on task and retrieve the final result. Because the try-on process runs asynchronously, you’ll need to poll this endpoint until the task is finished.
Task Status:
PENDING
Task is currently being processed.
0~99%
Continue polling
COMPLETED
Task has finished successfully.
100%
Download result using download_signed_url
FAILED
Task processing failed.
N/A
Check error details and retry if needed
Progress Tracking:
The
progressfield indicates the percentage of task completion (0-100)Progress updates are available in real-time during the
PENDINGstateProgress increases as the AI processes different stages of the try-on task
Polling Guidelines:
Start polling immediately after creating the task
Implement exponential backoff to avoid rate limiting
The download_signed_url is temporary and should be used promptly
Consider implementing a timeout after extended polling
Request:
URL Parameters
JobId
String
Yes
This value indicates task ID assigned by requesting Speed-Painting process API
Request Example
Response Example
Completed Status (200):
Response Fields
id
String
Unique identifier of the task
status
String
Current status of the task (PENDING/COMPLETED/FAILED)
userId
String
Unique identifier of the user
originalImagePath
String
Path to input image
originalImageUrl
String
URL to input image
externalVideoUrl
String
URL to result video
resultImagePath
String
URL to result image
createdAt
Number
Unix timestamp when processing is created
errorMessage
String
Error message
Full Code Example
The following code lines are quick example to use our API in multiple languages.
Case 1: Without audio input
Case 2: With audio input
Last updated