Developers API
Welcome to the Mimi Panda API documentation. Our API allows you to programmatically access our AI-powered image transformation services including coloring page generation, paint-by-numbers creation, AI image generation, image upscaling, and AI filter application. The api is available only for users subscribed to the commercial plan.
Base URL
https://mimi-panda.com/api
Authentication
All API requests require authentication using a Bearer token in the Authorization header:
Authorization: Bearer YOUR_API_TOKEN
To obtain an API token, please login here https://mimi-panda.com/login to your personal account and go to the My profile page. Then click on the "Generate Token" button in the API Token section.
Response Format
All responses are returned in JSON format. Successful requests return a 200 status code along with the response data. Errors return appropriate HTTP status codes with error details.
Endpoints
Create Coloring Page from Image
Convert an uploaded image into a coloring page using AI technology.
Request Parameters
Parameter | Type | Required | Description |
---|---|---|---|
image |
file | Yes | Image file to convert. Accepted formats: jpg, png, webp, jpeg, heic, heif. Max size: 20MB |
version |
string | No | API version to use. Options: v1 , v2 . Default: v2 |
type |
string | No |
For v2: v2_general , v2_detailed , v2_anime , v2_simplified , v2_comic For v1: for_adults , for_kids , simple , image , photo , sketching Default: v2_general (v2) or for_adults (v1)
|
Response
{
"key": "550e8400-e29b-41d4-a716-446655440000",
"status": "in_queue",
"created": "2025-10-14 12:34:56"
}
Example Request
curl -X POST https://mimi-panda.com/api/coloring \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-F "image=@/path/to/image.jpg" \
-F "version=v2" \
-F "type=v2_detailed"
Create Paint-by-Numbers
Create a paint-by-numbers template from an uploaded image or AI-generated image from a text prompt.
Request Parameters
Parameter | Type | Required | Description |
---|---|---|---|
image |
file | No* | Image file to convert. Accepted formats: jpg, png, webp, jpeg, heic, heif. Max size: 20MB |
prompt |
string | No* | Text description for AI image generation (3-600 characters). *Either image or prompt must be provided |
numberOfColors |
integer | No | Number of colors to be used for generating your paint by numbers (7-100). Default: 30 |
segmentsComplexity |
string | No | Controls the size and detail level of paint segments. Options: none , level1 , level2 , level3 , simplest . Default: none |
gradientStep |
string | No | Controls color difference between gradient layers. Higher values create smoother transitions and decrease details, while lower values show more distinct color changes but take longer to process. Options: high , normal . Default: high |
colorPrecision |
string | No | Color matching precision. Change it only for high contrast pictures. This parameter might lead to the colors number decrease and merging colors zones - fewer details. Options: high , normal , low , lowest . Default: high |
canvasSize |
string | No | Canvas size in inches (e.g., "12x16"). Max dimensions: 45x45 inches. Min dimensions: 4x4 inches. Default: none |
crop |
boolean | No | Whether to crop the image to fully cover chosen canvas size. Default: false |
detailsFilter |
string | No | Level of detail filtering. Options: ultra , high , normal , low , lowest |
palette |
integer | No | Palette ID that should be used for generating your paint by numbers. Must be from your saved palettes |
paletteColors |
string | No | Comma-separated list of color codes from the chosenpalette (minimum 7 colors) |
mixPalette |
boolean | No | Allow mixing palette colors between each other in proportions 50:50. Default: false |
aiFilterType |
string | No | AI art style to apply. Options: none , painting-general , painting-oil-painting , painting-palette-knife , painting-acrylic , painting-watercolor , painting-gouache , painting-digital , painting-graffiti , painting-grimdark , painting-impasto , painting-impressionism-painting-style , painting-magic-realism , painting-pointillism , painting-renaissance , painting-retrofuturism . Default: none |
minArea |
integer | No | The minimum size (as a percentage of the shortest side of your image) that a color region must be to remain separate. Increasing this value will combine smaller color regions into larger ones. Default is 0 (no merging). |
Response
{
"key": "550e8400-e29b-41d4-a716-446655440000",
"status": "in_queue",
"created": "2025-10-14 12:34:56"
}
Example Request (with Image)
curl -X POST https://mimi-panda.com/api/pbn \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-F "image=@/path/to/image.jpg" \
-F "numberOfColors=40" \
-F "colorPrecision=high" \
-F "segmentsComplexity=level2"
Example Request (with Prompt)
curl -X POST https://mimi-panda.com/api/pbn \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-F "prompt=Beautiful sunset over mountains" \
-F "numberOfColors=30" \
-F "colorPrecision=high"
Generate AI Coloring Page from Prompt
Generate a coloring page using AI based on a text description.
Request Parameters
Parameter | Type | Required | Description |
---|---|---|---|
prompt |
string | Yes | Text description of the desired coloring page (3-600 characters) |
style |
string | Yes | Art style preset for the coloring page. Available styles: kids_coloring_page , teenagers_coloring_page , adults_coloring_page |
aspectRatio |
string | No | Image aspect ratio. Options: 1x1 , 2x3 , 3x2 , 4x3 , 3x4 , 9x16 , 16x9 |
version |
string | Yes | API version. Options: v1 , v2 |
Response
{
"key": "550e8400-e29b-41d4-a716-446655440000",
"status": "in_queue",
"created": "2025-10-14 12:34:56"
}
Example Request
curl -X POST https://mimi-panda.com/api/ai/coloring \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"prompt": "A magical unicorn in an enchanted forest",
"style": "fantasy",
"aspectRatio": "3x4",
"version": "v2"
}'
Generate AI Image from Prompt
Generate high-quality AI images from text descriptions.
Request Parameters
Parameter | Type | Required | Description |
---|---|---|---|
prompt |
string | Yes | Text description of the desired image (3-600 characters) |
aspectRatio |
string | Yes | Image aspect ratio. Options: 1x1 , 2x3 , 3x2 , 4x5 , 5x4 |
Response
{
"key": "550e8400-e29b-41d4-a716-446655440000",
"status": "in_queue",
"created": "2025-10-14 12:34:56"
}
Example Request
curl -X POST https://mimi-panda.com/api/ai/image \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"prompt": "A futuristic cityscape at night with neon lights",
"aspectRatio": "16x9"
}'
Upscale and Enhance Image
Enhance and upscale an image using AI technology to improve quality and resolution.
Request Parameters
Parameter | Type | Required | Description |
---|---|---|---|
image |
file | Yes | Image file to upscale. Accepted formats: jpg, png, webp, jpeg, heic, heif. Max size: 20MB. Max dimensions: 4000x4000px |
upscale |
integer | Yes | Upscale factor. Options: 2 , 4 . Note: Images larger than 1000px will be automatically limited to 2x upscale |
Response
{
"key": "550e8400-e29b-41d4-a716-446655440000",
"status": "in_queue",
"created": "2025-10-14 12:34:56"
}
Example Request
curl -X POST https://mimi-panda.com/api/image/upscale \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-F "image=@/path/to/image.jpg" \
-F "upscale=4"
Apply AI Filter to Image
Transform an image by applying AI-powered artistic filters and effects.
Request Parameters
Parameter | Type | Required | Description |
---|---|---|---|
image |
file | Yes | Image file to apply filter to. Accepted formats: jpg, png, webp, jpeg, heic, heif. Max size: 20MB |
filterType |
string | Yes | Type of AI filter to apply. Contact support for available filter types |
strength |
number | Yes | Filter strength. Options: 0.2 , 0.3 , 0.4 , 0.5 , 0.6 , 0.7 , 0.8 , 0.9 , 1.0 |
Response
{
"key": "550e8400-e29b-41d4-a716-446655440000",
"status": "in_queue",
"created": "2025-10-14 12:34:56"
}
Example Request
curl -X POST https://mimi-panda.com/api/image/filter \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-F "image=@/path/to/image.jpg" \
-F "filterType=artistic" \
-F "strength=0.7"
Get Generated Item by UUID
Retrieve the status and results of a previously created item using its unique identifier.
URL Parameters
Parameter | Type | Required | Description |
---|---|---|---|
uuid |
string | Yes | The unique identifier (key) returned when creating the item |
Response
The response structure varies depending on the item type:
Coloring Page Response
{
"key": "550e8400-e29b-41d4-a716-446655440000",
"status": "ready",
"created": "2025-10-14 12:34:56",
"updated": "2025-10-14 12:35:23",
"images": [
"https://mimi-panda.com/storage/coloring/image.jpg"
]
}
Paint-by-Numbers Response
{
"key": "550e8400-e29b-41d4-a716-446655440000",
"status": "ready",
"created": "2025-10-14 12:34:56",
"updated": "2025-10-14 12:37:12",
"images": {
"pbn": "https://mimi-panda.com/storage/pbn/pbn-image.jpg",
"picture": "https://mimi-panda.com/storage/pbn/picture.jpg",
"source": "https://mimi-panda.com/storage/pbn/source.jpg"
},
"colors": [
{
"number": 1,
"hex": "#FF5733",
"name": "Red Orange"
},
{
"number": 2,
"hex": "#3498DB",
"name": "Sky Blue"
}
],
"parameters": {
"prompt": "Beautiful sunset",
"numberOfColors": 30,
"segmentsComplexity": "level2",
"gradientStep": "high",
"colorPrecision": "high",
"canvasSize": "16x16",
"crop": false,
"detailsFilter": "high",
"palette": null,
"paletteColors": null,
"mixPalette": false,
"aiFilterType": "none",
"minArea": 0
}
}
AI Coloring/Image Response
{
"key": "550e8400-e29b-41d4-a716-446655440000",
"status": "ready",
"created": "2025-10-14 12:34:56",
"updated": "2025-10-14 12:36:45",
"images": [
"https://mimi-panda.com/storage/catalog/image1.jpg",
"https://mimi-panda.com/storage/catalog/image2.jpg"
],
"parameters": {
"prompt": "Magical unicorn in forest",
"style": "fantasy",
"aspectRatio": "3x4",
"width": 1024,
"height": 1365
}
}
Image Upscale Response
{
"key": "550e8400-e29b-41d4-a716-446655440000",
"status": "ready",
"created": "2025-10-14 12:34:56",
"updated": "2025-10-14 12:36:12",
"images": [
"https://mimi-panda.com/storage/catalog/upscaled-image.jpg"
],
"parameters": {
"upscale": 4,
"width": 4096,
"height": 4096
}
}
AI Filter Response
{
"key": "550e8400-e29b-41d4-a716-446655440000",
"status": "ready",
"created": "2025-10-14 12:34:56",
"updated": "2025-10-14 12:35:45",
"images": [
"https://mimi-panda.com/storage/catalog/filtered-image.jpg"
],
"parameters": {
"filterType": "artistic",
"strength": 0.7
}
}
Status Values
in_queue
- Task is waiting to be processedprocessing
- Task is currently being processedready
- Task completed successfully, results are availablefailed
- Task failed to complete
Example Request
curl -X GET https://mimi-panda.com/api/item/550e8400-e29b-41d4-a716-446655440000 \
-H "Authorization: Bearer YOUR_API_TOKEN"
Error Handling
The API uses conventional HTTP response codes to indicate success or failure of requests.
HTTP Status Codes
Code | Description |
---|---|
200 |
Success - Request completed successfully |
400 |
Bad Request - Invalid parameters or validation error |
401 |
Unauthorized - Invalid or missing API token |
403 |
Forbidden - Insufficient permissions or quota exceeded |
404 |
Not Found - Requested resource does not exist |
429 |
Too Many Requests - Rate limit exceeded |
500 |
Internal Server Error - Something went wrong on our end |
Error Response Format
{
"error": "Detailed error message describing what went wrong"
}
Common Error Messages
- Validation Errors: Specific field validation failures (e.g., "The image field is required")
- File Errors: Issues with uploaded files (e.g., "Failed to process HEIC image")
- Content Policy: "The prompt contains trademarks or other protected content"
- Quota Errors: Exceeding usage limits based on subscription plan
Workflow Example
Here's a typical workflow for creating and retrieving a paint-by-numbers image:
Step 1: Create a Paint-by-Numbers
curl -X POST https://mimi-panda.com/api/pbn \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-F "image=@/path/to/photo.jpg" \
-F "numberOfColors=40" \
-F "colorPrecision=high"
# Response:
{
"key": "550e8400-e29b-41d4-a716-446655440000",
"status": "in_queue",
"created": "2025-10-14 12:34:56"
}
Step 2: Check Status (Poll Periodically)
curl -X GET https://mimi-panda.com/api/item/550e8400-e29b-41d4-a716-446655440000 \
-H "Authorization: Bearer YOUR_API_TOKEN"
# Response (while processing):
{
"key": "550e8400-e29b-41d4-a716-446655440000",
"status": "processing",
"created": "2025-10-14 12:34:56",
"updated": "2025-10-14 12:35:12"
}
Step 3: Retrieve Completed Result
curl -X GET https://mimi-panda.com/api/item/550e8400-e29b-41d4-a716-446655440000 \
-H "Authorization: Bearer YOUR_API_TOKEN"
# Response (when ready):
{
"key": "550e8400-e29b-41d4-a716-446655440000",
"status": "ready",
"created": "2025-10-14 12:34:56",
"updated": "2025-10-14 12:37:12",
"images": {
"pbn": "https://mimi-panda.com/storage/pbn/pbn-image.jpg",
"picture": "https://mimi-panda.com/storage/pbn/picture.jpg",
"source": "https://mimi-panda.com/storage/pbn/source.jpg"
},
"colors": [...],
"parameters": {...}
}
Best Practices
- Polling: When checking item status, poll every 3-5 seconds. Most operations complete within 30-60 seconds.
- Image Optimization: Compress images before uploading to reduce processing time and bandwidth usage.
- Error Handling: Implement proper error handling and retry logic for failed requests.
- Rate Limiting: Respect rate limits and implement exponential backoff for retries.
- Security: Never expose your API token in client-side code. Always make API calls from your backend.
- Content Policy: Ensure prompts and images comply with our content policy to avoid rejected requests.
Support
If you have questions or need assistance with the API:
- Email: [email protected]
- Documentation Updates: Check this page regularly for updates and new features
- Status Page: Monitor our service status and planned maintenance