# Costume Background Removal Source: https://ailabtools.mintlify.app/api-reference/ai-background-removal->-general/costume-background-removal /docs/openapi.json post /api/cutout/general/apparel-background-removal Costume Background Removal API removes clothing backgrounds and isolates garments for apparel photos, e-commerce listings, and product displays. # Food Background Removal Source: https://ailabtools.mintlify.app/api-reference/ai-background-removal->-general/food-background-removal /docs/openapi.json post /api/cutout/general/food-background-removal Food Background Removal API removes food image backgrounds and isolates dishes for menus, delivery apps, food blogs, and e-commerce. # HD Universal Background Removal Source: https://ailabtools.mintlify.app/api-reference/ai-background-removal->-general/hd-universal-background-removal /docs/openapi.json post /api/cutout/general/hd-universal-background-removal HD Universal Background Removal API removes backgrounds from people, animals, food, and objects with high-definition subject cutouts. # Product Background Removal Source: https://ailabtools.mintlify.app/api-reference/ai-background-removal->-general/product-background-removal /docs/openapi.json post /api/cutout/general/commodity-background-removal Product Background Removal API removes product backgrounds and isolates items for clean e-commerce images, catalogs, and marketplace listings. # Universal Background Removal Source: https://ailabtools.mintlify.app/api-reference/ai-background-removal->-general/universal-background-removal /docs/openapi.json post /api/cutout/general/universal-background-removal Universal Background Removal API removes image backgrounds from people, animals, food, and objects for clean subject cutouts. # Hairstyle Extraction Source: https://ailabtools.mintlify.app/api-reference/ai-background-removal->-portrait/hairstyle-extraction /docs/openapi.json post /api/cutout/portrait/hairstyle-extraction Hairstyle Extraction API extracts hairstyle regions from portrait images and returns the extracted hairstyle result. # HD Human Background Removal Source: https://ailabtools.mintlify.app/api-reference/ai-background-removal->-portrait/hd-human-background-removal /docs/openapi.json post /api/cutout/portrait/hd-portrait-background-removal HD Human Background Removal API removes portrait backgrounds with high-definition human subject cutouts for photo editing and design. # Head Extraction Source: https://ailabtools.mintlify.app/api-reference/ai-background-removal->-portrait/head-extraction /docs/openapi.json post /api/cutout/portrait/avatar-extraction Head Extraction API detects and crops head regions from portraits to create clean avatars, profile images, and social media headshots. # Human Background Removal Source: https://ailabtools.mintlify.app/api-reference/ai-background-removal->-portrait/human-background-removal /docs/openapi.json post /api/cutout/portrait/portrait-background-removal Human Background Removal API detects people and removes portrait backgrounds for profile photos, design assets, and e-commerce images. # Querying Async Task Results Source: https://ailabtools.mintlify.app/api-reference/ai-common/querying-async-task-results /docs/openapi.json get /api/common/query-async-task-result Query asynchronous task results by task ID, including task status and final result data when processing is complete. # Querying Credits Source: https://ailabtools.mintlify.app/api-reference/ai-common/querying-credits /docs/openapi.json get /api/common/query-credits Query API credit balances, purchased credits, warning thresholds, and update times for each API identifier. # AI Image Cropping Source: https://ailabtools.mintlify.app/api-reference/ai-image->-image-editing/ai-image-cropping /docs/openapi.json post /api/image/editing/image-cropping AI Image Cropping API detects the main subject and crops images to target dimensions for thumbnails, layouts, and visual assets. # AI Image Extender Source: https://ailabtools.mintlify.app/api-reference/ai-image->-image-editing/ai-image-extender /docs/openapi.json post /api/image/editing/ai-image-extender AI Image Extender API expands images beyond their original borders using prompts, canvas, frame, or four-side extension modes. # AI Nail Art Source: https://ailabtools.mintlify.app/api-reference/ai-image->-image-editing/ai-nail-art /docs/openapi.json post /api/image/editing/ai-nail-art AI Nail Art API applies prompt-based nail designs to real nail photos, creating realistic manicure previews for beauty apps. # AI Nail Art Pro Source: https://ailabtools.mintlify.app/api-reference/ai-image->-image-editing/ai-nail-art-pro /docs/openapi.json post /api/image/editing/ai-nail-art-pro AI Nail Art Pro API generates reference-guided AI nail designs for salon previews, beauty apps, and production workflows. # AI Object Replacer Source: https://ailabtools.mintlify.app/api-reference/ai-image->-image-editing/ai-object-replacer /docs/openapi.json post /api/image/editing/ai-object-replacer AI Object Replacer API removes masked objects and fills the area with prompt-guided content for clean image editing. # Image Invisible Picture Watermark Source: https://ailabtools.mintlify.app/api-reference/ai-image->-image-editing/image-invisible-picture-watermark /docs/openapi.json post /api/image/editing/image-invisible-image-watermark Image Invisible Picture Watermark API encodes or decodes hidden image and logo watermarks for copyright and asset protection. # Image Invisible Text Watermark Source: https://ailabtools.mintlify.app/api-reference/ai-image->-image-editing/image-invisible-text-watermark /docs/openapi.json post /api/image/editing/image-invisible-text-watermarking Image Invisible Text Watermark API encodes or decodes hidden text watermarks for image ownership and content protection. # Intelligent Composition Source: https://ailabtools.mintlify.app/api-reference/ai-image->-image-editing/intelligent-composition /docs/openapi.json post /api/image/editing/intelligent-composition Intelligent Composition API analyzes image aesthetics and returns smart crop boxes for better framing and composition. # Photo Retouch Source: https://ailabtools.mintlify.app/api-reference/ai-image->-image-editing/photo-retouch /docs/openapi.json post /api/image/editing/photo-retouching Photo Retouch API transfers the style of a reference image onto a target image for AI-powered image repair and retouching. # Remove Objects Source: https://ailabtools.mintlify.app/api-reference/ai-image->-image-editing/remove-objects /docs/openapi.json post /api/image/editing/remove-objects Remove Objects API deletes unwanted objects, people, or text from images using mask-based AI inpainting. # Remove Objects Advanced Source: https://ailabtools.mintlify.app/api-reference/ai-image->-image-editing/remove-objects-advanced /docs/openapi.json post /api/image/editing/remove-objects-advanced Remove Objects Advanced API removes masked objects, people, or text from images with more precise AI inpainting results. # Remove Objects Pro Source: https://ailabtools.mintlify.app/api-reference/ai-image->-image-editing/remove-objects-pro /docs/openapi.json post /api/image/editing/remove-objects-pro Remove Objects Pro API removes masked objects, people, or text from images for high-quality cleanup and professional editing. # AI Cartoon Generator Source: https://ailabtools.mintlify.app/api-reference/ai-image->-image-effects/ai-cartoon-generator /docs/openapi.json post /api/image/effects/ai-anime-generator AI Cartoon Generator API turns photos into cartoon, anime, and stylized illustrations with multiple AI art styles. # AI Emoji Generator Source: https://ailabtools.mintlify.app/api-reference/ai-image->-image-effects/ai-emoji-generator /docs/openapi.json post /api/image/effects/photo-to-emoji-grid AI Emoji Generator API turns portrait or pet photos into emoji-style grids with consistent expressions and scenes. # AI Photo Colorize Source: https://ailabtools.mintlify.app/api-reference/ai-image->-image-effects/ai-photo-colorize /docs/openapi.json post /api/image/effects/image-colorization AI Photo Colorize API converts black-and-white photos into realistic full-color images for restoration and creative projects. # AI Photography Source: https://ailabtools.mintlify.app/api-reference/ai-image->-image-effects/ai-photography /docs/openapi.json post /api/image/effects/ai-photography AI Photography API creates stylized AI photoshoot images from portraits using prompt-defined scenes and styles. # Photo to Coloring Page Source: https://ailabtools.mintlify.app/api-reference/ai-image->-image-effects/photo-to-coloring-page /docs/openapi.json post /api/image/effects/photo-to-line-art Photo to Coloring Page API converts photos into clean line art for printable coloring pages, templates, and creative use. # Photo to Painting Source: https://ailabtools.mintlify.app/api-reference/ai-image->-image-effects/photo-to-painting /docs/openapi.json post /api/image/effects/image-style-conversion Photo to Painting API converts photos into cartoon, pencil, oil painting, and other artistic styles with AI. # Image Color Enhancement Source: https://ailabtools.mintlify.app/api-reference/ai-image->-image-enhancement/image-color-enhancement /docs/openapi.json post /api/image/enhance/image-color-enhancement Image Color Enhancement API improves photo color, saturation, brightness, and contrast for clearer, more vibrant images. # Image Contrast Enhancement Source: https://ailabtools.mintlify.app/api-reference/ai-image->-image-enhancement/image-contrast-enhancement /docs/openapi.json post /api/image/enhance/image-contrast-enhancement Image Contrast Enhancement API adjusts contrast and tone to improve clarity, depth, and visual balance in photos. # Image Dehaze Source: https://ailabtools.mintlify.app/api-reference/ai-image->-image-enhancement/image-dehaze /docs/openapi.json post /api/image/enhance/image-defogging Image Dehaze API removes haze and fog from photos to restore clarity, contrast, and cleaner image details. # Image Sharpness Enhancement Source: https://ailabtools.mintlify.app/api-reference/ai-image->-image-enhancement/image-sharpness-enhancement /docs/openapi.json post /api/image/enhance/image-sharpness-enhancement Image Sharpness Enhancement API deblurs photos and improves edge clarity for sharper, higher-quality images. # Image Upscaler Source: https://ailabtools.mintlify.app/api-reference/ai-image->-image-enhancement/image-upscaler /docs/openapi.json post /api/image/enhance/image-lossless-enlargement Image Upscaler API enlarges images 2x to 4x while enhancing detail, reducing noise, and preserving visual quality. # Stretched Image Restoration Source: https://ailabtools.mintlify.app/api-reference/ai-image->-image-enhancement/stretched-image-restoration /docs/openapi.json post /api/image/enhance/stretch-image-recovery Stretched Image Restoration API detects distorted images and restores natural proportions with AI-powered correction. # AI Flower Wallpaper Source: https://ailabtools.mintlify.app/api-reference/ai-image->-image-generation/ai-flower-wallpaper /docs/openapi.json post /api/image/generation/ai-flower-wallpaper AI Flower Wallpaper API turns names into personalized floral wallpapers, bouquet art, and flower-language image designs. # Image Composition Aesthetics Score Source: https://ailabtools.mintlify.app/api-reference/ai-image->-image-scoring/image-composition-aesthetics-score /docs/openapi.json post /api/image/rating/image-composition-aesthetics-scoring Image Composition Aesthetics Score API rates photo composition from 0 to 5 to help select stronger visual layouts. # Image Exposure Score Source: https://ailabtools.mintlify.app/api-reference/ai-image->-image-scoring/image-exposure-score /docs/openapi.json post /api/image/rating/image-exposure-score Image Exposure Score API evaluates image exposure from 0 to 1 to identify underexposed or overexposed photos. # AI Face Rating Source: https://ailabtools.mintlify.app/api-reference/ai-portrait->-portrait-analysis/ai-face-rating /docs/openapi.json post /api/portrait/analysis/ai-face-rating AI Face Rating API analyzes portraits for beauty score, symmetry, facial proportions, skin impression, and improvement tips. # Face Analyzer Source: https://ailabtools.mintlify.app/api-reference/ai-portrait->-portrait-analysis/face-analyzer /docs/openapi.json post /api/portrait/analysis/face-analyzer Face Analyzer API detects facial position, attributes, attractiveness, pose, and quality metrics from portrait images. # Face Analyzer Advanced Source: https://ailabtools.mintlify.app/api-reference/ai-portrait->-portrait-analysis/face-analyzer-advanced /docs/openapi.json post /api/portrait/analysis/face-analyzer-advanced Face Analyzer Advanced API detects facial attributes and quality metrics, including age, gender, expression, pose, blur, and occlusion. # Facial Landmarks Source: https://ailabtools.mintlify.app/api-reference/ai-portrait->-portrait-analysis/facial-landmarks /docs/openapi.json post /api/portrait/analysis/face-key-points Facial Landmarks API detects 72, 150, or 201 face key points for facial contours, eyes, eyebrows, lips, and nose. # Skin Analyze Source: https://ailabtools.mintlify.app/api-reference/ai-portrait->-portrait-analysis/skin-analyze /docs/openapi.json post /api/portrait/analysis/skin-analysis Skin Analyze API detects skin type, tone, eye bags, dark circles, wrinkles, acne, spots, and other skin conditions. # Skin Analyze Advanced Source: https://ailabtools.mintlify.app/api-reference/ai-portrait->-portrait-analysis/skin-analyze-advanced /docs/openapi.json post /api/portrait/analysis/skin-analysis-advanced Skin Analyze Advanced API detects skin type, tone, eye bags, dark circles, wrinkles, acne, spots, and other skin conditions. # Skin Analyze Pro Source: https://ailabtools.mintlify.app/api-reference/ai-portrait->-portrait-analysis/skin-analyze-pro /docs/openapi.json post /api/portrait/analysis/skin-analysis-pro Skin Analyze Pro API analyzes skin texture, tone, wrinkles, acne, spots, eye bags, and other facial skin conditions. # AI Bald Source: https://ailabtools.mintlify.app/api-reference/ai-portrait->-portrait-editing/ai-bald /docs/openapi.json post /api/portrait/editing/ai-bald AI Bald API creates realistic bald head and hair loss previews from portraits for hairstyle apps and virtual makeover tools. # AI Beard Removal Source: https://ailabtools.mintlify.app/api-reference/ai-portrait->-portrait-editing/ai-beard-removal /docs/openapi.json post /api/portrait/editing/ai-beard-removal AI Beard Removal API removes beards, mustaches, and facial hair from portraits to create realistic clean-shaven results. # AI Beard Styling Source: https://ailabtools.mintlify.app/api-reference/ai-portrait->-portrait-editing/ai-beard-styling /docs/openapi.json post /api/portrait/editing/ai-beard-styling AI Beard Styling API adds realistic beard and mustache styles to portraits for grooming apps, barbershop tools, and virtual try-ons. # AI Breast Expansion Source: https://ailabtools.mintlify.app/api-reference/ai-portrait->-portrait-editing/ai-breast-expansion /docs/openapi.json post /api/portrait/editing/ai-big-tits AI Breast Expansion API enlarges the bust area in portraits while preserving face, clothing, background, and body proportions. # AI Butt Enhancement Source: https://ailabtools.mintlify.app/api-reference/ai-portrait->-portrait-editing/ai-butt-enhancement /docs/openapi.json post /api/portrait/editing/ai-butt-enhancement AI Butt Enhancement API naturally enhances butt shape and curves while preserving body proportions, clothing, pose, and image quality. # AI Colored Contacts Source: https://ailabtools.mintlify.app/api-reference/ai-portrait->-portrait-editing/ai-colored-contacts /docs/openapi.json post /api/portrait/editing/ai-colored-contacts AI Colored Contacts API applies realistic colored contact lens effects to portraits using prompt-guided eye color customization. # AI Eyebrows Source: https://ailabtools.mintlify.app/api-reference/ai-portrait->-portrait-editing/ai-eyebrows /docs/openapi.json post /api/portrait/editing/ai-eyebrows AI Eyebrows API applies reference-guided eyebrow styles to portraits with realistic shape, detail, and high-resolution output. # AI Eyelashes Source: https://ailabtools.mintlify.app/api-reference/ai-portrait->-portrait-editing/ai-eyelashes /docs/openapi.json post /api/portrait/editing/ai-eyelashes AI Eyelashes API applies natural-looking eyelash effects to portraits using prompt-guided eye style enhancement. # AI Eyeshadow Try-On Source: https://ailabtools.mintlify.app/api-reference/ai-portrait->-portrait-editing/ai-eyeshadow-try-on /docs/openapi.json post /api/portrait/editing/ai-eyeshadow AI Eyeshadow Try-On API applies realistic eyeshadow styles while preserving facial features, skin tone, expression, and lighting. # AI Face Swap Source: https://ailabtools.mintlify.app/api-reference/ai-portrait->-portrait-editing/ai-face-swap /docs/openapi.json post /api/portrait/editing/ai-face-swap AI Face Swap API swaps a source face onto a target image and returns an asynchronous task ID for result retrieval. # AI Fat Filter Source: https://ailabtools.mintlify.app/api-reference/ai-portrait->-portrait-editing/ai-fat-filter /docs/openapi.json post /api/portrait/editing/ai-fat-filter AI Fat Filter API makes people look naturally heavier while preserving identity, facial features, clothing, pose, and background. # AI Hair Color Source: https://ailabtools.mintlify.app/api-reference/ai-portrait->-portrait-editing/ai-hair-color /docs/openapi.json post /api/portrait/editing/ai-hair-color AI Hair Color API applies realistic hair color effects to portraits with prompt-guided tones, styles, and natural results. # AI Hair Loss Simulation Source: https://ailabtools.mintlify.app/api-reference/ai-portrait->-portrait-editing/ai-hair-loss-simulation /docs/openapi.json post /api/portrait/editing/ai-hair-loss-simulation AI Hair Loss Simulation API creates realistic hair thinning, receding hairline, and baldness previews from portrait photos. # AI Lip Enhancement Source: https://ailabtools.mintlify.app/api-reference/ai-portrait->-portrait-editing/ai-lip-enhancement /docs/openapi.json post /api/portrait/editing/ai-lip-enhancement AI Lip Enhancement API creates fuller, natural-looking lips while preserving facial features, expression, skin tone, and image quality. # AI Waist Slimming Source: https://ailabtools.mintlify.app/api-reference/ai-portrait->-portrait-editing/ai-waist-slimming /docs/openapi.json post /api/portrait/editing/ai-waist-slimming AI Waist Slimming API creates a slimmer waist while preserving natural body proportions, clothing, pose, and image quality. # Try on Clothes Source: https://ailabtools.mintlify.app/api-reference/ai-portrait->-portrait-editing/try-on-clothes /docs/openapi.json post /api/portrait/editing/try-on-clothes Try on Clothes API generates virtual clothing try-on images from person and garment photos for fashion apps and e-commerce. # Try on Clothes Premium Source: https://ailabtools.mintlify.app/api-reference/ai-portrait->-portrait-editing/try-on-clothes-premium /docs/openapi.json post /api/portrait/editing/try-on-clothes-premium Try on Clothes Premium API creates high-quality virtual try-on images with realistic garment fit, texture, and body alignment. # Try on Clothes Pro Source: https://ailabtools.mintlify.app/api-reference/ai-portrait->-portrait-editing/try-on-clothes-pro /docs/openapi.json post /api/portrait/editing/try-on-clothes-pro Try on Clothes Pro API creates realistic virtual try-on images from flat clothing and full-body portraits for fashion previews. # Age & Gender swap Source: https://ailabtools.mintlify.app/api-reference/ai-portrait->-portrait-effects/age-&-gender-swap /docs/openapi.json post /api/portrait/effects/face-attribute-editing Age & Gender Swap API edits portrait attributes to change age or gender and generate realistic face transformation effects. # AI Big Head Effect Source: https://ailabtools.mintlify.app/api-reference/ai-portrait->-portrait-effects/ai-big-head-effect /docs/openapi.json post /api/portrait/effects/ai-big-head-effect AI Big Head Effect API creates big-head portrait effects while preserving identity, hairstyle, outfit, background, and lighting. # AI Face Enhancer Source: https://ailabtools.mintlify.app/api-reference/ai-portrait->-portrait-effects/ai-face-enhancer /docs/openapi.json post /api/portrait/effects/enhance-face AI Face Enhancer API improves face clarity, restores details, and enhances blurry portrait images with face-driven AI. # AI Face Slimming Source: https://ailabtools.mintlify.app/api-reference/ai-portrait->-portrait-effects/ai-face-slimming /docs/openapi.json post /api/portrait/effects/smart-face-slimming AI Face Slimming API slims faces naturally in portraits while preserving facial identity, expression, and image quality. # AI Halloween Mask Source: https://ailabtools.mintlify.app/api-reference/ai-portrait->-portrait-effects/ai-halloween-mask /docs/openapi.json post /api/portrait/effects/ai-halloween-mask AI Halloween Mask API adds spooky Halloween masks to portraits while preserving identity, lighting, background, and facial structure. # AI Lip Bite Expressions Source: https://ailabtools.mintlify.app/api-reference/ai-portrait->-portrait-effects/ai-lip-bite-expressions /docs/openapi.json post /api/portrait/effects/ai-lip-bite-expressions AI Lip Bite Expressions API turns portraits into consistent lip bite emoji packs with 1, 4, 6, or 9 panels. # AI Red Lip Gloss Source: https://ailabtools.mintlify.app/api-reference/ai-portrait->-portrait-effects/ai-red-lip-gloss /docs/openapi.json post /api/portrait/effects/ai-red-lip-gloss AI Red Lip Gloss API adds glossy red lips to portraits while preserving facial features, expression, skin tone, and natural lighting. # AI Skin Enhancement Source: https://ailabtools.mintlify.app/api-reference/ai-portrait->-portrait-effects/ai-skin-enhancement /docs/openapi.json post /api/portrait/effects/smart-skin AI Skin Enhancement API smooths skin, removes blemishes, and brightens faces and bodies while preserving natural skin texture. # AI Skin Enhancement Advanced Source: https://ailabtools.mintlify.app/api-reference/ai-portrait->-portrait-effects/ai-skin-enhancement-advanced /docs/openapi.json post /api/portrait/effects/smart-skin-advanced AI Skin Enhancement Advanced API removes acne, wrinkles, pores, spots, eye bags, and uneven tone while preserving natural skin texture. # AI Square Face Filter Source: https://ailabtools.mintlify.app/api-reference/ai-portrait->-portrait-effects/ai-square-face-filter /docs/openapi.json post /api/portrait/effects/ai-square-face-filter AI Square Face Filter API turns portraits into rounded-square cartoon avatars while preserving identity and facial features. # Cartoon Yourself Source: https://ailabtools.mintlify.app/api-reference/ai-portrait->-portrait-effects/cartoon-yourself /docs/openapi.json post /api/portrait/effects/portrait-animation Cartoon Yourself API turns portraits into cartoon, anime, Pixar, 3D, pencil, and comic-style images with AI. # Change Facial Expressions Source: https://ailabtools.mintlify.app/api-reference/ai-portrait->-portrait-effects/change-facial-expressions /docs/openapi.json post /api/portrait/effects/emotion-editor Change Facial Expressions API edits portrait expressions with realistic smiles, cool looks, sad faces, and more while preserving identity. # Change Facial Expressions Advanced Source: https://ailabtools.mintlify.app/api-reference/ai-portrait->-portrait-effects/change-facial-expressions-advanced /docs/openapi.json post /api/portrait/effects/emotion-editor-advanced Change Facial Expressions Advanced API applies 100+ realistic expression styles to portraits while preserving facial identity and quality. # Face Beauty Source: https://ailabtools.mintlify.app/api-reference/ai-portrait->-portrait-effects/face-beauty /docs/openapi.json post /api/portrait/effects/face-beauty Face Beauty API retouches portraits with skin smoothing, whitening, face slimming, feature adjustment, acne removal, and makeup effects. # Face Beauty Advanced Source: https://ailabtools.mintlify.app/api-reference/ai-portrait->-portrait-effects/face-beauty-advanced /docs/openapi.json post /api/portrait/effects/face-beauty-advanced Face Beauty Advanced API smooths skin, brightens tone, removes acne, enlarges eyes, and beautifies up to five faces. # Face Beauty Pro Source: https://ailabtools.mintlify.app/api-reference/ai-portrait->-portrait-effects/face-beauty-pro /docs/openapi.json post /api/portrait/effects/face-beauty-pro Face Beauty Pro API provides advanced portrait retouching, face shaping, eyebrow removal, filters, and skin beautification. # Face Blur Source: https://ailabtools.mintlify.app/api-reference/ai-portrait->-portrait-effects/face-blur /docs/openapi.json post /api/portrait/effects/blurred-faces Face Blur API automatically detects and blurs faces in images to protect privacy while preserving overall image quality. # Face Filters Source: https://ailabtools.mintlify.app/api-reference/ai-portrait->-portrait-effects/face-filters /docs/openapi.json post /api/portrait/effects/face-filter Face Filters API applies AI photo filters and special effects to transform image style with adjustable filter intensity. # Hairstyle Changer Premium Source: https://ailabtools.mintlify.app/api-reference/ai-portrait->-portrait-effects/hairstyle-changer-premium /docs/openapi.json post /api/portrait/effects/hairstyle-editor-premium Hairstyle Changer Premium API generates preset or reference-based hairstyles and custom hair colors for men and women. # Hairstyle Changer Pro Source: https://ailabtools.mintlify.app/api-reference/ai-portrait->-portrait-effects/hairstyle-changer-pro /docs/openapi.json post /api/portrait/effects/hairstyle-editor-pro Hairstyle Changer Pro API generates a single AI hairstyle and hair color preview from a portrait photo. # Lips Color Changer Source: https://ailabtools.mintlify.app/api-reference/ai-portrait->-portrait-effects/lips-color-changer /docs/openapi.json post /api/portrait/effects/lips-color-changer Lips Color Changer API applies realistic virtual lipstick colors to portraits using facial recognition and precise lip detection. # Merge Portraits Source: https://ailabtools.mintlify.app/api-reference/ai-portrait->-portrait-effects/merge-portraits /docs/openapi.json post /api/portrait/effects/face-fusion Merge Portraits API blends faces from target and template images using AI face fusion for realistic portrait composites. # Smart Beauty Source: https://ailabtools.mintlify.app/api-reference/ai-portrait->-portrait-effects/smart-beauty /docs/openapi.json post /api/portrait/effects/smart-beauty Smart Beauty API retouches portraits with skin whitening, smoothing, face slimming, facial feature adjustment, and makeup effects. # Try on Clothes Refiner Source: https://ailabtools.mintlify.app/api-reference/ai-portrait->-portrait-enhance/try-on-clothes-refiner /docs/openapi.json post /api/portrait/enhance/try-on-clothes-refiner Try on Clothes Refiner API enhances virtual try-on images with more realistic details, colors, and clothing fit. # Querying Async Task Results Source: https://ailabtools.mintlify.app/docs/ai-common/async-task-results/api GET /api/common/query-async-task-result Query asynchronous task results by task ID, including task status and final result data when processing is complete. Use this endpoint to query asynchronous task status and retrieve final results with the returned `task_id`. Async task results remain available for 24 hours. Query every 5 seconds. ## File Storage Policy # Querying Credits Source: https://ailabtools.mintlify.app/docs/ai-common/querying-credits/api GET /api/common/query-credits Query API credit balances, purchased credits, warning thresholds, and update times for each API identifier. ## Unique Identification
Name Unique Identification
Category Name Unique Identification
Category Name Unique Identification
Category Name Unique Identification
# Costume Background Removal Source: https://ailabtools.mintlify.app/docs/ai-cutout/general/apparel-background-removal Costume Background Removal API removes clothing backgrounds and isolates garments for apparel photos, e-commerce listings, and product displays. ## Renderings show
Original Image
Original Image
Costume Background Removal
-
Costume Background Removal
mask
Costume Background Removal
whiteBK
### Garment Extraction Based on Clothing Categories
Original Image
Original Image
hat
hat
tops
tops
skirt
skirt
shoes
shoes
Original Image
Original Image
tops
tops
pants
pants
bag
bag
shoes
shoes
## Billing Instructions ## File Storage Policy ## Application Scenarios * **E-commerce Apparel Segmentation**: Enables foreground segmentation of e-commerce apparel images, allowing for background separation and replacement, and facilitating batch processing and creation of main images for e-commerce apparel. * **Virtual Try-On Creation**: In virtual try-on scenarios such as wedding photography, traditional ethnic costumes, Hanfu, cosplay makeup, etc., the clothing is segmented through a pre-processing stage of the images, followed by outfit changes and virtual try-ons using AIGC (AI-generated content) technology. * **Personalized Intelligent Recognition**: Allows for segmentation and masking of specified categories within images, including outerwear, tops (including inner linings), pants, skirts, hats, shoes, and bags, thereby enabling personalized clipping and processing of specified types of apparel. ## Featured Advantages * **Multi-Type Automatic Recognition**: Automatically identifies the main apparel in an image without the need for additional specification of clothing positions, and can return masks for specified categories. * **Applicable in Various Apparel Scenes**: Suitable for precise clipping scenarios such as human mannequin apparel, real human apparel, apparel-only images, and virtual human apparel. * **Complex Full Category Segmentation**: Suitable for segmentation of apparel subjects in multiple apparel product categories and under complex background conditions, achieving precise segmentation across all categories. [OriginalImage-1]: https://ai-resource.ailabtools.com/rapidapi/cutout/CostumeBackgroundRemoval/OriginalImage-1.webp [ResultImage-default-1]: https://ai-resource.ailabtools.com/rapidapi/cutout/CostumeBackgroundRemoval/ResultImage-default-1.webp # Costume Background Removal API Source: https://ailabtools.mintlify.app/docs/ai-cutout/general/apparel-background-removal/api POST /api/cutout/general/apparel-background-removal Costume Background Removal API removes clothing backgrounds and isolates garments for apparel photos, e-commerce listings, and product displays. ## Request * **URL**: `https://www.ailabapi.com/api/cutout/general/apparel-background-removal` * **Method**: `POST` * **Content-Type**: `multipart/form-data` ### Image requirements * **Image format**: `JPEG` `JPG` `BMP` `PNG` * **Image size**: No more than 5 MB. * **Image resolution**: Larger than 50x50px, smaller than 3000x3000px. ### Headers | Field | Required | Type | Description | | :----------------- | :------- | :------- | :---------------------------------------------------- | | `ailabapi-api-key` | YES | `string` | Application API KEY. [Get API KEY](/docs/get-api-key) | ### Body | Field | Required | Type | Scope | Example | Default | Description | | :------------ | :------- | :-------- | :------------------------------------------------------ | ----------- | ------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `image` | YES | `file` | | | | | | `out_mode` | NO | `integer` | `0`, `1` | `0` | `0` | ``0`: Default segmentation result of the main clothing.`, ``1`: Combined segmentation result based on the category specified by `cloth\_class`.` | | `cloth_class` | NO | `string` | `tops`, `coat`, `skirt`, `pants`, `bag`, `shoes`, `hat` | `tops,coat` | | ``tops`: Tops.`, ``coat`: Coat.`, ``skirt`: Skirt.`, ``pants`: Pants.`, ``bag`: Bag.`, ``shoes`: Shoes.`, \`\`hat`: Hat.` | | `return_form` | NO | `string` | `mask`, `whiteBK` | | | ``whiteBK`: Returns an image with a white background.`, ``mask`: Returns a single-channel mask.`, `If not specified, a four-channel PNG image will be returned.` | ## Response **Response Field Handling Flow** 1. **Handle `Public Response Fields`** Parse and validate the `Public Response Fields`, checking the status code or response message to ensure the request is successful and error-free. 2. **Handle `Business Response Fields`** If the `Public Response Fields` are valid and error-free, proceed with processing the business logic in the `Business Response Fields`. ### Public Response Fields Viewing Public Response Fields and Error Codes ### Business Response Fields | Field | Type | Description | | :------------- | :------- | :-------------------------------------------------------------------------------------- | | `data` | `object` | The content of the result data returned. | | +`elements` | `array` | Returns an array of elements. | | ++`0` | `object` | | | +++`image_url` | `string` | Returns the keying result image URL address. | | ++`1` | `object` | | | +++`class_url` | `object` | Return the URL corresponding to the clothing category based on the input `cloth_class`. | | ++++`tops` | `string` | Tops URL. | | ++++`coat` | `string` | Coat URL. | | ++++`skirt` | `string` | Skirt URL. | | ++++`pants` | `string` | Pants URL. | | ++++`bag` | `string` | Bag URL. | | ++++`shoes` | `string` | Shoes URL. | | ++++`hat` | `string` | Hat URL. | The URL address is a temporary address, valid for 24 hours, and will not be accessible after it expires. If you need to save the file for a long time or permanently, please visit the URL address within 24 hours and download the file to your own storage space. ### Response Example ```json theme={null} { "request_id": "", "log_id": "", "error_code": 0, "error_msg": "", "error_detail": { "status_code": 200, "code": "", "code_message": "", "message": "" }, "data": { "elements": [ { "image_url": "" }, { "class_url": { "tops": "", "coat": "", "skirt": "", "pants": "", "bag": "", "shoes": "", "hat": "" } } ] } } ``` # Product Background Removal Source: https://ailabtools.mintlify.app/docs/ai-cutout/general/commodity-background-removal Product Background Removal API removes product backgrounds and isolates items for clean e-commerce images, catalogs, and marketplace listings. ## Renderings show | `return_form` | ORIGINAL IMAGE | RESULT IMAGE | | :------------ | :--------------------------------- | :------------------------------------- | | - | ![ORIGINAL IMAGE][OriginalImage-1] | ![RESULT IMAGE][ResultImage-default-1] | | `mask` | ![ORIGINAL IMAGE][OriginalImage-1] | ![RESULT IMAGE][ResultImage-mask-1] | | `whiteBK` | ![ORIGINAL IMAGE][OriginalImage-1] | ![RESULT IMAGE][ResultImage-whiteBK-1] | ## Billing Instructions ## File Storage Policy ## Application Scenarios * **Merchandise poster picture production**: split the target goods from the photographed physical photos of the goods, and then carry out subsequent graphic design to produce promotional pictures of the goods. ## Featured Advantages * **Automatic identification of goods**: It can automatically identify the main goods in the picture and perform accurate segmentation of the main goods and the background. * **Suitable for multi-commodity and complex background scenarios**: suitable for multi-commodity and complex background conditions of commodity segmentation. [OriginalImage-1]: https://ai-resource.ailabtools.com/rapidapi/cutout/ProductBackgroundRemoval/OriginalImage-1.webp [ResultImage-default-1]: https://ai-resource.ailabtools.com/rapidapi/cutout/ProductBackgroundRemoval/ResultImage-default-1.webp [ResultImage-mask-1]: https://ai-resource.ailabtools.com/rapidapi/cutout/ProductBackgroundRemoval/ResultImage-mask-1.webp [ResultImage-whiteBK-1]: https://ai-resource.ailabtools.com/rapidapi/cutout/ProductBackgroundRemoval/ResultImage-whiteBK-1.webp # Product Background Removal API Source: https://ailabtools.mintlify.app/docs/ai-cutout/general/commodity-background-removal/api POST /api/cutout/general/commodity-background-removal Product Background Removal API removes product backgrounds and isolates items for clean e-commerce images, catalogs, and marketplace listings. ## Request * **URL**: `https://www.ailabapi.com/api/cutout/general/commodity-background-removal` * **Method**: `POST` * **Content-Type**: `multipart/form-data` ### Image requirements * **Image format**: `JPEG` `JPG` `BMP` `PNG`(8-bit, 16-bit, 64-bit PNG not supported) * **Image size**: No more than 3 MB. * **Image resolution**: Less than 2000x2000px. ### Headers | Field | Required | Type | Description | | :----------------- | :------- | :------- | :---------------------------------------------------- | | `ailabapi-api-key` | YES | `string` | Application API KEY. [Get API KEY](/docs/get-api-key) | ### Body | Field | Required | Type | Scope | Description | | :------------ | :------- | :------- | :------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `image` | YES | `file` | | | | `return_form` | NO | `string` | `mask`, `whiteBK`, `crop` | Specifies the form of the returned image. `If not set, the four-channel PNG map is returned.` ``mask`: Returns a single channel mask.` ``whiteBK`: Return to white background image.` \`\`crop`: Returns the four-channel PNG image after cropping (cropping out the blank areas around the edges).` | ## Response **Response Field Handling Flow** 1. **Handle `Public Response Fields`** Parse and validate the `Public Response Fields`, checking the status code or response message to ensure the request is successful and error-free. 2. **Handle `Business Response Fields`** If the `Public Response Fields` are valid and error-free, proceed with processing the business logic in the `Business Response Fields`. ### Public Response Fields Viewing Public Response Fields and Error Codes ### Business Response Fields | Field | Type | Description | | :----------- | :------- | :--------------------------------------- | | `data` | `object` | The content of the result data returned. | | +`image_url` | `string` | Resulting image URL address. | The URL address is a temporary address, valid for 24 hours, and will not be accessible after it expires. If you need to save the file for a long time or permanently, please visit the URL address within 24 hours and download the file to your own storage space. ### Response Example ```json theme={null} { "request_id": "", "log_id": "", "error_code": 0, "error_msg": "", "error_detail": { "status_code": 200, "code": "", "code_message": "", "message": "" }, "data": { "image_url": "" } } ``` # Food Background Removal Source: https://ailabtools.mintlify.app/docs/ai-cutout/general/food-background-removal Food Background Removal API removes food image backgrounds and isolates dishes for menus, delivery apps, food blogs, and e-commerce. ## Renderings show | `return_form` | ORIGINAL IMAGE | RESULT IMAGE | | :------------ | :--------------------------------- | :------------------------------------- | | - | ![ORIGINAL IMAGE][OriginalImage-1] | ![RESULT IMAGE][ResultImage-default-1] | | `mask` | ![ORIGINAL IMAGE][OriginalImage-1] | ![RESULT IMAGE][ResultImage-mask-1] | | `whiteBK` | ![ORIGINAL IMAGE][OriginalImage-1] | ![RESULT IMAGE][ResultImage-whiteBK-1] | ## Billing Instructions ## File Storage Policy ## Application Scenarios * **Restaurant menu**: After shooting the actual dishes, the dishes can be keyed out from the cluttered background and added to the menu by food segmentation. * **Food advertising**: in the restaurant industry promotion and publicity, the food photos are keyed and then processed into advertising material. ## Featured Advantages * **Wide range of adaptability**: suitable for automatic keying of most Chinese and Western dishes, bread, cakes and snacks, etc. [OriginalImage-1]: https://ai-resource.ailabtools.com/rapidapi/cutout/FoodBackgroundRemoval/OriginalImage-1.webp [ResultImage-default-1]: https://ai-resource.ailabtools.com/rapidapi/cutout/FoodBackgroundRemoval/ResultImage-default-1.webp [ResultImage-mask-1]: https://ai-resource.ailabtools.com/rapidapi/cutout/FoodBackgroundRemoval/ResultImage-mask-1.webp [ResultImage-whiteBK-1]: https://ai-resource.ailabtools.com/rapidapi/cutout/FoodBackgroundRemoval/ResultImage-whiteBK-1.webp # Food Background Removal API Source: https://ailabtools.mintlify.app/docs/ai-cutout/general/food-background-removal/api POST /api/cutout/general/food-background-removal Food Background Removal API removes food image backgrounds and isolates dishes for menus, delivery apps, food blogs, and e-commerce. ## Request * **URL**: `https://www.ailabapi.com/api/cutout/general/food-background-removal` * **Method**: `POST` * **Content-Type**: `multipart/form-data` ### Image requirements * **Image format**: `JPEG` `JPG` `BMP` `PNG` * **Image size**: No more than 4 MB. * **Image resolution**: Larger than 40x40px, smaller than 1999x1999px. ### Headers | Field | Required | Type | Description | | :----------------- | :------- | :------- | :---------------------------------------------------- | | `ailabapi-api-key` | YES | `string` | Application API KEY. [Get API KEY](/docs/get-api-key) | ### Body | Field | Required | Type | Scope | Description | | :------------ | :------- | :------- | :---------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `image` | YES | `file` | | | | `return_form` | NO | `string` | `mask`, `whiteBK` | Specifies the form of the returned image. `If not set, the four-channel PNG map is returned.` ``mask`: Returns a single channel mask.` ``whiteBK`: Return to white background image.` | ## Response **Response Field Handling Flow** 1. **Handle `Public Response Fields`** Parse and validate the `Public Response Fields`, checking the status code or response message to ensure the request is successful and error-free. 2. **Handle `Business Response Fields`** If the `Public Response Fields` are valid and error-free, proceed with processing the business logic in the `Business Response Fields`. ### Public Response Fields Viewing Public Response Fields and Error Codes ### Business Response Fields | Field | Type | Description | | :----------- | :------- | :--------------------------------------- | | `data` | `object` | The content of the result data returned. | | +`image_url` | `string` | Resulting image URL address. | The URL address is a temporary address, valid for 24 hours, and will not be accessible after it expires. If you need to save the file for a long time or permanently, please visit the URL address within 24 hours and download the file to your own storage space. ### Response Example ```json theme={null} { "request_id": "", "log_id": "", "error_code": 0, "error_msg": "", "error_detail": { "status_code": 200, "code": "", "code_message": "", "message": "" }, "data": { "image_url": "" } } ``` # HD Universal Background Removal Source: https://ailabtools.mintlify.app/docs/ai-cutout/general/hd-universal-background-removal HD Universal Background Removal API removes backgrounds from people, animals, food, and objects with high-definition subject cutouts. ## Renderings show | ORIGINAL IMAGE | RESULT IMAGE | | :--------------------------------: | :----------------------------: | | ![ORIGINAL IMAGE][OriginalImage-1] | ![RESULT IMAGE][ResultImage-1] | ## Billing Instructions ## File Storage Policy ## Application Scenarios * **Image editing**: Intelligent separation of image foreground and background can be done in batch to achieve subsequent secondary editing of images. ## Featured Advantages * **Automatic subject recognition**: automatically identifies the subject object in the image without additional specification. * **Applicable to multiple scenes**: Applicable to people, animals, food, objects, home and other keying scenes, not applicable to cartoon pictures. [OriginalImage-1]: https://ai-resource.ailabtools.com/hd-universal-background-removal/doc/OriginalImage-1.webp [ResultImage-1]: https://ai-resource.ailabtools.com/hd-universal-background-removal/doc/ResultImage-1.webp # HD Universal Background Removal API Source: https://ailabtools.mintlify.app/docs/ai-cutout/general/hd-universal-background-removal/api POST /api/cutout/general/hd-universal-background-removal HD Universal Background Removal API removes backgrounds from people, animals, food, and objects with high-definition subject cutouts. ## Query Task This is an asynchronous task API. The submission request returns only `task_id`. Use `task_id` to call [Querying Async Task Results](/docs/ai-common/async-task-results/api) and retrieve the final result. Async task results remain available for 24 hours. Query every 5 seconds. | Field | Type | Description | | :----------- | :------- | :------------------------ | | `data` | `object` | Final result data. | | +`image_url` | `string` | Result image URL address. | ```json theme={null} { "data": { "image_url": "" } } ``` `image_url` is temporary and remains valid for 24 hours. If you need long-term storage, download the file to your own storage within that period. ## Submit Task # Universal Background Removal Source: https://ailabtools.mintlify.app/docs/ai-cutout/general/universal-background-removal Universal Background Removal API removes image backgrounds from people, animals, food, and objects for clean subject cutouts. ## Renderings show | `return_form` | ORIGINAL IMAGE | RESULT IMAGE | | :------------ | :--------------------------------- | :------------------------------------- | | - | ![ORIGINAL IMAGE][OriginalImage-1] | ![RESULT IMAGE][ResultImage-default-1] | | `mask` | ![ORIGINAL IMAGE][OriginalImage-1] | ![RESULT IMAGE][ResultImage-mask-1] | | `whiteBK` | ![ORIGINAL IMAGE][OriginalImage-1] | ![RESULT IMAGE][ResultImage-whiteBK-1] | | `crop` | ![ORIGINAL IMAGE][OriginalImage-1] | ![RESULT IMAGE][ResultImage-crop-1] | ## Billing Instructions ## File Storage Policy ## Application Scenarios * **Image editing**: Intelligent separation of image foreground and background can be done in batch to achieve subsequent secondary editing of images. ## Featured Advantages * **Automatic subject recognition**: automatically identifies the subject object in the image without additional specification. * **Applicable to multiple scenes**: Applicable to people, animals, food, objects, home and other keying scenes, not applicable to cartoon pictures. [OriginalImage-1]: https://ai-resource.ailabtools.com/rapidapi/cutout/UniversalBackgroundRemoval/OriginalImage-1.webp [ResultImage-default-1]: https://ai-resource.ailabtools.com/rapidapi/cutout/UniversalBackgroundRemoval/ResultImage-default-1.webp [ResultImage-mask-1]: https://ai-resource.ailabtools.com/rapidapi/cutout/UniversalBackgroundRemoval/ResultImage-mask-1.webp [ResultImage-whiteBK-1]: https://ai-resource.ailabtools.com/rapidapi/cutout/UniversalBackgroundRemoval/ResultImage-whiteBK-1.webp [ResultImage-crop-1]: https://ai-resource.ailabtools.com/rapidapi/cutout/UniversalBackgroundRemoval/ResultImage-crop-1.webp # Universal Background Removal API Source: https://ailabtools.mintlify.app/docs/ai-cutout/general/universal-background-removal/api POST /api/cutout/general/universal-background-removal Universal Background Removal API removes image backgrounds from people, animals, food, and objects for clean subject cutouts. ## Request * **URL**: `https://www.ailabapi.com/api/cutout/general/universal-background-removal` * **Method**: `POST` * **Content-Type**: `multipart/form-data` ### Image requirements * **Image format**: `JPEG` `JPG` `BMP` `WEBP` `PNG`(8-bit, 16-bit, 64-bit PNG not supported) * **Image size**: No more than 3 MB. * **Image resolution**: Greater than 32x32px, less than 2000x2000px, with the longest side equal to or less than 1999px. ### Headers | Field | Required | Type | Description | | :----------------- | :------- | :------- | :---------------------------------------------------- | | `ailabapi-api-key` | YES | `string` | Application API KEY. [Get API KEY](/docs/get-api-key) | ### Body | Field | Required | Type | Scope | Description | | :------------ | :------- | :------- | :------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `image` | YES | `file` | | | | `return_form` | NO | `string` | `mask`, `whiteBK`, `crop` | Specifies the form of the returned image. `If not set, the four-channel PNG map is returned.` ``mask`: Returns a single channel mask.` ``whiteBK`: Return to white background image.` \`\`crop`: Returns the four-channel PNG image after cropping (cropping out the blank areas around the edges).` | ## Response **Response Field Handling Flow** 1. **Handle `Public Response Fields`** Parse and validate the `Public Response Fields`, checking the status code or response message to ensure the request is successful and error-free. 2. **Handle `Business Response Fields`** If the `Public Response Fields` are valid and error-free, proceed with processing the business logic in the `Business Response Fields`. ### Public Response Fields Viewing Public Response Fields and Error Codes ### Business Response Fields | Field | Type | Description | | :----------- | :------- | :--------------------------------------- | | `data` | `object` | The content of the result data returned. | | +`image_url` | `string` | Resulting image URL address. | The URL address is a temporary address, valid for 24 hours, and will not be accessible after it expires. If you need to save the file for a long time or permanently, please visit the URL address within 24 hours and download the file to your own storage space. ### Response Example ```json theme={null} { "request_id": "", "log_id": "", "error_code": 0, "error_msg": "", "error_detail": { "status_code": 200, "code": "", "code_message": "", "message": "" }, "data": { "image_url": "" } } ``` # Avatar Extraction Source: https://ailabtools.mintlify.app/docs/ai-cutout/portrait/avatar-extraction Head Extraction API detects and crops head regions from portraits to create clean avatars, profile images, and social media headshots. ## Renderings show | `return_form` | ORIGINAL IMAGE | RESULT IMAGE | | :------------ | :--------------------------------- | :------------------------------------- | | - | ![ORIGINAL IMAGE][OriginalImage-1] | ![RESULT IMAGE][ResultImage-default-1] | | `mask` | ![ORIGINAL IMAGE][OriginalImage-1] | ![RESULT IMAGE][ResultImage-mask-1] | ## Billing Instructions ## File Storage Policy ## Featured Advantages * **Head only**: Accurately key out the hair part of the face, excluding other parts such as the neck. * **Precise segmentation of hair parts**: for fine hair can also be accurately keyed out from the background. [OriginalImage-1]: https://ai-resource.ailabtools.com/rapidapi/cutout/HeadExtraction/OriginalImage-1.webp [ResultImage-default-1]: https://ai-resource.ailabtools.com/rapidapi/cutout/HeadExtraction/ResultImage-default-1.webp [ResultImage-mask-1]: https://ai-resource.ailabtools.com/rapidapi/cutout/HeadExtraction/ResultImage-mask-1.webp # Head Extraction API Source: https://ailabtools.mintlify.app/docs/ai-cutout/portrait/avatar-extraction/api POST /api/cutout/portrait/avatar-extraction Head Extraction API detects and crops head regions from portraits to create clean avatars, profile images, and social media headshots. ## Request * **URL**: `https://www.ailabapi.com/api/cutout/portrait/avatar-extraction` * **Method**: `POST` * **Content-Type**: `multipart/form-data` ### Image requirements * **Image format**: `JPEG` `JPG` `BMP` `PNG` * **Image size**: No more than 3 MB. * **Image resolution**: Larger than 32x32px, smaller than 2000x2000px. ### Headers | Field | Required | Type | Description | | :----------------- | :------- | :------- | :---------------------------------------------------- | | `ailabapi-api-key` | YES | `string` | Application API KEY. [Get API KEY](/docs/get-api-key) | ### Body | Field | Required | Type | Scope | Description | | :------------ | :------- | :------- | :----- | :--------------------------------------------------------------------------------------------------------------------------------------- | | `image` | YES | `file` | | | | `return_form` | NO | `string` | `mask` | Specifies the form of the returned image. `If not set, the four-channel PNG map is returned.` \`\`mask`: Returns a single channel mask.` | ## Response **Response Field Handling Flow** 1. **Handle `Public Response Fields`** Parse and validate the `Public Response Fields`, checking the status code or response message to ensure the request is successful and error-free. 2. **Handle `Business Response Fields`** If the `Public Response Fields` are valid and error-free, proceed with processing the business logic in the `Business Response Fields`. ### Public Response Fields Viewing Public Response Fields and Error Codes ### Business Response Fields | Field | Type | Description | | :------------ | :-------- | :--------------------------------------- | | `data` | `object` | The content of the result data returned. | | +`elements` | `array` | The keying result of each child element. | | ++`image_url` | `string` | Resulting image URL address. | | ++`width` | `integer` | The width of the result map. | | ++`height` | `integer` | The height of the resultant graph. | | ++`x` | `integer` | Top left x-coordinate. | | ++`y` | `integer` | Top left y-coordinate. | The URL address is a temporary address, valid for 24 hours, and will not be accessible after it expires. If you need to save the file for a long time or permanently, please visit the URL address within 24 hours and download the file to your own storage space. ### Response Example ```json theme={null} { "request_id": "", "log_id": "", "error_code": 0, "error_msg": "", "error_detail": { "status_code": 200, "code": "", "code_message": "", "message": "" }, "data": { "elements": [ { "image_url": "", "width": 0, "height": 0, "x": 0, "y": 0 } ] } } ``` # Hairstyle Extraction Source: https://ailabtools.mintlify.app/docs/ai-cutout/portrait/hairstyle-extraction Hairstyle Extraction API extracts hairstyle regions from portrait images and returns the extracted hairstyle result. ## Renderings show | ORIGINAL IMAGE | RESULT IMAGE | | :--------------------------------- | :----------------------------- | | ![ORIGINAL IMAGE][OriginalImage-1] | ![RESULT IMAGE][ResultImage-1] | | ![ORIGINAL IMAGE][OriginalImage-2] | ![RESULT IMAGE][ResultImage-2] | ## Billing Instructions ## File Storage Policy ## Application Scenarios * **Wig network try**: through the hair segmentation, after intercepting the hair of the self-timer, change it into a wig image, you can directly see the effect of the wig try, eliminating the need to return or replace the goods after online shopping wear inappropriate troubles. * **Barbershop hairstyle try**: hairstylists guide customers through the tablet or cell phone shot of their own headshot, changed into a variety of hairstyles, have a more intuitive feeling. Customers can choose their favorite hairstyle and let the hairstylist take care of them. ## Featured Advantages * **Precise segmentation of hair edges**: The edges of hair can be precisely segmented, and the editing result of the image after segmentation has no sense of contradiction. [OriginalImage-1]: https://ai-resource.ailabtools.com/hairstyle-extraction/doc/OriginalImage-1.webp [OriginalImage-2]: https://ai-resource.ailabtools.com/hairstyle-extraction/doc/OriginalImage-2.webp [ResultImage-1]: https://ai-resource.ailabtools.com/hairstyle-extraction/doc/ResultImage-1.webp [ResultImage-2]: https://ai-resource.ailabtools.com/hairstyle-extraction/doc/ResultImage-2.webp # Hairstyle Extraction API Source: https://ailabtools.mintlify.app/docs/ai-cutout/portrait/hairstyle-extraction/api POST /api/cutout/portrait/hairstyle-extraction Hairstyle Extraction API extracts hairstyle regions from portrait images and returns the extracted hairstyle result. ## Request * **URL**: `https://www.ailabapi.com/api/cutout/portrait/hairstyle-extraction` * **Method**: `POST` * **Content-Type**: `multipart/form-data` ### Image requirements * **Image format**: `JPEG` `JPG` `BMP` `PNG` * **Image size**: No more than 3 MB. * **Image resolution**: Larger than 32x32px, smaller than 2000x2000px. ### Headers | Field | Required | Type | Description | | :----------------- | :------- | :------- | :---------------------------------------------------- | | `ailabapi-api-key` | YES | `string` | Application API KEY. [Get API KEY](/docs/get-api-key) | ### Body | Field | Required | Type | | :------ | :------- | :----- | | `image` | YES | `file` | ## Response **Response Field Handling Flow** 1. **Handle `Public Response Fields`** Parse and validate the `Public Response Fields`, checking the status code or response message to ensure the request is successful and error-free. 2. **Handle `Business Response Fields`** If the `Public Response Fields` are valid and error-free, proceed with processing the business logic in the `Business Response Fields`. ### Public Response Fields Viewing Public Response Fields and Error Codes ### Business Response Fields | Field | Type | Description | | :------------ | :-------- | :--------------------------------------- | | `data` | `object` | The content of the result data returned. | | +`elements` | `array` | The keying result of each child element. | | ++`image_url` | `string` | Resulting image URL address. | | ++`width` | `integer` | The width of the result map. | | ++`height` | `integer` | The height of the resultant graph. | | ++`x` | `integer` | Top left x-coordinate. | | ++`y` | `integer` | Top left y-coordinate. | The URL address is a temporary address, valid for 24 hours, and will not be accessible after it expires. If you need to save the file for a long time or permanently, please visit the URL address within 24 hours and download the file to your own storage space. ### Response Example ```json theme={null} { "request_id": "", "log_id": "", "error_code": 0, "error_msg": "", "error_detail": { "status_code": 200, "code": "", "code_message": "", "message": "" }, "data": { "elements": [ { "image_url": "", "width": 0, "height": 0, "x": 0, "y": 0 } ] } } ``` # HD Human Background Removal Source: https://ailabtools.mintlify.app/docs/ai-cutout/portrait/hd-portrait-background-removal HD Human Background Removal API removes portrait backgrounds with high-definition human subject cutouts for photo editing and design. ## Renderings show | ORIGINAL IMAGE | RESULT IMAGE | | :--------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------- | | ![ORIGINAL IMAGE](https://ai-resource.ailabtools.com/hd-human-background-removal/doc/OriginalImage-1.webp) | ![RESULT IMAGE](https://ai-resource.ailabtools.com/hd-human-background-removal/doc/ResultImage-1.webp) | ## Billing Instructions ## File Storage Policy ## Application Scenarios * **Portrait Photography**: Human segmentation accurately isolates the subject from the background and applies background blur to simulate a large-aperture shallow-depth-of-field effect, making the person stand out more prominently. * **ID Photo Creation**: By uploading or capturing a portrait photo, the system precisely segments the person and combines it with various background processing capabilities to generate a standardized ID photo. ## Featured Advantages * **Strand-Level Fine Segmentation**: Achieves exceptionally high accuracy around edge details, precisely separating even individual hair strands. The resulting images appear natural and seamless, with no visible signs of processing. * **Robust to Complex Backgrounds**: Accurately extracts the human subject even in scenes with cluttered or complex backgrounds. * **Supports Multi-Person Images**: Handles single-person and multi-person images, complex scenes, and various human poses with high precision. * **High-Resolution Image Support**: Capable of segmenting higher-resolution images, with file sizes supported up to 40 MB. # HD Human Background Removal API Source: https://ailabtools.mintlify.app/docs/ai-cutout/portrait/hd-portrait-background-removal/api POST /api/cutout/portrait/hd-portrait-background-removal HD Human Background Removal API removes portrait backgrounds with high-definition human subject cutouts for photo editing and design. ## Request * **URL**: `https://www.ailabapi.com/api/cutout/portrait/hd-portrait-background-removal` * **Method**: `POST` * **Content-Type**: `multipart/form-data` ### Image requirements * **Image format**: `JPEG` `JPG` `BMP` `WEBP` `PNG` * **Image size**: No more than 40 MB. * **Image resolution**: Larger than 32x32px, smaller than 6000x6000px. ### Headers | Field | Required | Type | Description | | :----------------- | :------- | :------- | :---------------------------------------------------- | | `ailabapi-api-key` | YES | `string` | Application API KEY. [Get API KEY](/docs/get-api-key) | ### Body | Field | Required | Type | | :------ | :------- | :----- | | `image` | YES | `file` | ## Response Response Field Handling Flow 1. **Handle `Public Response Fields`** Parse and validate the `Public Response Fields`, checking the status code or response message to ensure the request is successful and error-free. 2. **Handle `Business Response Fields`** If the `Public Response Fields` are valid and error-free, proceed with processing the business logic in the `Business Response Fields`. ### Public Response Fields Viewing Public Response Fields and Error Codes ### Business Response Fields | Field | Type | Description | | :----------- | :------- | :--------------------------------------- | | `data` | `object` | The content of the result data returned. | | +`image_url` | `string` | Resulting image URL address. | The URL address is a temporary address, valid for 24 hours, and will not be accessible after it expires. If you need to save the file for a long time or permanently, please visit the URL address within 24 hours and download the file to your own storage space. ### Response Example ```json theme={null} { "request_id": "", "log_id": "", "error_code": 0, "error_msg": "", "error_detail": { "status_code": 200, "code": "", "code_message": "", "message": "" }, "data": { "image_url": "" } } ``` # Portrait Background Removal Source: https://ailabtools.mintlify.app/docs/ai-cutout/portrait/portrait-background-removal Human Background Removal API detects people and removes portrait backgrounds for profile photos, design assets, and e-commerce images. ## Renderings show | `return_form` | ORIGINAL IMAGE | RESULT IMAGE | | :------------ | :--------------------------------- | :------------------------------------- | | - | ![ORIGINAL IMAGE][OriginalImage-1] | ![RESULT IMAGE][ResultImage-default-1] | | `mask` | ![ORIGINAL IMAGE][OriginalImage-1] | ![RESULT IMAGE][ResultImage-mask-1] | | `whiteBK` | ![ORIGINAL IMAGE][OriginalImage-1] | ![RESULT IMAGE][ResultImage-whiteBK-1] | | `crop` | ![ORIGINAL IMAGE][OriginalImage-1] | ![RESULT IMAGE][ResultImage-crop-1] | ## Billing Instructions ## File Storage Policy ## Application Scenarios * **Portrait photography**: human body segmentation by splitting the photographic subject figure from the background, defocusing the background to achieve a large aperture shallow depth of field effect and highlight the figure subject. * **ID photo production**: upload or shoot a life photo, you can finely split the figure out, then with other background processing capabilities, and finally produce a standard ID photo. ## Featured Advantages * **Hair-level fine segmentation**: Provides higher segmentation accuracy in fine areas, down to the hair, so that the resultant image is unobtrusive and difficult to detect as having been processed. * **Adapt to complex backgrounds**: Even if the person is in a complex background environment, the human body can still be accurately segmented from the background. [OriginalImage-1]: https://ai-resource.ailabtools.com/rapidapi/cutout/HumanBackgroundRemoval/OriginalImage-1.webp [ResultImage-default-1]: https://ai-resource.ailabtools.com/rapidapi/cutout/HumanBackgroundRemoval/ResultImage-default-1.webp [ResultImage-mask-1]: https://ai-resource.ailabtools.com/rapidapi/cutout/HumanBackgroundRemoval/ResultImage-mask-1.webp [ResultImage-whiteBK-1]: https://ai-resource.ailabtools.com/rapidapi/cutout/HumanBackgroundRemoval/ResultImage-whiteBK-1.webp [ResultImage-crop-1]: https://ai-resource.ailabtools.com/rapidapi/cutout/HumanBackgroundRemoval/ResultImage-crop-1.webp # Human Background Removal API Source: https://ailabtools.mintlify.app/docs/ai-cutout/portrait/portrait-background-removal/api POST /api/cutout/portrait/portrait-background-removal Human Background Removal API detects people and removes portrait backgrounds for profile photos, design assets, and e-commerce images. ## Request * **URL**: `https://www.ailabapi.com/api/cutout/portrait/portrait-background-removal` * **Method**: `POST` * **Content-Type**: `multipart/form-data` ### Image requirements * **Image format**: `JPEG` `JPG` `BMP` `WEBP` `PNG`(8-bit, 16-bit, 64-bit PNG not supported) * **Image size**: No more than 3 MB. * **Image resolution**: Less than 2000x2000px. ### Headers | Field | Required | Type | Description | | :----------------- | :------- | :------- | :---------------------------------------------------- | | `ailabapi-api-key` | YES | `string` | Application API KEY. [Get API KEY](/docs/get-api-key) | ### Body | Field | Required | Type | Scope | Description | | :------------ | :------- | :------- | :------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `image` | YES | `file` | | | | `return_form` | NO | `string` | `mask`, `whiteBK`, `crop` | Specifies the form of the returned image. `If not set, the four-channel PNG map is returned.` ``mask`: Returns a single channel mask.` ``whiteBK`: Return to white background image.` \`\`crop`: Returns the four-channel PNG image after cropping (cropping out the blank areas around the edges).` | ## Response **Response Field Handling Flow** 1. **Handle `Public Response Fields`** Parse and validate the `Public Response Fields`, checking the status code or response message to ensure the request is successful and error-free. 2. **Handle `Business Response Fields`** If the `Public Response Fields` are valid and error-free, proceed with processing the business logic in the `Business Response Fields`. ### Public Response Fields Viewing Public Response Fields and Error Codes ### Business Response Fields | Field | Type | Description | | :----------- | :------- | :--------------------------------------- | | `data` | `object` | The content of the result data returned. | | +`image_url` | `string` | Resulting image URL address. | The URL address is a temporary address, valid for 24 hours, and will not be accessible after it expires. If you need to save the file for a long time or permanently, please visit the URL address within 24 hours and download the file to your own storage space. ### Response Example ```json theme={null} { "request_id": "", "log_id": "", "error_code": 0, "error_msg": "", "error_detail": { "status_code": 200, "code": "", "code_message": "", "message": "" }, "data": { "image_url": "" } } ``` # AI Image Extender Source: https://ailabtools.mintlify.app/docs/ai-image/editing/ai-image-extender AI Image Extender API expands images beyond their original borders using prompts, canvas, frame, or four-side extension modes. ## Renderings show ### Non-Mask Expanded Image | Original Image | Expanded Content | Result Image | | :----------------------------------------------------------------------------------------------- | :--------------------------------------------------- | :---------------------------------------------------------------------------------------------- | | ![Original Image](https://ai-resource.ailabtools.com/ai-image-extender/doc/OriginalImage-1.webp) | `top`: 50%; `bottom`: 50%; `left`: 50%; `right`: 50% | ![Result Image](https://ai-resource.ailabtools.com/ai-image-extender/doc/ResultImage-1-05.webp) | ### Mask Expanded Image | Original Image | Mask Image | Result Image | | :---------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------ | | ![Original Image](https://ai-resource.ailabtools.com/ai-image-extender/doc/mask-OriginalImage-1.webp) | ![Mask Image](https://ai-resource.ailabtools.com/ai-image-extender/doc/mask-MaskImage-1.webp) | ![Result Image](https://ai-resource.ailabtools.com/ai-image-extender/doc/mask-ResultImage-1.webp) | ## Billing Instructions ## File Storage Policy ## Featured Advantages * **Precise details**: The model can generate highly detailed and accurate images based on textual descriptions. * **Flexible expression**: The model supports a wide range of creative inputs, capable of handling complex and abstract textual descriptions, and transforming them into creative and visually appealing artworks. * **Strong R\&D strength**: We have an independent AI R\&D team, supported by massive data, rich algorithm landing scenarios, and long-term partnership with many brands. * **Efficient and convenient**: The API solution is mature, with standardized documentation & full technical support, making it easier for developers to access and enjoy image processing services quickly. # AI Image Extender API Source: https://ailabtools.mintlify.app/docs/ai-image/editing/ai-image-extender/api POST /api/image/editing/ai-image-extender AI Image Extender API expands images beyond their original borders using prompts, canvas, frame, or four-side extension modes. ## Request * **URL**: `https://www.ailabapi.com/api/image/editing/ai-image-extender` * **Method**: `POST` * **Content-Type**: `multipart/form-data` ### Image requirements * **Image format**: `JPEG` `JPG` `PNG` * **Image size**: No more than 5 MB. * **Image resolution**: Larger than 64x64px, smaller than 4096x4096px. ### Headers | Field | Required | Type | Description | | :----------------- | :------- | :------- | :---------------------------------------------------- | | `ailabapi-api-key` | YES | `string` | Application API KEY. [Get API KEY](/docs/get-api-key) | ### Body #### Fixed Fields | Field | Required | Type | Scope | Default | Description | | :-------------- | :------- | :-------- | :---------- | :------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `custom_prompt` | NO | `string` | | | Prompt Content (English only). Please limit the prompt content to 100 English words or fewer. Any content beyond this limit may have minimal impact on the generated result. Use standard vocabulary to avoid failing the review process. | | `steps` | NO | `integer` | \[1, +] | `30` | Sampling steps determine the level of detail in the generated image. A higher value may result in better quality, but it will significantly increase the processing time. | | `strength` | NO | `float` | \[0.1, 1.0] | `0.8` | The smaller the value, the closer it is to the original image. | | `scale` | NO | `float` | \[1, 20] | `7` | The degree to which the text description influences the output. | | `seed` | NO | `integer` | \[-1, +] | `0` | Random seed, used as the basis for determining the initial state of the diffusion process. It must be a non-negative number (`-1` represents a random seed). If the random seed is the same positive integer and all other parameters are identical, the generated image will most likely be consistent. | | `max_height` | NO | `integer` | \[0, +] | `1920` | Maximum output height. Resized to the specified dimensions as a fallback after the image expansion process. | | `max_width` | NO | `integer` | \[0, +] | `1920` | Maximum output width. Resized to the specified dimensions as a fallback after the image expansion process. | #### Non-Mask Expanded Image | Field | Required | Type | Scope | Default | Example | Description | | :------- | :------- | :------ | :-------- | :------ | :----------------------------------------------------------------------------------------------- | :------------------------- | | `image` | YES | `file` | | | ![Original Image](https://ai-resource.ailabtools.com/ai-image-extender/doc/OriginalImage-1.webp) | Original image. | | `top` | NO | `float` | \[0, 1.0] | `0.1` | | Upward expansion ratio. | | `bottom` | NO | `float` | \[0, 1.0] | `0.1` | | Downward expansion ratio. | | `left` | NO | `float` | \[0, 1.0] | `0.1` | | Leftward expansion ratio. | | `right` | NO | `float` | \[0, 1.0] | `0.1` | | Rightward expansion ratio. | #### Mask Expanded Image | Field | Required | Type | Example | Description | | :------ | :------- | :----- | :---------------------------------------------------------------------------------------------------- | :-------------- | | `image` | YES | `file` | ![Original Image](https://ai-resource.ailabtools.com/ai-image-extender/doc/mask-OriginalImage-1.webp) | Original image. | | `mask` | YES | `file` | ![Mask Image](https://ai-resource.ailabtools.com/ai-image-extender/doc/mask-MaskImage-1.webp) | Mask image. | ## Response **Response Field Handling Flow** 1. **Handle `Public Response Fields`** Parse and validate the `Public Response Fields`, checking the status code or response message to ensure the request is successful and error-free. 2. **Handle `Business Response Fields`** If the `Public Response Fields` are valid and error-free, proceed with processing the business logic in the `Business Response Fields`. ### Public Response Fields Viewing Public Response Fields and Error Codes ### Business Response Fields | Field | Type | Description | | :-------------------- | :---------------- | :----------------------------------------------------------- | | `data` | `object` | The content of the result data returned. | | +`binary_data_base64` | `array of string` | Output the processed image as a Base64 array (single image). | ### Response Example ```json theme={null} { "request_id": "", "log_id": "", "error_code": 0, "error_msg": "", "error_detail": { "status_code": 200, "code": "", "code_message": "", "message": "" }, "data": { "binary_data_base64": [] } } ``` # AI Nail Art Source: https://ailabtools.mintlify.app/docs/ai-image/editing/ai-nail-art AI Nail Art API applies prompt-based nail designs to real nail photos, creating realistic manicure previews for beauty apps. ## Renderings show | Original Image | Prompt Content | Result Image | | :----------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :--------------------------------------------------------------------------------------- | | ![Original Image](https://ai-resource.ailabtools.com/ai-nail-art/doc/OriginalImage-1.webp) | `"Cow Print Nails-Short squoval nails with a glossy cream/ivory base. Features an all-over cow print pattern made of irregular organic blobs in chocolate brown and deep espresso/black accents, with slightly softened edges for a natural hide-like look. High-contrast, minimal, and trendy."` | ![Result Image](https://ai-resource.ailabtools.com/ai-nail-art/doc/ResultImage-1-1.webp) | ## Billing Instructions ## File Storage Policy ## Application Scenarios * **Virtual try-on**: Preview nail colors, patterns, and finishes on real hands before a salon visit or purchase. * **E-commerce visuals**: Generate consistent nail style variants for catalogs, ads, and product detail pages. * **Content creation**: Produce on-brand nail looks for social media, campaigns, and influencer content. * **Design exploration**: Rapidly iterate on themes, seasonal styles, and pattern concepts for mood boards. * **Client communication**: Share realistic mockups to align on expectations and reduce rework. ## Featured Advantages * **Precise nail alignment**: Accurately maps patterns to nail surfaces while keeping cuticles and skin boundaries clean. * **Rich style control**: Supports detailed prompts for color, pattern, finish, nail length, and shape. * **Realistic rendering**: Preserves lighting, shadows, and skin tone for natural-looking results. * **Scalable workflow**: Fast processing and a stable API for batch generation and production use. * **Mature integration**: Standardized documentation and technical support for quick adoption. # AI Nail Art Pro Source: https://ailabtools.mintlify.app/docs/ai-image/editing/ai-nail-art-pro AI Nail Art Pro API generates reference-guided AI nail designs for salon previews, beauty apps, and production workflows. ## Renderings show | SOURCE IMAGE | REFERENCE IMAGE | RESULT IMAGE | | :--------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------ | :--------------------------------------------------------------------------------------- | | ![Source Image](https://ai-resource.ailabtools.com/ai-nail-art/doc/OriginalImage-1.webp) | ![Reference Image](https://ai-resource.ailabtools.com/ai-nail-art/doc/ResultImage-1-1.webp) | ![Result Image](https://ai-resource.ailabtools.com/ai-nail-art/doc/ResultImage-1-1.webp) | ## Billing Instructions ## File Storage Policy ## Application Scenarios * **Nail salon ai preview**: generate realistic before/after mockups for consultation and upsell. * **E-commerce content**: produce high-quality ai nails visuals for product pages and campaign banners. * **Design development**: rapidly test color, pattern, and finish combinations for seasonal nail designs. * **Creator workflow**: build repeatable visual styles from reference photos for social content pipelines. ## Featured Advantages * **Reference-guided transfer**: uses a `reference_image` to better preserve target look and style direction. * **Professional output quality**: supports high-definition outputs for commercial creative use. * **Natural hand consistency**: keeps skin tone, lighting, and hand details coherent after editing. * **Asynchronous processing**: suitable for queueing multiple requests in production systems. # AI Nail Art Pro API Source: https://ailabtools.mintlify.app/docs/ai-image/editing/ai-nail-art-pro/api POST /api/image/editing/ai-nail-art-pro AI Nail Art Pro API generates reference-guided AI nail designs for salon previews, beauty apps, and production workflows. ## Request * **URL**: `https://www.ailabapi.com/api/image/editing/ai-nail-art-pro` * **Method**: `POST` * **Content-Type**: `multipart/form-data` ### API Information | Field | Value | | :-------------------- | :--------------------------------------- | | API Name | `AI Nail Art Pro` | | API URL | `/api/image/editing/ai-nail-art-pro` | | Documentation URL | `/docs/ai-image/editing/ai-nail-art-pro` | | Unique Identification | `image_fingernails_pro` | ### Image requirements | Field | Requirements | | :---------------- | :--------------------------------------------------------------------------------------------------------------- | | `image` | `Image format: JPEG/JPG/PNG/WEBP`, `Image size: No more than 10 MB.`, `Image resolution: Less than 4096x4096px.` | | `reference_image` | `Image format: JPEG/JPG/PNG/WEBP`, `Image size: No more than 10 MB.`, `Image resolution: Less than 4096x4096px.` | ### Headers | Field | Required | Type | Description | | :----------------- | :------- | :------- | :---------------------------------------------------- | | `ailabapi-api-key` | YES | `string` | Application API KEY. [Get API KEY](/docs/get-api-key) | ### Body | Field | Required | Type | Scope | Default | Description | | :---------------- | :------- | :------- | :--------- | :------ | :---------------------------- | | `image` | YES | `file` | | | Source image. | | `reference_image` | YES | `file` | | | Reference image for guidance. | | `resolution` | NO | `string` | `1K`, `2K` | `1K` | Output resolution. | ## Response **Response Field Handling Flow** 1. **Handle `Public Response Fields`** Parse and validate the `Public Response Fields`, checking the status code or response message to ensure the request is successful and error-free. 2. **Handle `Business Response Fields`** If the `Public Response Fields` are valid and error-free, proceed with processing the business logic in the `Business Response Fields`. ### Public Response Fields Viewing Public Response Fields and Error Codes ### Business Response Fields | Field | Type | Scope | Description | | :---------- | :------- | :------ | :------------------------------------------------------------------------------------------------------------------------------------------------ | | `task_type` | `string` | `async` | Task Type. \`\`async`: Asynchronous tasks.` | | `task_id` | `string` | | Asynchronous task ID.
**Please use this field when calling the [Querying Async Task Results](/docs/ai-common/async-task-results/api) API.** | ### Response Example ```json theme={null} { "request_id": "", "log_id": "", "error_code": 0, "error_code_str": "", "error_msg": "", "error_detail": { "status_code": 200, "code": "", "code_message": "", "message": "" }, "task_type": "async", "task_id": "" } ``` This API is asynchronous, please keep `task_id` and call [`Querying Async Task Results`](/docs/ai-common/async-task-results/api) to get the final results. Asynchronous task results are valid for 24 hours. It is recommended that asynchronous task results be queried every 5 seconds. # AI Nail Art API Source: https://ailabtools.mintlify.app/docs/ai-image/editing/ai-nail-art/api POST /api/image/editing/ai-nail-art AI Nail Art API applies prompt-based nail designs to real nail photos, creating realistic manicure previews for beauty apps. ## Request * **URL**: `https://www.ailabapi.com/api/image/editing/ai-nail-art` * **Method**: `POST` * **Content-Type**: `multipart/form-data` ### Image requirements * **Image format**: `JPEG` `JPG` `PNG` `WEBP` * **Image size**: No more than 10 MB. * **Image resolution**: Less than 4096x4096px. ### Headers | Field | Required | Type | Description | | :----------------- | :------- | :------- | :---------------------------------------------------- | | `ailabapi-api-key` | YES | `string` | Application API KEY. [Get API KEY](/docs/get-api-key) | ### Body | Field | Required | Type | Scope | Default | Description | | :---------- | :------- | :------- | :---- | :------ | :---------------------------------------------------------------------------------------------------------------------------------------- | | `image` | YES | `file` | | | Original image. | | `nail_name` | YES | `string` | | | Nail name (English only). Max 500 characters; extra text will be automatically truncated. Use standard vocabulary to pass review. | | `nail_desc` | YES | `string` | | | Nail description (English only). Max 1000 characters; extra text will be automatically truncated. Use standard vocabulary to pass review. | ## Response **Response Field Handling Flow** 1. **Handle `Public Response Fields`** Parse and validate the `Public Response Fields`, checking the status code or response message to ensure the request is successful and error-free. 2. **Handle `Business Response Fields`** If the `Public Response Fields` are valid and error-free, proceed with processing the business logic in the `Business Response Fields`. ### Public Response Fields Viewing Public Response Fields and Error Codes ### Business Response Fields | Field | Type | Scope | Description | | :---------- | :------- | :------ | :------------------------------------------------------------------------------------------------------------------------------------------------ | | `task_type` | `string` | `async` | Task Type. \`\`async`: Asynchronous tasks.` | | `task_id` | `string` | | Asynchronous task ID.
**Please use this field when calling the [Querying Async Task Results](/docs/ai-common/async-task-results/api) API.** | ### Response Example ```json theme={null} { "request_id": "", "log_id": "", "error_code": 0, "error_code_str": "", "error_msg": "", "error_detail": { "status_code": 200, "code": "", "code_message": "", "message": "" }, "task_type": "async", "task_id": "" } ``` This API is asynchronous, please keep `task_id` and call [`Querying Async Task Results`](ai-common/async-task-results/api) to get the final results. Asynchronous task results are valid for 24 hours. It is recommended that asynchronous task results be queried every 5 seconds. # AI Object Replacer Source: https://ailabtools.mintlify.app/docs/ai-image/editing/ai-object-replacer AI Object Replacer API removes masked objects and fills the area with prompt-guided content for clean image editing. ## Renderings show | Original Image | Prompt Content | Mask Image | Result Image | | :------------------------------------------------------------------------------------------------ | :---------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------ | :---------------------------------------------------------------------------------------------- | | ![Original Image](https://ai-resource.ailabtools.com/ai-object-replacer/doc/OriginalImage-1.webp) | `A country road winds through a field of dry, yellow grass, bordered by wooden fences on both sides.` | ![Mask Image](https://ai-resource.ailabtools.com/ai-object-replacer/doc/MaskImage-1-1.webp) | ![Result Image](https://ai-resource.ailabtools.com/ai-object-replacer/doc/ResultImage-1-1.webp) | ## Billing Instructions ## File Storage Policy ## Application Scenarios * **Logo erasure**: Erase common logos in images, such as logos, text, subtitles, etc., which can be used for image material re-creation. * **Portrait Erase**: Erase extra portraits in the image, such as background portraits of passers-by, pedestrians, etc., in addition to the main character, to highlight the subject of the photo. * **Clutter Erase**: Erase excess objects from the image, such as trash cans, buildings, or power lines, and retain the original photo resolution. * **Other scenes**: applicable to other elements erasure, automatically fill the background obscured by the erased area, the effect is real and natural ## Featured Advantages * **Strong R\&D strength**: We have an independent AI R\&D team, supported by massive data, rich algorithm landing scenarios, and long-term partnership with many brands. * **Efficient and convenient**: The API solution is mature, with standardized documentation & full technical support, making it easier for developers to access and enjoy image processing services quickly. # AI Object Replacer API Source: https://ailabtools.mintlify.app/docs/ai-image/editing/ai-object-replacer/api POST /api/image/editing/ai-object-replacer AI Object Replacer API removes masked objects and fills the area with prompt-guided content for clean image editing. ## Request * **URL**: `https://www.ailabapi.com/api/image/editing/ai-object-replacer` * **Method**: `POST` * **Content-Type**: `multipart/form-data` ### Image requirements * **Image format**: `JPEG` `JPG` `PNG` * **Image size**: No more than 5 MB. * **Image resolution**: Larger than 64x64px, smaller than 4096x4096px. #### Mask image requirements: 1. Single-channel grayscale image (0-255). 2. Three-channel image, with equal RGB values. 3. RGBA four-channel image, with equal RGB values and the A channel all set to 255. 4. File format: 8-bit PNG encoding, do not embed "ICC Profile". ### Headers | Field | Required | Type | Description | | :----------------- | :------- | :------- | :---------------------------------------------------- | | `ailabapi-api-key` | YES | `string` | Application API KEY. [Get API KEY](/docs/get-api-key) | ### Body | Field | Required | Type | Scope | Default | Description | | :-------------- | :------- | :-------- | :------- | :------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `image` | YES | `file` | | | Original image. | | `mask` | YES | `file` | | | Mask image. | | `custom_prompt` | NO | `string` | | | Prompt Content (English only). Please limit the prompt content to 100 English words or fewer. Any content beyond this limit may have minimal impact on the generated result. Use standard vocabulary to avoid failing the review process. | | `steps` | NO | `integer` | \[1, +] | `25` | Sampling steps determine the level of detail in the generated image. A higher value may result in better quality, but it will significantly increase the processing time. | | `scale` | NO | `float` | \[1, 20] | `5` | The degree to which the text description influences the output. | | `seed` | NO | `integer` | \[-1, +] | `-1` | Random seed, used as the basis for determining the initial state of the diffusion process. It must be a non-negative number (`-1` represents a random seed). If the random seed is the same positive integer and all other parameters are identical, the generated image will most likely be consistent. | ## Response **Response Field Handling Flow** 1. **Handle `Public Response Fields`** Parse and validate the `Public Response Fields`, checking the status code or response message to ensure the request is successful and error-free. 2. **Handle `Business Response Fields`** If the `Public Response Fields` are valid and error-free, proceed with processing the business logic in the `Business Response Fields`. ### Public Response Fields Viewing Public Response Fields and Error Codes ### Business Response Fields | Field | Type | Description | | :-------------------- | :---------------- | :----------------------------------------------------------- | | `data` | `object` | The content of the result data returned. | | +`binary_data_base64` | `array of string` | Output the processed image as a Base64 array (single image). | ### Response Example ```json theme={null} { "request_id": "", "log_id": "", "error_code": 0, "error_msg": "", "error_detail": { "status_code": 200, "code": "", "code_message": "", "message": "" }, "data": { "binary_data_base64": [] } } ``` # AI Image Cropping Source: https://ailabtools.mintlify.app/docs/ai-image/editing/image-cropping AI Image Cropping API detects the main subject and crops images to target dimensions for thumbnails, layouts, and visual assets. ## Renderings show | Before processing | After processing | | :------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------- | | ![Before processing](https://img.ailabtools.com/rapidapi/ImageCropping/untreated-1-min.jpg) | ![After processing](https://img.ailabtools.com/rapidapi/ImageCropping/after-1-min.jpg) | | ![Before processing](https://img.ailabtools.com/rapidapi/ImageCropping/untreated-2-min.jpg) | ![After processing](https://img.ailabtools.com/rapidapi/ImageCropping/after-2-min.jpg) | ## Billing Instructions ## File Storage Policy # AI Image Cropping API Source: https://ailabtools.mintlify.app/docs/ai-image/editing/image-cropping/api POST /api/image/editing/image-cropping AI Image Cropping API detects the main subject and crops images to target dimensions for thumbnails, layouts, and visual assets. ## Request * **URL**: `https://www.ailabapi.com/api/image/editing/image-cropping` * **Method**: `POST` * **Content-Type**: `multipart/form-data` ### Image requirements * **Image format**: `JPEG` `JPG` `PNG` `BMP` `WEBP` * **Image size**: No more than 3.5 MB. * **Image resolution**: Less than 2000x2000px. * The images must all be RGB 3-channel. ### Headers | Field | Required | Type | Description | | :----------------- | :------- | :------- | :---------------------------------------------------- | | `ailabapi-api-key` | YES | `string` | Application API KEY. [Get API KEY](/docs/get-api-key) | ### Body | Field | Required | Type | Description | | :------- | :------- | :-------- | :---------------------------------- | | `image` | YES | `file` | | | `width` | YES | `integer` | The width of the target. Unit: px. | | `height` | YES | `integer` | The height of the target. Unit: px. | ## Response **Response Field Handling Flow** 1. **Handle `Public Response Fields`** Parse and validate the `Public Response Fields`, checking the status code or response message to ensure the request is successful and error-free. 2. **Handle `Business Response Fields`** If the `Public Response Fields` are valid and error-free, proceed with processing the business logic in the `Business Response Fields`. ### Public Response Fields Viewing Public Response Fields and Error Codes ### Business Response Fields | Field | Type | Description | | :----------------- | :-------- | :----------------------------------------------------------------------------------------------------- | | `data` | `object` | The content of the result data returned. | | +`url` | `string` | The URL address of the image after size transformation. | | +`retain_location` | `object` | The coordinate information of the original image data in the generated image. | | ++`width` | `integer` | Outputs the width of the original image after isoscaling according to the specified width. Unit: px. | | ++`height` | `integer` | Outputs the height of the original image after isoscaling according to the specified height. Unit: px. | | ++`y` | `integer` | The y-coordinate of the upper-left corner of the original figure. | | ++`x` | `integer` | The x coordinate of the upper left corner of the original figure. | The URL address is a temporary address, valid for 24 hours, and will not be accessible after it expires. If you need to save the file for a long time or permanently, please visit the URL address within 24 hours and download the file to your own storage space. ### Response Example ```json theme={null} { "request_id": "", "log_id": "", "error_code": 0, "error_msg": "", "error_detail": { "status_code": 200, "code": "", "code_message": "", "message": "" }, "data": { "url": "", "retain_location": { "width": 0, "height": 0, "y": 0, "x": 0 } } } ``` # Image Invisible Picture Watermark Source: https://ailabtools.mintlify.app/docs/ai-image/editing/image-invisible-image-watermark Image Invisible Picture Watermark API encodes or decodes hidden image and logo watermarks for copyright and asset protection. ## Renderings show | `function_type` | `logo` | `origin_image` | `watermark_image` | `output_file_type` | `watermark_image_url` | `logo_url` | | :---------------- | :-------------- | :------------------------------ | :-------------------------------------------------------- | :----------------- | :------------------------------------------------------------ | :---------------------- | | `encode_pic` | ![logo][logo-1] | ![origin image][origin_image-1] | - | `jpg` | ![watermark image url][watermark_image_url-encode_pic-1] | - | | `encode_pic_plus` | ![logo][logo-1] | ![origin image][origin_image-1] | - | `jpg` | ![watermark image url][watermark_image_url-encode_pic_plus-1] | - | | `encode_pic_bold` | ![logo][logo-1] | ![origin image][origin_image-1] | - | `jpg` | ![watermark image url][watermark_image_url-encode_pic_bold-1] | - | | `decode_pic` | - | ![origin image][origin_image-1] | ![watermark image][watermark_image_url-encode_pic-1] | - | - | ![logo url][logo_url-1] | | `decode_pic_plus` | - | - | ![watermark image][watermark_image_url-encode_pic_plus-1] | - | - | ![logo url][logo_url-1] | | `decode_pic_bold` | - | - | ![watermark image][watermark_image_url-encode_pic_bold-1] | - | - | ![logo url][logo_url-1] | ## Billing Instructions ## File Storage Policy ## Application Scenarios * **Copyright protection**: The author of the image enjoys the copyright according to the law. Adding invisible watermark to the image can prove the copyright ownership of the image for the author or authorized person of the image, and avoid the image being used illegally without the authorization of the author. * **Preventing information leakage**: In the pictures of confidential information, different invisible watermarks are put on the pictures for different visitors. If the image is leaked, the source of the leak can be investigated by analyzing the invisible watermark. ## Featured Advantages * **Concealed and reliable effect**: Invisible watermark compared with the traditional stamp watermark, which can not be detected by the viewer, does not affect the picture effect. * **Resolvability**: The watermark is resolved through the image invisible image watermark interface to prove the copyright ownership of the image. [logo-1]: https://img.ailabtools.com/rapidapi/AddBlindImageWatermark/logo-1-min.png [origin_image-1]: https://img.ailabtools.com/rapidapi/AddBlindImageWatermark/origin_image-1-min.jpg [watermark_image_url-encode_pic-1]: https://img.ailabtools.com/rapidapi/AddBlindImageWatermark/watermark_image_url-encode_pic-1-min.jpg [watermark_image_url-encode_pic_plus-1]: https://img.ailabtools.com/rapidapi/AddBlindImageWatermark/watermark_image_url-encode_pic_plus-1-min.jpg [watermark_image_url-encode_pic_bold-1]: https://img.ailabtools.com/rapidapi/AddBlindImageWatermark/watermark_image_url-encode_pic_bold-1-min.jpg [logo_url-1]: https://img.ailabtools.com/rapidapi/AddBlindImageWatermark/logo_url-1-min.png # Image Invisible Picture Watermark API Source: https://ailabtools.mintlify.app/docs/ai-image/editing/image-invisible-image-watermark/api POST /api/image/editing/image-invisible-image-watermark Image Invisible Picture Watermark API encodes or decodes hidden image and logo watermarks for copyright and asset protection. ## Request * **URL**: `https://www.ailabapi.com/api/image/editing/image-invisible-image-watermark` * **Method**: `POST` * **Content-Type**: `multipart/form-data` ### Image requirements * **Image format**: `JPEG` `JPG` `PNG` `BMP` * **Image size**: No more than 3 MB. * **Image resolution**: Larger than 5x5px, smaller than 4096x4096px. ### Headers | Field | Required | Type | Description | | :----------------- | :------- | :------- | :---------------------------------------------------- | | `ailabapi-api-key` | YES | `string` | Application API KEY. [Get API KEY](/docs/get-api-key) | ### Body #### Fixed Fields | Field | Required | Type | Scope | Description | | :-------------- | :------- | :------- | :----------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `function_type` | YES | `string` | `encode_pic`, `encode_pic_plus`, `encode_pic_bold`, `decode_pic`, `decode_pic_plus`, `decode_pic_bold` | Specifies the calling function. ``encode_pic`: Add image watermark using the old model.` ``encode\_pic\_plus`: Add image watermark with new version model 1.` ``encode_pic_bold`: Add image watermark with new version model 2.` ``decode\_pic`: Use the old model to decode the image watermark in the image.` ``decode_pic_plus`: Use the new version Model 1 to decode the image watermark in the image.` ``decode\_pic\_bold`: Use the new version Model 2 to decode the image watermark in the image.` | #### `function_type` === `encode_pic`|`encode_pic_plus`|`encode_pic_bold` | Field | Required | Type | Scope | Default | Description | | :----------------- | :------- | :------- | :-------------------------- | :------ | :---------------- | | `origin_image` | YES | `file` | | | Original image. | | `logo` | YES | `file` | | | Watermark images. | | `output_file_type` | NO | `string` | `jpeg`, `png`, `jpg`, `bmp` | `png` | Output format. | #### `function_type` === `decode_pic` | Field | Required | Type | Scope | Default | Description | | :---------------- | :------- | :----- | :---- | :------ | :--------------------------------------------------------------------------- | | `watermark_image` | YES | `file` | | | The image to be resolved, i.e. the composite image with the image watermark. | | `origin_image` | YES | `file` | | | Original image. | #### `function_type` === `decode_pic_plus`|`decode_pic_bold` | Field | Required | Type | Scope | Default | Description | | :---------------- | :------- | :----- | :---- | :------ | :--------------------------------------------------------------------------- | | `watermark_image` | YES | `file` | | | The image to be resolved, i.e. the composite image with the image watermark. | #### `output_file_type` === `jpg` | Field | Required | Type | Scope | Default | Description | | :--------------- | :------- | :-------- | :-------- | :------ | :--------------------------------------------------------------------------------- | | `quality_factor` | NO | `integer` | \[1, 100] | `100` | The quality size of the output image, the higher the quality the larger the image. | ## Response **Response Field Handling Flow** 1. **Handle `Public Response Fields`** Parse and validate the `Public Response Fields`, checking the status code or response message to ensure the request is successful and error-free. 2. **Handle `Business Response Fields`** If the `Public Response Fields` are valid and error-free, proceed with processing the business logic in the `Business Response Fields`. ### Public Response Fields Viewing Public Response Fields and Error Codes ### Business Response Fields | Field | Type | Description | | :--------------------- | :------- | :------------------------------------------ | | `data` | `object` | The content of the result data returned. | | +`watermark_image_url` | `string` | The URL address after adding the watermark. | | +`logo_url` | `string` | Watermark URL address after decoding. | The URL address is a temporary address, valid for 24 hours, and will not be accessible after it expires. If you need to save the file for a long time or permanently, please visit the URL address within 24 hours and download the file to your own storage space. ### Response Example ```json theme={null} { "request_id": "", "log_id": "", "error_code": 0, "error_msg": "", "error_detail": { "status_code": 200, "code": "", "code_message": "", "message": "" }, "data": { "watermark_image_url": "", "logo_url": "" } } ``` # Image Invisible Text Watermark Source: https://ailabtools.mintlify.app/docs/ai-image/editing/image-invisible-text-watermarking Image Invisible Text Watermark API encodes or decodes hidden text watermarks for image ownership and content protection. ## Renderings show | `function_type` | `text` | `origin_image` | `watermark_image` | `output_file_type` | `watermark_image_url` | `text_image_url` | | :----------------- | :--------- | :------------------------------ | :------------------------------------------------------------- | :----------------- | :------------------------------------------------------------- | :----------------------------------------------- | | `encode_text` | `AILabAPI` | ![origin image][origin_image-1] | - | `jpg` | ![watermark image url][watermark_image_url-encode_text-1] | - | | `encode_text_plus` | `AILabAPI` | ![origin image][origin_image-1] | - | `jpg` | ![watermark image url][watermark_image_url-encode_text_plus-1] | - | | `encode_text_bold` | `AILabAPI` | ![origin image][origin_image-1] | - | `jpg` | ![watermark image url][watermark_image_url-encode_text_bold-1] | - | | `decode_text` | - | ![origin image][origin_image-1] | ![watermark image url][watermark_image_url-encode_text-1] | - | - | ![text image][text_image_url-encode_text-1] | | `decode_text_plus` | - | - | ![watermark image url][watermark_image_url-encode_text_plus-1] | - | - | ![text image][text_image_url-encode_text_plus-1] | | `decode_text_bold` | - | - | ![watermark image url][watermark_image_url-encode_text_bold-1] | - | - | ![text image][text_image_url-encode_text_bold-1] | ## Billing Instructions ## File Storage Policy ## Application Scenarios * **Copyright protection**: The author of the image enjoys the copyright according to the law. Adding invisible watermark to the image can prove the copyright ownership of the image for the author or authorized person of the image, and avoid the image being used illegally without the authorization of the author. * **Preventing information leakage**: In the pictures of confidential information, different invisible watermarks are put on the pictures for different visitors. If the image is leaked, the source of the leak can be investigated by analyzing the invisible watermark. ## Featured Advantages * **Concealed and reliable effect**: Invisible watermark compared with the traditional stamp watermark, which can not be detected by the viewer, does not affect the picture effect. * **Resolvability**: The watermark is resolved by the invisible text watermark of the image to prove the copyright ownership of the image. [origin_image-1]: https://img.ailabtools.com/rapidapi/AddBlindTextWatermark/origin_image-1-min.jpg [watermark_image_url-encode_text-1]: https://img.ailabtools.com/rapidapi/AddBlindTextWatermark/watermark_image_url-encode_text-1-min.jpg [watermark_image_url-encode_text_plus-1]: https://img.ailabtools.com/rapidapi/AddBlindTextWatermark/watermark_image_url-encode_text_plus-1-min.jpg [watermark_image_url-encode_text_bold-1]: https://img.ailabtools.com/rapidapi/AddBlindTextWatermark/watermark_image_url-encode_text_bold-1-min.jpg [text_image_url-encode_text-1]: https://img.ailabtools.com/rapidapi/AddBlindTextWatermark/text_image_url-encode_text-1-min.png [text_image_url-encode_text_plus-1]: https://img.ailabtools.com/rapidapi/AddBlindTextWatermark/text_image_url-encode_text_plus-1-min.png [text_image_url-encode_text_bold-1]: https://img.ailabtools.com/rapidapi/AddBlindTextWatermark/text_image_url-encode_text_bold-1-min.png # Image Invisible Text Watermark API Source: https://ailabtools.mintlify.app/docs/ai-image/editing/image-invisible-text-watermarking/api POST /api/image/editing/image-invisible-text-watermarking Image Invisible Text Watermark API encodes or decodes hidden text watermarks for image ownership and content protection. ## Request * **URL**: `https://www.ailabapi.com/api/image/editing/image-invisible-text-watermarking` * **Method**: `POST` * **Content-Type**: `multipart/form-data` ### Image requirements * **Image format**: `JPEG` `JPG` `PNG` `BMP` * **Image size**: No more than 3 MB. * **Image resolution**: Larger than 5x5px, smaller than 4096x4096px. ### Headers | Field | Required | Type | Description | | :----------------- | :------- | :------- | :---------------------------------------------------- | | `ailabapi-api-key` | YES | `string` | Application API KEY. [Get API KEY](/docs/get-api-key) | ### Body #### Fixed Fields | Field | Required | Type | Scope | Description | | :-------------- | :------- | :------- | :----------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `function_type` | YES | `string` | `encode_text`, `encode_text_plus`, `encode_text_bold`, `decode_text`, `decode_text_plus`, `decode_text_bold` | Specifies the calling function. ``encode_text`: Add text watermark using the old version model.` ``encode\_text\_plus`: Add text watermark using the new version model 1.` ``encode_text_bold`: Add text watermark using the new version model 2.` ``decode\_text`: Use the old model to decode the text watermark in the image.` ``decode_text_plus`: Use the new version of Model 1 to decode text watermarks in images.` ``decode\_text\_bold`: Use the new version Model 2 to decode the image watermark in the image.` | #### `function_type` === `encode_text`|`encode_text_plus`|`encode_text_bold` | Field | Required | Type | Scope | Default | Description | | :----------------- | :------- | :------- | :------------------ | :------ | :------------------------------------- | | `origin_image` | YES | `file` | | | Original image. | | `text` | YES | `string` | | | The text of the watermark to be added. | | `output_file_type` | NO | `string` | `png`, `jpg`, `bmp` | `png` | Output format. | #### `function_type` === `decode_text` | Field | Required | Type | Scope | Default | Description | | :---------------- | :------- | :----- | :---- | :------ | :----------------------------------------------------------------------- | | `watermark_image` | YES | `file` | | | The image to be resolved, i.e., a composite image with a text watermark. | | `origin_image` | YES | `file` | | | Original image. | #### `function_type` === `decode_text_plus`|`decode_text_bold` | Field | Required | Type | Scope | Default | Description | | :---------------- | :------- | :----- | :---- | :------ | :----------------------------------------------------------------------- | | `watermark_image` | YES | `file` | | | The image to be resolved, i.e., a composite image with a text watermark. | #### `output_file_type` === `jpg` | Field | Required | Type | Scope | Default | Description | | :--------------- | :------- | :-------- | :-------- | :------ | :--------------------------------------------------------------------------------- | | `quality_factor` | NO | `integer` | \[1, 100] | `100` | The quality size of the output image, the higher the quality the larger the image. | ## Response **Response Field Handling Flow** 1. **Handle `Public Response Fields`** Parse and validate the `Public Response Fields`, checking the status code or response message to ensure the request is successful and error-free. 2. **Handle `Business Response Fields`** If the `Public Response Fields` are valid and error-free, proceed with processing the business logic in the `Business Response Fields`. ### Public Response Fields Viewing Public Response Fields and Error Codes ### Business Response Fields | Field | Type | Description | | :--------------------- | :------- | :------------------------------------------ | | `data` | `object` | The content of the result data returned. | | +`watermark_image_url` | `string` | The URL address after adding the watermark. | | +`text_image_url` | `string` | Watermark URL address after decoding. | The URL address is a temporary address, valid for 24 hours, and will not be accessible after it expires. If you need to save the file for a long time or permanently, please visit the URL address within 24 hours and download the file to your own storage space. ### Response Example ```json theme={null} { "request_id": "", "log_id": "", "error_code": 0, "error_msg": "", "error_detail": { "status_code": 200, "code": "", "code_message": "", "message": "" }, "data": { "watermark_image_url": "", "text_image_url": "" } } ``` # Intelligent Composition Source: https://ailabtools.mintlify.app/docs/ai-image/editing/intelligent-composition Intelligent Composition API analyzes image aesthetics and returns smart crop boxes for better framing and composition. ## Billing Instructions ## File Storage Policy # Intelligent Composition API Source: https://ailabtools.mintlify.app/docs/ai-image/editing/intelligent-composition/api POST /api/image/editing/intelligent-composition Intelligent Composition API analyzes image aesthetics and returns smart crop boxes for better framing and composition. ## Request * **URL**: `https://www.ailabapi.com/api/image/editing/intelligent-composition` * **Method**: `POST` * **Content-Type**: `multipart/form-data` ### Image requirements * **Image format**: `JPEG` `JPG` `PNG` `BMP` `WEBP` * **Image size**: No more than 3 MB. * **Image resolution**: Larger than 32x32px, smaller than 4096x4096px. ### Headers | Field | Required | Type | Description | | :----------------- | :------- | :------- | :---------------------------------------------------- | | `ailabapi-api-key` | YES | `string` | Application API KEY. [Get API KEY](/docs/get-api-key) | ### Body | Field | Required | Type | Scope | Default | Description | | :---------- | :------- | :-------- | :------------------------------------------------ | :------ | :-------------------------- | | `image` | YES | `file` | | | | | `num_boxes` | NO | `integer` | `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10` | `5` | The number of output boxes. | ## Response **Response Field Handling Flow** 1. **Handle `Public Response Fields`** Parse and validate the `Public Response Fields`, checking the status code or response message to ensure the request is successful and error-free. 2. **Handle `Business Response Fields`** If the `Public Response Fields` are valid and error-free, proceed with processing the business logic in the `Business Response Fields`. ### Public Response Fields Viewing Public Response Fields and Error Codes ### Business Response Fields | Field | Type | Description | | :---------- | :-------- | :----------------------------------------------------------------------------------------------------------- | | `data` | `object` | The content of the result data returned. | | +`elements` | `array` | Intelligent composition results. | | ++`min_x` | `integer` | The horizontal coordinate of the upper-left corner of the output box. | | ++`max_x` | `integer` | The horizontal coordinate of the lower-right corner of the output box. | | ++`min_y` | `integer` | The vertical coordinate of the upper-left corner of the output box. | | ++`max_y` | `integer` | The lower-right vertical coordinate of the output box. | | ++`score` | `float` | The higher the score, the better the composition. 3.8 or above is recommended as a better composition score. | ### Response Example ```json theme={null} { "request_id": "", "log_id": "", "error_code": 0, "error_msg": "", "error_detail": { "status_code": 200, "code": "", "code_message": "", "message": "" }, "data": { "elements": [ { "min_x": 0, "max_x": 0, "min_y": 0, "max_y": 0, "score": 0 } ] } } ``` # Photo Retouch Source: https://ailabtools.mintlify.app/docs/ai-image/editing/photo-retouching Photo Retouch API transfers the style of a reference image onto a target image for AI-powered image repair and retouching. ## Renderings show | Original Image | Reference Picture | Result Image | | :----------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------- | | ![Original Image](https://img.ailabtools.com/rapidapi/ReferPictureRestoringPicture/original-1-min.jpg) | ![Reference Picture](https://img.ailabtools.com/rapidapi/ReferPictureRestoringPicture/reference-1-min.jpg) | ![Result Image](https://img.ailabtools.com/rapidapi/ReferPictureRestoringPicture/result-1-min.jpg) | ## Billing Instructions ## File Storage Policy # Photo Retouch API Source: https://ailabtools.mintlify.app/docs/ai-image/editing/photo-retouching/api POST /api/image/editing/photo-retouching Photo Retouch API transfers the style of a reference image onto a target image for AI-powered image repair and retouching. ## Request * **URL**: `https://www.ailabapi.com/api/image/editing/photo-retouching` * **Method**: `POST` * **Content-Type**: `multipart/form-data` ### Image requirements * **Image format**: `JPEG` `JPG` `PNG` * **Image size**: No more than 3 MB. * **Image resolution**: Larger than 32x32px, smaller than 3000x3000px. ### Headers | Field | Required | Type | Description | | :----------------- | :------- | :------- | :---------------------------------------------------- | | `ailabapi-api-key` | YES | `string` | Application API KEY. [Get API KEY](/docs/get-api-key) | ### Body | Field | Required | Type | Description | | :------ | :------- | :----- | :------------------------------------------ | | `image` | YES | `file` | Images that require a style transformation. | | `style` | YES | `file` | Reference image. | ## Response **Response Field Handling Flow** 1. **Handle `Public Response Fields`** Parse and validate the `Public Response Fields`, checking the status code or response message to ensure the request is successful and error-free. 2. **Handle `Business Response Fields`** If the `Public Response Fields` are valid and error-free, proceed with processing the business logic in the `Business Response Fields`. ### Public Response Fields Viewing Public Response Fields and Error Codes ### Business Response Fields | Field | Type | Description | | :----------- | :------- | :------------------------------------------------------------- | | `data` | `object` | The content of the result data returned. | | +`image_url` | `string` | The resulting image after performing the style transformation. | The URL address is a temporary address, valid for 24 hours, and will not be accessible after it expires. If you need to save the file for a long time or permanently, please visit the URL address within 24 hours and download the file to your own storage space. ### Response Example ```json theme={null} { "request_id": "", "log_id": "", "error_code": 0, "error_msg": "", "error_detail": { "status_code": 200, "code": "", "code_message": "", "message": "" }, "data": { "image_url": "" } } ``` # Remove Objects Source: https://ailabtools.mintlify.app/docs/ai-image/editing/remove-objects Remove Objects API deletes unwanted objects, people, or text from images using mask-based AI inpainting. ## Renderings show | Original Image | Mask Image | Result Image | | :-------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------ | | ![Original Image](https://ai-resource.ailabtools.com/remove-objects/doc/OriginalImage-1.webp) | ![Mask Image](https://ai-resource.ailabtools.com/remove-objects/doc/MaskImage-1-1.webp) | ![Result Image](https://ai-resource.ailabtools.com/remove-objects/doc/ResultImage-1-1.webp) | ## Billing Instructions ## File Storage Policy ## Application Scenarios * **Logo erasure**: Erase common logos in images, such as logos, text, subtitles, etc., which can be used for image material re-creation. * **Portrait Erase**: Erase extra portraits in the image, such as background portraits of passers-by, pedestrians, etc., in addition to the main character, to highlight the subject of the photo. * **Clutter Erase**: Erase excess objects from the image, such as trash cans, buildings, or power lines, and retain the original photo resolution. * **Other scenes**: applicable to other elements erasure, automatically fill the background obscured by the erased area, the effect is real and natural ## Featured Advantages * **Strong R\&D strength**: We have an independent AI R\&D team, supported by massive data, rich algorithm landing scenarios, and long-term partnership with many brands. * **Efficient and convenient**: The API solution is mature, with standardized documentation & full technical support, making it easier for developers to access and enjoy image processing services quickly. # Remove Objects Advanced API Source: https://ailabtools.mintlify.app/docs/ai-image/editing/remove-objects-advanced Remove Objects Advanced API removes masked objects, people, or text from images with more precise AI inpainting results. ## Renderings show | Original Image | Mask Image | Result Image | Mask Image Generation Method | | :----------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------- | | ![Original Image](https://ai-resource.ailabtools.com/remove-objects-advanced/doc/OriginalImage-1.webp) | ![Mask Image](https://ai-resource.ailabtools.com/remove-objects-advanced/doc/MaskImage-1-1.webp) | ![Result Image](https://ai-resource.ailabtools.com/remove-objects-advanced/doc/ResultImage-1-1.webp) | [Human Background Removal](ai-cutout/portrait/portrait-background-removal) | | ![Original Image](https://ai-resource.ailabtools.com/remove-objects-advanced/doc/OriginalImage-1.webp) | ![Mask Image](https://ai-resource.ailabtools.com/remove-objects-advanced/doc/MaskImage-1-2.webp) | ![Result Image](https://ai-resource.ailabtools.com/remove-objects-advanced/doc/ResultImage-1-2.webp) | Hand-drawn | ## Billing Instructions ## File Storage Policy ## Application Scenarios * **Logo erasure**: Erase common logos in images, such as logos, text, subtitles, etc., which can be used for image material re-creation. * **Portrait Erase**: Erase extra portraits in the image, such as background portraits of passers-by, pedestrians, etc., in addition to the main character, to highlight the subject of the photo. * **Clutter Erase**: Erase excess objects from the image, such as trash cans, buildings, or power lines, and retain the original photo resolution. * **Other scenes**: applicable to other elements erasure, automatically fill the background obscured by the erased area, the effect is real and natural ## Featured Advantages * **Strong R\&D strength**: We have an independent AI R\&D team, supported by massive data, rich algorithm landing scenarios, and long-term partnership with many brands. * **Efficient and convenient**: The API solution is mature, with standardized documentation & full technical support, making it easier for developers to access and enjoy image processing services quickly. # Remove Objects Advanced API Source: https://ailabtools.mintlify.app/docs/ai-image/editing/remove-objects-advanced/api POST /api/image/editing/remove-objects-advanced Remove Objects Advanced API removes masked objects, people, or text from images with more precise AI inpainting results. ## Request * **URL**: `https://www.ailabapi.com/api/image/editing/remove-objects-advanced` * **Method**: `POST` * **Content-Type**: `multipart/form-data` ### Image requirements * **Image format**: `JPEG` `JPG` `PNG` * **Image size**: No more than 5 MB. * **Image resolution**: Larger than 64x64px, smaller than 4096x4096px. #### Mask image requirements: 1. Single-channel grayscale image (0-255). 2. Three-channel image, with equal RGB values. 3. RGBA four-channel image, with equal RGB values and the A channel all set to 255. 4. File format: 8-bit PNG encoding, do not embed "ICC Profile". ### Headers | Field | Required | Type | Description | | :----------------- | :------- | :------- | :---------------------------------------------------- | | `ailabapi-api-key` | YES | `string` | Application API KEY. [Get API KEY](/docs/get-api-key) | ### Body | Field | Required | Type | Scope | Default | Description | | :------------ | :------- | :-------- | :------------ | :------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `image` | YES | `file` | | | Original image. | | `mask` | YES | `file` | | | Mask image. | | `steps` | NO | `integer` | \[1, +] | `30` | Sampling steps determine the level of detail in the generated image. A higher value may result in better quality, but it will significantly increase the processing time. | | `strength` | NO | `float` | \[0.1, 1.0] | `0.8` | The smaller the value, the closer it is to the original image. | | `scale` | NO | `float` | \[1, 20] | `7` | The degree to which the text description influences the output. | | `seed` | NO | `integer` | \[-1, +] | `0` | Random seed, used as the basis for determining the initial state of the diffusion process. It must be a non-negative number (`-1` represents a random seed). If the random seed is the same positive integer and all other parameters are identical, the generated image will most likely be consistent. | | `dilate_size` | NO | `integer` | \[1, +] | `15` | Mask Dilation Radius. The mask used for object removal should fully encompass the target object. When users manually draw the mask, it often extends beyond the object's boundary. However, if the mask is generated by a segmentation algorithm, it typically adheres closely to the object's edges, which might leave parts of the object uncovered. This can lead to incomplete removal or unexpected artifacts during generation. To avoid such issues, it's recommended to appropriately increase the `dilate_size` parameter to ensure the mask fully covers the object. | | `quality` | NO | `string` | `H`, `M`, `L` | `M` | ``H`: High quality — best output quality, but slightly slower processing.`, ``M`: Medium quality — balanced in both quality and speed.`, \`\`L`: Low quality — fastest processing, suitable for scenarios where speed is prioritized.` | ## Response **Response Field Handling Flow** 1. **Handle `Public Response Fields`** Parse and validate the `Public Response Fields`, checking the status code or response message to ensure the request is successful and error-free. 2. **Handle `Business Response Fields`** If the `Public Response Fields` are valid and error-free, proceed with processing the business logic in the `Business Response Fields`. ### Public Response Fields Viewing Public Response Fields and Error Codes ### Business Response Fields | Field | Type | Description | | :-------------------- | :---------------- | :----------------------------------------------------------- | | `data` | `object` | The content of the result data returned. | | +`binary_data_base64` | `array of string` | Output the processed image as a Base64 array (single image). | ### Response Example ```json theme={null} { "request_id": "", "log_id": "", "error_code": 0, "error_msg": "", "error_detail": { "status_code": 200, "code": "", "code_message": "", "message": "" }, "data": { "binary_data_base64": [] } } ``` # Remove Objects Pro Source: https://ailabtools.mintlify.app/docs/ai-image/editing/remove-objects-pro Remove Objects Pro API removes masked objects, people, or text from images for high-quality cleanup and professional editing. ## Renderings show | Original Image | Mask Image | Result Image | | :------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------ | :---------------------------------------------------------------------------------------------- | | ![Original Image](https://ai-resource.ailabtools.com/remove-objects-pro/doc/OriginalImage-1.webp) | ![Mask Image](https://ai-resource.ailabtools.com/remove-objects-pro/doc/MaskImage-1-1.webp) | ![Result Image](https://ai-resource.ailabtools.com/remove-objects-pro/doc/ResultImage-1-1.webp) | ## Billing Instructions ## File Storage Policy ## Application Scenarios * **Logo erasure**: Erase common logos in images, such as logos, text, subtitles, etc., which can be used for image material re-creation. * **Portrait Erase**: Erase extra portraits in the image, such as background portraits of passers-by, pedestrians, etc., in addition to the main character, to highlight the subject of the photo. * **Clutter Erase**: Erase excess objects from the image, such as trash cans, buildings, or power lines, and retain the original photo resolution. * **Other scenes**: applicable to other elements erasure, automatically fill the background obscured by the erased area, the effect is real and natural ## Featured Advantages * **Strong R\&D strength**: We have an independent AI R\&D team, supported by massive data, rich algorithm landing scenarios, and long-term partnership with many brands. * **Efficient and convenient**: The API solution is mature, with standardized documentation & full technical support, making it easier for developers to access and enjoy image processing services quickly. # Remove Objects Pro API Source: https://ailabtools.mintlify.app/docs/ai-image/editing/remove-objects-pro/api POST /api/image/editing/remove-objects-pro Remove Objects Pro API removes masked objects, people, or text from images for high-quality cleanup and professional editing. ## Request * **URL**: `https://www.ailabapi.com/api/image/editing/remove-objects-pro` * **Method**: `POST` * **Content-Type**: `multipart/form-data` ### Image requirements * **Image format**: `JPEG` `JPG` `PNG` `BMP` `WEBP` * **Image size**: No more than 5 MB. * **Image resolution**: Less than 4096x4096px. ### Headers | Field | Required | Type | Description | | :----------------- | :------- | :------- | :---------------------------------------------------- | | `ailabapi-api-key` | YES | `string` | Application API KEY. [Get API KEY](/docs/get-api-key) | ### Body | Field | Required | Type | Description | | :------ | :------- | :----- | :-------------- | | `image` | YES | `file` | Original image. | | `mask` | YES | `file` | Mask image. | ## Response **Response Field Handling Flow** 1. **Handle `Public Response Fields`** Parse and validate the `Public Response Fields`, checking the status code or response message to ensure the request is successful and error-free. 2. **Handle `Business Response Fields`** If the `Public Response Fields` are valid and error-free, proceed with processing the business logic in the `Business Response Fields`. ### Public Response Fields Viewing Public Response Fields and Error Codes ### Business Response Fields | Field | Type | Description | | :----------- | :------- | :--------------------------------------- | | `data` | `object` | The content of the result data returned. | | +`image_url` | `string` | The URL of the image after erasing. | The URL address is a temporary address, valid for 24 hours, and will not be accessible after it expires. If you need to save the file for a long time or permanently, please visit the URL address within 24 hours and download the file to your own storage space. ### Response Example ```json theme={null} { "request_id": "", "log_id": "", "error_code": 0, "error_msg": "", "error_detail": { "status_code": 200, "code": "", "code_message": "", "message": "" }, "data": { "image_url": "" } } ``` # Remove Objects API Source: https://ailabtools.mintlify.app/docs/ai-image/editing/remove-objects/api POST /api/image/editing/remove-objects Remove Objects API deletes unwanted objects, people, or text from images using mask-based AI inpainting. ## Request * **URL**: `https://www.ailabapi.com/api/image/editing/remove-objects` * **Method**: `POST` * **Content-Type**: `multipart/form-data` ### Image requirements * **Image format**: `JPEG` `JPG` `PNG` `BMP` `WEBP` * **Image size**: No more than 5 MB. * **Image resolution**: Less than 4096x4096px. ### Headers | Field | Required | Type | Description | | :----------------- | :------- | :------- | :---------------------------------------------------- | | `ailabapi-api-key` | YES | `string` | Application API KEY. [Get API KEY](/docs/get-api-key) | ### Body | Field | Required | Type | Description | | :------ | :------- | :----- | :-------------- | | `image` | YES | `file` | Original image. | | `mask` | YES | `file` | Mask image. | ## Response **Response Field Handling Flow** 1. **Handle `Public Response Fields`** Parse and validate the `Public Response Fields`, checking the status code or response message to ensure the request is successful and error-free. 2. **Handle `Business Response Fields`** If the `Public Response Fields` are valid and error-free, proceed with processing the business logic in the `Business Response Fields`. ### Public Response Fields Viewing Public Response Fields and Error Codes ### Business Response Fields | Field | Type | Description | | :----------- | :------- | :--------------------------------------- | | `data` | `object` | The content of the result data returned. | | +`image_url` | `string` | The URL of the image after erasing. | The URL address is a temporary address, valid for 24 hours, and will not be accessible after it expires. If you need to save the file for a long time or permanently, please visit the URL address within 24 hours and download the file to your own storage space. ### Response Example ```json theme={null} { "request_id": "", "log_id": "", "error_code": 0, "error_msg": "", "error_detail": { "status_code": 200, "code": "", "code_message": "", "message": "" }, "data": { "image_url": "" } } ``` # AI Cartoon Generator Source: https://ailabtools.mintlify.app/docs/ai-image/effects/ai-anime-generator AI Cartoon Generator API turns photos into cartoon, anime, and stylized illustrations with multiple AI art styles. * AI Cartoon Generator utilizes the technology of generative models to automatically generate cartoon-style images in different styles. This technology can create cartoonized images with the same resolution as the input image and specific cartoon styles, and supports users to choose from a variety of cartoon styles. It is worth mentioning that even for the same image and style, each generated image is unique. The tool provides users with dozens of cartoon style options to choose from. * AI Cartoon Generator is mainly focused on creating a cartoon image. If you want to transform a photo or characters in a photo into a cartoon effect, you can go to [Cartoon Yourself](/docs/ai-portrait/effects/portrait-animation). ## Renderings show
Original Image
Original Image
Vintage Comic
Vintage Comic
3D Fairy Tale
3D Fairy Tale
Two-dimensional (2D)
Two-dimensional (2D)
Refreshing and Elegant
Refreshing and Elegant
Future Technology
Future Technology
Traditional Chinese Painting Style
Traditional Chinese Painting Style
General in a Hundred Battles
General in a Hundred Battles
Colorful Cartoon
Colorful Cartoon
Graceful Chinese Style
Graceful Chinese Style
## Billing Instructions ## File Storage Policy ## Application Scenarios * **Social software avatar generation**: users can upload self-portraits, cute pets, landscape photos, and generate corresponding pictures according to personal preferences specified cartoon drawing style, which is highly playable. ## Featured Advantages * **Wide range of cartoonized elements**: Based on generative large models, it can process portraits, pets, scenes and other elements to generate delicate and vivid cartoonized effects. * **Diverse styles**: Support dozens of generation styles to meet different users' preferences and needs. * **Intelligent**: Intelligent recognition can be made according to the input image's character gender, scene category, etc., making the output image close to the original image while satisfying the fun and aesthetics. * **High quality**: Generate images with high quality and few defects. # AI Cartoon Generator API Source: https://ailabtools.mintlify.app/docs/ai-image/effects/ai-anime-generator/api POST /api/image/effects/ai-anime-generator AI Cartoon Generator API turns photos into cartoon, anime, and stylized illustrations with multiple AI art styles. ## Request * **URL**: `https://www.ailabapi.com/api/image/effects/ai-anime-generator` * **Method**: `POST` * **Content-Type**: `multipart/form-data` ### Image requirements * **Image format**: `JPEG` `PNG` `JPG` `BMP` `WEBP` * **Image size**: No more than 10 MB. * The input image dimensions should be greater than or equal to 256x256 pixels and less than or equal to 5760x3240 pixels. The short side of the output image will be 1536 pixels. If the ratio of the long side to the short side of the input image is less than or equal to 1.5:1, the original aspect ratio will be maintained. If this ratio is greater than 1.5:1, adaptive cropping will be applied to achieve an output aspect ratio of 1.5:1. ### Headers | Field | Required | Type | Description | | :----------------- | :------- | :------- | :---------------------------------------------------- | | `ailabapi-api-key` | YES | `string` | Application API KEY. [Get API KEY](/docs/get-api-key) | ### Body | Field | Required | Type | Scope | Default | Description | | :---------- | :------- | :-------- | :------------------------------------------ | :------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `task_type` | YES | `string` | `async` | `async` | \`\`async`: Asynchronous tasks.` | | `image` | YES | `file` | | | | | `index` | YES | `integer` | `0`, `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8` | `0` | ``0`: Vintage Comic.`, ``1`: 3D Fairy Tale.`, ``2`: Two-dimensional (2D).`, ``3`: Refreshing and Elegant.`, ``4`: Future Technology.`, ``5`: Traditional Chinese Painting Style.`, ``6`: General in a Hundred Battles.`, ``7`: Colorful Cartoon.`, \`\`8`: Graceful Chinese Style.` | ## Response **Response Field Handling Flow** 1. **Handle `Public Response Fields`** Parse and validate the `Public Response Fields`, checking the status code or response message to ensure the request is successful and error-free. 2. **Handle `Business Response Fields`** If the `Public Response Fields` are valid and error-free, proceed with processing the business logic in the `Business Response Fields`. ### Public Response Fields Viewing Public Response Fields and Error Codes ### Business Response Fields | Field | Type | Scope | Description | | :---------- | :------- | :------ | :------------------------------------------------------------------------------------------------------------------------------------------------ | | `task_type` | `string` | `async` | Task Type. \`\`async`: Asynchronous tasks.` | | `task_id` | `string` | | Asynchronous task ID.
**Please use this field when calling the [Querying Async Task Results](/docs/ai-common/async-task-results/api) API.** | ### Response Example ```json theme={null} { "request_id": "", "log_id": "", "error_code": 0, "error_msg": "", "error_detail": { "status_code": 200, "code": "", "code_message": "", "message": "" }, "task_type": "", "task_id": "" } ``` This API is asynchronous, please keep `task_id` and call [`Querying Async Task Results`](ai-common/async-task-results/api) to get the final results. Asynchronous task results are valid for 24 hours. It is recommended that asynchronous task results be queried every 5 seconds. ## `Querying Async Task Results` Response **Response Field Handling Flow** 1. **Handle `Public Response Fields`** Parse and validate the `Public Response Fields`, checking the status code or response message to ensure the request is successful and error-free. 2. **Handle `Business Response Fields`** If the `Public Response Fields` are valid and error-free, proceed with processing the business logic in the `Business Response Fields`. ### Public Response Fields Viewing Public Response Fields and Error Codes ### Business Response Fields | Field | Type | Scope | Description | | :------------ | :-------- | :------------ | :----------------------------------------------------------------------------------------------------------------------- | | `task_status` | `integer` | `0`, `1`, `2` | Asynchronous task status. ``0`: The task is queued.` ``1`: Asynchronous processing.` \`\`2`: Processing was successful.` | | `data` | `object` | | The content of the result data returned. | | +`result_url` | `string` | | Result URL address. | The URL address is a temporary address, valid for 24 hours, and will not be accessible after it expires. If you need to save the file for a long time or permanently, please visit the URL address within 24 hours and download the file to your own storage space. ### Response Example ```json theme={null} { "error_code": 0, "error_msg": "", "error_detail": { "status_code": 200, "code": "", "code_message": "", "message": "" }, "task_status": 0, "data": { "result_url": "" } } ``` # AI Photography Source: https://ailabtools.mintlify.app/docs/ai-image/effects/ai-photography AI Photography API creates stylized AI photoshoot images from portraits using prompt-defined scenes and styles. ## Renderings show | Original Image | Prompt Content | Result Image | | :-------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------- | | ![Original Image](https://ai-resource.ailabtools.com/ai-photography/doc/OriginalImage-1.webp) | `"Style Title: Romantic Kiss. Style Description: A candid romantic photograph of [Reference Couple] sharing a gentle kiss in an elegant, intimate setting. They stand close together with soft natural body language, surrounded by warm ambient lighting and a dreamy cinematic atmosphere. Their expressions are tender and emotional, capturing a genuine moment of love and connection. Shallow depth of field, soft bokeh, natural skin texture, cinematic composition, shot on Kodak Portra 400 film, subtle grain, premium editorial photography style."` | ![Result Image](https://ai-resource.ailabtools.com/ai-photography/doc/ResultImage-1.webp) | ## Billing Instructions ## File Storage Policy ## Application Scenarios * **Artificial intelligence photoshoot**: create themed portraits without a physical studio shoot. * **Style scenes prototyping**: quickly test mood, lighting, and aesthetic directions for campaigns. * **Social and ad creatives**: produce consistent photo styles for ads, feeds, and launch assets. * **Brand visual testing**: compare multiple look-and-feel concepts before production investment. ## Featured Advantages * **Prompt-driven control**: combine `style_title` and `style_desc` for precise art direction. * **Flexible aspect ratio**: supports multiple `image_size` options for different channels. * **Natural identity retention**: preserves key subject characteristics while applying new style scenes. * **Scalable async workflow**: supports production usage with asynchronous task processing. # AI Photography API Source: https://ailabtools.mintlify.app/docs/ai-image/effects/ai-photography/api POST /api/image/effects/ai-photography AI Photography API creates stylized AI photoshoot images from portraits using prompt-defined scenes and styles. ## Request * **URL**: `https://www.ailabapi.com/api/image/effects/ai-photography` * **Method**: `POST` * **Content-Type**: `multipart/form-data` ### API Information | Field | Value | | :-------------------- | :-------------------------------------- | | API Name | `AI Photography` | | API URL | `/api/image/effects/ai-photography` | | Documentation URL | `/docs/ai-image/effects/ai-photography` | | Unique Identification | `image_photography` | ### Image requirements * **Image format**: `JPEG` `JPG` `PNG` `WEBP` * **Image size**: No more than 10 MB. * **Image resolution**: Less than 4096x4096px. ### Headers | Field | Required | Type | Description | | :----------------- | :------- | :------- | :---------------------------------------------------- | | `ailabapi-api-key` | YES | `string` | Application API KEY. [Get API KEY](/docs/get-api-key) | ### Body | Field | Required | Type | Scope | Default | Description | | :------------ | :------- | :------- | :------------------------------------------------------------------------------ | :------ | :-------------------------------------------------------------------------------------------------------------------------- | | `image` | YES | `file` | | | Original image. | | `style_title` | YES | `string` | | | Style name (English only). Max 500 characters; extra text will be automatically truncated. Use standard vocabulary. | | `style_desc` | YES | `string` | | | Style description (English only). Max 1000 characters; extra text will be automatically truncated. Use standard vocabulary. | | `image_size` | NO | `string` | `auto`, `1:1`, `2:3`, `3:2`, `3:4`, `4:3`, `4:5`, `5:4`, `9:16`, `16:9`, `21:9` | `auto` | Output image aspect ratio. | ## Response **Response Field Handling Flow** 1. **Handle `Public Response Fields`** Parse and validate the `Public Response Fields`, checking the status code or response message to ensure the request is successful and error-free. 2. **Handle `Business Response Fields`** If the `Public Response Fields` are valid and error-free, proceed with processing the business logic in the `Business Response Fields`. ### Public Response Fields Viewing Public Response Fields and Error Codes ### Business Response Fields | Field | Type | Scope | Description | | :---------- | :------- | :------ | :------------------------------------------------------------------------------------------------------------------------------------------------ | | `task_type` | `string` | `async` | Task Type. \`\`async`: Asynchronous tasks.` | | `task_id` | `string` | | Asynchronous task ID.
**Please use this field when calling the [Querying Async Task Results](/docs/ai-common/async-task-results/api) API.** | ### Response Example ```json theme={null} { "request_id": "", "log_id": "", "error_code": 0, "error_code_str": "", "error_msg": "", "error_detail": { "status_code": 200, "code": "", "code_message": "", "message": "" }, "task_type": "async", "task_id": "" } ``` This API is asynchronous, please keep `task_id` and call [`Querying Async Task Results`](/docs/ai-common/async-task-results/api) to get the final results. Asynchronous task results are valid for 24 hours. It is recommended that asynchronous task results be queried every 5 seconds. # AI Photo Colorize Source: https://ailabtools.mintlify.app/docs/ai-image/effects/image-colorization AI Photo Colorize API converts black-and-white photos into realistic full-color images for restoration and creative projects. ## Renderings show | Before processing | After processing | | :---------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------- | | ![Before processing](https://img.ailabtools.com/rapidapi/ColoringBlackAndWhiteImages/colorless-1.jpg) | ![After processing](https://img.ailabtools.com/rapidapi/ColoringBlackAndWhiteImages/colored-1.jpeg) | | ![Before processing](https://img.ailabtools.com/rapidapi/ColoringBlackAndWhiteImages/colorless-3.jpg) | ![After processing](https://img.ailabtools.com/rapidapi/ColoringBlackAndWhiteImages/colored-3.jpeg) | | ![Before processing](https://img.ailabtools.com/rapidapi/ColoringBlackAndWhiteImages/colorless-4.jpg) | ![After processing](https://img.ailabtools.com/rapidapi/ColoringBlackAndWhiteImages/colored-4.jpeg) | ## Billing Instructions ## File Storage Policy ## Application Scenarios * **Image Fun Processing**: When carrying out activities with themes such as nostalgia, you can access the service and develop an activity applet or webpage, etc. Participants can simply upload a black and white photo and immediately receive a color photo. # AI Photo Colorize API Source: https://ailabtools.mintlify.app/docs/ai-image/effects/image-colorization/api POST /api/image/effects/image-colorization AI Photo Colorize API converts black-and-white photos into realistic full-color images for restoration and creative projects. ## Request * **URL**: `https://www.ailabapi.com/api/image/effects/image-colorization` * **Method**: `POST` * **Content-Type**: `multipart/form-data` ### Image requirements * **Image format**: `PNG` `JPG` `JPEG` `BMP` * **Image size**: No more than 8 MB. * **Image resolution**: Larger than 10x10px, smaller than 5000x5000px. * **Image aspect ratio**: Aspect ratio within 4:1. ### Headers | Field | Required | Type | Description | | :----------------- | :------- | :------- | :---------------------------------------------------- | | `ailabapi-api-key` | YES | `string` | Application API KEY. [Get API KEY](/docs/get-api-key) | ### Body | Field | Required | Type | | :------ | :------- | :----- | | `image` | YES | `file` | ## Response **Response Field Handling Flow** 1. **Handle `Public Response Fields`** Parse and validate the `Public Response Fields`, checking the status code or response message to ensure the request is successful and error-free. 2. **Handle `Business Response Fields`** If the `Public Response Fields` are valid and error-free, proceed with processing the business logic in the `Business Response Fields`. ### Public Response Fields Viewing Public Response Fields and Error Codes ### Business Response Fields | Field | Type | Description | | :------ | :------- | :-------------------- | | `image` | `string` | base64 encoded image. | ### Response Example ```json theme={null} { "request_id": "", "log_id": "", "error_code": 0, "error_msg": "", "error_detail": { "status_code": 200, "code": "", "code_message": "", "message": "" }, "image": "" } ``` # Photo to Painting Source: https://ailabtools.mintlify.app/docs/ai-image/effects/image-style-conversion Photo to Painting API converts photos into cartoon, pencil, oil painting, and other artistic styles with AI. ## Renderings show | Original image | ![Original image][original-4] | ![Original image][original-5] | | :------------- | :------------------------------- | :------------------------------- | | `cartoon` | ![cartoon][cartoon-4] | ![cartoon][cartoon-5] | | `pencil` | ![pencil][pencil-4] | ![pencil][pencil-5] | | `color_pencil` | ![color\_pencil][color_pencil-4] | ![color\_pencil][color_pencil-5] | | `warm` | ![warm][warm-4] | ![warm][warm-5] | | `wave` | ![wave][wave-4] | ![wave][wave-5] | | `lavender` | ![lavender][lavender-4] | ![lavender][lavender-5] | | `mononoke` | ![mononoke][mononoke-4] | ![mononoke][mononoke-5] | | `scream` | ![scream][scream-4] | ![scream][scream-5] | | `gothic` | ![gothic][gothic-4] | ![gothic][gothic-5] | ## Billing Instructions ## File Storage Policy ## Application Scenarios * **Image Fun Processing**: Integrate the service into the Meitu app, fun activity pages, and more. Simply upload a picture and instantly convert it into a cartoon or sketch style to enjoy the diverse styles of the original image. [original-4]: https://img.ailabtools.com/rapidapi/ImageStyleConversion/original-4-min.jpg [original-5]: https://img.ailabtools.com/rapidapi/ImageStyleConversion/original-5-min.jpg [cartoon-4]: https://img.ailabtools.com/rapidapi/ImageStyleConversion/cartoon-4-min.jpeg [cartoon-5]: https://img.ailabtools.com/rapidapi/ImageStyleConversion/cartoon-5-min.jpeg [pencil-4]: https://img.ailabtools.com/rapidapi/ImageStyleConversion/pencil-4-min.jpeg [pencil-5]: https://img.ailabtools.com/rapidapi/ImageStyleConversion/pencil-5-min.jpeg [color_pencil-4]: https://img.ailabtools.com/rapidapi/ImageStyleConversion/color_pencil-4-min.jpeg [color_pencil-5]: https://img.ailabtools.com/rapidapi/ImageStyleConversion/color_pencil-5-min.jpeg [warm-4]: https://img.ailabtools.com/rapidapi/ImageStyleConversion/warm-4-min.jpeg [warm-5]: https://img.ailabtools.com/rapidapi/ImageStyleConversion/warm-5-min.jpeg [wave-4]: https://img.ailabtools.com/rapidapi/ImageStyleConversion/wave-4-min.jpeg [wave-5]: https://img.ailabtools.com/rapidapi/ImageStyleConversion/wave-5-min.jpeg [lavender-4]: https://img.ailabtools.com/rapidapi/ImageStyleConversion/lavender-4-min.jpeg [lavender-5]: https://img.ailabtools.com/rapidapi/ImageStyleConversion/lavender-5-min.jpeg [mononoke-4]: https://img.ailabtools.com/rapidapi/ImageStyleConversion/mononoke-4-min.jpeg [mononoke-5]: https://img.ailabtools.com/rapidapi/ImageStyleConversion/mononoke-5-min.jpeg [scream-4]: https://img.ailabtools.com/rapidapi/ImageStyleConversion/scream-4-min.jpeg [scream-5]: https://img.ailabtools.com/rapidapi/ImageStyleConversion/scream-5-min.jpeg [gothic-4]: https://img.ailabtools.com/rapidapi/ImageStyleConversion/gothic-4-min.jpeg [gothic-5]: https://img.ailabtools.com/rapidapi/ImageStyleConversion/gothic-5-min.jpeg # Photo to Painting API Source: https://ailabtools.mintlify.app/docs/ai-image/effects/image-style-conversion/api POST /api/image/effects/image-style-conversion Photo to Painting API converts photos into cartoon, pencil, oil painting, and other artistic styles with AI. ## Request * **URL**: `https://www.ailabapi.com/api/image/effects/image-style-conversion` * **Method**: `POST` * **Content-Type**: `multipart/form-data` ### Image requirements * **Image format**: `PNG` `JPG` `JPEG` `BMP` * **Image size**: No more than 8 MB. * **Image resolution**: Larger than 10x10px, smaller than 5000x5000px. * **Image aspect ratio**: Aspect ratio within 4:1. ### Headers | Field | Required | Type | Description | | :----------------- | :------- | :------- | :---------------------------------------------------- | | `ailabapi-api-key` | YES | `string` | Application API KEY. [Get API KEY](/docs/get-api-key) | ### Body | Field | Required | Type | Scope | Description | | :------- | :------- | :------- | :---------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `image` | YES | `file` | | | | `option` | YES | `string` | `cartoon`, `pencil`, `color_pencil`, `warm`, `wave`, `lavender`, `mononoke`, `scream`, `gothic` | ``cartoon`: Cartoon style.` ``pencil`: Pencil style.` ``color_pencil`: Color pencil drawing style.` ``warm`: The style of colorful sugar cube oil painting.` ``wave`: Oil painting style in surfing in Kanagawa.` ``lavender`: Lavender oil painting style.` ``mononoke`: Strange oil painting style.` ``scream`: Scream oil painting style.` \`\`gothic`: Gothic oil painting style.` | ## Response **Response Field Handling Flow** 1. **Handle `Public Response Fields`** Parse and validate the `Public Response Fields`, checking the status code or response message to ensure the request is successful and error-free. 2. **Handle `Business Response Fields`** If the `Public Response Fields` are valid and error-free, proceed with processing the business logic in the `Business Response Fields`. ### Public Response Fields Viewing Public Response Fields and Error Codes ### Business Response Fields | Field | Type | Description | | :------ | :------- | :-------------------- | | `image` | `string` | base64 encoded image. | ### Response Example ```json theme={null} { "request_id": "", "log_id": "", "error_code": 0, "error_msg": "", "error_detail": { "status_code": 200, "code": "", "code_message": "", "message": "" }, "image": "" } ``` # AI Emoji Generator Source: https://ailabtools.mintlify.app/docs/ai-image/effects/photo-to-emoji-grid AI Emoji Generator API turns portrait or pet photos into emoji-style grids with consistent expressions and scenes. ## Renderings show | Original Image | Result Image | | :------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------- | | ![Original Image](https://ai-resource.ailabtools.com/photo-to-emoji-grid/doc/OriginalImage-1.webp) | ![Result Image](https://ai-resource.ailabtools.com/photo-to-emoji-grid/doc/ResultImage-1-1.webp) | ## Billing Instructions ## File Storage Policy ## Application Scenarios * **Sticker packs and chats**: Turn one photo into a shareable emoji set with consistent expressions. * **YouTube and creator assets**: Build emoji grids for thumbnails, overlays, and chat stickers that match your brand. * **Social content**: Generate expressive emoji variations for posts, stories, and campaigns. * **Style exploration**: Try different looks (cute, bold, retro, etc.) to find the best audience fit. ## Featured Advantages * **Consistent identity**: Keeps the same face across multiple expressions in a single grid. * **Style variety**: Choose from a wide range of emoji styles and looks. * **Format support**: Accepts JPEG and PNG inputs. * **Free and fast**: Generate emoji grids online with a free daily quota and no login required. * **Easy integration**: Standard REST calls with code samples for fast embedding. * **Reliable at scale**: High-availability infrastructure for fast, reliable requests. * **Data safety**: Uploaded and generated files are deleted within 24 hours. # AI Emoji Generator API Source: https://ailabtools.mintlify.app/docs/ai-image/effects/photo-to-emoji-grid/api POST /api/image/effects/photo-to-emoji-grid AI Emoji Generator API turns portrait or pet photos into emoji-style grids with consistent expressions and scenes. ## Request * **URL**: `https://www.ailabapi.com/api/image/effects/photo-to-emoji-grid` * **Method**: `POST` * **Content-Type**: `multipart/form-data` ### Image requirements * **Image format**: `JPEG` `JPG` `PNG` `WEBP` * **Image size**: No more than 10 MB. * **Image resolution**: Less than 4096x4096px. ### Headers | Field | Required | Type | Description | | :----------------- | :------- | :------- | :---------------------------------------------------- | | `ailabapi-api-key` | YES | `string` | Application API KEY. [Get API KEY](/docs/get-api-key) | ### Body | Field | Required | Type | Scope | Default | Description | | :----------- | :------- | :------- | :---- | :------ | :------------------------------------------------------------------------------------------------------------------ | | `image` | YES | `file` | | | Original image. | | `expression` | YES | `string` | | | Expression (English only). Max 100 characters; extra text will be automatically truncated. Use standard vocabulary. | | `style` | YES | `string` | | | Style (English only). Max 100 characters; extra text will be automatically truncated. Use standard vocabulary. | | `scene` | YES | `string` | | | Scene (English only). Max 100 characters; extra text will be automatically truncated. Use standard vocabulary. | | `filler` | NO | `string` | | | Filler text (English only). Max 20 characters; extra text will be automatically truncated. Use standard vocabulary. | ## Response **Response Field Handling Flow** 1. **Handle `Public Response Fields`** Parse and validate the `Public Response Fields`, checking the status code or response message to ensure the request is successful and error-free. 2. **Handle `Business Response Fields`** If the `Public Response Fields` are valid and error-free, proceed with processing the business logic in the `Business Response Fields`. ### Public Response Fields Viewing Public Response Fields and Error Codes ### Business Response Fields | Field | Type | Scope | Description | | :---------- | :------- | :------ | :------------------------------------------------------------------------------------------------------------------------------------------------ | | `task_type` | `string` | `async` | Task Type. \`\`async`: Asynchronous tasks.` | | `task_id` | `string` | | Asynchronous task ID.
**Please use this field when calling the [Querying Async Task Results](/docs/ai-common/async-task-results/api) API.** | ### Response Example ```json theme={null} { "request_id": "", "log_id": "", "error_code": 0, "error_code_str": "", "error_msg": "", "error_detail": { "status_code": 200, "code": "", "code_message": "", "message": "" }, "task_type": "async", "task_id": "" } ``` This API is asynchronous, please keep `task_id` and call [`Querying Async Task Results`](ai-common/async-task-results/api) to get the final results. Asynchronous task results are valid for 24 hours. It is recommended that asynchronous task results be queried every 5 seconds. # Photo to Coloring Page Source: https://ailabtools.mintlify.app/docs/ai-image/effects/photo-to-line-art Photo to Coloring Page API converts photos into clean line art for printable coloring pages, templates, and creative use. ## Renderings show | Original Image | Result Image | | :----------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------- | | ![Original Image](https://ai-resource.ailabtools.com/photo-to-line-art/doc/OriginalImage-1.webp) | ![Result Image](https://ai-resource.ailabtools.com/photo-to-line-art/doc/ResultImage-1-1.webp) | ## Billing Instructions ## File Storage Policy ## Application Scenarios * **Classroom and family activities**: Turn photos into coloring pages for easy printing and hands-on creativity. * **Crafts and templates**: Produce clean outlines for tracing, cutting, engraving, or tattoo sketch references. * **People, pets, and illustration**: Preserve key features while simplifying background noise for clearer coloring. * **Events and content production**: Batch-generate consistent coloring assets for campaigns and social content. ## Featured Advantages * **Line-art friendly**: Extracts clean contours and reduces noise for coloring and printing. * **Format support**: Accepts JPEG and PNG inputs. * **Easy integration**: REST API for quick product integration. * **Reliable at scale**: High availability for batch generation. * **Data safety**: Uploaded and generated files are deleted within 24 hours. # Photo to Coloring Page API Source: https://ailabtools.mintlify.app/docs/ai-image/effects/photo-to-line-art/api POST /api/image/effects/photo-to-line-art Photo to Coloring Page API converts photos into clean line art for printable coloring pages, templates, and creative use. ## Request * **URL**: `https://www.ailabapi.com/api/image/effects/photo-to-line-art` * **Method**: `POST` * **Content-Type**: `multipart/form-data` ### Image requirements * **Image format**: `JPEG` `JPG` `PNG` `WEBP` * **Image size**: No more than 10 MB. * **Image resolution**: Less than 4096x4096px. ### Headers | Field | Required | Type | Description | | :----------------- | :------- | :------- | :---------------------------------------------------- | | `ailabapi-api-key` | YES | `string` | Application API KEY. [Get API KEY](/docs/get-api-key) | ### Body | Field | Required | Type | Scope | Default | Description | | :----------- | :------- | :------- | :---- | :------ | :---------------------------------------------------------------------------------------------------------------------------------- | | `image` | YES | `file` | | | Original image. | | `prompt` | NO | `string` | | | Prompt (English only). Max 3000 characters; extra text will be automatically truncated. Use standard vocabulary to pass review. | | `image_size` | NO | `string` | | `A4` | Output image aspect ratio. Supported values: `A4`, `auto`, `1:1`, `2:3`, `3:2`, `3:4`, `4:3`, `4:5`, `5:4`, `9:16`, `16:9`, `21:9`. | ## Response **Response Field Handling Flow** 1. **Handle `Public Response Fields`** Parse and validate the `Public Response Fields`, checking the status code or response message to ensure the request is successful and error-free. 2. **Handle `Business Response Fields`** If the `Public Response Fields` are valid and error-free, proceed with processing the business logic in the `Business Response Fields`. ### Public Response Fields Viewing Public Response Fields and Error Codes ### Business Response Fields | Field | Type | Scope | Description | | :---------- | :------- | :------ | :------------------------------------------------------------------------------------------------------------------------------------------------ | | `task_type` | `string` | `async` | Task Type. \`\`async`: Asynchronous tasks.` | | `task_id` | `string` | | Asynchronous task ID.
**Please use this field when calling the [Querying Async Task Results](/docs/ai-common/async-task-results/api) API.** | ### Response Example ```json theme={null} { "request_id": "", "log_id": "", "error_code": 0, "error_code_str": "", "error_msg": "", "error_detail": { "status_code": 200, "code": "", "code_message": "", "message": "" }, "task_type": "async", "task_id": "" } ``` This API is asynchronous, please keep `task_id` and call [`Querying Async Task Results`](ai-common/async-task-results/api) to get the final results. Asynchronous task results are valid for 24 hours. It is recommended that asynchronous task results be queried every 5 seconds. # Image Color Enhancement Source: https://ailabtools.mintlify.app/docs/ai-image/enhance/image-color-enhancement Image Color Enhancement API improves photo color, saturation, brightness, and contrast for clearer, more vibrant images. ## Renderings show
Original Image
Original Image
LogC
LogC
Rec709
Rec709
ln17_256
ln17\_256
## Billing Instructions ## File Storage Policy ## Application Scenarios * **Design material beautification**: Intelligent analysis of design images to enhance them for creative design. * **Photo beautification**: Intelligent beautification of taken photos for sharing and spreading. ## Featured Advantages * **Good effect**: Multi-dimensional enhancement of image color from saturation, exposure, contrast, etc. for better subjective effect. * **Adaptive enhancement**: Automatically selects the appropriate processing parameters through scene recognition and content analysis. # Image Color Enhancement API Source: https://ailabtools.mintlify.app/docs/ai-image/enhance/image-color-enhancement/api POST /api/image/enhance/image-color-enhancement Image Color Enhancement API improves photo color, saturation, brightness, and contrast for clearer, more vibrant images. ## Request * **URL**: `https://www.ailabapi.com/api/image/enhance/image-color-enhancement` * **Method**: `POST` * **Content-Type**: `multipart/form-data` ### Image requirements * **Image format**: `JPG` `PNG` `BMP` * **Image size**: No more than 3 MB. * **Image resolution**: Larger than 64x64px, smaller than 3840x2160px. ### Headers | Field | Required | Type | Description | | :----------------- | :------- | :------- | :---------------------------------------------------- | | `ailabapi-api-key` | YES | `string` | Application API KEY. [Get API KEY](/docs/get-api-key) | ### Body | Field | Required | Type | Scope | Description | | :-------------- | :------- | :------- | :--------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `image` | YES | `file` | | | | `output_format` | YES | `string` | `png`, `jpg` | The format of the output image. | | `mode` | YES | `string` | `LogC`, `Rec709`, `ln17_256` | Color mixing mode. ``LogC`: Suitable for gray film (low contrast raw map) input, adjust the image color perception substantially to restore the color texture of the SDR domain.` ``Rec709`: Suitable for images taken under general conditions, appropriate to enhance the image brightness, saturation, etc., the adjustment range is more conservative.` \`\`ln17\_256`: Suitable for images taken under general conditions, drastically adjusts image brightness, saturation, contrast, and improves color quality.` | ## Response **Response Field Handling Flow** 1. **Handle `Public Response Fields`** Parse and validate the `Public Response Fields`, checking the status code or response message to ensure the request is successful and error-free. 2. **Handle `Business Response Fields`** If the `Public Response Fields` are valid and error-free, proceed with processing the business logic in the `Business Response Fields`. ### Public Response Fields Viewing Public Response Fields and Error Codes ### Business Response Fields | Field | Type | Description | | :----------- | :------- | :---------------------------------------------- | | `data` | `object` | The content of the result data returned. | | +`image_url` | `string` | Returns the URL address of the processed image. | The URL address is a temporary address, valid for 24 hours, and will not be accessible after it expires. If you need to save the file for a long time or permanently, please visit the URL address within 24 hours and download the file to your own storage space. ### Response Example ```json theme={null} , "data": } ``` # Image Contrast Enhancement Source: https://ailabtools.mintlify.app/docs/ai-image/enhance/image-contrast-enhancement Image Contrast Enhancement API adjusts contrast and tone to improve clarity, depth, and visual balance in photos. ## Renderings show | Before processing | After processing | | :---------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------- | | ![Before processing](https://img.ailabtools.com/rapidapi/ContrastEnhance/untreated-4.jpg) | ![After processing](https://img.ailabtools.com/rapidapi/ContrastEnhance/processed-4-min.jpeg) | | ![Before processing](https://img.ailabtools.com/rapidapi/ContrastEnhance/untreated-5.jpg) | ![After processing](https://img.ailabtools.com/rapidapi/ContrastEnhance/processed-5-min.jpeg) | ## Billing Instructions ## File Storage Policy ## Application Scenarios * **Massive image optimization**: It can be used to improve the quality of website pictures, mobile album pictures and video cover pictures, intelligently adjust the contrast of pictures, and solve the problem of too dark or too bright pictures. * **Video Surveillance**: In security surveillance/vehicle system scenarios, video/images captured by light and extreme weather are optimized to reconstruct more discernible surveillance material. * **Color printing photo beautification**: It helps color printing studios optimize the processing of photos before color printing, intelligently adjust the contrast of pictures, solve the problem of too dark or too bright pictures, and reduce the workload of designers. It can also be used to develop photo developing apps, small programs, etc. # Image Contrast Enhancement API Source: https://ailabtools.mintlify.app/docs/ai-image/enhance/image-contrast-enhancement/api POST /api/image/enhance/image-contrast-enhancement Image Contrast Enhancement API adjusts contrast and tone to improve clarity, depth, and visual balance in photos. ## Request * **URL**: `https://www.ailabapi.com/api/image/enhance/image-contrast-enhancement` * **Method**: `POST` * **Content-Type**: `multipart/form-data` ### Image requirements * **Image format**: `PNG` `JPG` `JPEG` `BMP` * **Image size**: No more than 8 MB. * **Image resolution**: Larger than 10x10px, smaller than 5000x5000px. * **Image aspect ratio**: Aspect ratio within 4:1. ### Headers | Field | Required | Type | Description | | :----------------- | :------- | :------- | :---------------------------------------------------- | | `ailabapi-api-key` | YES | `string` | Application API KEY. [Get API KEY](/docs/get-api-key) | ### Body | Field | Required | Type | | :------ | :------- | :----- | | `image` | YES | `file` | ## Response **Response Field Handling Flow** 1. **Handle `Public Response Fields`** Parse and validate the `Public Response Fields`, checking the status code or response message to ensure the request is successful and error-free. 2. **Handle `Business Response Fields`** If the `Public Response Fields` are valid and error-free, proceed with processing the business logic in the `Business Response Fields`. ### Public Response Fields Viewing Public Response Fields and Error Codes ### Business Response Fields | Field | Type | Description | | :------ | :------- | :-------------------- | | `image` | `string` | base64 encoded image. | ### Response Example ```json theme={null} { "request_id": "", "log_id": "", "error_code": 0, "error_msg": "", "error_detail": { "status_code": 200, "code": "", "code_message": "", "message": "" }, "image": "" } ``` # Image Dehaze Source: https://ailabtools.mintlify.app/docs/ai-image/enhance/image-defogging Image Dehaze API removes haze and fog from photos to restore clarity, contrast, and cleaner image details. ## Renderings show | Before processing | After processing | | :------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------- | | ![Before processing](https://img.ailabtools.com/rapidapi/Dehaze/untreated-1.jpg) | ![After processing](https://img.ailabtools.com/rapidapi/Dehaze/processed-1-min.jpeg) | | ![Before processing](https://img.ailabtools.com/rapidapi/Dehaze/untreated-4.jpg) | ![After processing](https://img.ailabtools.com/rapidapi/Dehaze/processed-4-min.jpeg) | ## Billing Instructions ## File Storage Policy ## Application Scenarios * **Video Surveillance**: In security surveillance/vehicle system scenarios, video/images captured by foggy weather are optimized to reconstruct more discernible surveillance material. # Image Dehaze API Source: https://ailabtools.mintlify.app/docs/ai-image/enhance/image-defogging/api POST /api/image/enhance/image-defogging Image Dehaze API removes haze and fog from photos to restore clarity, contrast, and cleaner image details. ## Request * **URL**: `https://www.ailabapi.com/api/image/enhance/image-defogging` * **Method**: `POST` * **Content-Type**: `multipart/form-data` ### Image requirements * **Image format**: `PNG` `JPG` `JPEG` `BMP` * **Image size**: No more than 8 MB. * **Image resolution**: Larger than 10x10px, smaller than 5000x5000px. * **Image aspect ratio**: Aspect ratio within 4:1. ### Headers | Field | Required | Type | Description | | :----------------- | :------- | :------- | :---------------------------------------------------- | | `ailabapi-api-key` | YES | `string` | Application API KEY. [Get API KEY](/docs/get-api-key) | ### Body | Field | Required | Type | | :------ | :------- | :----- | | `image` | YES | `file` | ## Response **Response Field Handling Flow** 1. **Handle `Public Response Fields`** Parse and validate the `Public Response Fields`, checking the status code or response message to ensure the request is successful and error-free. 2. **Handle `Business Response Fields`** If the `Public Response Fields` are valid and error-free, proceed with processing the business logic in the `Business Response Fields`. ### Public Response Fields Viewing Public Response Fields and Error Codes ### Business Response Fields | Field | Type | Description | | :------ | :------- | :-------------------- | | `image` | `string` | base64 encoded image. | ### Response Example ```json theme={null} { "request_id": "", "log_id": "", "error_code": 0, "error_msg": "", "error_detail": { "status_code": 200, "code": "", "code_message": "", "message": "" }, "image": "" } ``` # Image Upscaler Source: https://ailabtools.mintlify.app/docs/ai-image/enhance/image-lossless-enlargement Image Upscaler API enlarges images 2x to 4x while enhancing detail, reducing noise, and preserving visual quality. ## Renderings show | Before processing | After processing | | :--------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------- | | ![Before processing](https://img.ailabtools.com/rapidapi/ImageLosslessMagnification/untreated-1.jpg) | ![After processing](https://img.ailabtools.com/rapidapi/ImageLosslessMagnification/processed-1-min.jpeg) | | ![Before processing](https://img.ailabtools.com/rapidapi/ImageLosslessMagnification/untreated-4.jpg) | ![After processing](https://img.ailabtools.com/rapidapi/ImageLosslessMagnification/processed-4-min.jpeg) | ## Billing Instructions ## File Storage Policy ## Application Scenarios * **Design material optimization**: Optimize the acquired design material images for subsequent design production. * **Photo sharpness enhancement**: Sharpness enhancement for photos taken in history. ## Featured Advantages * **Outstanding effect**: a variety of enhancement modes to provide differentiated super score effect for different video clips. * **Multiple output multiples**: support 2-4 times resolution enlargement and support original resolution enhancement output, which can be selected according to business needs. # Image Upscaler API Source: https://ailabtools.mintlify.app/docs/ai-image/enhance/image-lossless-enlargement/api POST /api/image/enhance/image-lossless-enlargement Image Upscaler API enlarges images 2x to 4x while enhancing detail, reducing noise, and preserving visual quality. ## Request * **URL**: `https://www.ailabapi.com/api/image/enhance/image-lossless-enlargement` * **Method**: `POST` * **Content-Type**: `multipart/form-data` ### Image requirements * **Image format**: `JPEG` `JPG` `PNG` `BMP` * **Image size**: No more than 3 MB. * **Image resolution**: Larger than 32x32px, smaller than 1920x1080px. ### Headers | Field | Required | Type | Description | | :----------------- | :------- | :------- | :---------------------------------------------------- | | `ailabapi-api-key` | YES | `string` | Application API KEY. [Get API KEY](/docs/get-api-key) | ### Body | Field | Required | Type | Scope | Default | Description | | :--------------- | :------- | :-------- | :-------------------- | :------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `image` | YES | `file` | | | | | `upscale_factor` | NO | `integer` | `2`, `3`, `4` | `2` | Magnification. | | `mode` | NO | `string` | `base`, `enhancement` | `base` | ``base`: Normal mode, i.e. stable super-resolution effect.`, ``enhancement`: Enhancement mode, which has a more prominent enhancement effect than the normal mode, further improving the clarity and sharpness of the output image.` | | `output_format` | NO | `string` | `png`, `jpg`, `bmp` | `png` | Output image format. Note: If the input image is in RGBA format, the output will be forced to png to preserve both RGBA format and alpha channel accuracy.If the output image resolution exceeds 3840x2160, the output format will be automatically set to jpg. | | `output_quality` | NO | `integer` | \[30, 100] | `95` | Quality factor of the output image, where a higher value corresponds to higher quality. Only applicable when `output_format=jpg`. | ## Response **Response Field Handling Flow** 1. **Handle `Public Response Fields`** Parse and validate the `Public Response Fields`, checking the status code or response message to ensure the request is successful and error-free. 2. **Handle `Business Response Fields`** If the `Public Response Fields` are valid and error-free, proceed with processing the business logic in the `Business Response Fields`. ### Public Response Fields Viewing Public Response Fields and Error Codes ### Business Response Fields | Field | Type | Description | | :----- | :------- | :-------------------------------------------------------------------------- | | `data` | `object` | The content of the result data returned. | | +`url` | `string` | URL address of the image after resolution enlargement, image format is PNG. | The URL address is a temporary address, valid for 24 hours, and will not be accessible after it expires. If you need to save the file for a long time or permanently, please visit the URL address within 24 hours and download the file to your own storage space. ### Response Example ```json theme={null} { "request_id": "", "log_id": "", "error_code": 0, "error_msg": "", "error_detail": { "status_code": 200, "code": "", "code_message": "", "message": "" }, "data": { "url": "" } } ``` # Image Sharpness Enhancement Source: https://ailabtools.mintlify.app/docs/ai-image/enhance/image-sharpness-enhancement Image Sharpness Enhancement API deblurs photos and improves edge clarity for sharper, higher-quality images. ## Renderings show | Before processing | After processing | | :-------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------ | | ![Before processing](https://img.ailabtools.com/rapidapi/ImageSharpnessEnhancement/untreated-3.jpg) | ![After processing](https://img.ailabtools.com/rapidapi/ImageSharpnessEnhancement/processed-3-min.jpeg) | | ![Before processing](https://img.ailabtools.com/rapidapi/ImageSharpnessEnhancement/untreated-4.jpg) | ![After processing](https://img.ailabtools.com/rapidapi/ImageSharpnessEnhancement/processed-4-min.jpeg) | | ![Before processing](https://img.ailabtools.com/rapidapi/ImageSharpnessEnhancement/untreated-5.jpg) | ![After processing](https://img.ailabtools.com/rapidapi/ImageSharpnessEnhancement/processed-5-min.jpeg) | ## Billing Instructions ## File Storage Policy ## Application Scenarios * **Massive image optimization**: It can be used to improve the image quality of website pictures, cell phone album pictures, and video extraction frames, to intelligently denoise pictures that become blurred after compression, to strengthen the image texture details, and to make the image picture clearer. * **Video Surveillance**: In security surveillance/vehicle system scenarios, improve image clarity and reconstruct the picture for more discernible surveillance material. # Image Sharpness Enhancement API Source: https://ailabtools.mintlify.app/docs/ai-image/enhance/image-sharpness-enhancement/api POST /api/image/enhance/image-sharpness-enhancement Image Sharpness Enhancement API deblurs photos and improves edge clarity for sharper, higher-quality images. ## Request * **URL**: `https://www.ailabapi.com/api/image/enhance/image-sharpness-enhancement` * **Method**: `POST` * **Content-Type**: `multipart/form-data` ### Image requirements * **Image format**: `PNG` `JPG` `JPEG` `BMP` * **Image size**: No more than 8 MB. * **Image resolution**: Larger than 10x10px, smaller than 5000x5000px. * **Image aspect ratio**: Aspect ratio within 4:1. ### Headers | Field | Required | Type | Description | | :----------------- | :------- | :------- | :---------------------------------------------------- | | `ailabapi-api-key` | YES | `string` | Application API KEY. [Get API KEY](/docs/get-api-key) | ### Body | Field | Required | Type | | :------ | :------- | :----- | | `image` | YES | `file` | ## Response **Response Field Handling Flow** 1. **Handle `Public Response Fields`** Parse and validate the `Public Response Fields`, checking the status code or response message to ensure the request is successful and error-free. 2. **Handle `Business Response Fields`** If the `Public Response Fields` are valid and error-free, proceed with processing the business logic in the `Business Response Fields`. ### Public Response Fields Viewing Public Response Fields and Error Codes ### Business Response Fields | Field | Type | Description | | :------ | :------- | :-------------------- | | `image` | `string` | base64 encoded image. | ### Response Example ```json theme={null} { "request_id": "", "log_id": "", "error_code": 0, "error_msg": "", "error_detail": { "status_code": 200, "code": "", "code_message": "", "message": "" }, "image": "" } ``` # Stretched Image Restoration Source: https://ailabtools.mintlify.app/docs/ai-image/enhance/stretch-image-recovery Stretched Image Restoration API detects distorted images and restores natural proportions with AI-powered correction. ## Renderings show | Before processing | After processing | | :---------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------- | | ![Before processing](https://img.ailabtools.com/rapidapi/RestoreStretchedImage/untreated-2.jpg) | ![After processing](https://img.ailabtools.com/rapidapi/RestoreStretchedImage/processed-2.jpeg) | | ![Before processing](https://img.ailabtools.com/rapidapi/RestoreStretchedImage/untreated-3.jpg) | ![After processing](https://img.ailabtools.com/rapidapi/RestoreStretchedImage/processed-3.jpeg) | | ![Before processing](https://img.ailabtools.com/rapidapi/RestoreStretchedImage/untreated-4.jpg) | ![After processing](https://img.ailabtools.com/rapidapi/RestoreStretchedImage/processed-4.jpeg) | | ![Before processing](https://img.ailabtools.com/rapidapi/RestoreStretchedImage/untreated-5.jpg) | ![After processing](https://img.ailabtools.com/rapidapi/RestoreStretchedImage/processed-5.jpeg) | ## Billing Instructions ## File Storage Policy ## Application Scenarios * **Video and picture quality improvement**: Process video screenshots/cover images and website images to identify and fix videos and images with overstretching problems and improve content quality. # Stretched Image Restoration API Source: https://ailabtools.mintlify.app/docs/ai-image/enhance/stretch-image-recovery/api POST /api/image/enhance/stretch-image-recovery Stretched Image Restoration API detects distorted images and restores natural proportions with AI-powered correction. ## Request * **URL**: `https://www.ailabapi.com/api/image/enhance/stretch-image-recovery` * **Method**: `POST` * **Content-Type**: `multipart/form-data` ### Image requirements * **Image format**: `PNG` `JPG` `JPEG` `BMP` * **Image size**: No more than 8 MB. * **Image resolution**: Larger than 10x10px, smaller than 5000x5000px. * **Image aspect ratio**: Aspect ratio within 4:1. ### Headers | Field | Required | Type | Description | | :----------------- | :------- | :------- | :---------------------------------------------------- | | `ailabapi-api-key` | YES | `string` | Application API KEY. [Get API KEY](/docs/get-api-key) | ### Body | Field | Required | Type | | :------ | :------- | :----- | | `image` | YES | `file` | ## Response **Response Field Handling Flow** 1. **Handle `Public Response Fields`** Parse and validate the `Public Response Fields`, checking the status code or response message to ensure the request is successful and error-free. 2. **Handle `Business Response Fields`** If the `Public Response Fields` are valid and error-free, proceed with processing the business logic in the `Business Response Fields`. ### Public Response Fields Viewing Public Response Fields and Error Codes ### Business Response Fields | Field | Type | Description | | :------ | :------- | :-------------------- | | `image` | `string` | base64 encoded image. | | `ratio` | `float` | Recover ratio. | ### Response Example ```json theme={null} { "request_id": "", "log_id": "", "error_code": 0, "error_msg": "", "error_detail": { "status_code": 200, "code": "", "code_message": "", "message": "" }, "image": "", "ratio": 0 } ``` # AI Flower Wallpaper Source: https://ailabtools.mintlify.app/docs/ai-image/generation/ai-flower-wallpaper AI Flower Wallpaper API turns names into personalized floral wallpapers, bouquet art, and flower-language image designs. ## Renderings show * `name`: Aster * `flower_elements`: Aster flowers in soft lavender and purple tones, delicate star-shaped petals, elegant and romantic bouquet detail * `style`: soft watercolor floral illustration, detailed petal texture, poetic botanical composition, emphasizing love, patience, elegance * `background`: pastel gradient background blending lavender, soft purple, green, subtle bokeh, clean premium wallpaper mood * `aspect_ratio`: `16:9` ![Result Image](https://ai-resource.ailabtools.com/ai-flower-wallpaper/doc/ResultImage-1.webp) ## Billing Instructions ## File Storage Policy # AI Flower Wallpaper API Source: https://ailabtools.mintlify.app/docs/ai-image/generation/ai-flower-wallpaper/api POST /api/image/generation/ai-flower-wallpaper AI Flower Wallpaper API turns names into personalized floral wallpapers, bouquet art, and flower-language image designs. ## Query Task This is an asynchronous task API. The submission request returns only `task_id`. Use `task_id` to call [Querying Async Task Results](/docs/ai-common/async-task-results/api) and retrieve the final result. Async task results remain available for 24 hours. Query every 5 seconds. | Field | Type | Description | | :---------------- | :------- | :----------------- | | `data` | `object` | Final result data. | | +`result_urls` | `array` | Result image URLs. | | ++`result_urls[]` | `string` | Result image URL. | ```json theme={null} { "data": { "result_urls": [""] } } ``` `result_urls` are temporary and remain valid for 24 hours. Download the files to your own storage before the URLs expire if you need long-term storage. ## Submit Task # Image Composition Aesthetics Score Source: https://ailabtools.mintlify.app/docs/ai-image/rating/image-composition-aesthetics-scoring Image Composition Aesthetics Score API rates photo composition from 0 to 5 to help select stronger visual layouts. ## Billing Instructions ## File Storage Policy # Image Composition Aesthetics Score API Source: https://ailabtools.mintlify.app/docs/ai-image/rating/image-composition-aesthetics-scoring/api POST /api/image/rating/image-composition-aesthetics-scoring Image Composition Aesthetics Score API rates photo composition from 0 to 5 to help select stronger visual layouts. ## Request * **URL**: `https://www.ailabapi.com/api/image/rating/image-composition-aesthetics-scoring` * **Method**: `POST` * **Content-Type**: `multipart/form-data` ### Image requirements * **Image format**: `JPG` `JPEG` `BMP` `PNG` `WEBP` * **Image size**: No more than 3 MB. * **Image resolution**: Larger than 32x32px, smaller than 4096x4096px. ### Headers | Field | Required | Type | Description | | :----------------- | :------- | :------- | :---------------------------------------------------- | | `ailabapi-api-key` | YES | `string` | Application API KEY. [Get API KEY](/docs/get-api-key) | ### Body | Field | Required | Type | | :------ | :------- | :----- | | `image` | YES | `file` | ## Response **Response Field Handling Flow** 1. **Handle `Public Response Fields`** Parse and validate the `Public Response Fields`, checking the status code or response message to ensure the request is successful and error-free. 2. **Handle `Business Response Fields`** If the `Public Response Fields` are valid and error-free, proceed with processing the business logic in the `Business Response Fields`. ### Public Response Fields Viewing Public Response Fields and Error Codes ### Business Response Fields | Field | Type | Description | | :------- | :------- | :------------------------------------------------------------------------------------------------------------------------------ | | `data` | `object` | The content of the result data returned. | | +`score` | `float` | The higher the score, the better the composition, with a recommended score of 3.8 or higher being the better composition score. | ### Response Example ```json theme={null} { "request_id": "", "log_id": "", "error_code": 0, "error_msg": "", "error_detail": { "status_code": 200, "code": "", "code_message": "", "message": "" }, "data": { "score": 0 } } ``` # Image Exposure Score Source: https://ailabtools.mintlify.app/docs/ai-image/rating/image-exposure-score Image Exposure Score API evaluates image exposure from 0 to 1 to identify underexposed or overexposed photos. ## Billing Instructions ## File Storage Policy # Image Exposure Score API Source: https://ailabtools.mintlify.app/docs/ai-image/rating/image-exposure-score/api POST /api/image/rating/image-exposure-score Image Exposure Score API evaluates image exposure from 0 to 1 to identify underexposed or overexposed photos. ## Request * **URL**: `https://www.ailabapi.com/api/image/rating/image-exposure-score` * **Method**: `POST` * **Content-Type**: `multipart/form-data` ### Image requirements * **Image format**: `JPG` `JPEG` `BMP` `PNG` * **Image size**: No more than 3 MB. * **Image resolution**: Larger than 32x32px, smaller than 4096x4096px. ### Headers | Field | Required | Type | Description | | :----------------- | :------- | :------- | :---------------------------------------------------- | | `ailabapi-api-key` | YES | `string` | Application API KEY. [Get API KEY](/docs/get-api-key) | ### Body | Field | Required | Type | | :------ | :------- | :----- | | `image` | YES | `file` | ## Response **Response Field Handling Flow** 1. **Handle `Public Response Fields`** Parse and validate the `Public Response Fields`, checking the status code or response message to ensure the request is successful and error-free. 2. **Handle `Business Response Fields`** If the `Public Response Fields` are valid and error-free, proceed with processing the business logic in the `Business Response Fields`. ### Public Response Fields Viewing Public Response Fields and Error Codes ### Business Response Fields | Field | Type | Description | | :---------- | :------- | :--------------------------------------------------------------------------------------------- | | `data` | `object` | The content of the result data returned. | | +`exposure` | `float` | Image exposure score, the value range is 0\~1. The higher the score, the greater the exposure. | ### Response Example ```json theme={null} { "request_id": "", "log_id": "", "error_code": 0, "error_msg": "", "error_detail": { "status_code": 200, "code": "", "code_message": "", "message": "" }, "data": { "exposure": 0 } } ``` # AI Face Rating Source: https://ailabtools.mintlify.app/docs/ai-portrait/analysis/ai-face-rating AI Face Rating API analyzes portraits for beauty score, symmetry, facial proportions, skin impression, and improvement tips. ## Renderings show | ORIGINAL IMAGE | RESULT IMAGE | | :--------------------------------: | :----------------------------: | | ![ORIGINAL IMAGE][OriginalImage-1] | ![RESULT IMAGE][ResultImage-1] | ## Billing Instructions ## File Storage Policy [OriginalImage-1]: https://ai-resource.ailabtools.com/ai-face-rating/doc/OriginalImage-1.webp [ResultImage-1]: https://ai-resource.ailabtools.com/ai-face-rating/doc/ResultImage-1.webp # AI Face Rating API Source: https://ailabtools.mintlify.app/docs/ai-portrait/analysis/ai-face-rating/api POST /api/portrait/analysis/ai-face-rating AI Face Rating API analyzes portraits for beauty score, symmetry, facial proportions, skin impression, and improvement tips. ## Query Task This is an asynchronous task API. The submission request returns only `task_id`. Use `task_id` to call [Querying Async Task Results](/docs/ai-common/async-task-results/api) and retrieve the final result. Async task results remain available for 24 hours. Query every 5 seconds. | Field | Type | Description | | :---------------- | :------- | :----------------- | | `data` | `object` | Final result data. | | +`result_urls` | `array` | Result image URLs. | | ++`result_urls[]` | `string` | Result image URL. | ```json theme={null} { "data": { "result_urls": [""] } } ``` `result_urls` are temporary and remain valid for 24 hours. Download the files to your own storage before the URLs expire if you need long-term storage. ## Submit Task # Face Analyzer Source: https://ailabtools.mintlify.app/docs/ai-portrait/analysis/face-analyzer Face Analyzer API detects facial position, attributes, attractiveness, pose, and quality metrics from portrait images. ## Billing Instructions ## File Storage Policy ## Application Scenarios * **Security and Surveillance**: Face Analyzer can enhance security systems by accurately identifying individuals in real-time, enabling efficient access control and threat detection in public spaces, airports, or corporate environments. * **Social Media and Marketing**: By analyzing faces in user-generated content, Face Analyzer helps businesses gain valuable insights into consumer behavior, sentiment analysis, and demographic profiling. This information can be leveraged for targeted marketing campaigns and personalized customer experiences. * **Healthcare and Biometrics**: Face Analyzer can be utilized in medical diagnostics, monitoring patient well-being, and assisting in facial recognition for identity verification in healthcare systems, improving patient safety and reducing administrative burdens. * **Entertainment and Gaming**: The entertainment industry can harness Face Analyzer for interactive experiences, such as augmented reality (AR) filters, virtual makeup applications, or personalized character creation in video games. ## Featured Advantages * **Real-Time Response**: Facial recognition possesses characteristics like high concurrency, high throughput, and low latency. Each request can be processed in just a few hundred milliseconds, meeting your real-time usage requirements. * **Accuracy**: Face Analyzer leverages advanced neural networks and deep learning techniques to achieve exceptional accuracy in detecting faces. It can reliably identify faces even in challenging scenarios, such as low light conditions, partial occlusions, or varying angles. * **Efficiency**: Powered by highly optimized algorithms, Face Analyzer delivers impressive performance in terms of processing speed and resource utilization. It can rapidly analyze large volumes of images, making it suitable for real-time applications, such as video surveillance or live streaming platforms. * **Scalability**: Face Analyzer is designed to handle diverse use cases, ranging from individual image analysis to bulk processing of image datasets. Its scalability enables seamless integration with existing workflows, ensuring flexibility and adaptability across different projects and applications. * **Multi-Face Detection**: With the ability to detect and analyze multiple faces simultaneously, Face Analyzer proves invaluable in scenarios where identification or analysis of multiple individuals is crucial. This capability makes it ideal for crowd monitoring, security applications, or social media analytics. # Face Analyzer Advanced Source: https://ailabtools.mintlify.app/docs/ai-portrait/analysis/face-analyzer-advanced Face Analyzer Advanced API detects facial attributes and quality metrics, including age, gender, expression, pose, blur, and occlusion. ## Billing Instructions ## File Storage Policy ## Featured Advantages * **High adaptability**: Accurately recognizes faces across different photo types, face sizes, and scenarios, covering a wide range of age groups. * **Image quality scoring**: Provides comprehensive quality evaluation including occlusion, lighting, blur, pose, and noise. * **Stable platform performance**: Delivers millisecond-level recognition with reliable service under high concurrency and large traffic loads. # Face Analyzer Advanced API Source: https://ailabtools.mintlify.app/docs/ai-portrait/analysis/face-analyzer-advanced/api POST /api/portrait/analysis/face-analyzer-advanced Face Analyzer Advanced API detects facial attributes and quality metrics, including age, gender, expression, pose, blur, and occlusion. # AILabTools API - Face Analyzer Advanced - API ## Request * **URL**: `https://www.ailabapi.com/api/portrait/analysis/face-analyzer-advanced` * **Method**: `POST` * **Content-Type**: `multipart/form-data` ### Image requirements * **Image format**: `JPG` `JPEG` `PNG` `BMP` * **Image size**: No more than 20 MB. * **Image resolution**: Larger than 32×32px, smaller than 4096×4096px, face no smaller than 64×64px. ### Headers | Field | Required | Type | Description | | :----------------- | :------- | :------- | :------------------------------------------------- | | `ailabapi-api-key` | YES | `string` | Application API KEY. [Get API KEY](get-api-key.md) | ### Body | Field | Required | Type | | | :------ | :------- | :----- | - | | `image` | YES | `file` | | ## Response **Response Field Handling Flow** 1. **Handle `Public Response Fields`** Parse and validate the `Public Response Fields`, checking the status code or response message to ensure the request is successful and error-free. 2. **Handle `Business Response Fields`** If the `Public Response Fields` are valid and error-free, proceed with processing the business logic in the `Business Response Fields`. ### Public Response Fields Viewing Public Response Fields and Error Codes ### Business Response Fields | Field | Type | Scope | Description | | :----------------------- | :----------------- | :------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `data` | `object` | | | | +`pupils` | `array of float` | | The center point coordinates and radius of the left and right pupils, with 6 floating-point values per face, in the order of `[left_iris_cenpt.x, left_iris_cenpt.y, left_iris_radius, right_iris_cenpt.x, right_iris_cenpt.y, right_iris_radius]`. If multiple faces are detected, results are returned in order. | | +`gender_list` | `array of integer` |
  • `0`
  • `1`
  • | Gender. If multiple faces are detected, results are returned in order.
  • `0`: Female.
  • `1`: Male.
  • | | +`expressions` | `array of integer` |
  • `0`
  • `1`
  • | Expression. If multiple faces are detected, results are returned in order.
  • `0`: Neutral.
  • `1`: Smile.
  • | | +`face_count` | `integer` | | Number of faces. | | +`landmarks` | `array of float` | | Facial landmark detection results. A set of landmark coordinates is returned for each face, represented as (x0, y0, x1, y1, …). If multiple faces are detected, results are returned in order. | | +`landmark_count` | `integer` |
  • `105`
  • | Number of facial landmarks. distributed as follows:
  • Eyebrows: 24 points
  • Eyes: 32 points
  • Nose: 6 points
  • Mouth: 34 points
  • Outer contour: 9 points
  • | | +`beauty_list` | `array of float` | \[0, 100] | Attractiveness score. A higher score indicates a higher level of attractiveness. If multiple faces are detected, results are returned in order. | | +`hat_list` | `array of integer` |
  • `0`
  • `1`
  • | Whether wearing a hat. If multiple faces are detected, results are returned in order.
  • `0`: No.
  • `1`: Yes.
  • | | +`face_probability_list` | `array of float` | \[0, 1] | Probability of a face. If multiple faces are detected, results are returned in order. | | +`glasses` | `array of integer` |
  • `0`
  • `1`
  • `2`
  • | Whether wearing glasses. If multiple faces are detected, results are returned in order.
  • `0`: No glasses.
  • `1`: Wearing regular glasses.
  • `2`: Wearing sunglasses.
  • | | +`face_rectangles` | `array of integer` | | Face bounding box, represented as `[left, top, width, height]`. If multiple faces are detected, results are returned in order. | | +`pose_list` | `array of float` | | Face pose, in the format `[yaw, pitch, roll]`. If multiple faces are detected, results are returned in order.
  • `yaw`: left-right angle. Range: `[-90, 90]`.
  • `pitch`: up-down angle. Range: `[-90, 90]`.
  • `roll`: in-plane rotation angle. Range: `[-180, 180]`.
  • | | +`age_list` | `array of integer` | \[0, 100] | Age. If multiple faces are detected, results are returned in order. | | +`dense_feature_length` | `integer` |
  • `1024`
  • | The feature dimension returned by face recognition. | | +`masks` | `array of integer` |
  • `0`
  • `1`
  • `2`
  • | Whether wearing a mask. If multiple faces are detected, results are returned in order.
  • `0`: No.
  • `1`: Yes.
  • `2`: Mask worn incorrectly.
  • | | +`qualities` | `object` | | Face quality score, where a higher score indicates better suitability for recognition. | | ++`score_list` | `array of float` | \[0, 100] | Overall quality score, where a higher score indicates better suitability for recognition. It is recommended to set a threshold of ≥85 during recognition: a score above 85 indicates high overall image quality, while a score below 85 indicates lower overall image quality. If multiple faces are detected, results are returned in order. | | ++`blur_list` | `array of float` | \[0, 100] | Face blur score indicating the impact of blurriness on recognition, where a higher score is more favorable for recognition. It is recommended to set a threshold of ≥85 during recognition: a score above 85 indicates a lower likelihood of the image being blurry, while a score below 85 indicates a higher likelihood of blurriness. If multiple faces are detected, results are returned in order. | | ++`fnf_list` | `array of float` | \[0, 100] | Score indicating whether the target is a face and its impact on recognition, where a higher score is more favorable for recognition. It is recommended to set a threshold of ≥85 during recognition: a score above 85 indicates a higher probability that the image is a face, while a score below 85 indicates a lower probability. If multiple faces are detected, results are returned in order. | | ++`glass_list` | `array of float` | \[0, 100] | Score indicating the impact of upper-face occlusion (e.g., glasses) on recognition, where a higher score is more favorable for recognition. It is recommended to set a threshold of ≥85 during recognition: a score above 85 indicates a lower probability of wearing glasses, while a score below 85 indicates a higher probability. If multiple faces are detected, results are returned in order. | | ++`illu_list` | `array of float` | \[0, 100] | Score indicating the impact of lighting on recognition, where a higher score is more favorable for recognition. It is recommended to set a threshold of ≥85 during recognition: a score above 85 indicates a higher probability that the image has good lighting, while a score below 85 indicates a lower probability. If multiple faces are detected, results are returned in order. | | ++`mask_list` | `array of float` | \[0, 100] | Score indicating the impact of lower-face occlusion (e.g., mask) on recognition, where a higher score is more favorable for recognition. It is recommended to set a threshold of ≥85 during recognition: a score above 85 indicates a lower probability of wearing a mask, while a score below 85 indicates a higher probability. If multiple faces are detected, results are returned in order. | | ++`noise_list` | `array of float` | \[0, 100] | Score indicating the impact of image noise on recognition, where a higher score is more favorable for recognition. It is recommended to set a threshold of ≥85 during recognition: a score above 85 indicates a lower probability of image noise, while a score below 85 indicates a higher probability. If multiple faces are detected, results are returned in order. | | ++`pose_list` | `array of float` | \[0, 100] | Score indicating the impact of face pose on recognition, where a higher score is more favorable for recognition. It is recommended to set a threshold of ≥85 during recognition: a score above 85 indicates a higher probability of the face being frontal, while a score below 85 indicates a lower probability. If multiple faces are detected, results are returned in order. | ### Response Example ```json theme={null} { "request_id": "", "log_id": "", "error_code": 0, "error_code_str": "", "error_msg": "", "error_detail": { "status_code": 200, "code": "", "code_message": "", "message": "" }, "image_width": 0, "image_height": 0, "data": { "beauty_list": [ 52 ], "face_rectangles": [ 189, 152, 307, 412 ], "qualities": { "score_list": [ 96.41 ], "noise_list": [ 98.3 ], "blur_list": [ 99.82 ], "fnf_list": [ 100 ], "glass_list": [ 100 ], "mask_list": [ 86.71 ], "illu_list": [ 99.96 ], "pose_list": [ 95.15 ] }, "dense_feature_length": 1024, "pupils": [ 271.97, 323.93, 11.85, 411.95, 313.45, 11.85 ], "gender_list": [ 1 ], "pose_list": [ 0.84, -2.23, -3.3 ], "masks": [ 0 ], "face_probability_list": [ 0.98 ], "hat_list": [ 0 ], "landmark_count": 105, "age_list": [ 39 ], "glasses": [ 0 ], "landmarks": [ 216.84, 307.4, 309.35, 298.43, 261.93, 289.62, 262.17, 303.41, 229.42, 299.44, 244.93, 291.53, 278.59, 289.6, 294.53, 290.61, 229.94, 308.02, 245.65, 305.05, 278.97, 303.66, 295.33, 304.58, 375.47, 294.46, 468.65, 295.67, 422.46, 279.5, 423.25, 294.1, 389.97, 285, 406.23, 281.84, 438.5, 280.1, 454.31, 286.7, 390.78, 299.35, 406.83, 296.41, 439.46, 293.85, 454.84, 295.42, 243.03, 327.34, 307.29, 324.87, 251.11, 322.3, 256.89, 317.29, 265.83, 315.46, 273.42, 312.38, 282.65, 313.8, 291.55, 314.5, 299.28, 320.32, 251.54, 328.95, 258.26, 330.92, 266.74, 331.13, 274.47, 331.72, 282.61, 330.52, 291.06, 329.53, 298.9, 327.67, 382.22, 321.26, 444.41, 316.94, 389.53, 315.41, 396.52, 309.38, 405.45, 307.33, 414.04, 304.87, 421.57, 307.02, 430.19, 307.97, 435.96, 312.63, 390.44, 322.84, 398.17, 324.31, 406.3, 324.36, 414.3, 324.93, 421.45, 323.53, 429.97, 322.42, 435.81, 319.33, 343.81, 320.48, 349.93, 409.17, 346.66, 364.53, 351.7, 427.48, 311.34, 416.64, 387.58, 411.33, 283.8, 457.18, 420.32, 447.05, 288.01, 458.31, 416.69, 449.18, 352.79, 450.82, 339.8, 451.36, 365.22, 449.34, 311.04, 451.25, 393.19, 445.49, 297.18, 453.88, 325.15, 451.15, 379.17, 447.65, 407.07, 446.47, 356.25, 497.12, 314.05, 485.85, 395.68, 479.71, 298.35, 471.26, 334.99, 491.6, 375.75, 488.11, 408.05, 462.5, 353.32, 458.86, 354.39, 480.15, 320.54, 457.99, 319.1, 475.61, 385.77, 453.35, 388.76, 469.72, 304.64, 457.9, 303.31, 467.65, 336.77, 458.03, 336.73, 478.77, 369.57, 455.94, 371.46, 475.34, 400.6, 451.33, 402.4, 459.7, 184.69, 329.94, 499.09, 312.63, 361.16, 572.93, 221.75, 483.35, 477.01, 466.47, 196.83, 406.88, 493.73, 391.53, 280.2, 543.24, 432.97, 532.44 ], "expressions": [ 1 ], "face_count": 1 } } ``` # Face Analyzer API Source: https://ailabtools.mintlify.app/docs/ai-portrait/analysis/face-analyzer/api POST /api/portrait/analysis/face-analyzer Face Analyzer API detects facial position, attributes, attractiveness, pose, and quality metrics from portrait images. ## Request * **URL**: `https://www.ailabapi.com/api/portrait/analysis/face-analyzer` * **Method**: `POST` * **Content-Type**: `multipart/form-data` ### Image requirements * **Image format**: `JPG` `JPEG` `PNG` `BMP` * **Image size**: No more than 5 MB. * **Image resolution**: Less than 2000x2000px. ### Headers | Field | Required | Type | Description | | :----------------- | :------- | :------- | :---------------------------------------------------- | | `ailabapi-api-key` | YES | `string` | Application API KEY. [Get API KEY](/docs/get-api-key) | ### Body | Field | Required | Type | Scope | Default | Example | Description | | | :---------------------- | :------- | :-------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------- | :------ | :----------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | - | | `image` | YES | `file` | | | | | | | `max_face_num` | NO | `integer` | \[1, 120] | `1` | | The maximum number of faces processed. When set to 1, only the largest face in the image is detected. A smaller value leads to faster processing speed. | | | `face_attributes_type` | NO | `string` | `None`, `Age`, `Beauty`, `Emotion`, `Eye`, `Eyebrow`, `Gender`, `Hair`, `Hat`, `Headpose`, `Mask`, `Mouth`, `Moustache`, `Nose`, `Shape`, `Skin`, `Smile` | `None` | `Age,Beauty` | Whether to return attributes such as age, gender, mood, etc. AttributesInfo is returned for up to 5 faces with the largest area, and AttributesInfo for more than 5 faces (the 6th and later faces) are not referenced. | | | `need_rotate_detection` | NO | `integer` | `0`, `1` | `0` | | ``0`: Close.`, ``1`: Open.` | | ## Response **Response Field Handling Flow** 1. **Handle `Public Response Fields`** Parse and validate the `Public Response Fields`, checking the status code or response message to ensure the request is successful and error-free. 2. **Handle `Business Response Fields`** If the `Public Response Fields` are valid and error-free, proceed with processing the business logic in the `Business Response Fields`. ### Public Response Fields Viewing Public Response Fields and Error Codes ### Business Response Fields | Field | Type | Scope | Description | | :----------------------------- | :-------- | :-------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `image_width` | `integer` | | Image width. | | `image_height` | `integer` | | Image height. | | `face_detail_infos` | `array` | | List of face information. | | +`face_rect` | `object` | | Face frame position. | | ++`x` | `integer` | | The horizontal coordinate of the upper left corner of the face frame.The face frame contains the positions of the five senses of the face and expands on them, if the face frame is out of the range of the picture, it will lead to negative coordinates.If you need to intercept the complete face, you can take the negative coordinate to 0 if the complete subcompletess meets the demand. | | ++`y` | `integer` | | The vertical coordinate of the upper left corner of the face frame. The face frame contains the positions of the five senses of the face and expands them to a certain extent. If the face frame exceeds the range of the picture, it will lead to negative coordinates. If you need to intercept the complete face, you can take the negative coordinate to 0 if the complete subcompletess meets the demand. | | ++`width` | `integer` | | Face width. | | ++`height` | `integer` | | Face height. | | +`face_detail_attributes_info` | `object` | | Face attribute information. | | ++`age` | `integer` | \[0, 65] | Age. `65`: 65 years old and above. When `face_attributes_type` does not contain `Age` or when more than 5 faces are detected, this parameter is still returned but is not informative. | | ++`beauty` | `integer` | \[0, 100] | Beauty Score. When `face_attributes_type` does not contain `Beauty` or when more than 5 faces are detected, this parameter is still returned but is not informative. | | ++`emotion` | `object` | | Emotional information. When `face_attributes_type` does not contain `Emotion` or when more than 5 faces are detected, this parameter is still returned but is not informative. | | +++`type` | `integer` | `0`, `1`, `2`, `3`, `4`, `5`, `6` | ``0`: Neutral.` ``1`: Happy.` ``2`: Surprised.` ``3`: Angry.` ``4`: Sad.` ``5`: Disgusted.` \`\`6`: Fearful.` | | +++`probability` | `float` | \[0, 1] | Probability of being correct. | | ++`eye` | `object` | | Eye-related information. `face_attributes_type` does not contain `Eye` or when more than 5 faces are detected, this parameter is still returned but is not informative. | | +++`glass` | `object` | | Wearing glasses. | | ++++`type` | `integer` | `0`, `1`, `2` | ``0`: No glasses.` ``1`: Regular glasses.` \`\`2`: Sunglasses.` | | ++++`probability` | `float` | \[0, 1] | Probability of being correct. | | +++`eye_open` | `object` | | Closed eyes. | | ++++`type` | `integer` | `0`, `1` | ``0`: No.` ``1`: Yes.` | | ++++`probability` | `float` | \[0, 1] | Probability of being correct. | | +++`eyelid_type` | `object` | | Double eyelids. | | ++++`type` | `integer` | `0`, `1` | ``0`: No.` ``1`: Yes.` | | ++++`probability` | `float` | \[0, 1] | Probability of being correct. | | +++`eye_size` | `object` | | Eye size. | | ++++`type` | `integer` | `0`, `1`, `2` | ``0`: Small eyes.` ``1`: Regular eyes.` \`\`2`: Large eyes.` | | ++++`probability` | `float` | \[0, 1] | Probability of being correct. | | ++`eyebrow` | `object` | | Eyebrow information. `face_attributes_type` does not contain `Eyebrow` or when more than 5 faces are detected, this parameter is still returned but is not informative. | | +++`eyebrow_density` | `object` | | Thick eyebrows. | | ++++`type` | `integer` | `0`, `1` | ``0`: Sparse eyebrows.` ``1`: Thick eyebrows.` | | ++++`probability` | `float` | \[0, 1] | Probability of being correct. | | +++`eyebrow_curve` | `object` | | Curved eyebrows. | | ++++`type` | `integer` | `0`, `1` | ``0`: Not curved.` ``1`: Curved eyebrows.` | | ++++`probability` | `float` | \[0, 1] | Probability of being correct. | | +++`eyebrow_length` | `object` | | Eyebrow length. | | ++++`type` | `integer` | `0`, `1` | ``0`: Short eyebrows.` ``1`: Long eyebrows.` | | ++++`probability` | `float` | \[0, 1] | Probability of being correct. | | ++`gender` | `object` | | Gender information. `face_attributes_type` does not contain `Gender` or when more than 5 faces are detected, this parameter is still returned but is not informative. | | +++`type` | `integer` | `0`, `1` | ``0`: Male.` ``1`: Female.` | | +++`probability` | `float` | \[0, 1] | Probability of being correct. | | ++`hair` | `object` | | Hair information. `face_attributes_type` does not contain `Hair` or when more than 5 faces are detected, this parameter is still returned but is not informative. | | +++`length` | `object` | | Hair length information. | | ++++`type` | `integer` | `0`, `1`, `2`, `3`, `4` | ``0`: Bald.` ``1`: Short hair.` ``2`: Medium-length hair.` ``3`: Long hair.` \`\`4`: Tied hair.` | | ++++`probability` | `float` | \[0, 1] | Probability of being correct. | | +++`bang` | `object` | | Fringe (bangs) information. | | ++++`type` | `integer` | `0`, `1` | ``0`: No fringe (bangs).` ``1`: Has fringe (bangs).` | | ++++`probability` | `float` | \[0, 1] | Probability of being correct. | | +++`color` | `object` | | Hair color information. | | ++++`type` | `integer` | `0`, `1`, `2`, `3` | ``0`: Black.` ``1`: Blonde.` ``2`: Brown.` ``3`: Gray/White.` | | ++++`probability` | `float` | \[0, 1] | Probability of being correct. | | ++`hat` | `object` | | Hat information. `face_attributes_type` does not contain `Hat` or when more than 5 faces are detected, this parameter is still returned but is not informative. | | +++`style` | `object` | | Hat wearing status information. | | ++++`type` | `integer` | `0`, `1`, `2`, `3` | ``0`: No hat.` ``1`: Regular hat.` ``2`: Helmet.` ``3`: Security hat.` | | ++++`probability` | `float` | \[0, 1] | Probability of being correct. | | +++`color` | `object` | | Hat color. | | ++++`type` | `integer` | `0`, `1`, `2`, `3`, `4`, `5`, `6` | ``0`: No hat.` ``1`: Red shades.` ``2`: Yellow shades.` ``3`: Blue shades.` ``4`: Black shades.` ``5`: Gray/White shades.` \`\`6`: Mixed colors.` | | ++++`probability` | `float` | \[0, 1] | Probability of being correct. | | ++`head_pose` | `object` | | Face offset information. `face_attributes_type` does not contain `HeadPose` or when more than 5 faces are detected, this parameter is still returned but is not informative. | | +++`pitch` | `integer` | \[-30, 30] | Vertical Offset. | | +++`yaw` | `integer` | \[-30, 30] | Horizontal Offset. | | +++`pitch` | `integer` | \[-180, 180] | Planar Rotation. | | ++`mask` | `object` | | Mask wearing information. `face_attributes_type` does not contain `Mask` or when more than 5 faces are detected, this parameter is still returned but is not informative. | | +++`type` | `integer` | `0`, `1`, `2`, `3`, `4` | ``0`: No mask.` ``1`: Mask without covering face.` ``2`: Mask covering chin.` ``3`: Mask covering mouth.` \`\`4`: Correctly worn mask.` | | +++`probability` | `float` | \[0, 1] | Probability of being correct. | | ++`mouth` | `object` | | Mouth information. `face_attributes_type` does not contain `Mouth` or when more than 5 faces are detected, this parameter is still returned but is not informative. | | +++`mouth_open` | `object` | | Mouth open. | | ++++`type` | `integer` | `0`, `1` | ``0`: No.` ``1`: Yes.` | | ++++`probability` | `float` | \[0, 1] | Probability of being correct. | | ++`moustache` | `object` | | Facial hair information. `face_attributes_type` does not contain `Moustache` or when more than 5 faces are detected, this parameter is still returned but is not informative. | | +++`type` | `integer` | `0`, `1` | ``0`: No facial hair.` ``1`: Facial hair.` | | +++`probability` | `float` | \[0, 1] | Probability of being correct. | | ++`nose` | `object` | | Nose information. `face_attributes_type` does not contain `Nose` or when more than 5 faces are detected, this parameter is still returned but is not informative. | | +++`type` | `integer` | `0`, `1`, `2`, `3` | ``0`: Upturned nose.` ``1`: Hooked nose.` ``2`: Normal.` ``3`: Round-tipped nose.` | | +++`probability` | `float` | \[0, 1] | Probability of being correct. | | ++`shape` | `object` | | Face shape information. `face_attributes_type` does not contain `Shape` or when more than 5 faces are detected, this parameter is still returned but is not informative. | | +++`type` | `integer` | `0`, `1`, `2`, `3`, `4` | ``0`: Square face.` ``1`: Triangular face.` ``2`: Oval face.` ``3`: Heart-shaped face.` \`\`4`: Round face.` | | +++`probability` | `float` | \[0, 1] | Probability of being correct. | | ++`skin` | `object` | | Skin color information. `face_attributes_type` does not contain `Skin` or when more than 5 faces are detected, this parameter is still returned but is not informative. | | +++`type` | `integer` | `0`, `1`, `2`, `3` | ``0`: Yellow skin.` ``1`: Brown skin.` ``2`: Black skin.` ``3`: White skin.` | | +++`probability` | `float` | \[0, 1] | Probability of being correct. | | ++`smile` | `integer` | \[0,100] | Smile Rating. `face_attributes_type` does not contain `Smile` or when more than 5 faces are detected, this parameter is still returned but is not informative. | ### Response Example ```json theme={null} , "image_width": 0, "image_height": 0, "face_detail_infos": [ , "face_detail_attributes_info": , "eye": , "eye_open": , "eyelid_type": , "eye_size": }, "eyebrow": , "eyebrow_curve": , "eyebrow_length": }, "gender": , "hair": , "bang": , "color": }, "hat": , "color": }, "head_pose": , "mask": , "mouth": }, "moustache": , "nose": , "shape": , "skin": , "smile": 0 } } ] } ``` # Facial Landmarks Source: https://ailabtools.mintlify.app/docs/ai-portrait/analysis/face-key-points Facial Landmarks API detects 72, 150, or 201 face key points for facial contours, eyes, eyebrows, lips, and nose. ## Billing Instructions ## File Storage Policy ## Application Scenarios * **Interactive entertainment**: It supports accurate positioning of facial features and contours, and can realize interactive entertainment functions such as special effects camera, dynamic stickers, and small video play. * **Facial feature analysis**: support the accurate positioning of facial features and contours to achieve facial feature analysis, landing in intelligent medical beauty and other products. * **Beauty shooting**: high-precision face key points can be shaped for beauty, landing in a variety of beauty scenarios such as pictures, videos, and live broadcasts. ## Featured Advantages * **High-precision algorithm**: Based on a large amount of precision labeled data training, the algorithm is highly accurate, perfectly fits the face and adapts to various face postures and expressions. * **Wide range of applications**: support different photos and face sizes, support various indoor, outdoor and other environmental scenarios, and facilitate various business expansion. * **Stable and reliable service**: provide stable and accurate high traffic service, and support millisecond recognition response. # Facial Landmarks API Source: https://ailabtools.mintlify.app/docs/ai-portrait/analysis/face-key-points/api POST /api/portrait/analysis/face-key-points Facial Landmarks API detects 72, 150, or 201 face key points for facial contours, eyes, eyebrows, lips, and nose. ## Request * **URL**: `https://www.ailabapi.com/api/portrait/analysis/face-key-points` * **Method**: `POST` * **Content-Type**: `multipart/form-data` ### Image requirements * **Image format**: `JPEG` `JPG` `BMP` `PNG` * **Image size**: No more than 8 MB. * **Image resolution**: Less than 1920x1080px. ### Headers | Field | Required | Type | Description | | :----------------- | :------- | :------- | :---------------------------------------------------- | | `ailabapi-api-key` | YES | `string` | Application API KEY. [Get API KEY](/docs/get-api-key) | ### Body | Field | Required | Type | Scope | Default | Example | Description | | :------------- | :------- | :-------- | :----------------------------------------------------------------------- | :------ | :--------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `image` | YES | `file` | | | | | | `max_face_num` | NO | `integer` | `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10` | `1` | | The maximum number of faces to process. The default value is `1` (only the face with the largest area in the image is detected). | | `face_field` | NO | `string` | `age`, `gender`, `landmark4`, `landmark72`, `landmark150`, `landmark201` | | `age,gender,landmark4` | ``age`: Age information.`, ``gender`: Gender information.`, ``landmark4`: 4 feature points.`, ``landmark72`: 72 feature points.`, ``landmark150`: 150 feature points.`, ``landmark201`: 201 feature points.` | ## Response **Response Field Handling Flow** 1. **Handle `Public Response Fields`** Parse and validate the `Public Response Fields`, checking the status code or response message to ensure the request is successful and error-free. 2. **Handle `Business Response Fields`** If the `Public Response Fields` are valid and error-free, proceed with processing the business logic in the `Business Response Fields`. ### Public Response Fields Viewing Public Response Fields and Error Codes ### Business Response Fields | Field | Type | Scope | Description | | :------------------- | :-------- | :--------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `result` | `object` | | The content of the result data returned. | | +`face_num` | `integer` | | The number of faces in the picture. | | +`face_list` | `array` | | List of face information. | | ++`face_token` | `string` | | Face Token. | | ++`location` | `object` | | The position of the face in the picture. | | +++`left` | `float` | | The distance of the face area from the left border. | | +++`top` | `float` | | The distance of the face area from the upper boundary. | | +++`width` | `float` | | The width of the face area. | | +++`height` | `float` | | The height of the face area. | | +++`rotation` | `integer` | \[-180, 180] | The clockwise rotation angle of the face frame with respect to the vertical direction. | | ++`face_probability` | `float` | \[0, 1] | Face confidence. | | ++`angle` | `object` | | Face rotation parameters, refer to [Face Spatial Pose Angle Reference](ai-portrait/analysis/face-key-points/face-spatial-pose-angle-reference) for detailed description. | | +++`yaw` | `float` | \[-90, 90] | The left and right rotation angle of 3D rotation. | | +++`pitch` | `float` | \[-90, 90] | Three-dimensional rotation of the pitch angle. | | +++`roll` | `float` | \[-180, 180] | In-plane rotation angle. | | ++`age` | `float` | | Age. | | ++`gender` | `object` | | Gender information. | | +++`type` | `string` | `male`, `female` | | | +++`probability` | `float` | \[0, 1] | Gender confidence. | | ++`landmark4` | `array` | | 4 feature points. | | ++`landmark72` | `array` | | 72 feature points. Refer to [72 feature points](ai-portrait/analysis/face-key-points/feature-points-72) for details. | | ++`landmark150` | `object` | | 150 feature points. Refer to [150 feature points](ai-portrait/analysis/face-key-points/feature-points-150) for details. | | ++`landmark201` | `object` | | 201 feature points. Refer to [201 feature points](ai-portrait/analysis/face-key-points/feature-points-201) for details. | ### Response Example JSON ```json theme={null} { "request_id": "", "log_id": "", "error_code": 0, "error_msg": "", "error_detail": { "status_code": 200, "code": "", "code_message": "", "message": "" }, "result": { "face_num": "", "face_list": [ { "face_token": "", "location": { "left": 0, "top": 0, "width": 0, "height": 0, "rotation": 0 } } ], "face_probability": 0, "angle": [ { "yaw": 0, "pitch": 0, "roll": 0 } ], "age": 0, "gender": [ { "type": "", "probability": 0 } ], "landmark4": [], "landmark72": [], "landmark150": {}, "landmark201": {} } } ``` ```json theme={null} [ { "x": 148.37, "y": 100.59 }, { "x": 234.82, "y": 90.52 }, { "x": 199.34, "y": 135.81 }, { "x": 203.17, "y": 179.29 } ] ``` ```json theme={null} [ { "x": 100.08, "y": 122.9 }, { "x": 106.77, "y": 149.07 }, { "x": 115.46, "y": 174.85 }, { "x": 127.3, "y": 199.99 }, { "x": 151.98, "y": 222.51 }, { "x": 181.8, "y": 235.05 }, { "x": 209.56, "y": 236.15 }, { "x": 235.09, "y": 227.11 }, { "x": 259.5, "y": 205.96 }, { "x": 274.62, "y": 178.35 }, { "x": 279.28, "y": 151.9 }, { "x": 280.94, "y": 125.59 }, { "x": 280.4, "y": 99.89 }, { "x": 128.11, "y": 106.45 }, { "x": 136.37, "y": 97.92 }, { "x": 146.18, "y": 94.09 }, { "x": 156.75, "y": 95.54 }, { "x": 167.29, "y": 102.81 }, { "x": 157.75, "y": 105.5 }, { "x": 147.51, "y": 107.65 }, { "x": 137.1, "y": 108.02 }, { "x": 148.37, "y": 100.59 }, { "x": 111.06, "y": 88.35 }, { "x": 120.9, "y": 71.46 }, { "x": 136.29, "y": 64.57 }, { "x": 152.5, "y": 62.86 }, { "x": 168.22, "y": 70.9 }, { "x": 153.23, "y": 72.9 }, { "x": 137.92, "y": 74.23 }, { "x": 123.75, "y": 79.02 }, { "x": 217.95, "y": 97.14 }, { "x": 226.23, "y": 87.37 }, { "x": 236.37, "y": 83.63 }, { "x": 246.55, "y": 84.88 }, { "x": 256.18, "y": 91.67 }, { "x": 248.15, "y": 95.06 }, { "x": 238.3, "y": 97.02 }, { "x": 227.85, "y": 97.26 }, { "x": 234.82, "y": 90.52 }, { "x": 210.71, "y": 65.97 }, { "x": 223.61, "y": 54.58 }, { "x": 238.8, "y": 52.63 }, { "x": 254.62, "y": 55.99 }, { "x": 266.84, "y": 69.55 }, { "x": 253.78, "y": 63.55 }, { "x": 239.71, "y": 62.6 }, { "x": 225.24, "y": 64.54 }, { "x": 181.11, "y": 101.65 }, { "x": 179.98, "y": 117.06 }, { "x": 178.41, "y": 132.61 }, { "x": 174.58, "y": 150.84 }, { "x": 187.7, "y": 148.58 }, { "x": 212.42, "y": 145.66 }, { "x": 223.67, "y": 144.55 }, { "x": 215.58, "y": 127.75 }, { "x": 210.32, "y": 113.35 }, { "x": 205.05, "y": 98.7 }, { "x": 199.34, "y": 135.81 }, { "x": 164.93, "y": 181.13 }, { "x": 183.01, "y": 172.43 }, { "x": 202.75, "y": 169.17 }, { "x": 221.78, "y": 167.99 }, { "x": 238.94, "y": 172.43 }, { "x": 224.92, "y": 186.73 }, { "x": 204.97, "y": 193.61 }, { "x": 183.27, "y": 191.76 }, { "x": 184.52, "y": 179 }, { "x": 203.5, "y": 177.11 }, { "x": 221.54, "y": 174.5 }, { "x": 221.62, "y": 178.9 }, { "x": 203.77, "y": 182.13 }, { "x": 184.82, "y": 183.2 } ] ``` ```json theme={null} { "cheek_right_1": { "x": 101.17, "y": 125.61 }, "cheek_right_3": { "x": 108.34, "y": 151.5 }, "cheek_right_5": { "x": 117.67, "y": 177.31 }, "cheek_right_7": { "x": 130.68, "y": 202.68 }, "cheek_right_9": { "x": 155.9, "y": 224.62 }, "cheek_right_11": { "x": 183.48, "y": 237 }, "chin_2": { "x": 209.95, "y": 239.3 }, "cheek_left_11": { "x": 235.23, "y": 228.95 }, "cheek_left_9": { "x": 258.09, "y": 207.98 }, "cheek_left_7": { "x": 273.18, "y": 182.04 }, "cheek_left_5": { "x": 278.9, "y": 155.82 }, "cheek_left_3": { "x": 281.37, "y": 129.89 }, "cheek_left_1": { "x": 281.27, "y": 104 }, "eye_right_corner_right": { "x": 126.49, "y": 107.15 }, "eye_right_eyelid_upper_2": { "x": 135.48, "y": 99.09 }, "eye_right_eyelid_upper_4": { "x": 145.41, "y": 95.26 }, "eye_right_eyelid_upper_6": { "x": 156.55, "y": 95.97 }, "eye_right_corner_left": { "x": 167.67, "y": 102.29 }, "eye_right_eyelid_lower_6": { "x": 157.7, "y": 105.12 }, "eye_right_eyelid_lower_4": { "x": 147.3, "y": 107.23 }, "eye_right_eyelid_lower_2": { "x": 136.69, "y": 107.99 }, "eye_right_eyeball_center": { "x": 147.73, "y": 101.24 }, "eyebrow_right_corner_right": { "x": 110.57, "y": 89.54 }, "eyebrow_right_upper_2": { "x": 120.47, "y": 73.12 }, "eyebrow_right_upper_3": { "x": 135.87, "y": 65.44 }, "eyebrow_right_upper_4": { "x": 152.49, "y": 62.99 }, "eyebrow_right_corner_left": { "x": 168.56, "y": 71.02 }, "eyebrow_right_lower_3": { "x": 153.5, "y": 73.48 }, "eyebrow_right_lower_2": { "x": 137.76, "y": 75.1 }, "eyebrow_right_lower_1": { "x": 123.22, "y": 80.01 }, "eye_left_corner_right": { "x": 217.73, "y": 96.79 }, "eye_left_eyelid_upper_2": { "x": 226.52, "y": 87.81 }, "eye_left_eyelid_upper_4": { "x": 236.75, "y": 84.47 }, "eye_left_eyelid_upper_6": { "x": 246.87, "y": 85.94 }, "eye_left_corner_left": { "x": 256.55, "y": 92.03 }, "eye_left_eyelid_lower_6": { "x": 248.11, "y": 94.97 }, "eye_left_eyelid_lower_4": { "x": 238.51, "y": 96.62 }, "eye_left_eyelid_lower_2": { "x": 227.92, "y": 97.09 }, "eye_left_eyeball_center": { "x": 234.6, "y": 91.21 }, "eyebrow_left_corner_right": { "x": 209.77, "y": 65.78 }, "eyebrow_left_upper_2": { "x": 222.84, "y": 54.59 }, "eyebrow_left_upper_3": { "x": 238.19, "y": 53.33 }, "eyebrow_left_upper_4": { "x": 253.34, "y": 57.53 }, "eyebrow_left_corner_left": { "x": 265.02, "y": 71.1 }, "eyebrow_left_lower_3": { "x": 252.29, "y": 65.16 }, "eyebrow_left_lower_2": { "x": 238.71, "y": 63.77 }, "eyebrow_left_lower_1": { "x": 224.35, "y": 65.26 }, "nose_right_contour_1": { "x": 181.9, "y": 101.3 }, "nose_right_contour_2": { "x": 181.22, "y": 116.47 }, "nose_right_contour_3": { "x": 180.7, "y": 131.63 }, "nose_right_contour_4": { "x": 175.99, "y": 149.51 }, "nose_right_contour_6": { "x": 189.48, "y": 147.54 }, "nose_left_contour_6": { "x": 212.47, "y": 145.01 }, "nose_left_contour_4": { "x": 224.05, "y": 143.94 }, "nose_left_contour_3": { "x": 216.34, "y": 127.18 }, "nose_left_contour_2": { "x": 211.14, "y": 112.7 }, "nose_left_contour_1": { "x": 205.92, "y": 98.39 }, "nose_tip": { "x": 200.89, "y": 133.62 }, "mouth_corner_right_outer": { "x": 162.41, "y": 181.04 }, "mouth_lip_upper_outer_3": { "x": 181.13, "y": 171.24 }, "mouth_lip_upper_outer_6": { "x": 202.44, "y": 167.4 }, "mouth_lip_upper_outer_9": { "x": 222.59, "y": 166.76 }, "mouth_corner_left_outer": { "x": 240.34, "y": 172.33 }, "mouth_lip_lower_outer_9": { "x": 224.86, "y": 187.02 }, "mouth_lip_lower_outer_6": { "x": 204.89, "y": 193.86 }, "mouth_lip_lower_outer_3": { "x": 182.58, "y": 191.98 }, "mouth_lip_upper_inner_3": { "x": 182.7, "y": 177.96 }, "mouth_lip_upper_inner_6": { "x": 203.38, "y": 176.09 }, "mouth_lip_upper_inner_9": { "x": 222.51, "y": 173.73 }, "mouth_lip_lower_inner_9": { "x": 221.9, "y": 179.01 }, "mouth_lip_lower_inner_6": { "x": 203.69, "y": 182.54 }, "mouth_lip_lower_inner_3": { "x": 183.96, "y": 183.65 }, "cheek_right_2": { "x": 104.6, "y": 138.43 }, "cheek_right_4": { "x": 112.96, "y": 164.49 }, "cheek_right_6": { "x": 123.26, "y": 190.89 }, "cheek_right_8": { "x": 142.17, "y": 214.95 }, "cheek_right_10": { "x": 169.18, "y": 232.05 }, "chin_1": { "x": 196.41, "y": 239.76 }, "chin_3": { "x": 223.56, "y": 235.7 }, "cheek_left_10": { "x": 247.53, "y": 219.37 }, "cheek_left_8": { "x": 266.71, "y": 195.68 }, "cheek_left_6": { "x": 276.63, "y": 169.29 }, "cheek_left_4": { "x": 280.27, "y": 142.91 }, "cheek_left_2": { "x": 281.37, "y": 116.87 }, "eyebrow_right_upper_1": { "x": 110.33, "y": 86.28 }, "eyebrow_right_upper_5": { "x": 167.9, "y": 65.41 }, "eyebrow_left_upper_1": { "x": 209.28, "y": 60.27 }, "eyebrow_left_upper_5": { "x": 264.85, "y": 68.07 }, "eye_right_eyelid_upper_1": { "x": 130.38, "y": 102.52 }, "eye_right_eyelid_upper_3": { "x": 140.08, "y": 96.4 }, "eye_right_eyelid_upper_5": { "x": 151.2, "y": 94.82 }, "eye_right_eyelid_upper_7": { "x": 162.52, "y": 98.42 }, "eye_right_eyelid_lower_7": { "x": 162.65, "y": 103.84 }, "eye_right_eyelid_lower_5": { "x": 152.66, "y": 106.6 }, "eye_right_eyelid_lower_3": { "x": 142, "y": 108.14 }, "eye_right_eyelid_lower_1": { "x": 131.72, "y": 107.84 }, "eye_right_eyeball_right": { "x": 138.8, "y": 103.02 }, "eye_right_eyeball_left": { "x": 156.44, "y": 100.95 }, "eye_left_eyelid_upper_1": { "x": 221.4, "y": 91.57 }, "eye_left_eyelid_upper_3": { "x": 231.34, "y": 85.37 }, "eye_left_eyelid_upper_5": { "x": 242.07, "y": 84.4 }, "eye_left_eyelid_upper_7": { "x": 252.15, "y": 88.32 }, "eye_left_eyelid_lower_7": { "x": 252.22, "y": 93.63 }, "eye_left_eyelid_lower_5": { "x": 243.5, "y": 96.25 }, "eye_left_eyelid_lower_3": { "x": 233.22, "y": 97.32 }, "eye_left_eyelid_lower_1": { "x": 222.85, "y": 97.09 }, "eye_left_eyeball_right": { "x": 226.11, "y": 92.86 }, "eye_left_eyeball_left": { "x": 243.41, "y": 90.77 }, "nose_bridge_1": { "x": 194.72, "y": 99.62 }, "nose_bridge_2": { "x": 197.27, "y": 114.38 }, "nose_bridge_3": { "x": 199.84, "y": 129.18 }, "nose_right_contour_5": { "x": 184.36, "y": 154.78 }, "nose_right_contour_7": { "x": 187.97, "y": 142.32 }, "nose_left_contour_7": { "x": 212.98, "y": 139.24 }, "nose_left_contour_5": { "x": 217.81, "y": 151.08 }, "nose_middle_contour": { "x": 201.68, "y": 154.12 }, "mouth_corner_right_inner": { "x": 165.3, "y": 181 }, "mouth_corner_left_inner": { "x": 237.92, "y": 172.84 }, "mouth_lip_upper_outer_1": { "x": 168.01, "y": 176.99 }, "mouth_lip_upper_outer_2": { "x": 174.3, "y": 173.78 }, "mouth_lip_upper_outer_4": { "x": 187.89, "y": 168.51 }, "mouth_lip_upper_outer_5": { "x": 194.93, "y": 167.13 }, "mouth_lip_upper_outer_7": { "x": 209.22, "y": 165.76 }, "mouth_lip_upper_outer_8": { "x": 215.94, "y": 165.52 }, "mouth_lip_upper_outer_10": { "x": 229.05, "y": 167.86 }, "mouth_lip_upper_outer_11": { "x": 234.91, "y": 169.69 }, "mouth_lip_lower_outer_11": { "x": 235.77, "y": 177.88 }, "mouth_lip_lower_outer_10": { "x": 230.91, "y": 182.95 }, "mouth_lip_lower_outer_8": { "x": 218.84, "y": 190.53 }, "mouth_lip_lower_outer_7": { "x": 212.21, "y": 192.9 }, "mouth_lip_lower_outer_5": { "x": 197.36, "y": 194.88 }, "mouth_lip_lower_outer_4": { "x": 189.8, "y": 194.21 }, "mouth_lip_lower_outer_2": { "x": 175.21, "y": 189.57 }, "mouth_lip_lower_outer_1": { "x": 168.57, "y": 185.65 }, "mouth_lip_upper_inner_1": { "x": 169.33, "y": 179.63 }, "mouth_lip_upper_inner_2": { "x": 175.82, "y": 178.66 }, "mouth_lip_upper_inner_4": { "x": 189.52, "y": 176.75 }, "mouth_lip_upper_inner_5": { "x": 196.11, "y": 176.01 }, "mouth_lip_upper_inner_7": { "x": 209.81, "y": 174.66 }, "mouth_lip_upper_inner_8": { "x": 216.02, "y": 173.94 }, "mouth_lip_upper_inner_10": { "x": 228.56, "y": 172.95 }, "mouth_lip_upper_inner_11": { "x": 234.11, "y": 172.49 }, "mouth_lip_lower_inner_11": { "x": 234.25, "y": 175.35 }, "mouth_lip_lower_inner_10": { "x": 228.41, "y": 177.24 }, "mouth_lip_lower_inner_8": { "x": 215.75, "y": 180.22 }, "mouth_lip_lower_inner_7": { "x": 209.89, "y": 181.33 }, "mouth_lip_lower_inner_5": { "x": 197.09, "y": 183.02 }, "mouth_lip_lower_inner_4": { "x": 190.67, "y": 183.38 }, "mouth_lip_lower_inner_2": { "x": 176.59, "y": 183.43 }, "mouth_lip_lower_inner_1": { "x": 169.73, "y": 182.83 } } ``` ```json theme={null} { "cheek_right_1": { "x": 100.50280761719, "y": 122.91817474365 }, "cheek_right_3": { "x": 107.60373687744, "y": 148.26614379883 }, "cheek_right_5": { "x": 117.18408966064, "y": 173.37020874023 }, "cheek_right_7": { "x": 129.51084899902, "y": 198.14645385742 }, "cheek_right_9": { "x": 153.17233276367, "y": 221.0482635498 }, "cheek_right_11": { "x": 182.12239074707, "y": 236.04145812988 }, "chin_2": { "x": 209.19718933105, "y": 238.74569702148 }, "cheek_left_11": { "x": 233.98812866211, "y": 228.61196899414 }, "cheek_left_9": { "x": 257.15982055664, "y": 206.74928283691 }, "cheek_left_7": { "x": 273.24240112305, "y": 179.74179077148 }, "cheek_left_5": { "x": 278.9245300293, "y": 153.36854553223 }, "cheek_left_3": { "x": 281.60067749023, "y": 127.45653533936 }, "cheek_left_1": { "x": 281.65811157227, "y": 101.97602844238 }, "eye_right_corner_right": { "x": 126.41732025146, "y": 106.01263427734 }, "eye_right_eyelid_upper_2": { "x": 135.80418395996, "y": 98.718200683594 }, "eye_right_eyelid_upper_4": { "x": 146.0609588623, "y": 95.352470397949 }, "eye_right_eyelid_upper_6": { "x": 156.98849487305, "y": 96.707542419434 }, "eye_right_corner_left": { "x": 167.77938842773, "y": 103.75801086426 }, "eye_right_eyelid_lower_6": { "x": 157.17764282227, "y": 105.32893371582 }, "eye_right_eyelid_lower_4": { "x": 146.6658782959, "y": 107.00431060791 }, "eye_right_eyelid_lower_2": { "x": 136.29998779297, "y": 107.18744659424 }, "eye_right_eyeball_center": { "x": 149.03952026367, "y": 100.88204193115 }, "eyebrow_right_corner_right": { "x": 111.89064025879, "y": 89.201026916504 }, "eyebrow_right_upper_2": { "x": 122.31422424316, "y": 73.421539306641 }, "eyebrow_right_upper_3": { "x": 137.08978271484, "y": 66.036170959473 }, "eyebrow_right_upper_4": { "x": 153.29194641113, "y": 63.859962463379 }, "eyebrow_right_corner_left": { "x": 169.60948181152, "y": 71.236366271973 }, "eyebrow_right_lower_3": { "x": 154.23251342773, "y": 73.722877502441 }, "eyebrow_right_lower_2": { "x": 139.03732299805, "y": 75.76969909668 }, "eyebrow_right_lower_1": { "x": 124.95774078369, "y": 80.54305267334 }, "eye_left_corner_right": { "x": 217.01159667969, "y": 97.617874145508 }, "eye_left_eyelid_upper_2": { "x": 226.2021484375, "y": 88.830413818359 }, "eye_left_eyelid_upper_4": { "x": 236.49551391602, "y": 85.042304992676 }, "eye_left_eyelid_upper_6": { "x": 247.1067199707, "y": 85.98779296875 }, "eye_left_corner_left": { "x": 257.17602539062, "y": 91.660705566406 }, "eye_left_eyelid_lower_6": { "x": 248.03689575195, "y": 94.483413696289 }, "eye_left_eyelid_lower_4": { "x": 237.9640045166, "y": 96.363983154297 }, "eye_left_eyelid_lower_2": { "x": 227.42778015137, "y": 96.841079711914 }, "eye_left_eyeball_center": { "x": 236.41227722168, "y": 90.83772277832 }, "eyebrow_left_corner_right": { "x": 210.22798156738, "y": 66.922027587891 }, "eyebrow_left_upper_2": { "x": 223.81993103027, "y": 56.301136016846 }, "eyebrow_left_upper_3": { "x": 239.48515319824, "y": 54.885005950928 }, "eyebrow_left_upper_4": { "x": 254.61218261719, "y": 58.917163848877 }, "eyebrow_left_corner_left": { "x": 266.93252563477, "y": 71.747833251953 }, "eyebrow_left_lower_3": { "x": 253.65521240234, "y": 66.255722045898 }, "eyebrow_left_lower_2": { "x": 239.84336853027, "y": 64.663993835449 }, "eyebrow_left_lower_1": { "x": 225.20980834961, "y": 65.903739929199 }, "nose_right_contour_1": { "x": 181.20947265625, "y": 102.47806549072 }, "nose_right_contour_2": { "x": 180.53022766113, "y": 117.22489929199 }, "nose_right_contour_3": { "x": 179.75746154785, "y": 131.87655639648 }, "nose_right_contour_4": { "x": 175.17123413086, "y": 149.65969848633 }, "nose_right_contour_6": { "x": 187.9427947998, "y": 148.60627746582 }, "nose_left_contour_6": { "x": 211.91970825195, "y": 146.00950622559 }, "nose_left_contour_4": { "x": 223.48764038086, "y": 144.13488769531 }, "nose_left_contour_3": { "x": 215.23889160156, "y": 127.75564575195 }, "nose_left_contour_2": { "x": 210.45150756836, "y": 113.83534240723 }, "nose_left_contour_1": { "x": 205.66767883301, "y": 99.799003601074 }, "nose_tip": { "x": 199.36351013184, "y": 135.43583679199 }, "mouth_corner_right_outer": { "x": 164.51684570312, "y": 180.21446228027 }, "mouth_lip_upper_outer_3": { "x": 183.04803466797, "y": 173.05368041992 }, "mouth_lip_upper_outer_6": { "x": 202.40353393555, "y": 169.86236572266 }, "mouth_lip_upper_outer_9": { "x": 221.34548950195, "y": 168.33967590332 }, "mouth_corner_left_outer": { "x": 239.35760498047, "y": 171.47436523438 }, "mouth_lip_lower_outer_9": { "x": 225.13409423828, "y": 186.8864440918 }, "mouth_lip_lower_outer_6": { "x": 205.00257873535, "y": 194.42323303223 }, "mouth_lip_lower_outer_3": { "x": 183.21276855469, "y": 191.83988952637 }, "mouth_lip_upper_inner_3": { "x": 184.11585998535, "y": 179.77445983887 }, "mouth_lip_upper_inner_6": { "x": 203.41976928711, "y": 178.58102416992 }, "mouth_lip_upper_inner_9": { "x": 221.72236633301, "y": 175.30459594727 }, "mouth_lip_lower_inner_9": { "x": 221.91030883789, "y": 178.33660888672 }, "mouth_lip_lower_inner_6": { "x": 203.65730285645, "y": 182.15875244141 }, "mouth_lip_lower_inner_3": { "x": 184.51734924316, "y": 182.77604675293 }, "cheek_right_2": { "x": 103.98864746094, "y": 135.52793884277 }, "cheek_right_4": { "x": 112.40145874023, "y": 160.84996032715 }, "cheek_right_6": { "x": 122.82944488525, "y": 186.40303039551 }, "cheek_right_8": { "x": 140.21722412109, "y": 210.5570526123 }, "cheek_right_10": { "x": 167.3126373291, "y": 229.57949829102 }, "chin_1": { "x": 195.2822265625, "y": 239.18600463867 }, "chin_3": { "x": 222.51171875, "y": 235.33393859863 }, "cheek_left_10": { "x": 246.1284942627, "y": 218.42253112793 }, "cheek_left_8": { "x": 266.35614013672, "y": 193.8251953125 }, "cheek_left_6": { "x": 276.64300537109, "y": 166.97787475586 }, "cheek_left_4": { "x": 280.34902954102, "y": 140.4186706543 }, "cheek_left_2": { "x": 281.71441650391, "y": 114.67360687256 }, "eyebrow_right_upper_1": { "x": 111.35711669922, "y": 86.627182006836 }, "eyebrow_right_upper_5": { "x": 168.99195861816, "y": 66.651916503906 }, "eyebrow_left_upper_1": { "x": 209.73815917969, "y": 62.367111206055 }, "eyebrow_left_upper_5": { "x": 266.84356689453, "y": 69.139381408691 }, "eye_right_eyelid_upper_1": { "x": 130.77444458008, "y": 101.91876983643 }, "eye_right_eyelid_upper_3": { "x": 140.63957214355, "y": 96.40283203125 }, "eye_right_eyelid_upper_5": { "x": 151.72430419922, "y": 95.306747436523 }, "eye_right_eyelid_upper_7": { "x": 162.74897766113, "y": 99.496116638184 }, "eye_right_eyelid_lower_7": { "x": 162.38629150391, "y": 104.49882507324 }, "eye_right_eyelid_lower_5": { "x": 151.98274230957, "y": 106.52454376221 }, "eye_right_eyelid_lower_3": { "x": 141.43927001953, "y": 107.55311584473 }, "eye_right_eyelid_lower_1": { "x": 131.48648071289, "y": 106.77459716797 }, "eye_right_eyeball_right": { "x": 140.33833312988, "y": 102.34557342529 }, "eye_right_eyeball_left": { "x": 157.28521728516, "y": 100.5290222168 }, "eye_left_eyelid_upper_1": { "x": 221.15461730957, "y": 92.644577026367 }, "eye_left_eyelid_upper_3": { "x": 231.00561523438, "y": 86.285903930664 }, "eye_left_eyelid_upper_5": { "x": 241.99041748047, "y": 84.785552978516 }, "eye_left_eyelid_upper_7": { "x": 252.52342224121, "y": 88.264419555664 }, "eye_left_eyelid_lower_7": { "x": 252.53790283203, "y": 93.202026367188 }, "eye_left_eyelid_lower_5": { "x": 243.14991760254, "y": 95.852195739746 }, "eye_left_eyelid_lower_3": { "x": 232.71337890625, "y": 96.973175048828 }, "eye_left_eyelid_lower_1": { "x": 222.30973815918, "y": 97.109771728516 }, "eye_left_eyeball_right": { "x": 227.80111694336, "y": 92.332466125488 }, "eye_left_eyeball_left": { "x": 245.25280761719, "y": 90.477554321289 }, "nose_bridge_1": { "x": 194.00415039062, "y": 101.13747406006 }, "nose_bridge_2": { "x": 196.17010498047, "y": 115.36420440674 }, "nose_bridge_3": { "x": 198.33186340332, "y": 129.53858947754 }, "nose_right_contour_5": { "x": 183.04495239258, "y": 155.09115600586 }, "nose_right_contour_7": { "x": 186.44073486328, "y": 144.0689239502 }, "nose_left_contour_7": { "x": 212.54084777832, "y": 141.23469543457 }, "nose_left_contour_5": { "x": 217.43865966797, "y": 151.00485229492 }, "nose_middle_contour": { "x": 200.85198974609, "y": 154.55256652832 }, "mouth_corner_right_inner": { "x": 167.02519226074, "y": 180.40368652344 }, "mouth_corner_left_inner": { "x": 237.12232971191, "y": 172.1975402832 }, "mouth_lip_upper_outer_1": { "x": 170.21281433105, "y": 177.35729980469 }, "mouth_lip_upper_outer_2": { "x": 176.45417785645, "y": 174.93753051758 }, "mouth_lip_upper_outer_4": { "x": 189.13919067383, "y": 170.50596618652 }, "mouth_lip_upper_outer_5": { "x": 195.6019744873, "y": 169.47576904297 }, "mouth_lip_upper_outer_7": { "x": 208.75428771973, "y": 167.95617675781 }, "mouth_lip_upper_outer_8": { "x": 215.07498168945, "y": 167.36375427246 }, "mouth_lip_upper_outer_10": { "x": 227.73937988281, "y": 168.76318359375 }, "mouth_lip_upper_outer_11": { "x": 233.7864074707, "y": 169.83984375 }, "mouth_lip_lower_outer_11": { "x": 235.34422302246, "y": 177.24853515625 }, "mouth_lip_lower_outer_10": { "x": 230.79676818848, "y": 182.67813110352 }, "mouth_lip_lower_outer_8": { "x": 219.44760131836, "y": 191.05749511719 }, "mouth_lip_lower_outer_7": { "x": 212.53646850586, "y": 193.67753601074 }, "mouth_lip_lower_outer_5": { "x": 197.43534851074, "y": 195.48767089844 }, "mouth_lip_lower_outer_4": { "x": 189.89576721191, "y": 194.59895324707 }, "mouth_lip_lower_outer_2": { "x": 176.30549621582, "y": 189.13090515137 }, "mouth_lip_lower_outer_1": { "x": 170.18327331543, "y": 184.91101074219 }, "mouth_lip_upper_inner_1": { "x": 171.22261047363, "y": 179.89912414551 }, "mouth_lip_upper_inner_2": { "x": 177.46989440918, "y": 179.81153869629 }, "mouth_lip_upper_inner_4": { "x": 190.59698486328, "y": 179.11518859863 }, "mouth_lip_upper_inner_5": { "x": 196.8454284668, "y": 178.71240234375 }, "mouth_lip_upper_inner_7": { "x": 209.58256530762, "y": 177.28843688965 }, "mouth_lip_upper_inner_8": { "x": 215.52067565918, "y": 176.19625854492 }, "mouth_lip_upper_inner_10": { "x": 227.71615600586, "y": 173.85404968262 }, "mouth_lip_upper_inner_11": { "x": 233.29223632812, "y": 172.57704162598 }, "mouth_lip_lower_inner_11": { "x": 233.62571716309, "y": 174.40519714355 }, "mouth_lip_lower_inner_10": { "x": 228.07106018066, "y": 176.48277282715 }, "mouth_lip_lower_inner_8": { "x": 215.9122467041, "y": 179.73753356934 }, "mouth_lip_lower_inner_7": { "x": 209.95574951172, "y": 181.01141357422 }, "mouth_lip_lower_inner_5": { "x": 197.13244628906, "y": 182.56121826172 }, "mouth_lip_lower_inner_4": { "x": 190.87368774414, "y": 182.73983764648 }, "mouth_lip_lower_inner_2": { "x": 177.65509033203, "y": 182.41763305664 }, "mouth_lip_lower_inner_1": { "x": 171.26217651367, "y": 181.71365356445 }, "iris_left_1": { "x": 149.40379333496, "y": 100.07892608643 }, "iris_left_2": { "x": 148.73318481445, "y": 92.03369140625 }, "iris_left_3": { "x": 146.30757141113, "y": 92.544448852539 }, "iris_left_4": { "x": 143.84558105469, "y": 93.900978088379 }, "iris_left_5": { "x": 142.10343933105, "y": 95.915756225586 }, "iris_left_6": { "x": 141.19898986816, "y": 98.484413146973 }, "iris_left_7": { "x": 141.20487976074, "y": 101.20999908447 }, "iris_left_8": { "x": 142.08467102051, "y": 103.90132904053 }, "iris_left_9": { "x": 143.65046691895, "y": 106.00126647949 }, "iris_left_10": { "x": 146.09100341797, "y": 107.37795257568 }, "iris_left_11": { "x": 148.82292175293, "y": 107.85302734375 }, "iris_left_12": { "x": 151.54568481445, "y": 107.596534729 }, "iris_left_13": { "x": 154.05340576172, "y": 106.52443695068 }, "iris_left_14": { "x": 156.02444458008, "y": 104.7774887085 }, "iris_left_15": { "x": 157.17826843262, "y": 102.40663909912 }, "iris_left_16": { "x": 157.39999389648, "y": 99.654823303223 }, "iris_left_17": { "x": 156.83882141113, "y": 97.051910400391 }, "iris_left_18": { "x": 155.60954284668, "y": 94.735946655273 }, "iris_left_19": { "x": 153.60211181641, "y": 93.047943115234 }, "iris_left_20": { "x": 151.11714172363, "y": 92.191055297852 }, "iris_right_1": { "x": 236.5496673584, "y": 89.82470703125 }, "iris_right_2": { "x": 235.57327270508, "y": 81.906242370605 }, "iris_right_3": { "x": 233.22520446777, "y": 82.437240600586 }, "iris_right_4": { "x": 230.8776550293, "y": 83.811805725098 }, "iris_right_5": { "x": 228.99620056152, "y": 85.852684020996 }, "iris_right_6": { "x": 228.28205871582, "y": 88.459457397461 }, "iris_right_7": { "x": 228.09143066406, "y": 91.328216552734 }, "iris_right_8": { "x": 228.9642791748, "y": 93.888366699219 }, "iris_right_9": { "x": 230.59039306641, "y": 96.080490112305 }, "iris_right_10": { "x": 233.10903930664, "y": 97.431625366211 }, "iris_right_11": { "x": 235.84417724609, "y": 97.806510925293 }, "iris_right_12": { "x": 238.75238037109, "y": 97.537010192871 }, "iris_right_13": { "x": 241.33396911621, "y": 96.534019470215 }, "iris_right_14": { "x": 243.4416809082, "y": 94.684562683105 }, "iris_right_15": { "x": 244.63690185547, "y": 92.331932067871 }, "iris_right_16": { "x": 245.06533813477, "y": 89.467132568359 }, "iris_right_17": { "x": 244.44647216797, "y": 86.712936401367 }, "iris_right_18": { "x": 243.01428222656, "y": 84.355781555176 }, "iris_right_19": { "x": 240.87191772461, "y": 82.740913391113 }, "iris_right_20": { "x": 238.14981079102, "y": 81.91431427002 }, "forehead_center": { "x": 176.53311157227, "y": -6.304919719696 }, "forehead_right_1": { "x": 149.34216308594, "y": -0.85879385471344 }, "forehead_right_2": { "x": 124.94794464111, "y": 12.06137752533 }, "forehead_right_3": { "x": 107.58184814453, "y": 33.489730834961 }, "forehead_right_4": { "x": 98.957183837891, "y": 59.803108215332 }, "forehead_right_5": { "x": 97.01008605957, "y": 87.569114685059 }, "forehead_left_1": { "x": 203.49537658691, "y": -6.5926675796509 }, "forehead_left_2": { "x": 229.22273254395, "y": 0.93864995241165 }, "forehead_left_3": { "x": 250.55792236328, "y": 17.390432357788 }, "forehead_left_4": { "x": 265.51229858398, "y": 40.023624420166 }, "forehead_left_5": { "x": 274.67761230469, "y": 65.599334716797 } } ``` # Facial Landmarks - Face Spatial Pose Angle Reference Source: https://ailabtools.mintlify.app/docs/ai-portrait/analysis/face-key-points/face-spatial-pose-angle-reference Locate key points for faces in pictures and return the commonly used 72, 150, 201 face key point coordinate positions, including face outline, eyes, eyebrows, lips and nose outline, etc., which can be applied to beauty shooting, video stickers and other scenarios to enrich user play. * The pose angle is divided into Pitch, Roll and Yaw, which are used to indicate the angle of the face in the spatial three-dimensional coordinate system and are often used to determine the threshold value of the recognition angle. The angle thresholds are as follows. * **Pitch**: the pitch angle of three-dimensional rotation, range: \[-90 (up), 90 (down)], the recommended absolute value of the pitch angle is not more than 20 degrees. * **Roll**: In-plane rotation angle, range: \[-180 (counterclockwise), 180 (clockwise)], the recommended absolute value of rotation angle is not more than 20 degrees. * **Yaw**: three-dimensional rotation of the left and right rotation angle, range: \[-90 (left), 90 (right)], the recommended absolute value of the rotation angle is not more than 20 degrees. * Schematic diagram of each angle range. ![Schematic diagram of angle range](https://img.ailabtools.com/rapidapi/KeyPointsOfHumanFace/angle.png) # Facial Landmarks - 150 feature points Source: https://ailabtools.mintlify.app/docs/ai-portrait/analysis/face-key-points/feature-points-150 Locate key points for faces in pictures and return the commonly used 72, 150, 201 face key point coordinate positions, including face outline, eyes, eyebrows, lips and nose outline, etc., which can be applied to beauty shooting, video stickers and other scenarios to enrich user play. * 150 key points schematic diagram ![150 key points schematic diagram](https://img.ailabtools.com/rapidapi/KeyPointsOfHumanFace/150.jpeg) * Corresponding to the order of `landmark150` points, the serial number from 0-149, and each key point has the corresponding English naming as the parameter name; the key point names correspond to the following table. | Serial number | Field | | :------------ | :--------------------------- | | `0` | `cheek_right_1` | | `1` | `cheek_right_3` | | `2` | `cheek_right_5` | | `3` | `cheek_right_7` | | `4` | `cheek_right_9` | | `5` | `cheek_right_11` | | `6` | `chin_2` | | `7` | `cheek_left_11` | | `8` | `cheek_left_9` | | `9` | `cheek_left_7` | | `10` | `cheek_left_5` | | `11` | `cheek_left_3` | | `12` | `cheek_left_1` | | `13` | `eye_right_corner_right` | | `14` | `eye_right_eyelid_upper_2` | | `15` | `eye_right_eyelid_upper_4` | | `16` | `eye_right_eyelid_upper_6` | | `17` | `eye_right_corner_left` | | `18` | `eye_right_eyelid_lower_6` | | `19` | `eye_right_eyelid_lower_4` | | `20` | `eye_right_eyelid_lower_2` | | `21` | `eye_right_eyeball_center` | | `22` | `eyebrow_right_corner_right` | | `23` | `eyebrow_right_upper_2` | | `24` | `eyebrow_right_upper_3` | | `25` | `eyebrow_right_upper_4` | | `26` | `eyebrow_right_corner_left` | | `27` | `eyebrow_right_lower_3` | | `28` | `eyebrow_right_lower_2` | | `29` | `eyebrow_right_lower_1` | | `30` | `eye_left_corner_right` | | `31` | `eye_left_eyelid_upper_2` | | `32` | `eye_left_eyelid_upper_4` | | `33` | `eye_left_eyelid_upper_6` | | `34` | `eye_left_corner_left` | | `35` | `eye_left_eyelid_lower_6` | | `36` | `eye_left_eyelid_lower_4` | | `37` | `eye_left_eyelid_lower_2` | | `38` | `eye_left_eyeball_center` | | `39` | `eyebrow_left_corner_right` | | `40` | `eyebrow_left_upper_2` | | `41` | `eyebrow_left_upper_3` | | `42` | `eyebrow_left_upper_4` | | `43` | `eyebrow_left_corner_left` | | `44` | `eyebrow_left_lower_3` | | `45` | `eyebrow_left_lower_2` | | `46` | `eyebrow_left_lower_1` | | `47` | `nose_right_contour_1` | | `48` | `nose_right_contour_2` | | `49` | `nose_right_contour_3` | | `50` | `nose_right_contour_4` | | `51` | `nose_right_contour_6` | | `52` | `nose_left_contour_6` | | `53` | `nose_left_contour_4` | | `54` | `nose_left_contour_3` | | `55` | `nose_left_contour_2` | | `56` | `nose_left_contour_1` | | `57` | `nose_tip` | | `58` | `mouth_corner_right_outer` | | `59` | `mouth_lip_upper_outer_3` | | `60` | `mouth_lip_upper_outer_6` | | `61` | `mouth_lip_upper_outer_9` | | `62` | `mouth_corner_left_outer` | | `63` | `mouth_lip_lower_outer_9` | | `64` | `mouth_lip_lower_outer_6` | | `65` | `mouth_lip_lower_outer_3` | | `66` | `mouth_lip_upper_inner_3` | | `67` | `mouth_lip_upper_inner_6` | | `68` | `mouth_lip_upper_inner_9` | | `69` | `mouth_lip_lower_inner_9` | | `70` | `mouth_lip_lower_inner_6` | | `71` | `mouth_lip_lower_inner_3` | | `72` | `cheek_right_2` | | `73` | `cheek_right_4` | | `74` | `cheek_right_6` | | `75` | `cheek_right_8` | | `76` | `cheek_right_10` | | `77` | `chin_1` | | `78` | `chin_3` | | `79` | `cheek_left_10` | | `80` | `cheek_left_8` | | `81` | `cheek_left_6` | | `82` | `cheek_left_4` | | `83` | `cheek_left_2` | | `84` | `eyebrow_right_upper_1` | | `85` | `eyebrow_right_upper_5` | | `86` | `eyebrow_left_upper_1` | | `87` | `eyebrow_left_upper_5` | | `88` | `eye_right_eyelid_upper_1` | | `89` | `eye_right_eyelid_upper_3` | | `90` | `eye_right_eyelid_upper_5` | | `91` | `eye_right_eyelid_upper_7` | | `92` | `eye_right_eyelid_lower_7` | | `93` | `eye_right_eyelid_lower_5` | | `94` | `eye_right_eyelid_lower_3` | | `95` | `eye_right_eyelid_lower_1` | | `96` | `eye_right_eyeball_right` | | `97` | `eye_right_eyeball_left` | | `98` | `eye_left_eyelid_upper_1` | | `99` | `eye_left_eyelid_upper_3` | | `100` | `eye_left_eyelid_upper_5` | | `101` | `eye_left_eyelid_upper_7` | | `102` | `eye_left_eyelid_lower_7` | | `103` | `eye_left_eyelid_lower_5` | | `104` | `eye_left_eyelid_lower_3` | | `105` | `eye_left_eyelid_lower_1` | | `106` | `eye_left_eyeball_right` | | `107` | `eye_left_eyeball_left` | | `108` | `nose_bridge_1` | | `109` | `nose_bridge_2` | | `110` | `nose_bridge_3` | | `111` | `nose_right_contour_5` | | `112` | `nose_right_contour_7` | | `113` | `nose_left_contour_7` | | `114` | `nose_left_contour_5` | | `115` | `nose_middle_contour` | | `116` | `mouth_corner_right_inner` | | `117` | `mouth_corner_left_inner` | | `118` | `mouth_lip_upper_outer_1` | | `119` | `mouth_lip_upper_outer_2` | | `120` | `mouth_lip_upper_outer_4` | | `121` | `mouth_lip_upper_outer_5` | | `122` | `mouth_lip_upper_outer_7` | | `123` | `mouth_lip_upper_outer_8` | | `124` | `mouth_lip_upper_outer_10` | | `125` | `mouth_lip_upper_outer_11` | | `126` | `mouth_lip_lower_outer_11` | | `127` | `mouth_lip_lower_outer_10` | | `128` | `mouth_lip_lower_outer_8` | | `129` | `mouth_lip_lower_outer_7` | | `130` | `mouth_lip_lower_outer_5` | | `131` | `mouth_lip_lower_outer_4` | | `132` | `mouth_lip_lower_outer_2` | | `133` | `mouth_lip_lower_outer_1` | | `134` | `mouth_lip_lower_inner_1` | | `135` | `mouth_lip_lower_inner_2` | | `136` | `mouth_lip_lower_inner_4` | | `137` | `mouth_lip_upper_inner_5` | | `138` | `mouth_lip_upper_inner_7` | | `139` | `mouth_lip_upper_inner_8` | | `140` | `mouth_lip_upper_inner_10` | | `141` | `mouth_lip_upper_inner_11` | | `142` | `mouth_lip_lower_inner_11` | | `143` | `mouth_lip_lower_inner_10` | | `144` | `mouth_lip_lower_inner_8` | | `145` | `mouth_lip_lower_inner_7` | | `146` | `mouth_lip_lower_inner_5` | | `147` | `mouth_lip_lower_inner_4` | | `148` | `mouth_lip_lower_inner_2` | | `149` | `mouth_lip_lower_inner_1` | # Facial Landmarks - 201 feature points Source: https://ailabtools.mintlify.app/docs/ai-portrait/analysis/face-key-points/feature-points-201 Locate key points for faces in pictures and return the commonly used 72, 150, 201 face key point coordinate positions, including face outline, eyes, eyebrows, lips and nose outline, etc., which can be applied to beauty shooting, video stickers and other scenarios to enrich user play. * 201 key points schematic diagram ![201 key points schematic diagram](https://img.ailabtools.com/rapidapi/KeyPointsOfHumanFace/201.jpeg) * Corresponding to the order of `landmark201` points, the serial number from 0-200, and each key point has the corresponding English naming as the parameter name; the key point names correspond to the following table. | Serial number | Field | | :------------ | :--------------------------- | | `0` | `cheek_right_1` | | `1` | `cheek_right_3` | | `2` | `cheek_right_5` | | `3` | `cheek_right_7` | | `4` | `cheek_right_9` | | `5` | `cheek_right_11` | | `6` | `chin_2` | | `7` | `cheek_left_11` | | `8` | `cheek_left_9` | | `9` | `cheek_left_7` | | `10` | `cheek_left_5` | | `11` | `cheek_left_3` | | `12` | `cheek_left_1` | | `13` | `eye_right_corner_right` | | `14` | `eye_right_eyelid_upper_2` | | `15` | `eye_right_eyelid_upper_4` | | `16` | `eye_right_eyelid_upper_6` | | `17` | `eye_right_corner_left` | | `18` | `eye_right_eyelid_lower_6` | | `19` | `eye_right_eyelid_lower_4` | | `20` | `eye_right_eyelid_lower_2` | | `21` | `eye_right_eyeball_center` | | `22` | `eyebrow_right_corner_right` | | `23` | `eyebrow_right_upper_2` | | `24` | `eyebrow_right_upper_3` | | `25` | `eyebrow_right_upper_4` | | `26` | `eyebrow_right_corner_left` | | `27` | `eyebrow_right_lower_3` | | `28` | `eyebrow_right_lower_2` | | `29` | `eyebrow_right_lower_1` | | `30` | `eye_left_corner_right` | | `31` | `eye_left_eyelid_upper_2` | | `32` | `eye_left_eyelid_upper_4` | | `33` | `eye_left_eyelid_upper_6` | | `34` | `eye_left_corner_left` | | `35` | `eye_left_eyelid_lower_6` | | `36` | `eye_left_eyelid_lower_4` | | `37` | `eye_left_eyelid_lower_2` | | `38` | `eye_left_eyeball_center` | | `39` | `eyebrow_left_corner_right` | | `40` | `eyebrow_left_upper_2` | | `41` | `eyebrow_left_upper_3` | | `42` | `eyebrow_left_upper_4` | | `43` | `eyebrow_left_corner_left` | | `44` | `eyebrow_left_lower_3` | | `45` | `eyebrow_left_lower_2` | | `46` | `eyebrow_left_lower_1` | | `47` | `nose_right_contour_1` | | `48` | `nose_right_contour_2` | | `49` | `nose_right_contour_3` | | `50` | `nose_right_contour_4` | | `51` | `nose_right_contour_6` | | `52` | `nose_left_contour_6` | | `53` | `nose_left_contour_4` | | `54` | `nose_left_contour_3` | | `55` | `nose_left_contour_2` | | `56` | `nose_left_contour_1` | | `57` | `nose_tip` | | `58` | `mouth_corner_right_outer` | | `59` | `mouth_lip_upper_outer_3` | | `60` | `mouth_lip_upper_outer_6` | | `61` | `mouth_lip_upper_outer_9` | | `62` | `mouth_corner_left_outer` | | `63` | `mouth_lip_lower_outer_9` | | `64` | `mouth_lip_lower_outer_6` | | `65` | `mouth_lip_lower_outer_3` | | `66` | `mouth_lip_upper_inner_3` | | `67` | `mouth_lip_upper_inner_6` | | `68` | `mouth_lip_upper_inner_9` | | `69` | `mouth_lip_lower_inner_9` | | `70` | `mouth_lip_lower_inner_6` | | `71` | `mouth_lip_lower_inner_3` | | `72` | `cheek_right_2` | | `73` | `cheek_right_4` | | `74` | `cheek_right_6` | | `75` | `cheek_right_8` | | `76` | `cheek_right_10` | | `77` | `chin_1` | | `78` | `chin_3` | | `79` | `cheek_left_10` | | `80` | `cheek_left_8` | | `81` | `cheek_left_6` | | `82` | `cheek_left_4` | | `83` | `cheek_left_2` | | `84` | `eyebrow_right_upper_1` | | `85` | `eyebrow_right_upper_5` | | `86` | `eyebrow_left_upper_1` | | `87` | `eyebrow_left_upper_5` | | `88` | `eye_right_eyelid_upper_1` | | `89` | `eye_right_eyelid_upper_3` | | `90` | `eye_right_eyelid_upper_5` | | `91` | `eye_right_eyelid_upper_7` | | `92` | `eye_right_eyelid_lower_7` | | `93` | `eye_right_eyelid_lower_5` | | `94` | `eye_right_eyelid_lower_3` | | `95` | `eye_right_eyelid_lower_1` | | `96` | `eye_right_eyeball_right` | | `97` | `eye_right_eyeball_left` | | `98` | `eye_left_eyelid_upper_1` | | `99` | `eye_left_eyelid_upper_3` | | `100` | `eye_left_eyelid_upper_5` | | `101` | `eye_left_eyelid_upper_7` | | `102` | `eye_left_eyelid_lower_7` | | `103` | `eye_left_eyelid_lower_5` | | `104` | `eye_left_eyelid_lower_3` | | `105` | `eye_left_eyelid_lower_1` | | `106` | `eye_left_eyeball_right` | | `107` | `eye_left_eyeball_left` | | `108` | `nose_bridge_1` | | `109` | `nose_bridge_2` | | `110` | `nose_bridge_3` | | `111` | `nose_right_contour_5` | | `112` | `nose_right_contour_7` | | `113` | `nose_left_contour_7` | | `114` | `nose_left_contour_5` | | `115` | `nose_middle_contour` | | `116` | `mouth_corner_right_inner` | | `117` | `mouth_corner_left_inner` | | `118` | `mouth_lip_upper_outer_1` | | `119` | `mouth_lip_upper_outer_2` | | `120` | `mouth_lip_upper_outer_4` | | `121` | `mouth_lip_upper_outer_5` | | `122` | `mouth_lip_upper_outer_7` | | `123` | `mouth_lip_upper_outer_8` | | `124` | `mouth_lip_upper_outer_10` | | `125` | `mouth_lip_upper_outer_11` | | `126` | `mouth_lip_lower_outer_11` | | `127` | `mouth_lip_lower_outer_10` | | `128` | `mouth_lip_lower_outer_8` | | `129` | `mouth_lip_lower_outer_7` | | `130` | `mouth_lip_lower_outer_5` | | `131` | `mouth_lip_lower_outer_4` | | `132` | `mouth_lip_lower_outer_2` | | `133` | `mouth_lip_lower_outer_1` | | `134` | `mouth_lip_upper_inner_1` | | `135` | `mouth_lip_upper_inner_2` | | `136` | `mouth_lip_upper_inner_4` | | `137` | `mouth_lip_upper_inner_5` | | `138` | `mouth_lip_upper_inner_7` | | `139` | `mouth_lip_upper_inner_8` | | `140` | `mouth_lip_upper_inner_10` | | `141` | `mouth_lip_upper_inner_11` | | `142` | `mouth_lip_lower_inner_11` | | `143` | `mouth_lip_lower_inner_10` | | `144` | `mouth_lip_lower_inner_8` | | `145` | `mouth_lip_lower_inner_7` | | `146` | `mouth_lip_lower_inner_5` | | `147` | `mouth_lip_lower_inner_4` | | `148` | `mouth_lip_lower_inner_2` | | `149` | `mouth_lip_lower_inner_1` | | `150` | `iris_left_1` | | `151` | `iris_left_2` | | `152` | `iris_left_3` | | `153` | `iris_left_4` | | `154` | `iris_left_5` | | `155` | `iris_left_6` | | `156` | `iris_left_7` | | `157` | `iris_left_8` | | `158` | `iris_left_9` | | `159` | `iris_left_10` | | `160` | `iris_left_11` | | `161` | `iris_left_12` | | `162` | `iris_left_13` | | `163` | `iris_left_14` | | `164` | `iris_left_15` | | `165` | `iris_left_16` | | `166` | `iris_left_17` | | `167` | `iris_left_18` | | `168` | `iris_left_19` | | `169` | `iris_left_20` | | `170` | `iris_right_1` | | `171` | `iris_right_2` | | `172` | `iris_right_3` | | `173` | `iris_right_4` | | `174` | `iris_right_5` | | `175` | `iris_right_6` | | `176` | `iris_right_7` | | `177` | `iris_right_8` | | `178` | `iris_right_9` | | `179` | `iris_right_10` | | `180` | `iris_right_11` | | `181` | `iris_right_12` | | `182` | `iris_right_13` | | `183` | `iris_right_14` | | `184` | `iris_right_15` | | `185` | `iris_right_16` | | `186` | `iris_right_17` | | `187` | `iris_right_18` | | `188` | `iris_right_19` | | `189` | `iris_right_20` | | `190` | `forehead_center` | | `191` | `forehead_right_1` | | `192` | `forehead_right_2` | | `193` | `forehead_right_3` | | `194` | `forehead_right_4` | | `195` | `forehead_right_5` | | `196` | `forehead_left_1` | | `197` | `forehead_left_2` | | `198` | `forehead_left_3` | | `199` | `forehead_left_4` | | `200` | `forehead_left_5` | # Facial Landmarks - 72 feature points Source: https://ailabtools.mintlify.app/docs/ai-portrait/analysis/face-key-points/feature-points-72 Locate key points for faces in pictures and return the commonly used 72, 150, 201 face key point coordinate positions, including face outline, eyes, eyebrows, lips and nose outline, etc., which can be applied to beauty shooting, video stickers and other scenarios to enrich user play. * 72 key points schematic diagram ![72 key points schematic diagram](https://img.ailabtools.com/rapidapi/KeyPointsOfHumanFace/72.png) * Corresponds to the order of `landmark72` points, with serial numbers from 0-71. | Serial number | Field | | :------------ | :--------------------------- | | `0` | `cheek_right_1` | | `1` | `cheek_right_3` | | `2` | `cheek_right_5` | | `3` | `cheek_right_7` | | `4` | `cheek_right_9` | | `5` | `cheek_right_11` | | `6` | `chin_2` | | `7` | `cheek_left_11` | | `8` | `cheek_left_9` | | `9` | `cheek_left_7` | | `10` | `cheek_left_5` | | `11` | `cheek_left_3` | | `12` | `cheek_left_1` | | `13` | `eye_right_corner_right` | | `14` | `eye_right_eyelid_upper_2` | | `15` | `eye_right_eyelid_upper_4` | | `16` | `eye_right_eyelid_upper_6` | | `17` | `eye_right_corner_left` | | `18` | `eye_right_eyelid_lower_6` | | `19` | `eye_right_eyelid_lower_4` | | `20` | `eye_right_eyelid_lower_2` | | `21` | `eye_right_eyeball_center` | | `22` | `eyebrow_right_corner_right` | | `23` | `eyebrow_right_upper_2` | | `24` | `eyebrow_right_upper_3` | | `25` | `eyebrow_right_upper_4` | | `26` | `eyebrow_right_corner_left` | | `27` | `eyebrow_right_lower_3` | | `28` | `eyebrow_right_lower_2` | | `29` | `eyebrow_right_lower_1` | | `30` | `eye_left_corner_right` | | `31` | `eye_left_eyelid_upper_2` | | `32` | `eye_left_eyelid_upper_4` | | `33` | `eye_left_eyelid_upper_6` | | `34` | `eye_left_corner_left` | | `35` | `eye_left_eyelid_lower_6` | | `36` | `eye_left_eyelid_lower_4` | | `37` | `eye_left_eyelid_lower_2` | | `38` | `eye_left_eyeball_center` | | `39` | `eyebrow_left_corner_right` | | `40` | `eyebrow_left_upper_2` | | `41` | `eyebrow_left_upper_3` | | `42` | `eyebrow_left_upper_4` | | `43` | `eyebrow_left_corner_left` | | `44` | `eyebrow_left_lower_3` | | `45` | `eyebrow_left_lower_2` | | `46` | `eyebrow_left_lower_1` | | `47` | `nose_right_contour_1` | | `48` | `nose_right_contour_2` | | `49` | `nose_right_contour_3` | | `50` | `nose_right_contour_4` | | `51` | `nose_right_contour_6` | | `52` | `nose_left_contour_6` | | `53` | `nose_left_contour_4` | | `54` | `nose_left_contour_3` | | `55` | `nose_left_contour_2` | | `56` | `nose_left_contour_1` | | `57` | `nose_tip` | | `58` | `mouth_corner_right_outer` | | `59` | `mouth_lip_upper_outer_3` | | `60` | `mouth_lip_upper_outer_6` | | `61` | `mouth_lip_upper_outer_9` | | `62` | `mouth_corner_left_outer` | | `63` | `mouth_lip_lower_outer_9` | | `64` | `mouth_lip_lower_outer_6` | | `65` | `mouth_lip_lower_outer_3` | | `66` | `mouth_lip_upper_inner_3` | | `67` | `mouth_lip_upper_inner_6` | | `68` | `mouth_lip_upper_inner_9` | | `69` | `mouth_lip_lower_inner_9` | | `70` | `mouth_lip_lower_inner_6` | | `71` | `mouth_lip_lower_inner_3` | # Skin Analyze Source: https://ailabtools.mintlify.app/docs/ai-portrait/analysis/skin-analysis Skin Analyze API detects skin type, tone, eye bags, dark circles, wrinkles, acne, spots, and other skin conditions. ## Billing Instructions ## File Storage Policy ## Function List | Functions | Description | Corresponding parameters | | :------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------- | | Face Detection | Detect face and position | `face_rectangle` | | Skin Analysis | `Presence of Blackheads`, `Presence of Acne`, `Presence of Moles`, `Presence of Spots`, `Presence of Eye Bags`, `Presence of Dark Circles`, `Presence of Forehead Wrinkles`, `Presence of Crow’s Feet`, `Presence of Fine Lines around the Eyes`, `Presence of Glabellar Lines`, `Presence of Nasolabial Folds`, `Eyelid Type (Monolid, Parallel Double Eyelids, Fan-shaped Double Eyelids)`, `Skin Type (Oily Skin, Dry Skin, Normal Skin, Combination Skin)`, `Forehead Pores`, `Left Cheek Pores`, `Right Cheek Pores`, `Chin Pores` | `result` | ## Comparison of the functional items of the Basic, Advanced and Professional editions
    Function items [Skin Analyze](/docs/ai-portrait/analysis/skin-analysis) [Skin Analyze Advanced](/docs/ai-portrait/analysis/skin-analysis-advanced) [Skin Analyze Pro](/docs/ai-portrait/analysis/skin-analysis-pro)
    Double eyelid test for left and right eyes
    Acne Detection
    Location Analysis
    Pore Detection
    Degree analysis
    Skin Type
    Analysis of the degree of oil production
    Face Fine Lines Detection
    Analysis of the degree of forehead lines

    Analysis of the degree of forehead lines
    Eye bags, dark circles detection
    Degree, type analysis

    Degree, type analysis
    Mole and spot detection
    Location Analysis

    Detailed location analysis
    Blackhead Detection
    Degree analysis

    Extent, quantitative analysis
    Skin color classification
    Skin tone classification
    Skin Age Analysis
    Closure detection
    Acne analysis, detailed
    Skin Sensitive Area Detection
    Red Zone

    Red zone, brown zone, texture enhancing pores and lines
    Sore Control Testing
    Number of fine lines and area detection
    Analysis of the degree of skin pigmentation
    ## Comparison of the inspection items of Basic, Advanced and Professional editions
    Category Inspection items [Skin Analyze](/docs/ai-portrait/analysis/skin-analysis) [Skin Analyze Advanced](/docs/ai-portrait/analysis/skin-analysis-advanced) [Skin Analyze Pro](/docs/ai-portrait/analysis/skin-analysis-pro)
    Skin Type Skin Type IV Classification
    Oil-out area detection
    Oil shine detection chart, area share & severity
    Moisture testing
    Moisture detection map, area share & severity
    Skin color Five categories of skin color
    Skin color ITA classification
    Skin Tone HA Classification
    Roughness Pore size detection
    Pore size detection

    Size & number & severity classification & score
    Blackhead Detection
    Detects the presence or absence of

    Size & number & severity classification & score
    Pore blackhead black and white enhancement chart
    Texture detection
    Texture area percentage & severity score
    Pigmentation Pigmentation Detection
    Detects the presence or absence of

    Rectangular area

    Rectangular area + polygon
    Pigmentation
    Percentage of pigmentation area & severity score, area detection map, contour coordinates
    Mole Detection
    Detects the presence or absence of

    Rectangular box + polygon
    Acne Acne with or without
    Acne Regional Detection
    Rectangular area

    Rectangular area + polygon
    Acne grading
    Detects acne and xerostomia only, output rectangular area

    Detection of occlusive acne papules, pustules, nodules, output rectangular area + polygon, severity and score
    Sensitivity Red Zone Map
    Red Zone Detection
    Sensitive area coordinates + polygon box
    Sensitive area size
    Sensitivity level
    Senility Raised Head Lines
    12 detailed parameters such as severity and score
    Normal lines (left and right)
    With or without classification

    Severity

    12 detailed parameters such as severity and score
    Crow's feet (left and right)
    12 detailed parameters such as severity and score
    Fine lines under the eyes (left and right)
    12 detailed parameters such as severity and score
    Corners of the mouth lines (left and right)
    12 detailed parameters such as severity and score
    Lines between the eyebrows
    12 detailed parameters such as severity and score
    forehead wrinkles
    12 detailed parameters such as severity and score
    Cheek lines (left and right)
    12 detailed parameters such as severity and score
    Wrinkles & Fine Lines Detection
    Severity and mapping
    Jawline
    Mandibular line angle and coordinates
    Apple muscle
    Apple muscle coordinates
    Eye Problems Dark Eye Circles Classification
    Left and right eye severity, type, and contour line coordinates
    Eye bags classification
    With or without classification

    Severity

    Severity, contour line coordinates
    Customization Contour color customization
    Scoring System Individual function scores
    Image quality Face coordinate values
    Face Size Ratio
    Percentage of bangs
    Face angle value
    Determine whether glasses are worn.
    ## Application Scenarios * **Smart Beauty Analysis** * **Recommended Beauty Products** ## Featured Advantages * **Rich analysis dimension** * **Comprehensive coverage of skin characteristics** * **Numerical analysis of findings** # Skin Analyze Advanced Source: https://ailabtools.mintlify.app/docs/ai-portrait/analysis/skin-analysis-advanced Skin Analyze Advanced API detects skin type, tone, eye bags, dark circles, wrinkles, acne, spots, and other skin conditions. ## Billing Instructions ## File Storage Policy ## Function List | Functions | Description | Corresponding parameters | | :------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------- | | Face Detection | Detect face and position | `face_rectangle` | | Skin Analysis | `Skin Tone Classification: (Translucent White, Fair, Natural, Wheatish, Dark)`, `Skin Undertone Classification: (Translucent White, Fair, Medium Natural Skin Tone, Wheatish, Brown, Deep Brown, Abnormal Color Values)`, `Skin Sensitivity Level and Areas: (Only identifying "Red Zones")`, `Skin Type: (Oily Skin, Dry Skin, Normal Skin, Combination Skin)`, `Presence and Location of Closed Comedones`, `Presence and Severity Analysis of Blackheads`, `Presence and Location of Acne`, `Presence and Location of Moles`, `Presence and Location of Spots`, `Presence and Type Analysis of Dark Circles`, `Presence and Severity Analysis of Eye Bags`, `Eyelid Type (Monolid, Parallel Double Eyelids, Fan-shaped Double Eyelids)`, `Presence of Forehead Wrinkles`, `Presence of Crow’s Feet`, `Presence of Fine Lines around the Eyes`, `Presence of Glabellar Lines`, `Presence and Severity Analysis of Nasolabial Folds`, `Presence and Severity Analysis of Enlarged Forehead Pores`, `Presence and Severity Analysis of Enlarged Pores on the Left Cheek`, `Presence and Severity Analysis of Enlarged Pores on the Right Cheek`, `Presence and Severity Analysis of Enlarged Pores on the Chin`, `Skin Age Analysis` | `result` | ## Comparison of the functional items of the Basic, Advanced and Professional editions
    Function items [Skin Analyze](/docs/ai-portrait/analysis/skin-analysis) [Skin Analyze Advanced](/docs/ai-portrait/analysis/skin-analysis-advanced) [Skin Analyze Pro](/docs/ai-portrait/analysis/skin-analysis-pro)
    Double eyelid test for left and right eyes
    Acne Detection
    Location Analysis
    Pore Detection
    Degree analysis
    Skin Type
    Analysis of the degree of oil production
    Face Fine Lines Detection
    Analysis of the degree of forehead lines

    Analysis of the degree of forehead lines
    Eye bags, dark circles detection
    Degree, type analysis

    Degree, type analysis
    Mole and spot detection
    Location Analysis

    Detailed location analysis
    Blackhead Detection
    Degree analysis

    Extent, quantitative analysis
    Skin color classification
    Skin tone classification
    Skin Age Analysis
    Closure detection
    Acne analysis, detailed
    Skin Sensitive Area Detection
    Red Zone

    Red zone, brown zone, texture enhancing pores and lines
    Sore Control Testing
    Number of fine lines and area detection
    Analysis of the degree of skin pigmentation
    ## Comparison of the inspection items of Basic, Advanced and Professional editions
    Category Inspection items [Skin Analyze](/docs/ai-portrait/analysis/skin-analysis) [Skin Analyze Advanced](/docs/ai-portrait/analysis/skin-analysis-advanced) [Skin Analyze Pro](/docs/ai-portrait/analysis/skin-analysis-pro)
    Skin Type Skin Type IV Classification
    Oil-out area detection
    Oil shine detection chart, area share & severity
    Moisture testing
    Moisture detection map, area share & severity
    Skin color Five categories of skin color
    Skin color ITA classification
    Skin Tone HA Classification
    Roughness Pore size detection
    Pore size detection

    Size & number & severity classification & score
    Blackhead Detection
    Detects the presence or absence of

    Size & number & severity classification & score
    Pore blackhead black and white enhancement chart
    Texture detection
    Texture area percentage & severity score
    Pigmentation Pigmentation Detection
    Detects the presence or absence of

    Rectangular area

    Rectangular area + polygon
    Pigmentation
    Percentage of pigmentation area & severity score, area detection map, contour coordinates
    Mole Detection
    Detects the presence or absence of

    Rectangular box + polygon
    Acne Acne with or without
    Acne Regional Detection
    Rectangular area

    Rectangular area + polygon
    Acne grading
    Detects acne and xerostomia only, output rectangular area

    Detection of occlusive acne papules, pustules, nodules, output rectangular area + polygon, severity and score
    Sensitivity Red Zone Map
    Red Zone Detection
    Sensitive area coordinates + polygon box
    Sensitive area size
    Sensitivity level
    Senility Raised Head Lines
    12 detailed parameters such as severity and score
    Normal lines (left and right)
    With or without classification

    Severity

    12 detailed parameters such as severity and score
    Crow's feet (left and right)
    12 detailed parameters such as severity and score
    Fine lines under the eyes (left and right)
    12 detailed parameters such as severity and score
    Corners of the mouth lines (left and right)
    12 detailed parameters such as severity and score
    Lines between the eyebrows
    12 detailed parameters such as severity and score
    forehead wrinkles
    12 detailed parameters such as severity and score
    Cheek lines (left and right)
    12 detailed parameters such as severity and score
    Wrinkles & Fine Lines Detection
    Severity and mapping
    Jawline
    Mandibular line angle and coordinates
    Apple muscle
    Apple muscle coordinates
    Eye Problems Dark Eye Circles Classification
    Left and right eye severity, type, and contour line coordinates
    Eye bags classification
    With or without classification

    Severity

    Severity, contour line coordinates
    Customization Contour color customization
    Scoring System Individual function scores
    Image quality Face coordinate values
    Face Size Ratio
    Percentage of bangs
    Face angle value
    Determine whether glasses are worn.
    ## Application Scenarios * **Smart Beauty Analysis** * **Recommended Beauty Products** ## Featured Advantages * **Rich analysis dimension** * **Comprehensive coverage of skin characteristics** * **Numerical analysis of findings** # Skin Analyze Advanced API Source: https://ailabtools.mintlify.app/docs/ai-portrait/analysis/skin-analysis-advanced/api POST /api/portrait/analysis/skin-analysis-advanced Skin Analyze Advanced API detects skin type, tone, eye bags, dark circles, wrinkles, acne, spots, and other skin conditions. ## Request * **URL**: `https://www.ailabapi.com/api/portrait/analysis/skin-analysis-advanced` * **Method**: `POST` * **Content-Type**: `multipart/form-data` ### Image requirements * **Image format**: `JPG` `JPEG` * **Image size**: No more than 5 MB. * **Image resolution**: Larger than 200x200px, smaller than 4096x4096px. * **Minimum face pixel size**: To ensure the effect, the minimum value of the face frame (square) in the image should be higher than 400 pixels (which can be verified by passing a reference through the interface). * **Face quality**: The higher the face quality, the more accurate the skin analysis. Factors affecting face quality include: occlusion of the five facial features, blurred images, improper lighting (bright, dark, backlight), excessive face angle (recommended yaw ≤ ±30°, pitch ≤ ±40°), etc. ### Headers | Field | Required | Type | Description | | :----------------- | :------- | :------- | :---------------------------------------------------- | | `ailabapi-api-key` | YES | `string` | Application API KEY. [Get API KEY](/docs/get-api-key) | ### Body | Field | Required | Type | Scope | Description | | :----------------------- | :------- | :-------- | :--------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `image` | YES | `file` | | | | `face_quality_control` | NO | `integer` | `0`, `1` | Whether to restrict the quality of faces in incoming images. ``0`: No face quality control is performed, and skin measurement results are returned as long as the face can be detected.` ``1`: Perform face quality control, if the face quality does not pass it will prompt an error.` | | `return_rect_confidence` | NO | `integer` | `0`, `1` | The confidence level of the area whether to return acne, occlusion, blemishes and moles. ``0`: No regional confidence is returned.` ``1`: Returns the regional confidence.` | | `return_maps` | NO | `string` | `red_area` | Enter a comma-separated string containing the type of skin chromatography image to be returned. (#return\_maps) | #### `return_maps` * **Request Example** `red_area` * **Field Parsing** | Field | Description | Return image information | | :--------- | :---------------------------------------------------------------------------------------- | :----------------------- | | `red_area` | A red zone map that shows areas of redness caused by facial sensitivity and inflammation. | | ## Response **Response Field Handling Flow** 1. **Handle `Public Response Fields`** Parse and validate the `Public Response Fields`, checking the status code or response message to ensure the request is successful and error-free. 2. **Handle `Business Response Fields`** If the `Public Response Fields` are valid and error-free, proceed with processing the business logic in the `Business Response Fields`. ### Public Response Fields Viewing Public Response Fields and Error Codes ### Business Response Fields | Field | Type | Scope | Description | | :-------------------------- | :-------- | :-------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `warning` | `array` | `imporper_headpose` | Interference factors affecting the calculation results. \`\`imporper\_headpose`: Improper head angle (Judgment condition roll,yaw,pitch exceeds [-45,45]).` | | `face_rectangle` | `object` | | The position of the face rectangle box. | | +`top` | `float` | | The vertical coordinate of the pixel point in the upper-left corner of the rectangle box. | | +`left` | `float` | | The horizontal coordinate of the pixel point in the upper-left corner of the rectangle. | | +`width` | `float` | | The width of the rectangle box. | | +`height` | `float` | | The height of the rectangle box. | | `result` | `object` | | Results of face skin analysis. | | +`skin_color` | `object` | | Skin color test results. | | ++`value` | `integer` | `0`, `1`, `2`, `3`, `4` | Skin color. ``0`: Transparent white.` ``1`: White.` ``2`: Naturally.` ``3`: Wheat.` \`\`4`: Dark.` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`skintone_ita` | `object` | | Returns skin color classification information based on the ITA (Individual Typology Angle) standard. **[NOTE](#skintone_ita)** | | ++`ITA` | `float` | \[-90, 90] | Angle value. | | ++`skintone` | `integer` | `0`, `1`, `2`, `3`, `4`, `5`, `6` | Classified according to the skin tone of ITA. ``0`: Very light.` ``1`: Light.` ``2`: Intermediate.` ``3`: Tan.` ``4`: Brown.` ``5`: Dark.` \`\`6`: Abnormal color values that may be caused by weak lighting conditions or overexposure.` | | +`skin_hue_ha` | `object` | | Returns skin tone classification information based on HA (Hue Angle). **[NOTE](#skin_hue_ha)** | | ++`HA` | `float` | \[0, 90] | HA angle value. | | ++`skintone` | `integer` | `0`, `1`, `2`, `3` | Classified according to HA's skin tone hue. ``0`: Yellowish.` ``1`: Neutral.` ``2`: Reddish.` ``3`: Abnormal hue values may be caused by abnormal ambient light tones or weak light environment or overexposure.` | | +`skin_age` | `object` | | Skin age test results. | | ++`value` | `integer` | \[0, 100) | Face skin age value. | | +`left_eyelids` | `object` | | Results of the double eyelid test on the left eye. | | ++`value` | `integer` | `0`, `1`, `2` | Type. ``0`: Single eyelids` ``1`: Parallel Double Eyelids` \`\`2`: Scalloped Double Eyelids` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`right_eyelids` | `object` | | Results of the double eyelid test on the right eye. | | ++`value` | `integer` | `0`, `1`, `2` | Type. ``0`: Single eyelids` ``1`: Parallel Double Eyelids` \`\`2`: Scalloped Double Eyelids` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`eye_pouch` | `object` | | Eye bag test results. | | ++`value` | `integer` | `0`, `1` | With or without eye bags. ``0`: No` ``1`: Yes` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`eye_pouch_severity` | `object` | | Severity of puffiness under the eyes (return when puffiness test result is 1) | | ++`value` | `integer` | `0`, `1`, `2` | Severity. ``0`: Mild.` ``1`: Moderate.` \`\`2`: Severe.` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`dark_circle` | `object` | | Dark circles test results. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | Type of dark circles under the eyes. ``0`: No dark circles under the eyes.` ``1`: Pigmented dark circles.` ``2`: Vascular type dark circles under the eyes.` ``3`: Shadow-type dark circles under the eyes.` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`forehead_wrinkle` | `object` | | Results of the head-lift test. | | ++`value` | `integer` | `0`, `1` | With or without headlines. ``0`: No` ``1`: Yes` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`crows_feet` | `object` | | Fishtail test results. | | ++`value` | `integer` | `0`, `1` | With or without crow's feet. ``0`: No` ``1`: Yes` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`eye_finelines` | `object` | | Results of the eye fine lines test. | | ++`value` | `integer` | `0`, `1` | The presence or absence of fine lines under the eyes. ``0`: No` ``1`: Yes` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`glabella_wrinkle` | `object` | | Results of the interbrow line test. | | ++`value` | `integer` | `0`, `1` | With or without interbrow lines. ``0`: No` ``1`: Yes` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`nasolabial_fold` | `object` | | Results of the forehead line test. | | ++`value` | `integer` | `0`, `1` | With or without lines. ``0`: No` ``1`: Yes` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`nasolabial_fold_severity` | `object` | | Severity of the forehead lines (returned when the result of the forehead line test is 1) | | ++`value` | `integer` | `0`, `1`, `2` | Severity. ``0`: Mild.` ``1`: Moderate.` \`\`1`: Severe.` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`skin_type` | `object` | | Skin texture test results. | | ++`skin_type` | `integer` | `0`, `1`, `2`, `3` | Type. ``0`: Oily skin.` ``1`: Dry skin.` ``2`: Neutral skin.` ``3`: Combination skin.` | | ++`details` | `object` | | The confidence level of each classification. | | +++`0` | `object` | | Oily skin information. | | ++++`value` | `integer` | `0`, `1` | Oily skin. ``0`: No.` ``1`: Yes.` | | ++++`confidence` | `float` | | Confidence. | | +++`1` | `object` | | Dry skin information. | | ++++`value` | `integer` | `0`, `1` | Dry skin. ``0`: No.` ``1`: Yes.` | | ++++`confidence` | `float` | | Confidence. | | +++`2` | `object` | | Neutral skin information. | | ++++`value` | `integer` | `0`, `1` | Neutral skin. ``0`: No.` ``1`: Yes.` | | ++++`confidence` | `float` | | Confidence. | | +++`3` | `object` | | Combination skin information. | | ++++`value` | `integer` | `0`, `1` | Combination skin. ``0`: No.` ``1`: Yes.` | | ++++`confidence` | `float` | | Confidence. | | +`pores_forehead` | `object` | | Forehead pore test results. | | ++`value` | `integer` | `0`, `1` | With or without enlarged pores. ``0`: No` ``1`: Yes` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`pores_left_cheek` | `object` | | Results of the left cheek pore test. | | ++`value` | `integer` | `0`, `1` | With or without enlarged pores. ``0`: No` ``1`: Yes` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`pores_right_cheek` | `object` | | Results of the right cheek pore test. | | ++`value` | `integer` | `0`, `1` | With or without enlarged pores. ``0`: No` ``1`: Yes` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`pores_jaw` | `object` | | Chin pore test results. | | ++`value` | `integer` | `0`, `1` | With or without enlarged pores. ``0`: No` ``1`: Yes` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`blackhead` | `object` | | Blackhead test results. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | Severity. ``0`: No blackheads.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`acne` | `Object` | | Acne test results. | | ++`rectangle` | `array` | | The location of each pimple box. | | +++`width` | `float` | | Width. | | +++`height` | `float` | | Height. | | +++`left` | `float` | | The distance from the leftmost part of the picture. | | +++`top` | `float` | | The distance from the topmost edge of the image. | | ++`confidence` | `array` | | If `return_rect_confidence` is 1, the confidence that each rectangular region is discriminated as a positive case is returned. | | +`mole` | `Object` | | Mole test results. | | ++`rectangle` | `array` | | The position of each mole frame. | | +++`width` | `float` | | Width. | | +++`height` | `float` | | Height. | | +++`left` | `float` | | The distance from the leftmost part of the picture. | | +++`top` | `float` | | The distance from the topmost edge of the image. | | ++`confidence` | `array` | | If `return_rect_confidence` is 1, the confidence that each rectangular region is discriminated as a positive case is returned. | | +`closed_comedones` | `Object` | | Closure returns the result. | | ++`rectangle` | `array` | | The position of each closure frame. | | +++`width` | `float` | | Width. | | +++`height` | `float` | | Height. | | +++`left` | `float` | | The distance from the leftmost part of the picture. | | +++`top` | `float` | | The distance from the topmost edge of the image. | | ++`confidence` | `array` | | If `return_rect_confidence` is 1, the confidence that each rectangular region is discriminated as a positive case is returned. | | +`skin_spot` | `Object` | | Spot detection results. | | ++`rectangle` | `array` | | The position of each spot box. | | +++`width` | `float` | | Width. | | +++`height` | `float` | | Height. | | +++`left` | `float` | | The distance from the leftmost part of the picture. | | +++`top` | `float` | | The distance from the topmost edge of the image. | | ++`confidence` | `array` | | If `return_rect_confidence` is 1, the confidence that each rectangular region is discriminated as a positive case is returned. | | +`face_maps` | `Object` | | Returns the skin chromatography visualization image set in the entry (`return_maps`). | | ++`red_area` | `base64` | | Red zone map. jpeg images for base64. | | +`sensitivity` | `Object` | | The sensitivity of the human face within the photo. This return value must be used with the red area map, you need to set the return red area map ("red\_area") in the input parameter `return_maps` first. | | ++`sensitivity_area` | `float` | \[0, 1] | Sensitive redness areas account for the proportion of cheeks and T-zone. | | ++`sensitivity_intensity` | `float` | \[0, 100] | The intensity of redness in sensitive areas. | #### `skintone_ita` ITA (Individual Typology Angle) is an international standard for skin color, which is a method to classify skin color by measuring the color attributes of skin color Lab space. The method is strongly dependent on ambient light, we recommend using flash to take HD face photos for uploading and processing, the ITA angle value measured in natural light or dark environment may not be allowed or abnormal. According to the data taken by the rear flash of the phone, the current skin color classification reference. | `skintone` | Scope | Description | | :--------- | :------------------ | :------------------------------------------------------------------------------------ | | `0` | 56 `<` ITA `<` 90 | Very light. | | `1` | 43 `<` ITA `<=` 56 | Light. | | `2` | 36 `<` ITA `<=` 43 | Intermediate. | | `3` | 20 `<` ITA `<=` 36 | Tan. | | `4` | 10 `<` ITA `<=` 20 | Brown. | | `5` | -90 `<` ITA `<=` 10 | Dark. | | `6` | Other | Abnormal color values that may be caused by weak lighting conditions or overexposure. | You can also use the returned ITA value to define your classification based on the returned ITA angle at the time of access. #### `skin_hue_ha` HA (Hue Angle) is an international standard for skin color, which is a method to classify skin color by measuring the color attributes of skin color Lab space. The method is strongly dependent on ambient light, we recommend using flash to take HD face photos for uploading and processing, the HA angle value measured in natural light or dark light environment may not be allowed or abnormal. According to the data taken by the rear flash of the phone, the current skin tone classification reference. | `skintone` | Scope | Description | | :--------- | :---------------- | :----------------------------------------------------------------------------------------------------------- | | `0` | 49 `<` HA `<=` 90 | Yellowish. | | `1` | 46 `<=` HA `<` 49 | Neutral. | | `2` | 10 `<=` HA `<` 46 | Reddish. | | `3` | Other | Abnormal hue values may be caused by abnormal ambient light tones or weak light environment or overexposure. | You can also use the returned HA value to define your classification based on the returned HA angle at the time of access. ### Response Example ```json theme={null} { "request_id": "", "log_id": "", "error_code": 0, "error_msg": "", "error_detail": { "status_code": 200, "code": "", "code_message": "", "message": "" }, "warning": [], "face_rectangle": { "top": 0, "left": 0, "width": 0, "height": 0 }, "result": { "skin_color": { "value": 0, "confidence": 0.89 }, "skin_age": { "value": 9 }, "left_eyelids": { "value": 0, "confidence": 0.89 }, "right_eyelids": { "value": 0, "confidence": 0.89 }, "eye_pouch": { "value": 0, "confidence": 0.89 }, "dark_circle": { "value": 0, "confidence": 0.89 }, "forehead_wrinkle": { "value": 0, "confidence": 0.89 }, "crows_feet": { "value": 0, "confidence": 0.89 }, "eye_finelines": { "value": 0, "confidence": 0.89 }, "glabella_wrinkle": { "value": 0, "confidence": 0.89 }, "nasolabial_fold": { "value": 0, "confidence": 0.89 }, "skin_type": { "skin_type": 0, "details": { "0": { "value": 1, "confidence": 0.89 }, "1": { "value": 1, "confidence": 0.89 }, "2": { "value": 0, "confidence": 0.01 }, "3": { "value": 0, "confidence": 0.01 } } }, "pores_forehead": { "value": 0, "confidence": 1 }, "pores_left_cheek": { "value": 0, "confidence": 1 }, "pores_right_cheek": { "value": 0, "confidence": 1 }, "pores_jaw": { "value": 0, "confidence": 1 }, "blackhead": { "value": 0, "confidence": 1 }, "acne": { "rectangle": [ { "width": 3, "top": 17, "height": 1, "left": 35 }, { "width": 4, "top": 20, "height": 1, "left": 35 } ] }, "closed_comedones": { "rectangle": [ { "width": 3, "top": 17, "height": 1, "left": 35 }, { "width": 4, "top": 20, "height": 1, "left": 35 } ] }, "mole": { "rectangle": [ { "width": 3, "top": 17, "height": 1, "left": 35 }, { "width": 4, "top": 20, "height": 1, "left": 35 } ] }, "skin_spot": { "rectangle": [ { "width": 3, "top": 17, "height": 1, "left": 35 }, { "width": 4, "top": 20, "height": 1, "left": 35 } ] } } } ``` # Skin Analyze Pro Source: https://ailabtools.mintlify.app/docs/ai-portrait/analysis/skin-analysis-pro Skin Analyze Pro API analyzes skin texture, tone, wrinkles, acne, spots, eye bags, and other facial skin conditions. ## Billing Instructions ## File Storage Policy ## Function List | Functions | Description | Corresponding parameters | | :------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------- | | Face Detection | Detect face and position | `face_rectangle` | | Skin Analysis | `Skin Tone Classification: (Translucent White, Fair, Natural, Wheatish, Dark)`, `Skin Undertone Classification: (Translucent White, Fair, Medium Natural Skin Tone, Wheatish, Brown, Deep Brown, Abnormal Color Values)`, `Skin Sensitivity Level and Areas: (In addition to "Red Zones," also identifying Brown Zones, Texture-Enhanced Pores, and Lines)`, `Skin Type: (Oily Skin, Dry Skin, Normal Skin, Combination Skin) and Oiliness Analysis`, `Presence and Location of Closed Comedones (Detailed)`, `Presence, Severity, and Quantity of Blackheads`, `Presence and Location of Moles (Detailed)`, `Presence and Location of Spots (Detailed)`, `Presence and Location of Acne (Detailed)`, `Presence and Type Analysis of Dark Circles`, `Presence and Severity Analysis of Eye Bags`, `Presence of Forehead Wrinkles`, `Presence of Crow’s Feet`, `Presence of Fine Lines around the Eyes`, `Presence of Glabellar Lines`, `Presence and Severity Analysis of Nasolabial Folds`, `Presence and Severity Analysis of Enlarged Forehead Pores`, `Presence and Severity Analysis of Enlarged Pores on the Left Cheek`, `Presence and Severity Analysis of Enlarged Pores on the Right Cheek`, `Presence and Severity Analysis of Enlarged Pores on the Chin`, `Skin Age Analysis`, `Fine Lines Quantity and Area (Forehead and Under Eyes)`, `Analysis of Skin Pigmentation Levels` | `result` | ## Comparison of the functional items of the Basic, Advanced and Professional editions
    Function items [Skin Analyze](/docs/ai-portrait/analysis/skin-analysis) [Skin Analyze Advanced](/docs/ai-portrait/analysis/skin-analysis-advanced) [Skin Analyze Pro](/docs/ai-portrait/analysis/skin-analysis-pro)
    Double eyelid test for left and right eyes
    Acne Detection
    Location Analysis
    Pore Detection
    Degree analysis
    Skin Type
    Analysis of the degree of oil production
    Face Fine Lines Detection
    Analysis of the degree of forehead lines

    Analysis of the degree of forehead lines
    Eye bags, dark circles detection
    Degree, type analysis

    Degree, type analysis
    Mole and spot detection
    Location Analysis

    Detailed location analysis
    Blackhead Detection
    Degree analysis

    Extent, quantitative analysis
    Skin color classification
    Skin tone classification
    Skin Age Analysis
    Closure detection
    Acne analysis, detailed
    Skin Sensitive Area Detection
    Red Zone

    Red zone, brown zone, texture enhancing pores and lines
    Sore Control Testing
    Number of fine lines and area detection
    Analysis of the degree of skin pigmentation
    ## Comparison of the inspection items of Basic, Advanced and Professional editions
    Category Inspection items [Skin Analyze](/docs/ai-portrait/analysis/skin-analysis) [Skin Analyze Advanced](/docs/ai-portrait/analysis/skin-analysis-advanced) [Skin Analyze Pro](/docs/ai-portrait/analysis/skin-analysis-pro)
    Skin Type Skin Type IV Classification
    Oil-out area detection
    Oil shine detection chart, area share & severity
    Moisture testing
    Moisture detection map, area share & severity
    Skin color Five categories of skin color
    Skin color ITA classification
    Skin Tone HA Classification
    Roughness Pore size detection
    Pore size detection

    Size & number & severity classification & score
    Blackhead Detection
    Detects the presence or absence of

    Size & number & severity classification & score
    Pore blackhead black and white enhancement chart
    Texture detection
    Texture area percentage & severity score
    Pigmentation Pigmentation Detection
    Detects the presence or absence of

    Rectangular area

    Rectangular area + polygon
    Pigmentation
    Percentage of pigmentation area & severity score, area detection map, contour coordinates
    Mole Detection
    Detects the presence or absence of

    Rectangular box + polygon
    Acne Acne with or without
    Acne Regional Detection
    Rectangular area

    Rectangular area + polygon
    Acne grading
    Detects acne and xerostomia only, output rectangular area

    Detection of occlusive acne papules, pustules, nodules, output rectangular area + polygon, severity and score
    Sensitivity Red Zone Map
    Red Zone Detection
    Sensitive area coordinates + polygon box
    Sensitive area size
    Sensitivity level
    Senility Raised Head Lines
    12 detailed parameters such as severity and score
    Normal lines (left and right)
    With or without classification

    Severity

    12 detailed parameters such as severity and score
    Crow's feet (left and right)
    12 detailed parameters such as severity and score
    Fine lines under the eyes (left and right)
    12 detailed parameters such as severity and score
    Corners of the mouth lines (left and right)
    12 detailed parameters such as severity and score
    Lines between the eyebrows
    12 detailed parameters such as severity and score
    forehead wrinkles
    12 detailed parameters such as severity and score
    Cheek lines (left and right)
    12 detailed parameters such as severity and score
    Wrinkles & Fine Lines Detection
    Severity and mapping
    Jawline
    Mandibular line angle and coordinates
    Apple muscle
    Apple muscle coordinates
    Eye Problems Dark Eye Circles Classification
    Left and right eye severity, type, and contour line coordinates
    Eye bags classification
    With or without classification

    Severity

    Severity, contour line coordinates
    Customization Contour color customization
    Scoring System Individual function scores
    Image quality Face coordinate values
    Face Size Ratio
    Percentage of bangs
    Face angle value
    Determine whether glasses are worn.
    ## Application Scenarios * **Smart Beauty Analysis** * **Recommended Beauty Products** ## Featured Advantages * **Rich analysis dimension** * **Comprehensive coverage of skin characteristics** * **Numerical analysis of findings** # Skin Analyze Pro API Source: https://ailabtools.mintlify.app/docs/ai-portrait/analysis/skin-analysis-pro/api POST /api/portrait/analysis/skin-analysis-pro Skin Analyze Pro API analyzes skin texture, tone, wrinkles, acne, spots, eye bags, and other facial skin conditions. ## Request * **URL**: `https://www.ailabapi.com/api/portrait/analysis/skin-analysis-pro` * **Method**: `POST` * **Content-Type**: `multipart/form-data` ### Image requirements * **Image format**: `JPG` `JPEG` * **Image size**: No more than 8 MB. * **Image resolution**: Larger than 200x200px, smaller than 4096x4096px. * **Minimum face pixel size**: To ensure the effect, the minimum value of the face box (square) side length in the image should preferably be higher than 400px. * **Face quality**: The higher the face quality, the more accurate the skin analysis. Factors affecting face quality include: occlusion of facial features, blurred images, improper lighting (bright, dark, backlight), excessive face angle (yaw ≤ ±30°, pitch ≤ ±40° recommended), etc. ### Headers | Field | Required | Type | Description | | :----------------- | :------- | :------- | :---------------------------------------------------- | | `ailabapi-api-key` | YES | `string` | Application API KEY. [Get API KEY](/docs/get-api-key) | ### Body | Field | Required | Type | Scope | Description | | :-------------------- | :------- | :------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `image` | YES | `file` | | Main Image. | | `left_side_image` | NO | `file` | | Side face picture. | | `right_side_image` | NO | `file` | | Side face picture. | | `return_maps` | NO | `string` | `red_area`, `brown_area`, `texture_enhanced_pores`, `texture_enhanced_blackheads`, `texture_enhanced_oily_area`, `texture_enhanced_lines`, `water_area`, `rough_area`, `roi_outline_map`, `texture_enhanced_bw`, `right_roi_outline_map`, `left_roi_outline_map` | Input a comma-separated string containing the types of skin problem detection map images to be returned. [More Details](#return_maps) | | `return_marks` | NO | `string` | `wrinkle_mark`, `right_nasolabial_list`, `right_mouth_list`, `right_eye_wrinkle_list`, `right_crowsfeet_list`, `right_cheek_list`, `left_nasolabial_list`, `left_mouth_list`, `left_eye_wrinkle_list`, `left_crowsfeet_list`, `left_cheek_list`, `glabella_wrinkle_list`, `forehead_wrinkle_list`, `dark_circle_outline`, `sensitivity_mark`, `melanin_mark`, `dark_circle_outline`, `cheekbone_mark` | Return the coordinates of the problem areas along with other information. Separate multiple information fields with commas. [More Details](#return_marks) | | `roi_outline_color` | NO | `json string` | | Customize the drawing colors for the problem areas in the image returned by `return_maps`. [More Details](#roi_outline_color) | | `return_side_results` | NO | `string` | `jawline_info` | To return the side profile information, you need to upload a side profile image. Separate multiple information fields with commas. [More Details](#return_side_results) | #### `return_maps` * **Request Example** `red_area,brown_area,texture_enhanced_pores,texture_enhanced_blackheads,texture_enhanced_oily_area,texture_enhanced_lines,water_area,rough_area,roi_outline_map,texture_enhanced_bw,right_roi_outline_map,left_roi_outline_map` * **Field Parsing** | Field | Description | Return image information | | :---------------------------- | :---------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `red_area` | The red area image displays regions of facial redness caused by sensitivity or inflammation. | White background red area image, where the depth of the red color indicates the level of sensitivity. | | `brown_area` | The brown area image displays regions of facial pigmentation. | White background brown area image, where the depth of the brown color indicates the level of pigmentation. | | `texture_enhanced_pores` | The enlarged pores area image of the face. | Transparent background PNG, annotating enlarged pore areas. The image size is the same as the original, allowing for overlay and comparison with the original image. | | `texture_enhanced_blackheads` | The blackhead area image of the face. | Transparent background PNG, annotating blackhead areas. The image size is the same as the original, allowing for overlay and comparison with the original image. | | `texture_enhanced_oily_area` | The oily areas image of the face. | Transparent background PNG, annotating facial oily areas. The image size is the same as the original, allowing for overlay and comparison with the original image. | | `texture_enhanced_lines` | The facial texture image highlights prominent deep and shallow wrinkles on the face. | Transparent background PNG, annotating facial wrinkles. The image size is the same as the original, allowing for overlay and comparison with the original image. | | `water_area` | The facial moisture image shows areas of dryness on the face. Darker blue indicates greater levels of skin dehydration. | White background PNG, annotating facial dryness areas. The image size is the same as the original. | | `rough_area` | The facial roughness image displays areas of roughness on the face. | White background PNG, annotating facial roughness areas. The image size is the same as the original. | | `roi_outline_map` | The image for plotting coordinates of facial spots and acne. | Transparent background PNG, annotating facial spots and acne areas. The image size is the same as the original, allowing for overlay and comparison with the original image. | | `texture_enhanced_bw` | The black-and-white enhanced image for facial blackheads and enlarged pores. | JPG, with cropping. The API returns coordinates and cropping ratios, which can be mapped to pixel coordinates in the original image. | | `right_roi_outline_map` | Right-side facial spot and acne coordinate map. | Transparent background PNG, marking facial spots and acne areas, with the same size as the original image, allowing for overlay and comparison with the original. | | `left_roi_outline_map` | Left-side facial spot and acne coordinate map. | Transparent background PNG, marking facial spots and acne areas, with the same size as the original image, allowing for overlay and comparison with the original. | #### `return_marks` * **Request Example** `wrinkle_mark,right_nasolabial_list,right_mouth_list,right_eye_wrinkle_list,right_crowsfeet_list,right_cheek_list,left_nasolabial_list,left_mouth_list,left_eye_wrinkle_list,left_crowsfeet_list,left_cheek_list,glabella_wrinkle_list,forehead_wrinkle_list,dark_circle_outline,sensitivity_mark,melanin_mark,dark_circle_outline,cheekbone_mark` * **Field Parsing** | Field | Description | | :----------------------- | :------------------------------------------------------------------------------------------------------- | | `wrinkle_mark` | Contour coordinates for the facial areas: forehead, nose, crow's feet, cheeks, and between the eyebrows. | | `right_nasolabial_list` | Coordinates, depth, and length of the right nasolabial fold wrinkles. | | `right_mouth_list` | Coordinates, depth, and length of the right mouth corner wrinkles. | | `right_eye_wrinkle_list` | Coordinates, depth, and length of the right eye area wrinkles. | | `right_crowsfeet_list` | Coordinates, depth, and length of the right eye area crow's feet wrinkles. | | `right_cheek_list` | Coordinates, depth, and length of the right cheek wrinkles. | | `left_nasolabial_list` | Coordinates, depth, and length of the left nasolabial fold wrinkles. | | `left_mouth_list` | Coordinates, depth, and length of the left mouth corner wrinkles. | | `left_eye_wrinkle_list` | Coordinates, depth, and length of the left eye area wrinkles. | | `left_crowsfeet_list` | Coordinates, depth, and length of the left eye area crow's feet wrinkles. | | `left_cheek_list` | Coordinates, depth, and length of the left cheek wrinkles. | | `glabella_wrinkle_list` | Coordinates, depth, and length of the wrinkles between the eyebrows. | | `forehead_wrinkle_list` | Coordinates, depth, and length of the forehead wrinkles. | | `dark_circle_outline` | Coordinates of the contour lines for dark circles under the left and right eyes. | | `sensitivity_mark` | Coordinates of the red areas, indicating regions of facial redness due to sensitivity or inflammation. | | `melanin_mark` | Coordinates of the pigmentation areas, indicating regions of facial pigmentation. | | `dark_circle_outline` | Coordinates of the contour lines for dark circles under the left and right eyes. | | `cheekbone_mark` | Coordinates of the facial apple cheeks. | #### `roi_outline_color` * **Request Example** `{"pores_color":"0000FF","blackhead_color":"FF0000","wrinkle_color":"6E9900","fine_line_color":"8DFE2A","closed_comedones_color":"00FF00","acne_pustule_color":"9F21F6","acne_nodule_color":"FF00FD","acne_color":"FE0100","brown_spot_color":"7E2A28"}` * **Field Parsing** | Field | Default | Description | | :----------------------- | :------- | :--------------------------------------------------------------------------------- | | `pores_color` | `0000FF` | Pore Color: Draw the `return_maps > texture_enhanced_pores` issue image. | | `blackhead_color` | `FF0000` | Blackhead Color: Draw the `return_maps > texture_enhanced_blackheads` issue image. | | `wrinkle_color` | `6E9900` | Deep Wrinkle Color: Draw the `return_maps > texture_enhanced_lines` issue image. | | `fine_line_color` | `8DFE2A` | Fine Wrinkle Color: Draw the `return_maps > texture_enhanced_lines` issue image. | | `closed_comedones_color` | `00FF00` | Closed Comedone Color: Draw the `return_maps > roi_outline_map` issue image. | | `acne_pustule_color` | `9F21F6` | Pustule Color: Draw the `return_maps > roi_outline_map` issue image. | | `acne_nodule_color` | `FF00FD` | Nodule Color: Draw the `return_maps > roi_outline_map` issue image. | | `acne_color` | `FE0100` | Papule Color: Draw the `return_maps > roi_outline_map` issue image. | | `brown_spot_color` | `7E2A28` | Pigmentation Color: Draw the `return_maps > roi_outline_map` issue image. | Example: The format `CC00FF` represents the following RGB values: * **R (Red)**: CC (204 in decimal) * **G (Green)**: 00 (0 in decimal) * **B (Blue)**: FF (255 in decimal) The input format is restricted to a 6-digit hexadecimal string, case-insensitive. If no modifications are made, the default color parameters will be used for drawing. #### `return_side_results` * **Request Example** `jawline_info` * **Field Parsing** | Field | Description | | :------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `jawline_info` | If you provide the `jawline_info` element and upload images of both the left and right profiles, the corresponding side profile results will be returned. These results can include fields such as profile image quality assessment, jawline angle, and jawline coordinates, which will be available in the `left_side_result` and `right_side_result` structures. | ## Response **Response Field Handling Flow** 1. **Handle `Public Response Fields`** Parse and validate the `Public Response Fields`, checking the status code or response message to ensure the request is successful and error-free. 2. **Handle `Business Response Fields`** If the `Public Response Fields` are valid and error-free, proceed with processing the business logic in the `Business Response Fields`. ### Public Response Fields Viewing Public Response Fields and Error Codes ### Business Response Fields | Field | Type | Description | | :------------------ | :------------ | :----------------------------------------------------------------------- | | `left_side_result` | `json string` | Results of the side profile analysis. [More Details](#left_side_result) | | `right_side_result` | `json string` | Results of the side profile analysis. [More Details](#right_side_result) | | `face_rectangle` | `object` | The position of the face rectangle box. [More Details](#face_rectangle) | | `result` | `object` | Results of the facial skin analysis. [More Details](#result) | #### `left_side_result` | Field | Type | Scope | Description | | :--------------------------- | :-------- | :--------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | +`left_jawline_info` | `object` | | Side profile jawline information. | | ++`left_jawline_quality` | `integer` | `1`, `2`, `3`, `4`, `5`, `6` | Side profile photo quality assessment. ``1`: Quality Pass. The side profile angle of the uploaded photo is between 20° and 120°. `left_jawline_angle` and `left_jawline_mark` fields will also be returned.` ``2`: Slightly Low Angle. The side profile angle of the photo is less than 20°.` ``3`: Slightly High Angle. The side profile angle of the photo is greater than 120°.` ``4`: No Face Detected.` ``5`: Invalid Face.` ``6`: Other Cases.` | | ++`left_jawline_angle` | `float` | | The angle of the jawline. | | ++`left_jawline_mark` | `array` | | Coordinates of the facial keypoints for the jawline. | | ++`left_jawline_angle_level` | `integer` | `0`, `1` | Standard degree of the jawline. ``0`: Standard (116°–120°)` ``1`: Not Standard` | | +`left_face_maps` | `object` | | `Returns information based on the `return\_maps` field input.` | | ++`left_roi_outline_map` | `base64` | | [More Details](#return_maps) | | +`left_acne_info` | `object` | | Side-face acne detection results. | | ++`score` | `integer` | \[0, 100] | Score. | | ++`acne` | `Object` | | Acne Test - Light Papule Test (Light papules are a category of less symptomatic acne phenomena that present as rice- to soy-sized bumps accompanied by inflammatory redness and symptoms such as pain and itching) returns a rectangular box for each papule area and a more detailed polygon box. | | +++`rectangle` | `array` | | The location of each papule box. | | ++++`width` | `float` | | Width. | | ++++`height` | `float` | | Height. | | ++++`left` | `float` | | The distance from the leftmost part of the picture. | | ++++`top` | `float` | | The distance from the topmost edge of the image. | | +++`confidence` | `array` | | Confidence level of each papule box. | | +++`polygon` | `array` | | Within each papule box, the more detailed polygonal contour lines of the problem area return the x and y coordinate values of the vertices of each polygonal papule area. | | ++++ | `array` | | | | +++++`x` | `float` | | | | +++++`y` | `float` | | | | +++`count` | `integer` | | Quantity. | | ++`acne_pustule` | `Object` | | Acne Detection - Pustular Papule Detection (Pustular papules are acne phenomena with milky, yellowish pus visible to the naked eye and appear as mound-like bumps with milky, yellowish pus) returns rectangular boxes and more detailed polygonal boxes for each area of pustular acne. | | +++`rectangle` | `array` | | The location of each pustule box. | | ++++`width` | `float` | | Width. | | ++++`height` | `float` | | Height. | | ++++`left` | `float` | | The distance from the leftmost part of the picture. | | ++++`top` | `float` | | The distance from the topmost edge of the image. | | +++`confidence` | `array` | | Confidence level of each pustule box. | | +++`polygon` | `array` | | The more detailed polygonal contour lines of the problem area within each pustule box, returning the x and y coordinate values of the vertices of each polygonal pustule area. | | ++++ | `array` | | | | +++++`x` | `float` | | | | +++++`y` | `float` | | | | +++`count` | `integer` | | Quantity. | | ++`acne_nodule` | `Object` | | Acne Detection - Acne Nodule Detection (Acne nodules are a more severe type of acne phenomenon that appears as small, pea-sized bumps that are hard to the touch caused by the accumulation of subcutaneous lipids and pus) returns a rectangular box and a more detailed polygon box for each acne nodule area. | | +++`rectangle` | `array` | | The position of each nodal box. | | ++++`width` | `float` | | Width. | | ++++`height` | `float` | | Height. | | ++++`left` | `float` | | The distance from the leftmost part of the picture. | | ++++`top` | `float` | | The distance from the topmost edge of the image. | | +++`confidence` | `array` | | The confidence level of each nodal box. | | +++`polygon` | `array` | | Within each nodal box, the more detailed polygon contour lines of the problem region, returning the x and y coordinate values of the vertices of each polygon nodal region. | | ++++ | `array` | | | | +++++`x` | `float` | | | | +++++`y` | `float` | | | | +++`count` | `integer` | | Quantity. | | ++`acne_mark` | `Object` | | Red Acne Mark Detection - Detects red-purple acne marks that appear after facial acne has healed returning rectangular boxes and more detailed polygonal boxes for each acne mark area. | | +++`rectangle` | `array` | | The location of each pockmark box. | | ++++`width` | `float` | | Width. | | ++++`height` | `float` | | Height. | | ++++`left` | `float` | | The distance from the leftmost part of the picture. | | ++++`top` | `float` | | The distance from the topmost edge of the image. | | +++`confidence` | `array` | | Confidence level of each pockmark box. | | +++`polygon` | `array` | | A more detailed polygon contour line of the problem area within each pockmark box, returning the x and y coordinate values of the vertices of each polygon pockmark area. | | ++++ | `array` | | | | +++++`x` | `float` | | | | +++++`y` | `float` | | | | +++`count` | `integer` | | Quantity. | | ++`closed_comedones` | `Object` | | Rectangular boxes and more detailed polygonal boxes for each occlusive acne area. | | +++`rectangle` | `array` | | The location of each closed-cell acne box. | | ++++`width` | `float` | | Width. | | ++++`height` | `float` | | Height. | | ++++`left` | `float` | | The distance from the leftmost part of the picture. | | ++++`top` | `float` | | The distance from the topmost edge of the image. | | +++`confidence` | `array` | | Confidence level of each closed-jaw acne box. | | +++`polygon` | `array` | | A more detailed polygon contour line of the problem area within each closed acne box, returning the x and y coordinate values of the vertices of each polygon closed acne area. | | ++++ | `array` | | | | +++++`x` | `float` | | | | +++++`y` | `float` | | | | +++`count` | `integer` | | Quantity. | | +`left_melanin_info` | `object` | | Side-face pigmentation detection results. | | ++`mole` | `Object` | | Information for each mole area. | | +++`rectangle` | `array` | | The position of each mole frame. | | ++++`width` | `float` | | Width. | | ++++`height` | `float` | | Height. | | ++++`left` | `float` | | The distance from the leftmost part of the picture. | | ++++`top` | `float` | | The distance from the topmost edge of the image. | | +++`confidence` | `array` | | The confidence level of each mole region. | | +++`polygon` | `array` | | Within each mole box, the more detailed polygon contour lines of the problem area, returning the x and y coordinate values of the vertices of each polygon mole area. | | ++++ | `array` | | | | +++++`x` | `float` | | | | +++++`y` | `float` | | | | +++`count` | `integer` | | Quantity. | | ++`brown_spot` | `Object` | | Information for each discolored area. | | +++`rectangle` | `array` | | The position of each color spot box. | | ++++`width` | `float` | | Width. | | ++++`height` | `float` | | Height. | | ++++`left` | `float` | | The distance from the leftmost part of the picture. | | ++++`top` | `float` | | The distance from the topmost edge of the image. | | +++`confidence` | `array` | | Confidence level for each chromatophore region. | | +++`polygon` | `array` | | A more detailed polygon contour line of the problem area within each color spot box, returning the x and y coordinate values of the vertices of each polygon acne area. | | ++++ | `array` | | | | +++++`x` | `float` | | | | +++++`y` | `float` | | | | +++`count` | `integer` | | Quantity. | #### `right_side_result` | Field | Type | Scope | Description | | :---------------------------- | :-------- | :--------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | +`right_jawline_info` | `object` | | Side profile jawline information. | | ++`right_jawline_quality` | `integer` | `1`, `2`, `3`, `4`, `5`, `6` | Side profile photo quality assessment. ``1`: Quality Pass. The side profile angle of the uploaded photo is between 20° and 120°. `right_jawline_angle` and `right_jawline_mark` fields will also be returned.` ``2`: Slightly Low Angle. The side profile angle of the photo is less than 20°.` ``3`: Slightly High Angle. The side profile angle of the photo is greater than 120°.` ``4`: No Face Detected.` ``5`: Invalid Face.` ``6`: Other Cases.` | | ++`right_jawline_angle` | `float` | | The angle of the jawline. | | ++`right_jawline_mark` | `array` | | Coordinates of the facial keypoints for the jawline. | | ++`right_jawline_angle_level` | `integer` | `0`, `1` | Standard degree of the jawline. ``0`: Standard (116°–120°)` ``1`: Not Standard` | | +`right_face_maps` | `object` | | `Returns information based on the `return\_maps` field input.` | | ++`right_roi_outline_map` | `base64` | | [More Details](#return_maps) | | +`right_acne_info` | `object` | | Side-face acne detection results. | | ++`score` | `integer` | \[0, 100] | Score. | | ++`acne` | `Object` | | Acne Test - Light Papule Test (Light papules are a category of less symptomatic acne phenomena that present as rice- to soy-sized bumps accompanied by inflammatory redness and symptoms such as pain and itching) returns a rectangular box for each papule area and a more detailed polygon box. | | +++`rectangle` | `array` | | The location of each papule box. | | ++++`width` | `float` | | Width. | | ++++`height` | `float` | | Height. | | ++++`left` | `float` | | The distance from the leftmost part of the picture. | | ++++`top` | `float` | | The distance from the topmost edge of the image. | | +++`confidence` | `array` | | Confidence level of each papule box. | | +++`polygon` | `array` | | Within each papule box, the more detailed polygonal contour lines of the problem area return the x and y coordinate values of the vertices of each polygonal papule area. | | ++++ | `array` | | | | +++++`x` | `float` | | | | +++++`y` | `float` | | | | +++`count` | `integer` | | Quantity. | | ++`acne_pustule` | `Object` | | Acne Detection - Pustular Papule Detection (Pustular papules are acne phenomena with milky, yellowish pus visible to the naked eye and appear as mound-like bumps with milky, yellowish pus) returns rectangular boxes and more detailed polygonal boxes for each area of pustular acne. | | +++`rectangle` | `array` | | The location of each pustule box. | | ++++`width` | `float` | | Width. | | ++++`height` | `float` | | Height. | | ++++`left` | `float` | | The distance from the leftmost part of the picture. | | ++++`top` | `float` | | The distance from the topmost edge of the image. | | +++`confidence` | `array` | | Confidence level of each pustule box. | | +++`polygon` | `array` | | The more detailed polygonal contour lines of the problem area within each pustule box, returning the x and y coordinate values of the vertices of each polygonal pustule area. | | ++++ | `array` | | | | +++++`x` | `float` | | | | +++++`y` | `float` | | | | +++`count` | `integer` | | Quantity. | | ++`acne_nodule` | `Object` | | Acne Detection - Acne Nodule Detection (Acne nodules are a more severe type of acne phenomenon that appears as small, pea-sized bumps that are hard to the touch caused by the accumulation of subcutaneous lipids and pus) returns a rectangular box and a more detailed polygon box for each acne nodule area. | | +++`rectangle` | `array` | | The position of each nodal box. | | ++++`width` | `float` | | Width. | | ++++`height` | `float` | | Height. | | ++++`left` | `float` | | The distance from the leftmost part of the picture. | | ++++`top` | `float` | | The distance from the topmost edge of the image. | | +++`confidence` | `array` | | The confidence level of each nodal box. | | +++`polygon` | `array` | | Within each nodal box, the more detailed polygon contour lines of the problem region, returning the x and y coordinate values of the vertices of each polygon nodal region. | | ++++ | `array` | | | | +++++`x` | `float` | | | | +++++`y` | `float` | | | | +++`count` | `integer` | | Quantity. | | ++`acne_mark` | `Object` | | Red Acne Mark Detection - Detects red-purple acne marks that appear after facial acne has healed returning rectangular boxes and more detailed polygonal boxes for each acne mark area. | | +++`rectangle` | `array` | | The location of each pockmark box. | | ++++`width` | `float` | | Width. | | ++++`height` | `float` | | Height. | | ++++`left` | `float` | | The distance from the leftmost part of the picture. | | ++++`top` | `float` | | The distance from the topmost edge of the image. | | +++`confidence` | `array` | | Confidence level of each pockmark box. | | +++`polygon` | `array` | | A more detailed polygon contour line of the problem area within each pockmark box, returning the x and y coordinate values of the vertices of each polygon pockmark area. | | ++++ | `array` | | | | +++++`x` | `float` | | | | +++++`y` | `float` | | | | +++`count` | `integer` | | Quantity. | | ++`closed_comedones` | `Object` | | Rectangular boxes and more detailed polygonal boxes for each occlusive acne area. | | +++`rectangle` | `array` | | The location of each closed-cell acne box. | | ++++`width` | `float` | | Width. | | ++++`height` | `float` | | Height. | | ++++`left` | `float` | | The distance from the leftmost part of the picture. | | ++++`top` | `float` | | The distance from the topmost edge of the image. | | +++`confidence` | `array` | | Confidence level of each closed-jaw acne box. | | +++`polygon` | `array` | | A more detailed polygon contour line of the problem area within each closed acne box, returning the x and y coordinate values of the vertices of each polygon closed acne area. | | ++++ | `array` | | | | +++++`x` | `float` | | | | +++++`y` | `float` | | | | +++`count` | `integer` | | Quantity. | | +`right_melanin_info` | `object` | | Side-face pigmentation detection results. | | ++`mole` | `Object` | | Information for each mole area. | | +++`rectangle` | `array` | | The position of each mole frame. | | ++++`width` | `float` | | Width. | | ++++`height` | `float` | | Height. | | ++++`left` | `float` | | The distance from the leftmost part of the picture. | | ++++`top` | `float` | | The distance from the topmost edge of the image. | | +++`confidence` | `array` | | The confidence level of each mole region. | | +++`polygon` | `array` | | Within each mole box, the more detailed polygon contour lines of the problem area, returning the x and y coordinate values of the vertices of each polygon mole area. | | ++++ | `array` | | | | +++++`x` | `float` | | | | +++++`y` | `float` | | | | +++`count` | `integer` | | Quantity. | | ++`brown_spot` | `Object` | | Information for each discolored area. | | +++`rectangle` | `array` | | The position of each color spot box. | | ++++`width` | `float` | | Width. | | ++++`height` | `float` | | Height. | | ++++`left` | `float` | | The distance from the leftmost part of the picture. | | ++++`top` | `float` | | The distance from the topmost edge of the image. | | +++`confidence` | `array` | | Confidence level for each chromatophore region. | | +++`polygon` | `array` | | A more detailed polygon contour line of the problem area within each color spot box, returning the x and y coordinate values of the vertices of each polygon acne area. | | ++++ | `array` | | | | +++++`x` | `float` | | | | +++++`y` | `float` | | | | +++`count` | `integer` | | Quantity. | #### `face_rectangle` | Field | Type | Description | | :-------- | :------ | :---------------------------------------------------------------------- | | +`top` | `float` | The vertical coordinate of the top-left pixel of the rectangular box. | | +`left` | `float` | The horizontal coordinate of the top-left pixel of the rectangular box. | | +`width` | `float` | The width of the rectangular box. | | +`height` | `float` | The height of the rectangular box. | #### `result` | Modules | Field | | :-------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Image Quality Module](#image_quality_module) | `image_quality` | | [Skin Quality Analysis Module](#skin_quality_analysis_module) | `skin_type`, `oily_intensity`, `water` | | [Skin Tone Analysis Module](#skin_tone_analysis_module) | `skintone`, `skintone_ita`, `skin_hue_ha` | | [Roughness Analysis Module](#roughness_analysis_module) | `blackhead`, `blackhead_count`, `enlarged_pore_count`, `pores_forehead`, `pores_right_cheek`, `pores_left_cheek`, `pores_jaw`, `rough` | | [Pigmentation Analysis Module](#pigmentation_analysis_module) | `melanin`, `melanin_mark`, `mole`, `brown_spot`, `melasma`, `freckle` | | [Acne Analysis Module](#acne_analysis_module) | `acne`, `acne_pustule`, `acne_nodule`, `acne_mark`, `closed_comedones` | | [Sensitivity Analysis Module](#sensitivity_analysis_module) | `sensitivity`, `sensitivity_mark` | | [Aging Analysis Module](#aging_analysis_module) | `skin_age`, `forehead_wrinkle`, `crows_feet`, `eye_finelines`, `glabella_wrinkle`, `nasolabial_fold`, `nasolabial_fold_severity`, `left_mouth_wrinkle_severity`, `right_mouth_wrinkle_severity`, `forehead_wrinkle_severity`, `left_crows_feet_severity`, `right_crows_feet_severity`, `left_eye_finelines_severity`, `right_eye_finelines_severity`, `glabella_wrinkle_severity`, `left_nasolabial_fold_severity`, `right_nasolabial_fold_severity`, `left_cheek_wrinkle_severity`, `right_cheek_wrinkle_severity`, `fine_line`, `wrinkle_count`, `forehead_wrinkle_info`, `left_eye_wrinkle_info`, `right_eye_wrinkle_info`, `left_crowsfeet_wrinkle_info`, `right_crowsfeet_wrinkle_info`, `glabella_wrinkle_info`, `left_mouth_wrinkle_info`, `right_mouth_wrinkle_info`, `left_nasolabial_wrinkle_info`, `right_nasolabial_wrinkle_info`, `left_cheek_wrinkle_info`, `right_cheek_wrinkle_info`, `cheekbone_mark` | | [Eye Analysis Module](#eye_analysis_module) | `eye_pouch`, `eye_pouch_severity`, `left_eye_pouch_rectangle`, `right_eye_pouch_rectangle`, `dark_circle`, `dark_circle_severity`, `left_dark_circle_rete`, `right_dark_circle_rete`, `left_dark_circle_pigment`, `right_dark_circle_pigment`, `left_dark_circle_structural`, `right_dark_circle_structural`, `dark_circle_mark`, `left_eye_pouch_rect`, `right_eye_pouch_rect`, `wrinkle_mark`, `dark_circle_mark` | | [Digital Scoring System Module](#digital_scoring_system_module) | `score_info` | | [Custom Module](#custom_module) | `enhanced_bw_info`, `face_maps` | ##### Image Quality Module It returns the proportion of the face in the image, face coordinates, face angle values, and the proportion of bangs. The face coordinates can be used to extract the face for custom interactive design. The face proportion in the image, face angle values, and bangs proportion can be used as custom restrictions to determine whether the uploaded image is acceptable. For example, if the bangs proportion exceeds 0.4, the image needs to be retaken. If you have no special requirements, you can directly use the default configuration of the interface. | Field | Type | Scope | Description | | :------------------- | :------------ | :------- | :------------------------------------------------------------------------------------------------------------------------------------------ | | +`image_quality` | `json string` | | | | ++`face_ratio` | `float` | \[0, 1] | The proportion of the face in the entire photo: the larger the value, the greater the proportion of the face. The default threshold is 0.5. | | ++`face_orientation` | `object` | | Face 3D angle. | | +++`yaw` | `float` | | Yaw angle. The angle of rotation around the Y-axis. It is expressed as the horizontal rotation of the head to the left or right. | | +++`pitch` | `float` | | Pitch angle. The angle of rotation around the X-axis. Expressed as head pitch and tilt. | | +++`roll` | `float` | | Scroll angle. The angle of rotation around the Z axis, expressed as the rotation of the face photo seen from the front. | | ++`face_rect` | `float` | | The coordinates of the face can be obtained based on facial key points, allowing the face to be extracted. | | +++`top` | `float` | | | | +++`left` | `float` | | | | +++`width` | `float` | | | | +++`height` | `float` | | | | ++`hair_occlusion` | `float` | \[0, 1] | The proportion of bangs on the face: the larger the value, the greater the proportion of bangs. | | ++`glasses` | `integer` | `0`, `1` | ``0`: No eyeglasses were worn.` ``1`: Wearing eyeglasses.` | ##### Skin Quality Analysis Module It analyzes the skin's oil-dryness index. `skin_type` serves as an overall classification to determine the user's skin type, while `oily_intensity` and `water` analyze the current state of the user's skin in terms of moisture level and oiliness. | Field | Type | Scope | Description | | :------------------- | :-------- | :----------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------- | | +`skin_type` | `object` | | Skin texture test results. | | ++`skin_type` | `integer` | `0`, `1`, `2`, `3` | Type. ``0`: Oily skin.` ``1`: Dry skin.` ``2`: Neutral skin.` ``3`: Combination skin.` | | ++`details` | `object` | | The confidence level of each classification. | | +++`0` | `object` | | Oily skin information. | | ++++`value` | `integer` | `0`, `1` | Oily skin. ``0`: No.` ``1`: Yes.` | | ++++`confidence` | `float` | | Confidence. | | +++`1` | `object` | | Dry skin information. | | ++++`value` | `integer` | `0`, `1` | Dry skin. ``0`: No.` ``1`: Yes.` | | ++++`confidence` | `float` | | Confidence. | | +++`2` | `object` | | Neutral skin information. | | ++++`value` | `integer` | `0`, `1` | Neutral skin. ``0`: No.` ``1`: Yes.` | | ++++`confidence` | `float` | | Confidence. | | +++`3` | `object` | | Combination skin information. | | ++++`value` | `integer` | `0`, `1` | Combination skin. ``0`: No.` ``1`: Yes.` | | ++++`confidence` | `float` | | Confidence. | | +`oily_intensity` | `object` | | Oiliness level detection. | | ++`t_zone` | `object` | | T-zone. | | +++`area` | `object` | \[0, 1] | Area share. | | +++`intensity` | `integer` | `0`, `1`, `2` | Severity of oiling. ``0`: No shine or slight shine.` ``1`: Medium shine phenomenon.` \`\`2`: Severe oiling.` | | ++`left_cheek` | `object` | | Left cheek. | | +++`area` | `object` | \[0, 1] | Area share. | | +++`intensity` | `integer` | `0`, `1`, `2` | Severity of oiling. ``0`: No shine or slight shine.` ``1`: Medium shine phenomenon.` \`\`2`: Severe oiling.` | | ++`right_cheek` | `object` | | Right cheek. | | +++`area` | `object` | \[0, 1] | Area share. | | +++`intensity` | `integer` | `0`, `1`, `2` | Severity of oiling. ``0`: No shine or slight shine.` ``1`: Medium shine phenomenon.` \`\`2`: Severe oiling.` | | ++`chin_area` | `object` | | Chin area. | | +++`area` | `object` | \[0, 1] | Area share. | | +++`intensity` | `integer` | `0`, `1`, `2` | Severity of oiling. ``0`: No shine or slight shine.` ``1`: Medium shine phenomenon.` \`\`2`: Severe oiling.` | | ++`full_face` | `object` | | Full face. | | +++`area` | `object` | \[0, 1] | Area share. | | +++`intensity` | `integer` | `0`, `1`, `2` | Severity of oiling. ``0`: No shine or slight shine.` ``1`: Medium shine phenomenon.` \`\`2`: Severe oiling.` | | +`water` | `object` | | The percentage of dehydrated skin on the forehead, cheeks and chin, the percentage of overall facial dehydrated area and the severity of dehydration. | | ++`water_severity` | `float` | \[0, 100] | Severity of water shortage . | | ++`water_area` | `float` | | Percentage of water deficit area . | | ++`water_forehead` | `object` | | Percentage of forehead deficiency area. | | +++`area` | `float` | \[0, 1] | Area share. | | ++`water_rightcheek` | `object` | | Percentage of dehydrated area on the right cheek. | | +++`area` | `float` | \[0, 1] | Area share. | | ++`water_leftcheek` | `object` | | Percentage of dehydrated area on the left cheek. | | +++`area` | `float` | \[0, 1] | Area share. | ##### Skin Tone Analysis Module `skintone_ita` is an upgraded version of `skintone`. You can use either of the two, but it's recommended to use the combination of `skintone_ita` and `skin_hue_ha`. | Field | Type | Scope | Description | | :-------------- | :-------- | :-------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | +`skintone` | `object` | | Skin color test results. | | ++`value` | `integer` | `0`, `1`, `2`, `3`, `4` | Skin color. ``0`: Very Light.` ``1`: Light.` ``2`: Intermediate.` ``3`: Tan.` \`\`4`: Brown/Dark.` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`skintone_ita` | `object` | | Returns skin color classification based on the ITA (Individual Typology Angle) standard. **[NOTE](#skintone_ita)** | | ++`ITA` | `float` | \[-90, 90] | Angle value. | | ++`skintone` | `integer` | `0`, `1`, `2`, `3`, `4`, `5`, `6` | Classified according to the skin tone of ITA. ``0`: Very light.` ``1`: Light.` ``2`: Intermediate.` ``3`: Tan.` ``4`: Brown.` ``5`: Dark.` \`\`6`: Abnormal color values that may be caused by weak lighting conditions or overexposure.` | | +`skin_hue_ha` | `object` | | Returns skin tone classification based on the HA (Hue Angle) standard. **[NOTE](#skin_hue_ha)** | | ++`HA` | `float` | \[0, 90] | HA angle value. | | ++`skin_hue` | `integer` | `0`, `1`, `2`, `3` | Classified according to HA's skin tone hue. ``0`: Yellowish.` ``1`: Neutral.` ``2`: Reddish.` ``3`: Abnormal hue values may be caused by abnormal ambient light tones or weak light environment or overexposure.` | ###### `skintone_ita` ITA (Individual Typology Angle) is an internationally recognized skin color standard. It classifies skin color based on measurements of color attributes in the Lab color space. This method is highly sensitive to ambient lighting conditions. For best results, we recommend using a flash to take high-definition photos of the face for processing. Measurements taken in natural or low-light conditions may be inaccurate or inconsistent. Based on data from the smartphone's rear flash, the current skin color classification reference is as follows: | `skintone` | Scope | Description | | :--------- | :------------------ | :------------------------------------------------------------------------------------ | | `0` | 56 `<` ITA `<` 90 | Very light. | | `1` | 43 `<` ITA `<=` 56 | Light. | | `2` | 36 `<` ITA `<=` 43 | Intermediate. | | `3` | 20 `<` ITA `<=` 36 | Tan. | | `4` | 10 `<` ITA `<=` 20 | Brown. | | `5` | -90 `<` ITA `<=` 10 | Dark. | | `6` | Other | Abnormal color values that may be caused by weak lighting conditions or overexposure. | You can also use the returned ITA value to define your classification based on the returned ITA angle at the time of access. ###### `skin_hue_ha` HA (Hue Angle) is an internationally recognized skin color standard. It classifies skin color by measuring color attributes in the Lab color space. This method is highly sensitive to ambient lighting conditions. For accurate results, we recommend using a flash to take high-definition photos of the face for processing, as HA angle values measured in natural or low-light conditions may be inaccurate or inconsistent. According to the data taken by the rear flash of the phone, the current skin tone classification reference. | `skintone` | Scope | Description | | :--------- | :---------------- | :----------------------------------------------------------------------------------------------------------- | | `0` | 49 `<` HA `<=` 90 | Yellowish. | | `1` | 46 `<=` HA `<` 49 | Neutral. | | `2` | 10 `<=` HA `<` 46 | Reddish. | | `3` | Other | Abnormal hue values may be caused by abnormal ambient light tones or weak light environment or overexposure. | You can also use the returned HA value to define your classification based on the returned HA angle at the time of access. ##### Roughness Analysis Module * `blackhead` indicates the severity of blackheads, while `blackhead_count` represents the number of blackheads. * `enlarged_pore_count` is the count of enlarged pores. * `pores_forehead`, `pores_rightcheek`, `pores_leftcheek`, and `pores_jaw` represent the severity of pores in different areas of the face. The overall severity of pores can be assessed based on the number or score of pores. * `rough` measures the texture roughness of the facial skin and can provide the proportion of roughness across the entire face as well as the area proportion for different regions. | Field | Type | Scope | Description | | :--------------------- | :-------- | :----------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | +`blackhead` | `object` | | Blackhead information. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: No blackheads, number of blackheads ∈ [0, 45].` ``1`: Mild, number of blackheads ∈ [46, 90].` ``2`: Moderate, number of blackheads ∈ [91, 150].` ``3`: Severe, number of blackheads ∈ [151 or more].` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`blackhead_count` | `integer` | | Number of blackheads on the nose area. | | +`enlarged_pore_count` | `object` | | The number of enlarged pores and the percentage of enlarged pore area. | | ++`forehead_count` | `object` | | Number of enlarged pores on forehead. | | ++`left_cheek_count` | `object` | | Number of enlarged pores on the left cheek. | | ++`right_cheek_count` | `object` | | Number of enlarged pores on the right cheek. | | ++`chin_count` | `object` | | Number of enlarged pores under the chin. | | +`pores_forehead` | `object` | | The severity of enlarged forehead pores. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: No pores, number of pores ∈ [0, 100].` ``1`: Mildly, the number of pores ∈ [101, 300].` ``2`: Moderate, number of pores ∈ [301, 500].` ``3`: Severe, number of pores ∈ [501 or more].` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`pores_right_cheek` | `object` | | The severity of enlarged pores on the right cheek. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: No pores, number of pores ∈ [0, 45].` ``1`: Mildly, the number of pores ∈ [46, 136].` ``2`: Moderate, number of pores ∈ [137, 227].` ``3`: Severe, number of pores ∈ [228 or more].` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`pores_left_cheek` | `object` | | The severity of enlarged pores on the left cheek. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: No pores, number of pores ∈ [0, 45].` ``1`: Mildly, the number of pores ∈ [46, 136].` ``2`: Moderate, number of pores ∈ [137, 227].` ``3`: Severe, number of pores ∈ [228 or more].` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`pores_jaw` | `object` | | The severity of enlarged pores on the chin. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: No pores, number of pores ∈ [0, 63].` ``1`: Mildly, the number of pores ∈ [64, 188].` ``2`: Moderate, number of pores ∈ [189, 313].` ``3`: Severe, number of pores ∈ [314 or more].` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`rough` | `object` | | Output the percentage of rough skin area on forehead, cheeks and chin, the percentage of overall facial rough area and the severity of roughness. | | ++`rough_severity` | `integer` | \[0, 100] | Severity. | | ++`rough_area` | `float` | \[0, 1] | Area share. | | ++`rough_forehead` | `object` | | Forehead. | | +++`area` | `float` | \[0, 1] | Area share. | | ++`rough_rightcheek` | `object` | | Right cheek. | | +++`area` | `float` | \[0, 1] | Area share. | | ++`rough_leftcheek` | `object` | | Left cheek. | | +++`area` | `float` | \[0, 1] | Area share. | | ++`rough_jaw` | `object` | | Jaw. | | +++`area` | `float` | \[0, 1] | Area share. | ##### Pigmentation Analysis Module * `melanin` indicates the degree and area proportion of pigmentation on the face. The degree is represented by a score, with higher numbers indicating more severe pigmentation issues. The pigmentation score can be calculated using the `score_info > melanin_score` field. * `melanin_mark` provides the coordinates of the pigmentation areas, which can be used to directly draw these areas. If detailed results on specific pigmentation issues (such as moles or spots) are not required, you can use the overall pigmentation area drawing results. For detailed drawing of pigmentation issues, you can use the `mole` and `brown_spot` fields to get rectangular or polygonal bounding boxes. | Field | Type | Scope | Description | | :------------------------ | :-------- | :-------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | +`melanin` | `object` | | Return the skin pigmentation of the human face in the photo. | | ++`brown_area` | `float` | \[0, 1] | Percentage of full-face area of pigmented areas. | | ++`melanin_concentration` | `float` | \[0, 100] | Degree of pigmentation. | | ++`brown_forehead` | `float` | \[0, 1] | Percentage of forehead hyperpigmentation area. | | ++`brown_rightcheek` | `float` | \[0, 1] | Percentage of hyperpigmented area on the right cheek. | | ++`brown_leftcheek` | `float` | \[0, 1] | Percentage of hyperpigmented area on the left cheek. | | +`melanin_mark` | `object` | | Information on the pigmented areas of the brown area map. | | ++`polygon` | `array` | | A collection of polygon coordinates within the brown area map, each polygon representing the x and y coordinate values of the outer contour line of a hyperpigmented area. | | +++ | `array` | | | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +`mole` | `Object` | | Information for each mole area. | | ++`rectangle` | `array` | | The position of each mole frame. | | +++`width` | `float` | | Width. | | +++`height` | `float` | | Height. | | +++`left` | `float` | | The distance from the leftmost part of the picture. | | +++`top` | `float` | | The distance from the topmost edge of the image. | | ++`confidence` | `array` | | The confidence level of each mole region. | | ++`polygon` | `array` | | Within each mole box, the more detailed polygon contour lines of the problem area, returning the x and y coordinate values of the vertices of each polygon mole area. | | +++ | `array` | | | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | ++`count` | `integer` | | Quantity. | | +`brown_spot` | `Object` | | Information for each discolored area. | | ++`rectangle` | `array` | | The position of each color spot box. | | +++`width` | `float` | | Width. | | +++`height` | `float` | | Height. | | +++`left` | `float` | | The distance from the leftmost part of the picture. | | +++`top` | `float` | | The distance from the topmost edge of the image. | | ++`confidence` | `array` | | Confidence level for each chromatophore region. | | ++`polygon` | `array` | | A more detailed polygon contour line of the problem area within each color spot box, returning the x and y coordinate values of the vertices of each polygon acne area. | | +++ | `array` | | | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | ++`count` | `integer` | | Quantity. | | +`melasma` | `Object` | | Melasma information. | | ++`value` | `integer` | `0`, `1` | ``0`: No melasma.` ``1`: There is melasma.` | | ++`confidence` | `float` | | Confidence. | | +`freckle` | `Object` | | Freckle information. | | ++`value` | `integer` | `0`, `1` | ``0`: No freckles.` ``1`: There are freckles.` | | ++`confidence` | `float` | | Confidence. | ##### Acne Analysis Module * `acne`, `acne_pustule`, `acne_nodule`, `acne_mark`, and `closed_comedones` represent different types of acne analysis. You can use the returned coordinates to draw rectangular and polygonal boxes around these types. * To assess the severity of acne, you can refer to the score provided in the `score_info > acne_score` field. | Field | Type | Scope | Description | | :------------------ | :-------- | :---- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | +`acne` | `Object` | | Acne Test - Light Papule Test (Light papules are a category of less symptomatic acne phenomena that present as rice- to soy-sized bumps accompanied by inflammatory redness and symptoms such as pain and itching) returns a rectangular box for each papule area and a more detailed polygon box. | | ++`rectangle` | `array` | | The location of each papule box. | | +++`width` | `float` | | Width. | | +++`height` | `float` | | Height. | | +++`left` | `float` | | The distance from the leftmost part of the picture. | | +++`top` | `float` | | The distance from the topmost edge of the image. | | ++`confidence` | `array` | | Confidence level of each papule box. | | ++`polygon` | `array` | | Within each papule box, the more detailed polygonal contour lines of the problem area return the x and y coordinate values of the vertices of each polygonal papule area. | | +++ | `array` | | | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | ++`count` | `integer` | | Quantity. | | +`acne_pustule` | `Object` | | Acne Detection - Pustular Papule Detection (Pustular papules are acne phenomena with milky, yellowish pus visible to the naked eye and appear as mound-like bumps with milky, yellowish pus) returns rectangular boxes and more detailed polygonal boxes for each area of pustular acne. | | ++`rectangle` | `array` | | The location of each pustule box. | | +++`width` | `float` | | Width. | | +++`height` | `float` | | Height. | | +++`left` | `float` | | The distance from the leftmost part of the picture. | | +++`top` | `float` | | The distance from the topmost edge of the image. | | ++`confidence` | `array` | | Confidence level of each pustule box. | | ++`polygon` | `array` | | The more detailed polygonal contour lines of the problem area within each pustule box, returning the x and y coordinate values of the vertices of each polygonal pustule area. | | +++ | `array` | | | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | ++`count` | `integer` | | Quantity. | | +`acne_nodule` | `Object` | | Acne Detection - Acne Nodule Detection (Acne nodules are a more severe type of acne phenomenon that appears as small, pea-sized bumps that are hard to the touch caused by the accumulation of subcutaneous lipids and pus) returns a rectangular box and a more detailed polygon box for each acne nodule area. | | ++`rectangle` | `array` | | The position of each nodal box. | | +++`width` | `float` | | Width. | | +++`height` | `float` | | Height. | | +++`left` | `float` | | The distance from the leftmost part of the picture. | | +++`top` | `float` | | The distance from the topmost edge of the image. | | ++`confidence` | `array` | | The confidence level of each nodal box. | | ++`polygon` | `array` | | Within each nodal box, the more detailed polygon contour lines of the problem region, returning the x and y coordinate values of the vertices of each polygon nodal region. | | +++ | `array` | | | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | ++`count` | `integer` | | Quantity. | | +`acne_mark` | `Object` | | Red Acne Mark Detection - Detects red-purple acne marks that appear after facial acne has healed returning rectangular boxes and more detailed polygonal boxes for each acne mark area. | | ++`rectangle` | `array` | | The location of each pockmark box. | | +++`width` | `float` | | Width. | | +++`height` | `float` | | Height. | | +++`left` | `float` | | The distance from the leftmost part of the picture. | | +++`top` | `float` | | The distance from the topmost edge of the image. | | ++`confidence` | `array` | | Confidence level of each pockmark box. | | ++`polygon` | `array` | | A more detailed polygon contour line of the problem area within each pockmark box, returning the x and y coordinate values of the vertices of each polygon pockmark area. | | +++ | `array` | | | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | ++`count` | `integer` | | Quantity. | | +`closed_comedones` | `Object` | | Rectangular boxes and more detailed polygonal boxes for each occlusive acne area. | | ++`rectangle` | `array` | | The location of each closed-cell acne box. | | +++`width` | `float` | | Width. | | +++`height` | `float` | | Height. | | +++`left` | `float` | | The distance from the leftmost part of the picture. | | +++`top` | `float` | | The distance from the topmost edge of the image. | | ++`confidence` | `array` | | Confidence level of each closed-jaw acne box. | | ++`polygon` | `array` | | A more detailed polygon contour line of the problem area within each closed acne box, returning the x and y coordinate values of the vertices of each polygon closed acne area. | | +++ | `array` | | | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | ++`count` | `integer` | | Quantity. | ##### Sensitivity Analysis Module * `sensitivity` indicates the degree of sensitivity on the face and the area proportion affected. The degree is represented by a score, with higher numbers indicating more severe sensitivity issues. The sensitivity score can be calculated using the `score_info > sensitivity_score` field. * `sensitivity_mark` provides the coordinates of the sensitive areas on the face, which can be used to directly draw these areas. | Field | Type | Scope | Description | | :------------------------ | :------- | :-------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | +`sensitivity` | `object` | | `This return value must be used with red area maps, and you need to set the return red area map (`red\_area`) in the input parameter `return\_maps` first.` | | ++`sensitivity_area` | `float` | \[0, 1] | The percentage of sensitive skin area on the whole face. Sensitive redness areas include cheeks, T-zone, etc. | | ++`sensitivity_intensity` | `float` | \[0, 100] | The intensity of redness in sensitive areas. | | +`sensitivity_mark` | `object` | | The location of the polygon box in the sensitive muscle area of the red zone diagram. | | ++`polygon` | `array` | | The set of polygon coordinates within the red zone map, each polygon represents the x and y coordinate values of the outer contour line of a sensitive muscle region. | | +++ | `array` | | | | ++++`x` | `float` | | | | ++++`y` | `float` | | | ##### Aging Analysis Module * `skin_age` assesses the overall skin condition and aging level of the face. * The `forehead_wrinkle_info` series provides detailed information about wrinkles in specific areas, including severity and scores. To receive these details, you need to check the severity levels using the following fields: `forehead_wrinkle_severity`, `left_eye_finelines_severity`, and `right_eye_finelines_severity`. If the severity is returned as 0 (none), the wrinkle details (`wrinkle_info`) will not be provided. * It is recommended to use the following fields in combination for a comprehensive analysis: * Severity fields: `nasolabial_fold_severity`, `left_mouth_wrinkle_severity`, `right_mouth_wrinkle_severity`, `forehead_wrinkle_severity`, `left_crows_feet_severity`, `right_crows_feet_severity`, `left_eye_finelines_severity`, `right_eye_finelines_severity`, `glabella_wrinkle_severity`, `left_nasolabial_fold_severity`, `right_nasolabial_fold_severity`, `left_cheek_wrinkle_severity`, `right_cheek_wrinkle_severity`. * Wrinkle information fields: `forehead_wrinkle_info`, `left_eye_wrinkle_info`, `right_eye_wrinkle_info`, `left_crowsfeet_wrinkle_info`, `right_crowsfeet_wrinkle_info`, `glabella_wrinkle_info`, `left_mouth_wrinkle_info`, `right_mouth_wrinkle_info`, `left_nasolabial_wrinkle_info`, `right_nasolabial_wrinkle_info`, `left_cheek_wrinkle_info`, `right_cheek_wrinkle_info`. | Field | Type | Scope | Description | | :-------------------------------- | :-------- | :----------------- | :-------------------------------------------------------------------------------------------------------- | | +`skin_age` | `object` | | Skin age test results. | | ++`value` | `integer` | \[0, 100] | Skin age. | | +`forehead_wrinkle` | `object` | | Results of the head lift test. | | ++`value` | `integer` | `0`, `1` | ``0`: No head lines.` ``1`: There are head lines.` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`crows_feet` | `object` | | Crow's feet test results. | | ++`value` | `integer` | `0`, `1` | ``0`: No crow's feet.` ``1`: With crow's feet.` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`eye_finelines` | `object` | | Results of the eye fine lines test. | | ++`value` | `integer` | `0`, `1` | ``0`: No fine lines under the eyes.` ``1`: With fine lines under the eyes.` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`glabella_wrinkle` | `object` | | Results of the interbrow line test. | | ++`value` | `integer` | `0`, `1` | ``0`: No interbrow lines.` ``1`: With interbrow lines.` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`nasolabial_fold` | `object` | | Results of the forehead line test. | | ++`value` | `integer` | `0`, `1` | ``0`: No lines.` ``1`: There are lines.` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`nasolabial_fold_severity` | `object` | | Severity of the forehead lines. Returned when \[`nasolabial_fold.value`=1]. | | ++`value` | `integer` | `0`, `1`, `2` | ``0`: Mild.` ``1`: Moderate.` \`\`2`: Severe.` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`eye_finelines_severity` | `object` | | Severity of eye wrinkles. Returned when \[`eye_finelines.value`=1]. | | ++`value` | `integer` | `0`, `1`, `2` | ``0`: Mild.` ``1`: Moderate.` \`\`2`: Severe.` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`left_mouth_wrinkle_severity` | `object` | | The presence & severity of marionette lines on the left side of the face. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`right_mouth_wrinkle_severity` | `object` | | The presence & severity of marionette lines on the right side of the face. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`forehead_wrinkle_severity` | `object` | | The severity of the headline. Returned when \[`forehead_wrinkle.value`=1]. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`left_crows_feet_severity` | `object` | | The presence & severity of crow's feet on the left side of the face. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`right_crows_feet_severity` | `object` | | The presence & severity of crow's feet on the right side of the face. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`left_eye_finelines_severity` | `object` | | The presence & severity of fine lines under the eyes on the left side of the face. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`right_eye_finelines_severity` | `object` | | The presence & severity of fine lines under the eyes on the right side of the face. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`glabella_wrinkle_severity` | `object` | | The presence & severity of fine lines between the eyebrows. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`left_nasolabial_fold_severity` | `object` | | The presence or absence & severity of the left facial lines. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`right_nasolabial_fold_severity` | `object` | | The presence or absence & severity of right facial lines. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`left_cheek_wrinkle_severity` | `object` | | The presence & severity of left cheek lines. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`right_cheek_wrinkle_severity` | `object` | | The presence & severity of right cheek lines lines. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`fine_line` | `object` | | Number of fine lines detected. | | ++`forehead_count` | `integer` | | Forehead. | | ++`left_undereye_count` | `integer` | | Fine lines in the left eye. | | ++`right_undereye_count` | `integer` | | Fine lines in the right eye. | | ++`left_cheek_count` | `integer` | | Left cheek. | | ++`right_cheek_count` | `integer` | | Right cheek. | | ++`left_crowsfeet_count` | `integer` | | Crow's feet in the left eye. | | ++`right_crowsfeet_count` | `integer` | | Crow's feet in the right eye. | | ++`glabella_count` | `integer` | | Interbrow lines. | | +`wrinkle_count` | `object` | | Number of deep grain detection. | | ++`forehead_count` | `integer` | | Forehead. | | ++`left_undereye_count` | `integer` | | Fine lines in the left eye. | | ++`right_undereye_count` | `integer` | | Fine lines in the right eye. | | ++`left_mouth_count` | `integer` | | Puppet pattern at the left corner of the mouth. | | ++`right_mouth_count` | `integer` | | Puppet pattern at the right corner of the mouth. | | ++`left_nasolabial_count` | `integer` | | The left legal line. | | ++`right_nasolabial_count` | `integer` | | The right wrinkle. | | ++`glabella_count` | `integer` | | Interbrow lines. | | ++`left_cheek_count` | `integer` | | Left cheek. | | ++`right_cheek_count` | `integer` | | Right cheek. | | ++`left_crowsfeet_count` | `integer` | | Crow's feet in the left eye. | | ++`right_crowsfeet_count` | `integer` | | Crow's feet in the right eye. | | +`forehead_wrinkle_info` | `object` | | Number of deep grain detection. | | ++`wrinkle_score` | `integer` | \[0, 100] | Wrinkle score. | | ++`wrinkle_severity_level` | `integer` | `0`, `1`, `2`, `3` | Wrinkle severity level. ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | ++`wrinkle_norm_length` | `float` | | Wrinkle-normalized length. | | ++`wrinkle_norm_depth` | `float` | | Wrinkle normalized depth. | | ++`wrinkle_pixel_density` | `float` | | Wrinkle pixel density. | | ++`wrinkle_area_ratio` | `float` | \[0, 1] | Percentage of wrinkled area. | | ++`wrinkle_deep_ratio` | `float` | \[0, 1] | Percentage of deep grain length. | | ++`wrinkle_deep_num` | `integer` | | Number of deep lines. | | ++`wrinkle_shallow_num` | `integer` | | Number of shallow lines. | | ++`forehead_wrinkle_list` | `array` | | Sub-wrinkle information. | | +++`wrinkle_coord` | `array` | | Subwrinkle pixel coordinates. | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +++`wrinkle_depth` | `float` | | Sub-wrinkle depth. | | +++`wrinkle_length` | `float` | | Subwrinkle length. | | +`left_eye_wrinkle_info` | `object` | | Left eye wrinkle information. | | ++`wrinkle_score` | `integer` | \[0, 100] | Wrinkle score. | | ++`wrinkle_severity_level` | `integer` | `0`, `1`, `2`, `3` | Wrinkle severity level. ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | ++`wrinkle_norm_length` | `float` | | Wrinkle-normalized length. | | ++`wrinkle_norm_depth` | `float` | | Wrinkle normalized depth. | | ++`wrinkle_pixel_density` | `float` | | Wrinkle pixel density. | | ++`wrinkle_area_ratio` | `float` | \[0, 1] | Percentage of wrinkled area. | | ++`wrinkle_deep_ratio` | `float` | \[0, 1] | Percentage of deep grain length. | | ++`wrinkle_deep_num` | `integer` | | Number of deep lines. | | ++`wrinkle_shallow_num` | `integer` | | Number of shallow lines. | | ++`left_eye_wrinkle_list` | `array` | | Sub-wrinkle information. | | +++`wrinkle_coord` | `array` | | Subwrinkle pixel coordinates. | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +++`wrinkle_depth` | `float` | | Sub-wrinkle depth. | | +++`wrinkle_length` | `float` | | Subwrinkle length. | | +`right_eye_wrinkle_info` | `object` | | Right eye wrinkle information. | | ++`wrinkle_score` | `integer` | \[0, 100] | Wrinkle score. | | ++`wrinkle_severity_level` | `integer` | `0`, `1`, `2`, `3` | Wrinkle severity level. ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | ++`wrinkle_norm_length` | `float` | | Wrinkle-normalized length. | | ++`wrinkle_norm_depth` | `float` | | Wrinkle normalized depth. | | ++`wrinkle_pixel_density` | `float` | | Wrinkle pixel density. | | ++`wrinkle_area_ratio` | `float` | \[0, 1] | Percentage of wrinkled area. | | ++`wrinkle_deep_ratio` | `float` | \[0, 1] | Percentage of deep grain length. | | ++`wrinkle_deep_num` | `integer` | | Number of deep lines. | | ++`wrinkle_shallow_num` | `integer` | | Number of shallow lines. | | ++`right_eye_wrinkle_list` | `array` | | Sub-wrinkle information. | | +++`wrinkle_coord` | `array` | | Subwrinkle pixel coordinates. | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +++`wrinkle_depth` | `float` | | Sub-wrinkle depth. | | +++`wrinkle_length` | `float` | | Subwrinkle length. | | +`left_crowsfeet_wrinkle_info` | `object` | | Left fishtail information. | | ++`wrinkle_score` | `integer` | \[0, 100] | Wrinkle score. | | ++`wrinkle_severity_level` | `integer` | `0`, `1`, `2`, `3` | Wrinkle severity level. ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | ++`wrinkle_norm_length` | `float` | | Wrinkle-normalized length. | | ++`wrinkle_norm_depth` | `float` | | Wrinkle normalized depth. | | ++`wrinkle_pixel_density` | `float` | | Wrinkle pixel density. | | ++`wrinkle_area_ratio` | `float` | \[0, 1] | Percentage of wrinkled area. | | ++`wrinkle_deep_ratio` | `float` | \[0, 1] | Percentage of deep grain length. | | ++`wrinkle_deep_num` | `integer` | | Number of deep lines. | | ++`wrinkle_shallow_num` | `integer` | | Number of shallow lines. | | ++`left_crowsfeet_wrinkle_list` | `array` | | Sub-wrinkle information. | | +++`wrinkle_coord` | `array` | | Subwrinkle pixel coordinates. | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +++`wrinkle_depth` | `float` | | Sub-wrinkle depth. | | +++`wrinkle_length` | `float` | | Subwrinkle length. | | +`right_crowsfeet_wrinkle_info` | `object` | | Right fishtail information. | | ++`wrinkle_score` | `integer` | \[0, 100] | Wrinkle score. | | ++`wrinkle_severity_level` | `integer` | `0`, `1`, `2`, `3` | Wrinkle severity level. ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | ++`wrinkle_norm_length` | `float` | | Wrinkle-normalized length. | | ++`wrinkle_norm_depth` | `float` | | Wrinkle normalized depth. | | ++`wrinkle_pixel_density` | `float` | | Wrinkle pixel density. | | ++`wrinkle_area_ratio` | `float` | \[0, 1] | Percentage of wrinkled area. | | ++`wrinkle_deep_ratio` | `float` | \[0, 1] | Percentage of deep grain length. | | ++`wrinkle_deep_num` | `integer` | | Number of deep lines. | | ++`wrinkle_shallow_num` | `integer` | | Number of shallow lines. | | ++`right_crowsfeet_wrinkle_list` | `array` | | Sub-wrinkle information. | | +++`wrinkle_coord` | `array` | | Subwrinkle pixel coordinates. | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +++`wrinkle_depth` | `float` | | Sub-wrinkle depth. | | +++`wrinkle_length` | `float` | | Subwrinkle length. | | +`glabella_wrinkle_info` | `object` | | Information on the lines between the eyebrows. | | ++`wrinkle_score` | `integer` | \[0, 100] | Wrinkle score. | | ++`wrinkle_severity_level` | `integer` | `0`, `1`, `2`, `3` | Wrinkle severity level. ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | ++`wrinkle_norm_length` | `float` | | Wrinkle-normalized length. | | ++`wrinkle_norm_depth` | `float` | | Wrinkle normalized depth. | | ++`wrinkle_pixel_density` | `float` | | Wrinkle pixel density. | | ++`wrinkle_area_ratio` | `float` | \[0, 1] | Percentage of wrinkled area. | | ++`wrinkle_deep_ratio` | `float` | \[0, 1] | Percentage of deep grain length. | | ++`wrinkle_deep_num` | `integer` | | Number of deep lines. | | ++`wrinkle_shallow_num` | `integer` | | Number of shallow lines. | | ++`glabella_wrinkle_list` | `array` | | Sub-wrinkle information. | | +++`wrinkle_coord` | `array` | | Subwrinkle pixel coordinates. | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +++`wrinkle_depth` | `float` | | Sub-wrinkle depth. | | +++`wrinkle_length` | `float` | | Subwrinkle length. | | +`left_mouth_wrinkle_info` | `object` | | Information on the left corner of the mouth tattoo. | | ++`wrinkle_score` | `integer` | \[0, 100] | Wrinkle score. | | ++`wrinkle_severity_level` | `integer` | `0`, `1`, `2`, `3` | Wrinkle severity level. ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | ++`wrinkle_norm_length` | `float` | | Wrinkle-normalized length. | | ++`wrinkle_norm_depth` | `float` | | Wrinkle normalized depth. | | ++`wrinkle_pixel_density` | `float` | | Wrinkle pixel density. | | ++`wrinkle_area_ratio` | `float` | \[0, 1] | Percentage of wrinkled area. | | ++`wrinkle_deep_ratio` | `float` | \[0, 1] | Percentage of deep grain length. | | ++`wrinkle_deep_num` | `integer` | | Number of deep lines. | | ++`wrinkle_shallow_num` | `integer` | | Number of shallow lines. | | ++`left_mouth_wrinkle_list` | `array` | | Sub-wrinkle information. | | +++`wrinkle_coord` | `array` | | Subwrinkle pixel coordinates. | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +++`wrinkle_depth` | `float` | | Sub-wrinkle depth. | | +++`wrinkle_length` | `float` | | Subwrinkle length. | | +`right_mouth_wrinkle_info` | `object` | | Information on the right corner of the mouth tattoo. | | ++`wrinkle_score` | `integer` | \[0, 100] | Wrinkle score. | | ++`wrinkle_severity_level` | `integer` | `0`, `1`, `2`, `3` | Wrinkle severity level. ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | ++`wrinkle_norm_length` | `float` | | Wrinkle-normalized length. | | ++`wrinkle_norm_depth` | `float` | | Wrinkle normalized depth. | | ++`wrinkle_pixel_density` | `float` | | Wrinkle pixel density. | | ++`wrinkle_area_ratio` | `float` | \[0, 1] | Percentage of wrinkled area. | | ++`wrinkle_deep_ratio` | `float` | \[0, 1] | Percentage of deep grain length. | | ++`wrinkle_deep_num` | `integer` | | Number of deep lines. | | ++`wrinkle_shallow_num` | `integer` | | Number of shallow lines. | | ++`right_mouth_wrinkle_list` | `array` | | Sub-wrinkle information. | | +++`wrinkle_coord` | `array` | | Subwrinkle pixel coordinates. | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +++`wrinkle_depth` | `float` | | Sub-wrinkle depth. | | +++`wrinkle_length` | `float` | | Subwrinkle length. | | +`left_nasolabial_wrinkle_info` | `object` | | Information about the left legal line. | | ++`wrinkle_score` | `integer` | \[0, 100] | Wrinkle score. | | ++`wrinkle_severity_level` | `integer` | `0`, `1`, `2`, `3` | Wrinkle severity level. ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | ++`wrinkle_norm_length` | `float` | | Wrinkle-normalized length. | | ++`wrinkle_norm_depth` | `float` | | Wrinkle normalized depth. | | ++`wrinkle_pixel_density` | `float` | | Wrinkle pixel density. | | ++`wrinkle_area_ratio` | `float` | \[0, 1] | Percentage of wrinkled area. | | ++`wrinkle_deep_ratio` | `float` | \[0, 1] | Percentage of deep grain length. | | ++`wrinkle_deep_num` | `integer` | | Number of deep lines. | | ++`wrinkle_shallow_num` | `integer` | | Number of shallow lines. | | ++`left_nasolabial_wrinkle_list` | `array` | | Sub-wrinkle information. | | +++`wrinkle_coord` | `array` | | Subwrinkle pixel coordinates. | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +++`wrinkle_depth` | `float` | | Sub-wrinkle depth. | | +++`wrinkle_length` | `float` | | Subwrinkle length. | | +`right_nasolabial_wrinkle_info` | `object` | | Information on the right-hand wrinkle. | | ++`wrinkle_score` | `integer` | \[0, 100] | Wrinkle score. | | ++`wrinkle_severity_level` | `integer` | `0`, `1`, `2`, `3` | Wrinkle severity level. ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | ++`wrinkle_norm_length` | `float` | | Wrinkle-normalized length. | | ++`wrinkle_norm_depth` | `float` | | Wrinkle normalized depth. | | ++`wrinkle_pixel_density` | `float` | | Wrinkle pixel density. | | ++`wrinkle_area_ratio` | `float` | \[0, 1] | Percentage of wrinkled area. | | ++`wrinkle_deep_ratio` | `float` | \[0, 1] | Percentage of deep grain length. | | ++`wrinkle_deep_num` | `integer` | | Number of deep lines. | | ++`wrinkle_shallow_num` | `integer` | | Number of shallow lines. | | ++`right_nasolabial_wrinkle_list` | `array` | | Sub-wrinkle information. | | +++`wrinkle_coord` | `array` | | Subwrinkle pixel coordinates. | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +++`wrinkle_depth` | `float` | | Sub-wrinkle depth. | | +++`wrinkle_length` | `float` | | Subwrinkle length. | | +`left_cheek_wrinkle_info` | `object` | | Left face wrinkle information. | | ++`wrinkle_score` | `integer` | \[0, 100] | Wrinkle score. | | ++`wrinkle_severity_level` | `integer` | `0`, `1`, `2`, `3` | Wrinkle severity level. ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | ++`wrinkle_norm_length` | `float` | | Wrinkle-normalized length. | | ++`wrinkle_norm_depth` | `float` | | Wrinkle normalized depth. | | ++`wrinkle_pixel_density` | `float` | | Wrinkle pixel density. | | ++`wrinkle_area_ratio` | `float` | \[0, 1] | Percentage of wrinkled area. | | ++`wrinkle_deep_ratio` | `float` | \[0, 1] | Percentage of deep grain length. | | ++`wrinkle_deep_num` | `integer` | | Number of deep lines. | | ++`wrinkle_shallow_num` | `integer` | | Number of shallow lines. | | ++`left_cheek_wrinkle_list` | `array` | | Sub-wrinkle information. | | +++`wrinkle_coord` | `array` | | Subwrinkle pixel coordinates. | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +++`wrinkle_depth` | `float` | | Sub-wrinkle depth. | | +++`wrinkle_length` | `float` | | Subwrinkle length. | | +`right_cheek_wrinkle_info` | `object` | | Right face wrinkle information. | | ++`wrinkle_score` | `integer` | \[0, 100] | Wrinkle score. | | ++`wrinkle_severity_level` | `integer` | `0`, `1`, `2`, `3` | Wrinkle severity level. ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | ++`wrinkle_norm_length` | `float` | | Wrinkle-normalized length. | | ++`wrinkle_norm_depth` | `float` | | Wrinkle normalized depth. | | ++`wrinkle_pixel_density` | `float` | | Wrinkle pixel density. | | ++`wrinkle_area_ratio` | `float` | \[0, 1] | Percentage of wrinkled area. | | ++`wrinkle_deep_ratio` | `float` | \[0, 1] | Percentage of deep grain length. | | ++`wrinkle_deep_num` | `integer` | | Number of deep lines. | | ++`wrinkle_shallow_num` | `integer` | | Number of shallow lines. | | ++`right_cheek_wrinkle_list` | `array` | | Sub-wrinkle information. | | +++`wrinkle_coord` | `array` | | Subwrinkle pixel coordinates. | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +++`wrinkle_depth` | `float` | | Sub-wrinkle depth. | | +++`wrinkle_length` | `float` | | Subwrinkle length. | | +`cheekbone_mark` | `object` | | Information about the coordinates of the left apple muscle and the coordinates of the right apple muscle. | | ++`left_cheekbone_mark` | `array` | | Left apple muscle coordinates. | | +++`x` | `float` | | | | +++`y` | `float` | | | | ++`left_cheekbone_mark` | `array` | | Right apple muscle coordinates. | | +++`x` | `float` | | | | +++`y` | `float` | | | ##### Eye Analysis Module * `eye_pouch` determines the presence of under-eye bags. The severity of the bags is provided only if the result is 1, and can be found in `eye_pouch_severity`. * Similarly, `dark_circle` and `dark_circle_severity` indicate the presence and severity of dark circles. For drawing on areas such as dark circles and eye bags, use the following fields: * `left_eye_pouch_rectangle` * `right_eye_pouch_rectangle` * `dark_circle_mark` | Field | Type | Scope | Description | | :----------------------------------- | :-------- | :----------------- | :------------------------------------------------------------------------------------------------------------------------------------ | | +`eye_pouch` | `object` | | Eye bag test results. | | ++`value` | `integer` | `0`, `1` | ``0`: No bags under the eyes.` ``1`: With bags under the eyes.` | | ++`confidence` | `float` | | Confidence. | | +`eye_pouch_severity` | `object` | | Severity of eye bags. Return when \[`eye_pouch`.`value`=1]. | | ++`value` | `integer` | `0`, `1`, `2` | ``0`: Mild.` ``1`: Moderate.` \`\`2`: Severe.` | | ++`confidence` | `float` | | Confidence. | | +`left_eye_pouch_rectangle` | `array` | | The position of the left eye bag frame | | ++`width` | `float` | | Width. | | ++`height` | `float` | | Height. | | ++`left` | `float` | | The distance from the leftmost part of the picture. | | ++`top` | `float` | | The distance from the topmost edge of the image. | | +`right_eye_pouch_rectangle` | `array` | | The position of the right eye bag frame | | ++`width` | `float` | | Width. | | ++`height` | `float` | | Height. | | ++`left` | `float` | | The distance from the leftmost part of the picture. | | ++`top` | `float` | | The distance from the topmost edge of the image. | | +`dark_circle` | `object` | | Dark eye circle type detection. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: No dark circles under the eyes.` ``1`: Pigmented dark circles.` ``2`: Vascular dark circles.` ``3`: Dark circles with shadows.` | | ++`confidence` | `float` | | Confidence. | | +`dark_circle_severity` | `object` | | Severity of dark circles under the eyes. Return when \[`dark_circle`.`value` `<>` 1]. | | ++`value` | `integer` | `0`, `1`, `2` | ``0`: Mild.` ``1`: Moderate.` \`\`2`: Severe.` | | ++`confidence` | `float` | | Confidence. | | +`left_dark_circle_rete` | `object` | | Severity of vascular type dark circles under the left eye. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`right_dark_circle_rete` | `object` | | Severity of vascular type dark circles under the right eye. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`left_dark_circle_pigment` | `object` | | Severity of pigmented dark circles under the left eye. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`right_dark_circle_pigment` | `object` | | Severity of pigmented dark circles under the right eye. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`left_dark_circle_structural` | `object` | | Severity of structural dark circles under the left eye.. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`right_dark_circle_structural` | `object` | | Severity of structural dark circles under the right eye. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`dark_circle_mark` | `object` | | The position of the rectangular box coordinates of the black eye. | | ++`left_eye_rect` | `object` | | Left eye. | | +++`width` | `float` | | Width. | | +++`height` | `float` | | Height. | | +++`left` | `float` | | The distance from the leftmost part of the picture. | | +++`top` | `float` | | The distance from the topmost edge of the image. | | ++`right_eye_rect` | `object` | | Right eye. | | +++`width` | `float` | | Width. | | +++`height` | `float` | | Height. | | +++`left` | `float` | | The distance from the leftmost part of the picture. | | +++`top` | `float` | | The distance from the topmost edge of the image. | | +`left_eye_pouch_rect` | `object` | | Left eye bag rectangular box position. | | ++`width` | `float` | | Width. | | ++`height` | `float` | | Height. | | ++`left` | `float` | | The distance from the leftmost part of the picture. | | ++`top` | `float` | | The distance from the topmost edge of the image. | | +`right_eye_pouch_rect` | `object` | | Right eye bag rectangular box position. | | ++`width` | `float` | | Width. | | ++`height` | `float` | | Height. | | ++`left` | `float` | | The distance from the leftmost part of the picture. | | ++`top` | `float` | | The distance from the topmost edge of the image. | | +`wrinkle_mark` | `object` | | Wrinkle contour line coordinates. | | ++`left_eye_wrinkle_outline` | `array` | | Wrinkles in the left eye. | | +++`x` | `float` | | | | +++`y` | `float` | | | | ++`right_eye_wrinkle_outline` | `array` | | Wrinkles in the Right eye. | | +++`x` | `float` | | | | +++`y` | `float` | | | | ++`left_cheek_wrinkle_outline` | `array` | | Wrinkles on the left side of the face. | | +++`x` | `float` | | | | +++`y` | `float` | | | | ++`right_cheek_wrinkle_outline` | `array` | | Wrinkles on the right side of the face. | | +++`x` | `float` | | | | +++`y` | `float` | | | | ++`glabella_wrinkle_outline` | `array` | | Interbrow lines. | | +++`x` | `float` | | | | +++`y` | `float` | | | | ++`left_nasolabial_wrinkle_outline` | `array` | | The left legal line. | | +++`x` | `float` | | | | +++`y` | `float` | | | | ++`right_nasolabial_wrinkle_outline` | `array` | | The right legal line. | | +++`x` | `float` | | | | +++`y` | `float` | | | | ++`left_crowsfeet_wrinkle_outline` | `array` | | Left fishtail line.. | | +++`x` | `float` | | | | +++`y` | `float` | | | | ++`right_crowsfeet_wrinkle_outline` | `array` | | Right fishtail line.. | | +++`x` | `float` | | | | +++`y` | `float` | | | | ++`left_mouth_wrinkle_outline` | `array` | | Left corner of the mouth tattoo. | | +++`x` | `float` | | | | +++`y` | `float` | | | | ++`right_mouth_wrinkle_outline` | `array` | | Right corner of the mouth tattoo. | | +++`x` | `float` | | | | +++`y` | `float` | | | | ++`head_wrinkle_outline` | `array` | | Forehead wrinkles. | | +++`x` | `float` | | | | +++`y` | `float` | | | | +`dark_circle_outline` | `object` | | Dark eye contour coordinates. | | ++`left_dark_circle_outline` | `array` | | Left eye. | | +++`x` | `float` | | | | +++`y` | `float` | | | | ++`right_dark_circle_outline` | `array` | | Right eye. | | +++`x` | `float` | | | | +++`y` | `float` | | | ##### Digital Scoring System Module It includes a total score and 12 parameters. You can directly assess the level of each dimension based on these parameters. | Field | Type | Scope | Description | | :--------------------------- | :-------- | :-------- | :--------------------------------------------------------------------------- | | +`score_info` | `object` | | Score. [Degree & Score](ai-portrait/analysis/skin-analysis-pro/degree-score) | | ++`dark_circle_score` | `integer` | \[0, 100] | Dark Circles Total Score | | ++`skin_type_score` | `integer` | \[0, 100] | Skin Quality Score | | ++`wrinkle_score` | `integer` | \[0, 100] | Wrinkle Score | | ++`oily_intensity_score` | `integer` | \[0, 100] | Oily Score | | ++`pores_score` | `integer` | \[0, 100] | Total Pore Score | | ++`blackhead_score` | `integer` | \[0, 100] | Blackheads Score | | ++`acne_score` | `integer` | \[0, 100] | Acne Score | | ++`sensitivity_score` | `integer` | \[0, 100] | Sensitivity Score | | ++`melanin_score` | `integer` | \[0, 100] | Melanin Score | | ++`water_score` | `integer` | \[0, 100] | Skin Moisture Score | | ++`rough_score` | `integer` | \[0, 100] | Skin Roughness Score | | ++`total_score` | `integer` | \[0, 100] | Total Score | | ++`pores_type_score` | `object` | | Pore Score | | +++`pores_forehead_score` | `integer` | \[0, 100] | Forehead Pore Score | | +++`pores_leftcheek_score` | `integer` | \[0, 100] | Left Cheek Pore Score | | +++`pores_rightcheek_score` | `integer` | \[0, 100] | Right Cheek Pore Score | | +++`pores_jaw_score` | `integer` | \[0, 100] | Jaw Pore Score | | ++`dark_circle_type_score` | `object` | | Dark Circles Score | | +++`left_dark_circle_score` | `integer` | \[0, 100] | Left Eye Dark Circle Score | | +++`right_dark_circle_score` | `integer` | \[0, 100] | Right Eye Dark Circle Score | ##### Custom Module | Field | Type | Scope | Description | | :------------------------------ | :------- | :---- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | +`enhanced_bw_info` | `object` | | The black-and-white enhanced image coordinates and cropping ratio are used to obtain the facial keypoint positions corresponding to the original image. [Conversion formula](#enhanced_bw_info) | | ++`enhanced_bw_rect` | `object` | | Black and white enhanced graph coordinate frame. | | +++`width` | `float` | | Width. | | +++`height` | `float` | | Height. | | +++`left` | `float` | | The distance from the leftmost part of the picture. | | +++`top` | `float` | | The distance from the topmost edge of the image. | | ++`ratio` | `float` | | Crop ratio. | | +`face_maps` | `object` | | `Returns information based on the `return\_maps` field input.` | | ++`red_area` | `base64` | | [More Details](#return_maps) | | ++`brown_area` | `base64` | | [More Details](#return_maps) | | ++`texture_enhanced_pores` | `base64` | | [More Details](#return_maps) | | ++`texture_enhanced_blackheads` | `base64` | | [More Details](#return_maps) | | ++`texture_enhanced_oily_area` | `base64` | | [More Details](#return_maps) | | ++`texture_enhanced_lines` | `base64` | | [More Details](#return_maps) | | ++`water_area` | `base64` | | [More Details](#return_maps) | | ++`rough_area` | `base64` | | [More Details](#return_maps) | | ++`roi_outline_map` | `base64` | | [More Details](#return_maps) | | ++`texture_enhanced_bw` | `base64` | | [More Details](#return_maps) | ###### Coordinate conversion formula between original image and black and white enhanced image x\_enhance = (x\_img - left) \* ratio y\_enhance = (y\_img - top) \* ratio Coordinates of original image: x\_img, y\_img, coordinates of black and white enhanced image: x\_enhance, y\_enhance. ### Skin Analysis Cases | Portraits | Portrait | Portrait | Portrait | Portrait | | :-------- | :--------------------- | :--------------------- | :--------------------- | :--------------------- | | Results | [Result](case1/result) | [Result](case2/result) | [Result](case3/result) | [Result](case4/result) | ### Response Example ```json theme={null} { "request_id": "", "log_id": "", "error_code": 0, "error_msg": "", "error_detail": { "status_code": 200, "code": "", "code_message": "", "message": "" }, "face_rectangle": { "top": 0, "left": 0, "width": 0, "height": 0 }, "left_side_result": { "left_jawline_quality": 1, "left_jawline_angle": 122.73, "left_jawline_mark": [ { "x": 518, "y": 1256 }, { "x": 531, "y": 1260 } ] }, "right_jawline_info": { "right_jawline_quality": 1, "right_jawline_angle": 122.73, "right_jawline_mark": [ { "x": 518, "y": 1256 }, { "x": 531, "y": 1260 } ] }, "result": { "image_quality": { "face_ratio:": 0.3, "face_orientation": { "yaw": 30.1, "pitch": 21.2, "roll": 89 }, "face_rect": { "top": 808, "left": 677, "width": 800, "height": 800 }, "hair_occlusion": 0.05, "glasses": 0 }, "skin_type": { "skin_type": 0, "details": { "0": { "value": 0, "confidence": 0.89 }, "1": { "value": 0, "confidence": 0.89 }, "2": { "value": 1, "confidence": 0.89 }, "3": { "value": 0, "confidence": 0.89 } } }, "oily_intensity": { "t_zone": { "area": 0, "intensity": 0 }, "left_cheek": { "area": 0, "intensity": 0 }, "right_cheek": { "area": 0, "intensity": 0 }, "chin_area": { "area": 0, "intensity": 0 } }, "water": { "water_severity": 0, "water_area": 0, "water_forehead": { "area": 0 }, "water_leftcheek": { "area": 0 }, "water_rightcheek": { "area": 0 } }, "skin_tone": { "value": 0, "confidence": 0 }, "skintone_ita": { "ITA": 0, "skintone": 0 }, "skin_hue_ha": { "HA": 0, "skin_hue": 0 }, "blackhead": { "value": 0, "confidence": 0 }, "blackhead_count": 0, "enlarged_pore_count": { "forehead": { "count": 0, "area": 0 }, "left_cheek_count": { "count": 0, "area": 0 }, "right_cheek_count": { "count": 0, "area": 0 }, "chin_count": { "count": 0, "area": 0 } }, "pores_forehead": { "value": 0, "confidence": 0 }, "pores_rightcheek": { "value": 0, "confidence": 0 }, "pores_leftcheek": { "value": 0, "confidence": 0 }, "pores_jaw": { "value": 0, "confidence": 0 }, "rough": { "rough_severity": 0, "rough_area": 0, "rough_forehead": { "area": 0 }, "rough_leftcheek": { "area": 0 }, "rough_rightcheek": { "area": 0 }, "rough_jaw": { "area": 0 } }, "melanin": { "brown_area": 0, "melanin_concentration": 0, "brown_forehead": 0, "brown_leftcheek": 0, "brown_rightcheek": 0 }, "melanin_mark": { "polygon": [ [ { "x": 0, "y": 0 } ] ] }, "mole": { "rectangle": [ { "width": 0, "top": 0, "height": 0, "left": 0 } ], "confidence": [ 0 ], "polygon": [ [ { "x": 0, "y": 0 } ] ] }, "brown_spot": { "rectangle": [ { "width": 0, "top": 0, "height": 0, "left": 0 } ], "confidence": [ 0 ], "polygon": [ [ { "x": 0, "y": 0 } ] ] }, "melasma": { "value": 0, "confidence": 0 }, "freckle": { "value": 0, "confidence": 0 }, "acne": { "rectangle": [ { "width": 0, "top": 0, "height": 0, "left": 0 } ], "confidence": [ 0 ], "polygon": [ [ { "x": 0, "y": 0 } ] ] }, "acne_pustule": { "rectangle": [ { "width": 0, "top": 0, "height": 0, "left": 0 } ], "confidence": [ 0 ], "polygon": [ [ { "x": 0, "y": 0 } ] ] }, "acne_nodule": { "rectangle": [ { "width": 0, "top": 0, "height": 0, "left": 0 } ], "confidence": [ 0 ], "polygon": [ [ { "x": 0, "y": 0 } ] ] }, "acne_mark": { "rectangle": [ { "width": 0, "top": 0, "height": 0, "left": 0 } ], "confidence": [ 0 ], "polygon": [ [ { "x": 0, "y": 0 } ] ] }, "closed_comedones": { "rectangle": [ { "width": 0, "top": 0, "height": 0, "left": 0 } ], "confidence": [ 0 ], "polygon": [ [ { "x": 0, "y": 0 } ] ] }, "sensitivity": { "sensitivity_area": 0, "sensitivity_intensity": 0 }, "sensitivity_mark": { "polygon": [ [ { "x": 0, "y": 0 } ] ] }, "skin_age": { "value": 0 }, "forehead_wrinkle": { "value": 0, "confidence": 0 }, "crows_feet": { "value": 0, "confidence": 0 }, "eye_finelines": { "value": 0, "confidence": 0 }, "glabella_wrinkle": { "value": 0, "confidence": 0 }, "nasolabial_fold": { "value": 0, "confidence": 0 }, "nasolabial_fold_severity": { "value": 0, "confidence": 0 }, "left_mouth_wrinkle_severity": { "value": 0 }, "right_mouth_wrinkle_severity": { "value": 0 }, "forehead_wrinkle_severity": { "value": 0 }, "left_crows_feet_severity": { "value": 0 }, "right_crows_feet_severity": { "value": 0 }, "left_eye_finelines_severity": { "value": 0 }, "right_eye_finelines_severity": { "value": 0 }, "glabella_wrinkle_severity": { "value": 0 }, "left_nasolabial_fold_severity": { "value": 0 }, "right_nasolabial_fold_severity": { "value": 0 }, "left_cheek_wrinkle_severity": { "value": 0 }, "right_cheek_wrinkle_severity": { "value": 0 }, "fine_line": { "forehead_count": 0, "left_undereye_count": 0, "right_undereye_count": 0, "left_cheek_count": 0, "right_cheek_count": 0, "left_crowsfeet_count": 0, "right_crowsfeet_count": 0, "glabella_count": 0 }, "wrinkle_count": { "forehead_count": 0, "left_undereye_count": 0, "right_undereye_count": 0, "left_mouth_count": 0, "right_mouth_count": 0, "left_nasolabial_count": 0, "right_nasolabial_count": 0, "glabella_count": 0, "left_cheek_count": 0, "right_cheek_count": 0, "left_crowsfeet_count": 0, "right_crowsfeet_count": 0 }, "forehead_wrinkle_info": { "wrinkle_score": 0, "wrinkle_severity_level": 0, "wrinkle_norm_length": 0, "wrinkle_norm_depth": 0, "wrinkle_pixel_density": 0, "wrinkle_area_ratio": 0, "wrinkle_deep_ratio": 0, "wrinkle_deep_num": 0, "wrinkle_shallow_num": 0, "forehead_wrinkle_list": [] }, "left_eye_wrinkle_info": { "wrinkle_score": 0, "wrinkle_severity_level": 0, "wrinkle_norm_length": 0, "wrinkle_norm_depth": 0, "wrinkle_pixel_density": 0, "wrinkle_area_ratio": 0, "wrinkle_deep_ratio": 0, "wrinkle_deep_num": 0, "wrinkle_shallow_num": 0, "left_eye_wrinkle_list": [] }, "right_eye_wrinkle_info": { "wrinkle_score": 0, "wrinkle_severity_level": 0, "wrinkle_norm_length": 0, "wrinkle_norm_depth": 0, "wrinkle_pixel_density": 0, "wrinkle_area_ratio": 0, "wrinkle_deep_ratio": 0, "wrinkle_deep_num": 0, "wrinkle_shallow_num": 0, "right_eye_wrinkle_list": [] }, "left_crowsfeet_wrinkle_info": { "wrinkle_score": 0, "wrinkle_severity_level": 0, "wrinkle_norm_length": 0, "wrinkle_norm_depth": 0, "wrinkle_pixel_density": 0, "wrinkle_area_ratio": 0, "wrinkle_deep_ratio": 0, "wrinkle_deep_num": 0, "wrinkle_shallow_num": 0, "left_crowsfeet_wrinkle_list": [] }, "right_crowsfeet_wrinkle_info": { "wrinkle_score": 0, "wrinkle_severity_level": 0, "wrinkle_norm_length": 0, "wrinkle_norm_depth": 0, "wrinkle_pixel_density": 0, "wrinkle_area_ratio": 0, "wrinkle_deep_ratio": 0, "wrinkle_deep_num": 0, "wrinkle_shallow_num": 0, "right_crowsfeet_wrinkle_list": [] }, "glabella_wrinkle_info": { "wrinkle_score": 0, "wrinkle_severity_level": 0, "wrinkle_norm_length": 0, "wrinkle_norm_depth": 0, "wrinkle_pixel_density": 0, "wrinkle_area_ratio": 0, "wrinkle_deep_ratio": 0, "wrinkle_deep_num": 0, "wrinkle_shallow_num": 0, "glabella_wrinkle_list": [] }, "left_mouth_wrinkle_info": { "wrinkle_score": 0, "wrinkle_severity_level": 0, "wrinkle_norm_length": 0, "wrinkle_norm_depth": 0, "wrinkle_pixel_density": 0, "wrinkle_area_ratio": 0, "wrinkle_deep_ratio": 0, "wrinkle_deep_num": 0, "wrinkle_shallow_num": 0, "left_mouth_wrinkle_list": [] }, "right_mouth_wrinkle_info": { "wrinkle_score": 0, "wrinkle_severity_level": 0, "wrinkle_norm_length": 0, "wrinkle_norm_depth": 0, "wrinkle_pixel_density": 0, "wrinkle_area_ratio": 0, "wrinkle_deep_ratio": 0, "wrinkle_deep_num": 0, "wrinkle_shallow_num": 0, "right_mouth_wrinkle_list": [] }, "left_nasolabial_wrinkle_info": { "wrinkle_score": 0, "wrinkle_severity_level": 0, "wrinkle_norm_length": 0, "wrinkle_norm_depth": 0, "wrinkle_pixel_density": 0, "wrinkle_area_ratio": 0, "wrinkle_deep_ratio": 0, "wrinkle_deep_num": 0, "wrinkle_shallow_num": 0, "left_nasolabial_wrinkle_list": [] }, "right_nasolabial_wrinkle_info": { "wrinkle_score": 0, "wrinkle_severity_level": 0, "wrinkle_norm_length": 0, "wrinkle_norm_depth": 0, "wrinkle_pixel_density": 0, "wrinkle_area_ratio": 0, "wrinkle_deep_ratio": 0, "wrinkle_deep_num": 0, "wrinkle_shallow_num": 0, "right_nasolabial_wrinkle_list": [] }, "left_cheek_wrinkle_info": { "wrinkle_score": 0, "wrinkle_severity_level": 0, "wrinkle_norm_length": 0, "wrinkle_norm_depth": 0, "wrinkle_pixel_density": 0, "wrinkle_area_ratio": 0, "wrinkle_deep_ratio": 0, "wrinkle_deep_num": 0, "wrinkle_shallow_num": 0, "left_cheek_wrinkle_list": [] }, "right_cheek_wrinkle_info": { "wrinkle_score": 0, "wrinkle_severity_level": 0, "wrinkle_norm_length": 0, "wrinkle_norm_depth": 0, "wrinkle_pixel_density": 0, "wrinkle_area_ratio": 0, "wrinkle_deep_ratio": 0, "wrinkle_deep_num": 0, "wrinkle_shallow_num": 0, "right_cheek_wrinkle_list": [] }, "cheekbone_mark": { "left_cheekbone_mark": [], "right_cheekbone_mark": [] }, "eye_pouch": { "value": 0, "confidence": 0 }, "eye_pouch_severity": { "value": 0, "confidence": 0 }, "left_eye_pouch_rectangle": [], "right_eye_pouch_rectangle": [], "dark_circle": { "value": 0, "confidence": 0 }, "dark_circle_severity": { "value": 0, "confidence": 0 }, "left_dark_circle_rete": { "value": 0 }, "right_dark_circle_rete": { "value": 0 }, "left_dark_circle_pigment": { "value": 0 }, "right_dark_circle_pigment": { "value": 0 }, "left_dark_circle_structural": { "value": 0 }, "right_dark_circle_structural": { "value": 0 }, "dark_circle_mark": { "left_eye_rect": { "left": 0, "top": 0, "width": 0, "height": 0 }, "right_eye_rect": { "left": 0, "top": 0, "width": 0, "height": 0 } }, "left_eye_pouch_rect": { "left": 0, "top": 0, "width": 0, "height": 0 }, "right_eye_pouch_rect": { "left": 0, "top": 0, "width": 0, "height": 0 }, "wrinkle_mark": { "left_cheek_wrinkle_outline": [], "right_cheek_wrinkle_outline": [], "head_wrinkle_outline": [], "left_nasolabial_wrinkle_outline": [], "right_nasolabial_wrinkle_outline": [], "glabella_wrinkle_outline": [], "left_crowsfeet_wrinkle_outline": [], "right_crowsfeet_wrinkle_outline": [], "left_mouth_wrinkle_outline": [], "right_mouth_wrinkle_outline": [], "left_eye_wrinkle_outline": [], "right_eye_wrinkle_outline": [] }, "dark_circle_outline": { "left_dark_circle_outline": [], "right_dark_circle_outline": [] }, "score_info": { "dark_circle_score": 0, "skin_type_score": 0, "wrinkle_score": 0, "oily_intensity_score": 0, "pores_score": 0, "blackhead_score": 0, "acne_score": 0, "sensitivity_score": 0, "melanin_score": 0, "water_score": 0, "rough_score": 0, "total_score": 0, "pores_type_score": { "pores_forehead_score": 0, "pores_leftcheek_score": 0, "pores_rightcheek_score": 0, "pores_jaw_score": 0 }, "dark_circle_type_score": { "left_dark_circle_score": 0, "right_dark_circle_score": 0 } }, "enhanced_bw_info": { "enhanced_bw_rect": { "left": 0, "top": 0, "width": 0, "height": 0 }, "ratio": 0 }, "face_maps": { "red_area": "", "brown_area": "", "texture_enhanced_pores": "", "texture_enhanced_blackheads": "", "texture_enhanced_oily_area": "", "texture_enhanced_lines": "", "water_area": "", "rough_area": "", "roi_outline_map": "", "texture_enhanced_bw": "" } } } ``` # Skin Analyze Pro - API:V1.5.1 Source: https://ailabtools.mintlify.app/docs/ai-portrait/analysis/skin-analysis-pro/api-v151 Analysis of skin condition, such as skin color, skin texture, double eyelids, eye bags, dark circles, wrinkles, acne, spots, etc. \[Important Notice: API Integration Update Required] Dear Developers, Thank you for your continued support of the AILabTools API. We would like to inform you that the current API has been updated with changes to the request and response specifications. These changes involve adjustments to parameters and response fields, and may affect existing integrations that rely on the previous API behavior. To ensure your application continues to work correctly, we strongly recommend that you review and update your current API integration as soon as possible. If you have any questions or need assistance with updating your integration, please feel free to contact our support team: 📧 [support@ailabtools.com](mailto:support@ailabtools.com) Thank you for your understanding and cooperation. We appreciate your continued trust in AILabTools. Best regards, AILabTools Support Team ## Request * **URL**: `https://www.ailabapi.com/api/portrait/analysis/skin-analysis-pro` * **Method**: `POST` * **Content-Type**: `multipart/form-data` ### Image requirements * **Image format**: `JPG` `JPEG` * **Image size**: No more than 8 MB. * **Image resolution**: Larger than 200x200px, smaller than 4096x4096px. * **Minimum face pixel size**: To ensure the effect, the minimum value of the face box (square) side length in the image should preferably be higher than 400px. * **Face quality**: The higher the face quality, the more accurate the skin analysis. Factors affecting face quality include: occlusion of facial features, blurred images, improper lighting (bright, dark, backlight), excessive face angle (yaw ≤ ±30°, pitch ≤ ±40° recommended), etc. ### Headers | Field | Required | Type | Description | | :----------------- | :------- | :------- | :---------------------------------------------------- | | `ailabapi-api-key` | YES | `string` | Application API KEY. [Get API KEY](/docs/get-api-key) | ### Body | Field | Required | Type | Scope | Description | | :-------------------- | :------- | :------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `image` | YES | `file` | | Main Image. | | `side_image` | YES | `file` | | Side face picture. | | `return_maps` | NO | `string` | `red_area`, `brown_area`, `texture_enhanced_pores`, `texture_enhanced_blackheads`, `texture_enhanced_oily_area`, `texture_enhanced_lines`, `water_area`, `rough_area`, `roi_outline_map`, `texture_enhanced_bw` | The type of skin problem detection mapping image to be returned. If the corresponding element parameter is passed in, the interface will return an image of the original size, which you can subsequently overlay with the original image to see the results. Use commas to separate multiple types. (#analysis-1) | | `return_marks` | NO | `string` | `wrinkle_mark`, `right_nasolabial_list`, `right_mouth_list`, `right_eye_wrinkle_list`, `right_crowsfeet_list`, `right_cheek_list`, `left_nasolabial_list`, `left_mouth_list`, `left_eye_wrinkle_list`, `left_crowsfeet_list`, `left_cheek_list`, `glabella_wrinkle_list`, `forehead_wrinkle_list`, `dark_circle_outline`, `sensitivity_mark`, `melanin_mark`, `dark_circle_outline`, `cheekbone_mark` | The type of skin problem detection mapping image to be returned. Use commas to separate multiple types. (#analysis-2) | | `roi_outline_color` | NO | `json string` | | Customize the color. [More Details](#analysis-3) | | `return_side_results` | NO | `string` | `jawline_info` | The side face information that needs to be returned. Use commas to separate multiple types. (#analysis-4) | #### `return_maps` * **Request Example** `red_area,brown_area` * **Field Parsing** | Field | Description | Return image information | | :---------------------------- | :--------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `red_area` | Red zone map to show areas of redness caused by facial sensitivity and inflammation | A map of the red zone on a white background, with shades of red characterizing the degree of sensitivity. | | `brown_area` | Brown area map to show areas of facial pigmentation | A map of brown areas on a white background, with shades of brown characterizing the degree of chromatophoresis. | | `texture_enhanced_pores` | Facial pore enlargement area map | Transparent background PNG, labeled pore size area, image size is the same as the original image, can be stacked to view. | | `texture_enhanced_blackheads` | Facial blackhead area map | Transparent background PNG, labeled black head area, image size is the same as the original image, can be stacked to view. | | `texture_enhanced_oily_area` | Facial oil shine area map | Transparent background PNG, labeled facial shine area, image size is the same as the original image, can be stacked to view. | | `texture_enhanced_lines` | Facial texture map, mark the more obvious deep lines and light lines on the face | Transparent background PNG, labeled facial wrinkles, image size is the same as the original image, can be stacked to view. | | `water_area` | Facial moisture map, showing facial dehydration areas, the darker the blue color means the more dehydrated the skin is | PNG on white background, labeled facial dehydration area, same image size as the original. | | `rough_area` | Facial roughness map showing the rough areas of the face | Transparent background PNG, labeled facial rough areas, image size is the same as the original image, can be stacked to view. | | `roi_outline_map` | Facial blemishes and acne coordinates mapping | Transparent background PNG, labeled facial spots and acne areas, image size is the same as the original image, can be overlaid with the original image for viewing. | | `texture_enhanced_bw` | Facial blackheads & enlarged pores black & white enhancement chart | JPG with crop, interface with return coordinates and cropped scale that can correspond to the pixel coordinates in the original image. | #### `return_marks` * **Request Example** `wrinkle_mark,right_nasolabial_list` * **Field Parsing** | Field | Description | | :----------------------- | :--------------------------------------------------------------------------------------------------------- | | `wrinkle_mark` | Facial forehead, nose, crow's feet, cheeks, and contour coordinates of the area between the eyebrows | | `right_nasolabial_list` | Coordinates, depth, and length of the right wrinkle | | `right_mouth_list` | Coordinates, depth, and length of the wrinkles in the right corner of the mouth | | `right_eye_wrinkle_list` | Coordinates, depth, and length of subwrinkles in the right eye area | | `right_crowsfeet_list` | Coordinates, depth and length of crows feet wrinkles on the right eye | | `right_cheek_list` | Right cheek wrinkle pattern, depth and length | | `left_nasolabial_list` | Coordinates, depth, and length of the left legal sub-wrinkle | | `left_mouth_list` | Coordinates, depth and length of wrinkles in the left corner of the mouth | | `left_eye_wrinkle_list` | Coordinates, depth, and length of the left eye subwrinkle | | `left_crowsfeet_list` | Coordinates, depth, and length of crow's feet wrinkles on the left eye | | `left_cheek_list` | Left cheek wrinkle pattern, depth and length | | `glabella_wrinkle_list` | Coordinates, depth, and length of sub-frown lines between eyebrows | | `forehead_wrinkle_list` | Forehead wrinkle coordinates, depth and length | | `dark_circle_outline` | Left and right eye dark circle contour line coordinates | | `sensitivity_mark` | Red zone coordinates, which provide coordinates of red areas caused by facial sensitivity and inflammation | | `melanin_mark` | Area coordinates for hyperpigmented areas of the face | | `dark_circle_outline` | Left and right eye dark circle contour line coordinates | | `cheekbone_mark` | Facial apple coordinates | #### `roi_outline_color` * **Request Example** \`\` * **Field Parsing** | Field | Default | Description | | :----------------------- | :------- | :-------------------------- | | `pores_color` | `0000FF` | Pore drawing color | | `blackhead_color` | `FF0000` | Blackhead drawing color | | `wrinkle_color` | `6E9900` | Deep grain drawing color | | `fine_line_color` | `8DFE2A` | Fine line drawing color | | `closed_comedones_color` | `00FF00` | Closed port drawing color | | `acne_pustule_color` | `9F21F6` | Pustular papules color | | `acne_nodule_color` | `FF00FD` | Acne nodules drawing color | | `acne_color` | `FE0100` | Light papules drawing color | | `brown_spot_color` | `7E2A28` | Pigmentation color | Example: `CC00FF` format stands for R:CC, G:00, B:FF respectively. The input format is limited to a 6-bit hexadecimal string and is not case-sensitive. If not modified, it will draw directly using the default parameter colors. #### `return_side_results` * **Request Example** `jawline_info` * **Field Parsing** | Field | Description | | :------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `jawline_info` | The user selects the `jawline_info` element and uploads a side face photo to return three fields in the side\_result structure: side face image quality judgment, jawline angle, and jawline coordinates. | ## Response **Response Field Handling Flow** 1. **Handle `Public Response Fields`** Parse and validate the `Public Response Fields`, checking the status code or response message to ensure the request is successful and error-free. 2. **Handle `Business Response Fields`** If the `Public Response Fields` are valid and error-free, proceed with processing the business logic in the `Business Response Fields`. ### Public Response Fields Viewing Public Response Fields and Error Codes ### Business Response Fields | Field | Type | Description | | :--------------- | :------- | :------------------------------------------------------------- | | `face_rectangle` | `object` | Face position. [More Details](#analysis-5) | | `side_result` | `object` | Results of the side face analysis. [More Details](#analysis-6) | | `result` | `object` | Results of face skin analysis. [More Details](#analysis-7) | #### `face_rectangle` | Field | Type | Description | | :-------- | :------ | :---------------------------------------------------------------------------------------- | | +`top` | `float` | The vertical coordinate of the pixel point in the upper-left corner of the rectangle box. | | +`left` | `float` | The horizontal coordinate of the pixel point in the upper-left corner of the rectangle. | | +`width` | `float` | The width of the rectangle box. | | +`height` | `float` | The height of the rectangle box. | #### `side_result` | Field | Type | Scope | Description | | :------------------ | :-------- | :--------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | +`jawline_info` | `object` | | Mandibular information. | | ++`jawline_quality` | `integer` | `1`, `2`, `3`, `4`, `5`, `6` | Side face photo quality judgment, when the customer selects the jawline function in the entry, the corresponding picture can be taken to call the interface to judge the side face, the judgment result of 1 will return the angle, the judgment result of non-1 will not return the angle and coordinate results. ``1`: The quality is excellent, and the angle of the side face shot of the human face for the uploaded photos is 60°~80°.` ``2`: The angle of the side face is slightly lower, and the angle of the side face of the photo is less than 60°.` ``3`: The angle of the side face is slightly larger, and the angle of the side face of the photo is greater than 80°.` ``4`: No face is detected.` ``5`: Invalid faces.` ``6`: Other situations.` | | ++`jawline_angle` | `float` | | Angle of the jawline. | | ++`jawline_mark` | `array` | | Coordinates of key points of the jawline face. | | +++`x` | `float` | | Horizontal coordinates. | | +++`y` | `float` | | Vertical coordinates. | #### `result` | Modules | | :----------------------------------- | | [Skin Type Analysis](#analysis-8) | | [Roughness analysis](#analysis-9) | | [Pigmentation](#analysis-10) | | [Acne Analysis](#analysis-11) | | [Sensitivity Analysis](#analysis-12) | | [Senescence analysis](#analysis-13) | | [Eye Analysis](#analysis-14) | | [Overall Score](#analysis-15) | | [Customization](#analysis-16) | ##### Skin Type Analysis | Field | Type | Scope | Description | | :------------------- | :-------- | :-------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | +`skin_type` | `object` | | Skin texture test results. | | ++`skin_type` | `integer` | `0`, `1`, `2`, `3` | Type. ``0`: Oily skin.` ``1`: Dry skin.` ``2`: Neutral skin.` ``3`: Combination skin.` | | ++`details` | `object` | | The confidence level of each classification. | | +++`0` | `object` | | Oily skin information. | | ++++`value` | `integer` | `0`, `1` | Oily skin. ``0`: No.` ``1`: Yes.` | | ++++`confidence` | `float` | | Confidence. | | +++`1` | `object` | | Dry skin information. | | ++++`value` | `integer` | `0`, `1` | Dry skin. ``0`: No.` ``1`: Yes.` | | ++++`confidence` | `float` | | Confidence. | | +++`2` | `object` | | Neutral skin information. | | ++++`value` | `integer` | `0`, `1` | Neutral skin. ``0`: No.` ``1`: Yes.` | | ++++`confidence` | `float` | | Confidence. | | +++`3` | `object` | | Combination skin information. | | ++++`value` | `integer` | `0`, `1` | Combination skin. ``0`: No.` ``1`: Yes.` | | ++++`confidence` | `float` | | Confidence. | | +`oily_intensity` | `object` | | Oil output level detection. | | ++`t_zone` | `object` | | T-zone. | | +++`area` | `object` | \[0, 1] | Area share. | | +++`intensity` | `integer` | `0`, `1`, `2` | Severity of oiling. ``0`: No shine or slight shine.` ``1`: Medium shine phenomenon.` \`\`2`: Severe oiling.` | | ++`left_cheek` | `object` | | Left cheek. | | +++`area` | `object` | \[0, 1] | Area share. | | +++`intensity` | `integer` | `0`, `1`, `2` | Severity of oiling. ``0`: No shine or slight shine.` ``1`: Medium shine phenomenon.` \`\`2`: Severe oiling.` | | ++`right_cheek` | `object` | | Right cheek. | | +++`area` | `object` | \[0, 1] | Area share. | | +++`intensity` | `integer` | `0`, `1`, `2` | Severity of oiling. ``0`: No shine or slight shine.` ``1`: Medium shine phenomenon.` \`\`2`: Severe oiling.` | | ++`chin_area` | `object` | | Chin area. | | +++`area` | `object` | \[0, 1] | Area share. | | +++`intensity` | `integer` | `0`, `1`, `2` | Severity of oiling. ``0`: No shine or slight shine.` ``1`: Medium shine phenomenon.` \`\`2`: Severe oiling.` | | +`water` | `object` | | The percentage of dehydrated skin on the forehead, cheeks and chin, the percentage of overall facial dehydrated area and the severity of dehydration. | | ++`water_severity` | `float` | \[0, 100] | Severity of water shortage . | | ++`water_area` | `float` | | Percentage of water deficit area . | | ++`water_forehead` | `object` | | Percentage of forehead deficiency area. | | +++`area` | `float` | \[0, 1] | Area share. | | ++`water_rightcheek` | `object` | | Percentage of dehydrated area on the right cheek. | | +++`area` | `float` | \[0, 1] | Area share. | | ++`water_leftcheek` | `object` | | Percentage of dehydrated area on the left cheek. | | +++`area` | `float` | \[0, 1] | Area share. | | +`skin_tone` | `object` | | Skin color test results. | | ++`value` | `integer` | `0`, `1`, `2`, `3`, `4` | Skin color. ``0`: Translucency.` ``1`: Fairness.` ``2`: Natural.` ``3`: Wheat.` \`\`4`: Tanned/Bronze.` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`skintone_ita` | `object` | | Returns skin color classification information based on the ITA (Individual Typology Angle) standard. **[NOTE](#skintone_ita)** | | ++`ITA` | `float` | \[-90, 90] | Angle value. | | ++`skintone` | `integer` | `0`, `1`, `2`, `3`, `4`, `5`, `6` | Classified according to the skin tone of ITA. ``0`: Very light.` ``1`: Light.` ``2`: Intermediate.` ``3`: Tan.` ``4`: Brown.` ``5`: Dark.` \`\`6`: Abnormal color values that may be caused by weak lighting conditions or overexposure.` | | +`skin_hue_ha` | `object` | | Returns skin tone classification information based on HA (Hue Angle). **[NOTE](#skin_hue_ha)** | | ++`HA` | `float` | \[0, 90] | HA angle value. | | ++`skintone` | `integer` | `0`, `1`, `2`, `3` | Classified according to HA's skin tone hue. ``0`: Yellowish.` ``1`: Neutral.` ``2`: Reddish.` ``3`: Abnormal hue values may be caused by abnormal ambient light tones or weak light environment or overexposure.` | ##### Roughness analysis | Field | Type | Scope | Description | | :--------------------- | :-------- | :----------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | +`blackhead` | `object` | | Blackhead information. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: No blackheads, number of blackheads ∈ [0, 45].` ``1`: Mild, number of blackheads ∈ [46, 90].` ``2`: Moderate, number of blackheads ∈ [91, 150].` ``3`: Severe, number of blackheads ∈ [151 or more].` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`blackhead_count` | `integer` | | Number of blackheads on the nose area. | | +`enlarged_pore_count` | `object` | | The number of enlarged pores and the percentage of enlarged pore area. | | ++`forehead` | `object` | | Forehead. | | +++`count` | `integer` | | Number of enlarged pores. | | +++`area` | `float` | \[0, 1] | Percentage of enlarged pore area. | | ++`left_cheek_count` | `object` | | Left cheek. | | +++`count` | `integer` | | Number of enlarged pores. | | +++`area` | `float` | \[0, 1] | Percentage of enlarged pore area. | | ++`right_cheek_count` | `object` | | Right cheek. | | +++`count` | `integer` | | Number of enlarged pores. | | +++`area` | `float` | \[0, 1] | Percentage of enlarged pore area. | | ++`chin_count` | `object` | | Chin. | | +++`count` | `integer` | | Number of enlarged pores. | | +++`area` | `float` | \[0, 1] | Percentage of enlarged pore area. | | +`pores_forehead` | `object` | | The severity of enlarged forehead pores. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: No pores, number of pores ∈ [0, 100].` ``1`: Mildly, the number of pores ∈ [101, 200].` ``2`: Moderate, number of pores ∈ [201, 400].` ``3`: Severe, number of pores ∈ [401 or more].` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`pores_rightcheek` | `object` | | The severity of enlarged pores on the right cheek. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: No pores, number of pores ∈ [0, 80].` ``1`: Mildly, the number of pores ∈ [81, 180].` ``2`: Moderate, number of pores ∈ [181, 280].` ``3`: Severe, number of pores ∈ [281 or more].` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`pores_leftcheek` | `object` | | The severity of enlarged pores on the left cheek. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: No pores, number of pores ∈ [0, 80].` ``1`: Mildly, the number of pores ∈ [81, 180].` ``2`: Moderate, number of pores ∈ [181, 280].` ``3`: Severe, number of pores ∈ [281 or more].` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`pores_jaw` | `object` | | The severity of enlarged pores on the chin. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: No pores, number of pores ∈ [0, 50].` ``1`: Mildly, the number of pores ∈ [51, 100].` ``2`: Moderate, number of pores ∈ [101, 150].` ``3`: Severe, number of pores ∈ [151 or more].` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`rough` | `object` | | Output the percentage of rough skin area on forehead, cheeks and chin, the percentage of overall facial rough area and the severity of roughness. | | ++`rough_severity` | `integer` | \[0, 100] | Severity. | | ++`rough_area` | `float` | \[0, 1] | Area share. | | ++`rough_forehead` | `object` | | Forehead. | | +++`area` | `float` | \[0, 1] | Area share. | | ++`rough_rightcheek` | `object` | | Right cheek. | | +++`area` | `float` | \[0, 1] | Area share. | | ++`rough_leftcheek` | `object` | | Left cheek. | | +++`area` | `float` | \[0, 1] | Area share. | | ++`rough_jaw` | `object` | | Jaw. | | +++`area` | `float` | \[0, 1] | Area share. | ##### Pigmentation | Field | Type | Scope | Description | | :------------------------ | :-------- | :-------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | +`melanin` | `object` | | Return the skin pigmentation of the human face in the photo. | | ++`brown_area` | `float` | \[0, 1] | Percentage of full-face area of pigmented areas. | | ++`melanin_concentration` | `float` | \[0, 100] | Degree of pigmentation. | | ++`brown_forehead` | `float` | \[0, 1] | Percentage of forehead hyperpigmentation area. | | ++`brown_rightcheek` | `float` | \[0, 1] | Percentage of hyperpigmented area on the right cheek. | | ++`brown_leftcheek` | `float` | \[0, 1] | Percentage of hyperpigmented area on the left cheek. | | +`melanin_mark` | `object` | | Information on the pigmented areas of the brown area map. | | ++`polygon` | `array` | | A collection of polygon coordinates within the brown area map, each polygon representing the x and y coordinate values of the outer contour line of a hyperpigmented area. | | +++ | `array` | | | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +`mole` | `Object` | | Information for each mole area. | | ++`rectangle` | `array` | | The position of each mole frame. | | +++`width` | `float` | | Width. | | +++`height` | `float` | | Height. | | +++`left` | `float` | | The distance from the leftmost part of the picture. | | +++`top` | `float` | | The distance from the topmost edge of the image. | | ++`confidence` | `array` | | The confidence level of each mole region. | | ++`polygon` | `array` | | Within each mole box, the more detailed polygon contour lines of the problem area, returning the x and y coordinate values of the vertices of each polygon mole area. | | +++ | `array` | | | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +`brown_spot` | `Object` | | Information for each discolored area. | | ++`rectangle` | `array` | | The position of each color spot box. | | +++`width` | `float` | | Width. | | +++`height` | `float` | | Height. | | +++`left` | `float` | | The distance from the leftmost part of the picture. | | +++`top` | `float` | | The distance from the topmost edge of the image. | | ++`confidence` | `array` | | Confidence level for each chromatophore region. | | ++`polygon` | `array` | | A more detailed polygon contour line of the problem area within each color spot box, returning the x and y coordinate values of the vertices of each polygon acne area. | | +++ | `array` | | | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +`melasma` | `Object` | | Melasma information. | | ++`value` | `integer` | `0`, `1` | ``0`: No melasma.` ``1`: There is melasma.` | | ++`confidence` | `float` | | Confidence. | | +`freckle` | `Object` | | Freckle information. | | ++`value` | `integer` | `0`, `1` | ``0`: No freckles.` ``1`: There are freckles.` | | ++`confidence` | `float` | | Confidence. | ##### Acne Analysis | Field | Type | Scope | Description | | :------------------ | :------- | :---- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | +`acne` | `Object` | | Acne Test - Light Papule Test (Light papules are a category of less symptomatic acne phenomena that present as rice- to soy-sized bumps accompanied by inflammatory redness and symptoms such as pain and itching) returns a rectangular box for each papule area and a more detailed polygon box. | | ++`rectangle` | `array` | | The location of each papule box. | | +++`width` | `float` | | Width. | | +++`height` | `float` | | Height. | | +++`left` | `float` | | The distance from the leftmost part of the picture. | | +++`top` | `float` | | The distance from the topmost edge of the image. | | ++`confidence` | `array` | | Confidence level of each papule box. | | ++`polygon` | `array` | | Within each papule box, the more detailed polygonal contour lines of the problem area return the x and y coordinate values of the vertices of each polygonal papule area. | | +++ | `array` | | | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +`acne_pustule` | `Object` | | Acne Detection - Pustular Papule Detection (Pustular papules are acne phenomena with milky, yellowish pus visible to the naked eye and appear as mound-like bumps with milky, yellowish pus) returns rectangular boxes and more detailed polygonal boxes for each area of pustular acne. | | ++`rectangle` | `array` | | The location of each pustule box. | | +++`width` | `float` | | Width. | | +++`height` | `float` | | Height. | | +++`left` | `float` | | The distance from the leftmost part of the picture. | | +++`top` | `float` | | The distance from the topmost edge of the image. | | ++`confidence` | `array` | | Confidence level of each pustule box. | | ++`polygon` | `array` | | The more detailed polygonal contour lines of the problem area within each pustule box, returning the x and y coordinate values of the vertices of each polygonal pustule area. | | +++ | `array` | | | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +`acne_nodule` | `Object` | | Acne Detection - Acne Nodule Detection (Acne nodules are a more severe type of acne phenomenon that appears as small, pea-sized bumps that are hard to the touch caused by the accumulation of subcutaneous lipids and pus) returns a rectangular box and a more detailed polygon box for each acne nodule area. | | ++`rectangle` | `array` | | The position of each nodal box. | | +++`width` | `float` | | Width. | | +++`height` | `float` | | Height. | | +++`left` | `float` | | The distance from the leftmost part of the picture. | | +++`top` | `float` | | The distance from the topmost edge of the image. | | ++`confidence` | `array` | | The confidence level of each nodal box. | | ++`polygon` | `array` | | Within each nodal box, the more detailed polygon contour lines of the problem region, returning the x and y coordinate values of the vertices of each polygon nodal region. | | +++ | `array` | | | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +`acne_mark` | `Object` | | Red Acne Mark Detection - Detects red-purple acne marks that appear after facial acne has healed returning rectangular boxes and more detailed polygonal boxes for each acne mark area. | | ++`rectangle` | `array` | | The location of each pockmark box. | | +++`width` | `float` | | Width. | | +++`height` | `float` | | Height. | | +++`left` | `float` | | The distance from the leftmost part of the picture. | | +++`top` | `float` | | The distance from the topmost edge of the image. | | ++`confidence` | `array` | | Confidence level of each pockmark box. | | ++`polygon` | `array` | | A more detailed polygon contour line of the problem area within each pockmark box, returning the x and y coordinate values of the vertices of each polygon pockmark area. | | +++ | `array` | | | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +`closed_comedones` | `Object` | | Rectangular boxes and more detailed polygonal boxes for each occlusive acne area. | | ++`rectangle` | `array` | | The location of each closed-cell acne box. | | +++`width` | `float` | | Width. | | +++`height` | `float` | | Height. | | +++`left` | `float` | | The distance from the leftmost part of the picture. | | +++`top` | `float` | | The distance from the topmost edge of the image. | | ++`confidence` | `array` | | Confidence level of each closed-jaw acne box. | | ++`polygon` | `array` | | A more detailed polygon contour line of the problem area within each closed acne box, returning the x and y coordinate values of the vertices of each polygon closed acne area. | | +++ | `array` | | | | ++++`x` | `float` | | | | ++++`y` | `float` | | | ##### Sensitivity Analysis | Field | Type | Scope | Description | | :------------------------ | :------- | :-------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | +`sensitivity` | `object` | | `This return value must be used with red area maps, and you need to set the return red area map (`red\_area`) in the input parameter `return\_maps` first.` | | ++`sensitivity_area` | `float` | \[0, 1] | The percentage of sensitive skin area on the whole face. Sensitive redness areas include cheeks, T-zone, etc. | | ++`sensitivity_intensity` | `float` | \[0, 100] | The intensity of redness in sensitive areas. | | +`sensitivity_mark` | `object` | | The location of the polygon box in the sensitive muscle area of the red zone diagram. | | ++`polygon` | `array` | | The set of polygon coordinates within the red zone map, each polygon represents the x and y coordinate values of the outer contour line of a sensitive muscle region. | | +++ | `array` | | | | ++++`x` | `float` | | | | ++++`y` | `float` | | | ##### Senescence analysis | Field | Type | Scope | Description | | :-------------------------------- | :-------- | :----------------- | :-------------------------------------------------------------------------------------------------------- | | +`skin_age` | `object` | | Skin age test results. | | ++`value` | `integer` | \[0, 100] | Skin age. | | +`forehead_wrinkle` | `object` | | Results of the head lift test. | | ++`value` | `integer` | `0`, `1` | ``0`: No head lines.` ``1`: There are head lines.` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`crows_feet` | `object` | | Crow's feet test results. | | ++`value` | `integer` | `0`, `1` | ``0`: No crow's feet.` ``1`: With crow's feet.` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`eye_finelines` | `object` | | Results of the eye fine lines test. | | ++`value` | `integer` | `0`, `1` | ``0`: No fine lines under the eyes.` ``1`: With fine lines under the eyes.` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`glabella_wrinkle` | `object` | | Results of the interbrow line test. | | ++`value` | `integer` | `0`, `1` | ``0`: No interbrow lines.` ``1`: With interbrow lines.` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`nasolabial_fold` | `object` | | Results of the forehead line test. | | ++`value` | `integer` | `0`, `1` | ``0`: No lines.` ``1`: There are lines.` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`nasolabial_fold_severity` | `object` | | Severity of the forehead lines. Returned when \[`nasolabial_fold`=1]. | | ++`value` | `integer` | `0`, `1`, `2` | ``0`: Mild.` ``1`: Moderate.` \`\`2`: Severe.` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`left_mouth_wrinkle_severity` | `object` | | The presence & severity of marionette lines on the left side of the face. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`right_mouth_wrinkle_severity` | `object` | | The presence & severity of marionette lines on the right side of the face. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`forehead_wrinkle_severity` | `object` | | The severity of the headline. Returned when \[`forehead_wrinkle`=1]. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`left_crows_feet_severity` | `object` | | The presence & severity of crow's feet on the left side of the face. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`right_crows_feet_severity` | `object` | | The presence & severity of crow's feet on the right side of the face. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`left_eye_finelines_severity` | `object` | | The presence & severity of fine lines under the eyes on the left side of the face. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`right_eye_finelines_severity` | `object` | | The presence & severity of fine lines under the eyes on the right side of the face. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`glabella_wrinkle_severity` | `object` | | The presence & severity of fine lines between the eyebrows. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`left_nasolabial_fold_severity` | `object` | | The presence or absence & severity of the left facial lines. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`right_nasolabial_fold_severity` | `object` | | The presence or absence & severity of right facial lines. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`left_cheek_wrinkle_severity` | `object` | | The presence & severity of left cheek lines. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`right_cheek_wrinkle_severity` | `object` | | The presence & severity of right cheek lines lines. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`fine_line` | `object` | | Number of fine lines detected. | | ++`forehead_count` | `integer` | | Forehead. | | ++`left_undereye_count` | `integer` | | Fine lines in the left eye. | | ++`right_undereye_count` | `integer` | | Fine lines in the right eye. | | ++`left_cheek_count` | `integer` | | Left cheek. | | ++`right_cheek_count` | `integer` | | Right cheek. | | ++`left_crowsfeet_count` | `integer` | | Crow's feet in the left eye. | | ++`right_crowsfeet_count` | `integer` | | Crow's feet in the right eye. | | ++`glabella_count` | `integer` | | Interbrow lines. | | +`wrinkle_count` | `object` | | Number of deep grain detection. | | ++`forehead_count` | `integer` | | Forehead. | | ++`left_undereye_count` | `integer` | | Fine lines in the left eye. | | ++`right_undereye_count` | `integer` | | Fine lines in the right eye. | | ++`left_cheek_count` | `integer` | | Left cheek. | | ++`right_cheek_count` | `integer` | | Right cheek. | | ++`left_crowsfeet_count` | `integer` | | Crow's feet in the left eye. | | ++`right_crowsfeet_count` | `integer` | | Crow's feet in the right eye. | | ++`glabella_count` | `integer` | | Interbrow lines. | | ++`left_mouth_count` | `integer` | | Puppet pattern at the left corner of the mouth. | | ++`right_mouth_count` | `integer` | | Puppet pattern at the right corner of the mouth. | | ++`left_nasolabial_count` | `integer` | | The left legal line. | | ++`right_nasolabial_count` | `integer` | | The right wrinkle. | | +`forehead_wrinkle_info` | `object` | | Number of deep grain detection. | | ++`wrinkle_score` | `integer` | \[0, 100] | Wrinkle score. | | ++`wrinkle_severity_level` | `integer` | | Wrinkle severity level. | | ++`wrinkle_norm_length` | `float` | | Wrinkle-normalized length. | | ++`wrinkle_norm_depth` | `float` | | Wrinkle normalized depth. | | ++`wrinkle_pixel_density` | `float` | | Wrinkle pixel density. | | ++`wrinkle_area_ratio` | `float` | \[0, 1] | Percentage of wrinkled area. | | ++`wrinkle_deep_ratio` | `float` | \[0, 1] | Percentage of deep grain length. | | ++`wrinkle_deep_num` | `integer` | | Number of deep lines. | | ++`wrinkle_shallow_num` | `integer` | | Number of shallow lines. | | ++`forehead_wrinkle_list` | `array` | | Sub-wrinkle information. | | +++`wrinkle_coord` | `array` | | Subwrinkle pixel coordinates. | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +++`wrinkle_coord` | `float` | | Sub-wrinkle depth. | | +++`wrinkle_length` | `float` | | Subwrinkle length. | | +`left_eye_wrinkle_info` | `object` | | Left eye wrinkle information. | | ++`wrinkle_score` | `integer` | \[0, 100] | Wrinkle score. | | ++`wrinkle_severity_level` | `integer` | | Wrinkle severity level. | | ++`wrinkle_norm_length` | `float` | | Wrinkle-normalized length. | | ++`wrinkle_norm_depth` | `float` | | Wrinkle normalized depth. | | ++`wrinkle_pixel_density` | `float` | | Wrinkle pixel density. | | ++`wrinkle_area_ratio` | `float` | \[0, 1] | Percentage of wrinkled area. | | ++`wrinkle_deep_ratio` | `float` | \[0, 1] | Percentage of deep grain length. | | ++`wrinkle_deep_num` | `integer` | | Number of deep lines. | | ++`wrinkle_shallow_num` | `integer` | | Number of shallow lines. | | ++`forehead_wrinkle_list` | `array` | | Sub-wrinkle information. | | +++`wrinkle_coord` | `array` | | Subwrinkle pixel coordinates. | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +++`wrinkle_coord` | `float` | | Sub-wrinkle depth. | | +++`wrinkle_length` | `float` | | Subwrinkle length. | | +`right_eye_wrinkle_info` | `object` | | Right eye wrinkle information. | | ++`wrinkle_score` | `integer` | \[0, 100] | Wrinkle score. | | ++`wrinkle_severity_level` | `integer` | | Wrinkle severity level. | | ++`wrinkle_norm_length` | `float` | | Wrinkle-normalized length. | | ++`wrinkle_norm_depth` | `float` | | Wrinkle normalized depth. | | ++`wrinkle_pixel_density` | `float` | | Wrinkle pixel density. | | ++`wrinkle_area_ratio` | `float` | \[0, 1] | Percentage of wrinkled area. | | ++`wrinkle_deep_ratio` | `float` | \[0, 1] | Percentage of deep grain length. | | ++`wrinkle_deep_num` | `integer` | | Number of deep lines. | | ++`wrinkle_shallow_num` | `integer` | | Number of shallow lines. | | ++`forehead_wrinkle_list` | `array` | | Sub-wrinkle information. | | +++`wrinkle_coord` | `array` | | Subwrinkle pixel coordinates. | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +++`wrinkle_coord` | `float` | | Sub-wrinkle depth. | | +++`wrinkle_length` | `float` | | Subwrinkle length. | | +`left_crowsfeet_wrinkle_info` | `object` | | Left fishtail information. | | ++`wrinkle_score` | `integer` | \[0, 100] | Wrinkle score. | | ++`wrinkle_severity_level` | `integer` | | Wrinkle severity level. | | ++`wrinkle_norm_length` | `float` | | Wrinkle-normalized length. | | ++`wrinkle_norm_depth` | `float` | | Wrinkle normalized depth. | | ++`wrinkle_pixel_density` | `float` | | Wrinkle pixel density. | | ++`wrinkle_area_ratio` | `float` | \[0, 1] | Percentage of wrinkled area. | | ++`wrinkle_deep_ratio` | `float` | \[0, 1] | Percentage of deep grain length. | | ++`wrinkle_deep_num` | `integer` | | Number of deep lines. | | ++`wrinkle_shallow_num` | `integer` | | Number of shallow lines. | | ++`forehead_wrinkle_list` | `array` | | Sub-wrinkle information. | | +++`wrinkle_coord` | `array` | | Subwrinkle pixel coordinates. | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +++`wrinkle_coord` | `float` | | Sub-wrinkle depth. | | +++`wrinkle_length` | `float` | | Subwrinkle length. | | +`right_crowsfeet_wrinkle_info` | `object` | | Right fishtail information. | | ++`wrinkle_score` | `integer` | \[0, 100] | Wrinkle score. | | ++`wrinkle_severity_level` | `integer` | | Wrinkle severity level. | | ++`wrinkle_norm_length` | `float` | | Wrinkle-normalized length. | | ++`wrinkle_norm_depth` | `float` | | Wrinkle normalized depth. | | ++`wrinkle_pixel_density` | `float` | | Wrinkle pixel density. | | ++`wrinkle_area_ratio` | `float` | \[0, 1] | Percentage of wrinkled area. | | ++`wrinkle_deep_ratio` | `float` | \[0, 1] | Percentage of deep grain length. | | ++`wrinkle_deep_num` | `integer` | | Number of deep lines. | | ++`wrinkle_shallow_num` | `integer` | | Number of shallow lines. | | ++`forehead_wrinkle_list` | `array` | | Sub-wrinkle information. | | +++`wrinkle_coord` | `array` | | Subwrinkle pixel coordinates. | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +++`wrinkle_coord` | `float` | | Sub-wrinkle depth. | | +++`wrinkle_length` | `float` | | Subwrinkle length. | | +`glabella_wrinkle_info` | `object` | | Information on the lines between the eyebrows. | | ++`wrinkle_score` | `integer` | \[0, 100] | Wrinkle score. | | ++`wrinkle_severity_level` | `integer` | | Wrinkle severity level. | | ++`wrinkle_norm_length` | `float` | | Wrinkle-normalized length. | | ++`wrinkle_norm_depth` | `float` | | Wrinkle normalized depth. | | ++`wrinkle_pixel_density` | `float` | | Wrinkle pixel density. | | ++`wrinkle_area_ratio` | `float` | \[0, 1] | Percentage of wrinkled area. | | ++`wrinkle_deep_ratio` | `float` | \[0, 1] | Percentage of deep grain length. | | ++`wrinkle_deep_num` | `integer` | | Number of deep lines. | | ++`wrinkle_shallow_num` | `integer` | | Number of shallow lines. | | ++`forehead_wrinkle_list` | `array` | | Sub-wrinkle information. | | +++`wrinkle_coord` | `array` | | Subwrinkle pixel coordinates. | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +++`wrinkle_coord` | `float` | | Sub-wrinkle depth. | | +++`wrinkle_length` | `float` | | Subwrinkle length. | | +`left_mouth_wrinkle_info` | `object` | | Information on the left corner of the mouth tattoo. | | ++`wrinkle_score` | `integer` | \[0, 100] | Wrinkle score. | | ++`wrinkle_severity_level` | `integer` | | Wrinkle severity level. | | ++`wrinkle_norm_length` | `float` | | Wrinkle-normalized length. | | ++`wrinkle_norm_depth` | `float` | | Wrinkle normalized depth. | | ++`wrinkle_pixel_density` | `float` | | Wrinkle pixel density. | | ++`wrinkle_area_ratio` | `float` | \[0, 1] | Percentage of wrinkled area. | | ++`wrinkle_deep_ratio` | `float` | \[0, 1] | Percentage of deep grain length. | | ++`wrinkle_deep_num` | `integer` | | Number of deep lines. | | ++`wrinkle_shallow_num` | `integer` | | Number of shallow lines. | | ++`forehead_wrinkle_list` | `array` | | Sub-wrinkle information. | | +++`wrinkle_coord` | `array` | | Subwrinkle pixel coordinates. | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +++`wrinkle_coord` | `float` | | Sub-wrinkle depth. | | +++`wrinkle_length` | `float` | | Subwrinkle length. | | +`right_mouth_wrinkle_info` | `object` | | Information on the right corner of the mouth tattoo. | | ++`wrinkle_score` | `integer` | \[0, 100] | Wrinkle score. | | ++`wrinkle_severity_level` | `integer` | | Wrinkle severity level. | | ++`wrinkle_norm_length` | `float` | | Wrinkle-normalized length. | | ++`wrinkle_norm_depth` | `float` | | Wrinkle normalized depth. | | ++`wrinkle_pixel_density` | `float` | | Wrinkle pixel density. | | ++`wrinkle_area_ratio` | `float` | \[0, 1] | Percentage of wrinkled area. | | ++`wrinkle_deep_ratio` | `float` | \[0, 1] | Percentage of deep grain length. | | ++`wrinkle_deep_num` | `integer` | | Number of deep lines. | | ++`wrinkle_shallow_num` | `integer` | | Number of shallow lines. | | ++`forehead_wrinkle_list` | `array` | | Sub-wrinkle information. | | +++`wrinkle_coord` | `array` | | Subwrinkle pixel coordinates. | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +++`wrinkle_coord` | `float` | | Sub-wrinkle depth. | | +++`wrinkle_length` | `float` | | Subwrinkle length. | | +`left_nasolabial_wrinkle_info` | `object` | | Information about the left legal line. | | ++`wrinkle_score` | `integer` | \[0, 100] | Wrinkle score. | | ++`wrinkle_severity_level` | `integer` | | Wrinkle severity level. | | ++`wrinkle_norm_length` | `float` | | Wrinkle-normalized length. | | ++`wrinkle_norm_depth` | `float` | | Wrinkle normalized depth. | | ++`wrinkle_pixel_density` | `float` | | Wrinkle pixel density. | | ++`wrinkle_area_ratio` | `float` | \[0, 1] | Percentage of wrinkled area. | | ++`wrinkle_deep_ratio` | `float` | \[0, 1] | Percentage of deep grain length. | | ++`wrinkle_deep_num` | `integer` | | Number of deep lines. | | ++`wrinkle_shallow_num` | `integer` | | Number of shallow lines. | | ++`forehead_wrinkle_list` | `array` | | Sub-wrinkle information. | | +++`wrinkle_coord` | `array` | | Subwrinkle pixel coordinates. | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +++`wrinkle_coord` | `float` | | Sub-wrinkle depth. | | +++`wrinkle_length` | `float` | | Subwrinkle length. | | +`right_nasolabial_wrinkle_info` | `object` | | Information on the right-hand wrinkle. | | ++`wrinkle_score` | `integer` | \[0, 100] | Wrinkle score. | | ++`wrinkle_severity_level` | `integer` | | Wrinkle severity level. | | ++`wrinkle_norm_length` | `float` | | Wrinkle-normalized length. | | ++`wrinkle_norm_depth` | `float` | | Wrinkle normalized depth. | | ++`wrinkle_pixel_density` | `float` | | Wrinkle pixel density. | | ++`wrinkle_area_ratio` | `float` | \[0, 1] | Percentage of wrinkled area. | | ++`wrinkle_deep_ratio` | `float` | \[0, 1] | Percentage of deep grain length. | | ++`wrinkle_deep_num` | `integer` | | Number of deep lines. | | ++`wrinkle_shallow_num` | `integer` | | Number of shallow lines. | | ++`forehead_wrinkle_list` | `array` | | Sub-wrinkle information. | | +++`wrinkle_coord` | `array` | | Subwrinkle pixel coordinates. | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +++`wrinkle_coord` | `float` | | Sub-wrinkle depth. | | +++`wrinkle_length` | `float` | | Subwrinkle length. | | +`left_cheek_wrinkle_info` | `object` | | Left face wrinkle information. | | ++`wrinkle_score` | `integer` | \[0, 100] | Wrinkle score. | | ++`wrinkle_severity_level` | `integer` | | Wrinkle severity level. | | ++`wrinkle_norm_length` | `float` | | Wrinkle-normalized length. | | ++`wrinkle_norm_depth` | `float` | | Wrinkle normalized depth. | | ++`wrinkle_pixel_density` | `float` | | Wrinkle pixel density. | | ++`wrinkle_area_ratio` | `float` | \[0, 1] | Percentage of wrinkled area. | | ++`wrinkle_deep_ratio` | `float` | \[0, 1] | Percentage of deep grain length. | | ++`wrinkle_deep_num` | `integer` | | Number of deep lines. | | ++`wrinkle_shallow_num` | `integer` | | Number of shallow lines. | | ++`forehead_wrinkle_list` | `array` | | Sub-wrinkle information. | | +++`wrinkle_coord` | `array` | | Subwrinkle pixel coordinates. | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +++`wrinkle_coord` | `float` | | Sub-wrinkle depth. | | +++`wrinkle_length` | `float` | | Subwrinkle length. | | +`right_cheek_wrinkle_info` | `object` | | Right face wrinkle information. | | ++`wrinkle_score` | `integer` | \[0, 100] | Wrinkle score. | | ++`wrinkle_severity_level` | `integer` | | Wrinkle severity level. | | ++`wrinkle_norm_length` | `float` | | Wrinkle-normalized length. | | ++`wrinkle_norm_depth` | `float` | | Wrinkle normalized depth. | | ++`wrinkle_pixel_density` | `float` | | Wrinkle pixel density. | | ++`wrinkle_area_ratio` | `float` | \[0, 1] | Percentage of wrinkled area. | | ++`wrinkle_deep_ratio` | `float` | \[0, 1] | Percentage of deep grain length. | | ++`wrinkle_deep_num` | `integer` | | Number of deep lines. | | ++`wrinkle_shallow_num` | `integer` | | Number of shallow lines. | | ++`forehead_wrinkle_list` | `array` | | Sub-wrinkle information. | | +++`wrinkle_coord` | `array` | | Subwrinkle pixel coordinates. | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +++`wrinkle_coord` | `float` | | Sub-wrinkle depth. | | +++`wrinkle_length` | `float` | | Subwrinkle length. | | +`cheekbone_mark` | `object` | | Information about the coordinates of the left apple muscle and the coordinates of the right apple muscle. | | ++`left_cheekbone_mark` | `array` | | Left apple muscle coordinates. | | +++`x` | `float` | | | | +++`y` | `float` | | | | ++`left_cheekbone_mark` | `array` | | Right apple muscle coordinates. | | +++`x` | `float` | | | | +++`y` | `float` | | | ##### Eye Analysis | Field | Type | Scope | Description | | :----------------------------------- | :-------- | :----------------- | :------------------------------------------------------------------------------------------------------------------------------------ | | +`eye_pouch` | `object` | | Eye bag test results. | | ++`value` | `integer` | `0`, `1` | ``0`: No bags under the eyes.` ``1`: With bags under the eyes.` | | ++`confidence` | `float` | | Confidence. | | +`eye_pouch_severity` | `object` | | Severity of eye bags. Return when \[`eye_pouch`.`value`=1]. | | ++`value` | `integer` | `0`, `1`, `2` | ``0`: Mild.` ``1`: Moderate.` \`\`2`: Severe.` | | ++`confidence` | `float` | | Confidence. | | +`left_eye_pouch_rectangle` | `array` | | The position of the left eye bag frame | | ++`width` | `float` | | Width. | | ++`height` | `float` | | Height. | | ++`left` | `float` | | The distance from the leftmost part of the picture. | | ++`top` | `float` | | The distance from the topmost edge of the image. | | +`right_eye_pouch_rectangle` | `array` | | The position of the right eye bag frame | | ++`width` | `float` | | Width. | | ++`height` | `float` | | Height. | | ++`left` | `float` | | The distance from the leftmost part of the picture. | | ++`top` | `float` | | The distance from the topmost edge of the image. | | +`dark_circle` | `object` | | Dark eye circle type detection. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: No dark circles under the eyes.` ``1`: Pigmented dark circles.` ``2`: Vascular dark circles.` ``3`: Dark circles with shadows.` | | ++`confidence` | `float` | | Confidence. | | +`dark_circle_severity` | `object` | | Severity of dark circles under the eyes. Return when \[`dark_circle`.`value` `<>` 1]. | | ++`value` | `integer` | `0`, `1`, `2` | ``0`: Mild.` ``1`: Moderate.` \`\`2`: Severe.` | | ++`confidence` | `float` | | Confidence. | | +`left_dark_circle_rete` | `object` | | Severity of vascular type dark circles under the left eye. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`right_dark_circle_rete` | `object` | | Severity of vascular type dark circles under the right eye. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`left_dark_circle_pigment` | `object` | | Severity of pigmented dark circles under the left eye. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`right_dark_circle_pigment` | `object` | | Severity of pigmented dark circles under the right eye. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`left_dark_circle_structural` | `object` | | Severity of structural dark circles under the left eye.. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`right_dark_circle_structural` | `object` | | Severity of structural dark circles under the right eye. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`dark_circle_mark` | `object` | | The position of the rectangular box coordinates of the black eye. | | ++`left_eye_rect` | `object` | | Left eye. | | +++`width` | `float` | | Width. | | +++`height` | `float` | | Height. | | +++`left` | `float` | | The distance from the leftmost part of the picture. | | +++`top` | `float` | | The distance from the topmost edge of the image. | | ++`right_eye_rect` | `object` | | Right eye. | | +++`width` | `float` | | Width. | | +++`height` | `float` | | Height. | | +++`left` | `float` | | The distance from the leftmost part of the picture. | | +++`top` | `float` | | The distance from the topmost edge of the image. | | +`left_eye_pouch_rect` | `object` | | Left eye bag rectangular box position. | | ++`width` | `float` | | Width. | | ++`height` | `float` | | Height. | | ++`left` | `float` | | The distance from the leftmost part of the picture. | | ++`top` | `float` | | The distance from the topmost edge of the image. | | +`right_eye_pouch_rect` | `object` | | Right eye bag rectangular box position. | | ++`width` | `float` | | Width. | | ++`height` | `float` | | Height. | | ++`left` | `float` | | The distance from the leftmost part of the picture. | | ++`top` | `float` | | The distance from the topmost edge of the image. | | +`wrinkle_mark` | `object` | | Wrinkle contour line coordinates. | | ++`left_eye_wrinkle_outline` | `array` | | Wrinkles in the left eye. | | +++`x` | `float` | | | | +++`y` | `float` | | | | ++`right_eye_wrinkle_outline` | `array` | | Wrinkles in the Right eye. | | +++`x` | `float` | | | | +++`y` | `float` | | | | ++`left_cheek_wrinkle_outline` | `array` | | Wrinkles on the left side of the face. | | +++`x` | `float` | | | | +++`y` | `float` | | | | ++`right_cheek_wrinkle_outline` | `array` | | Wrinkles on the right side of the face. | | +++`x` | `float` | | | | +++`y` | `float` | | | | ++`glabella_wrinkle_outline` | `array` | | Interbrow lines. | | +++`x` | `float` | | | | +++`y` | `float` | | | | ++`left_nasolabial_wrinkle_outline` | `array` | | The left legal line. | | +++`x` | `float` | | | | +++`y` | `float` | | | | ++`right_nasolabial_wrinkle_outline` | `array` | | The right legal line. | | +++`x` | `float` | | | | +++`y` | `float` | | | | ++`left_crowsfeet_wrinkle_outline` | `array` | | Left fishtail line.. | | +++`x` | `float` | | | | +++`y` | `float` | | | | ++`right_crowsfeet_wrinkle_outline` | `array` | | Right fishtail line.. | | +++`x` | `float` | | | | +++`y` | `float` | | | | ++`left_mouth_wrinkle_outline` | `array` | | Left corner of the mouth tattoo. | | +++`x` | `float` | | | | +++`y` | `float` | | | | ++`right_mouth_wrinkle_outline` | `array` | | Right corner of the mouth tattoo. | | +++`x` | `float` | | | | +++`y` | `float` | | | | ++`head_wrinkle_outline` | `array` | | Forehead wrinkles. | | +++`x` | `float` | | | | +++`y` | `float` | | | | +`dark_circle_outline` | `object` | | Dark eye contour coordinates. | | ++`left_dark_circle_outline` | `array` | | Left eye. | | +++`x` | `float` | | | | +++`y` | `float` | | | | ++`right_dark_circle_outline` | `array` | | Right eye. | | +++`x` | `float` | | | | +++`y` | `float` | | | ##### Overall Score | Field | Type | Scope | Description | | :----------------------- | :------- | :-------- | :--------------------------- | | +`score_info` | `object` | | Rating. | | ++`dark_circle_score` | `float` | \[0, 100] | Dark circles under the eyes. | | ++`skin_type_score` | `float` | \[0, 100] | Skin quality. | | ++`wrinkle_score` | `float` | \[0, 100] | Wrinkles. | | ++`oily_intensity_score` | `float` | \[0, 100] | Oily intensity. | | ++`pores_score` | `float` | \[0, 100] | Pores. | | ++`blackhead_score` | `float` | \[0, 100] | Blackhead. | | ++`acne_score` | `float` | \[0, 100] | Acne. | | ++`sensitivity_score` | `float` | \[0, 100] | Red Zone. | | ++`melanin_score` | `float` | \[0, 100] | Melanin. | | ++`water_score` | `float` | \[0, 100] | Water. | | ++`rough_score` | `float` | \[0, 100] | Brown Zone. | ##### Customization | Field | Type | Scope | Description | | :------------------------------ | :------- | :---- | :----------------------------------------------------------------------------------------- | | +`enhanced_bw_info` | `object` | | Black and white enhanced map coordinates location. [Conversion formula](#enhanced_bw_info) | | ++`enhanced_bw_rect` | `object` | | Black and white enhanced graph coordinate frame. | | +++`width` | `float` | | Width. | | +++`height` | `float` | | Height. | | +++`left` | `float` | | The distance from the leftmost part of the picture. | | +++`top` | `float` | | The distance from the topmost edge of the image. | | ++`ratio` | `float` | | Crop ratio. | | +`face_maps` | `object` | | `Returns information based on the `return\_maps` field input.` | | ++`red_area` | `base64` | | [More Details](#analysis-1) | | ++`brown_area` | `base64` | | [More Details](#analysis-1) | | ++`texture_enhanced_pores` | `base64` | | [More Details](#analysis-1) | | ++`texture_enhanced_blackheads` | `base64` | | [More Details](#analysis-1) | | ++`texture_enhanced_oily_area` | `base64` | | [More Details](#analysis-1) | | ++`texture_enhanced_lines` | `base64` | | [More Details](#analysis-1) | | ++`water_area` | `base64` | | [More Details](#analysis-1) | | ++`rough_area` | `base64` | | [More Details](#analysis-1) | | ++`roi_outline_map` | `base64` | | [More Details](#analysis-1) | | ++`texture_enhanced_bw` | `base64` | | [More Details](#analysis-1) | #### `skintone_ita` ITA (Individual Typology Angle) is an international standard for skin color, which is a method to classify skin color by measuring the color attributes of skin color Lab space. The method is strongly dependent on ambient light, we recommend using flash to take HD face photos for uploading and processing, the ITA angle value measured in natural light or dark environment may not be allowed or abnormal. According to the data taken by the rear flash of the phone, the current skin color classification reference. | `skintone` | Scope | Description | | :--------- | :------------------ | :------------------------------------------------------------------------------------ | | `0` | 56 `<` ITA `<` 90 | Very light. | | `1` | 43 `<` ITA `<=` 56 | Light. | | `2` | 36 `<` ITA `<=` 43 | Intermediate. | | `3` | 20 `<` ITA `<=` 36 | Tan. | | `4` | 10 `<` ITA `<=` 20 | Brown. | | `5` | -90 `<` ITA `<=` 10 | Dark. | | `6` | Other | Abnormal color values that may be caused by weak lighting conditions or overexposure. | You can also use the returned ITA value to define your classification based on the returned ITA angle at the time of access. #### `skin_hue_ha` HA (Hue Angle) is an international standard for skin color, which is a method to classify skin color by measuring the color attributes of skin color Lab space. The method is strongly dependent on ambient light, we recommend using flash to take HD face photos for uploading and processing, the HA angle value measured in natural light or dark light environment may not be allowed or abnormal. According to the data taken by the rear flash of the phone, the current skin tone classification reference. | `skintone` | Scope | Description | | :--------- | :---------------- | :----------------------------------------------------------------------------------------------------------- | | `0` | 49 `<` HA `<=` 90 | Yellowish. | | `1` | 46 `<=` HA `<` 49 | Neutral. | | `2` | 10 `<=` HA `<` 46 | Reddish. | | `3` | Other | Abnormal hue values may be caused by abnormal ambient light tones or weak light environment or overexposure. | You can also use the returned HA value to define your classification based on the returned HA angle at the time of access. #### Coordinate conversion formula between original image and black and white enhanced image x\_enhance = (x\_img - left) \* ratio y\_enhance = (y\_img - top) \* ratio Coordinates of original image: x\_img, y\_img, coordinates of black and white enhanced image: x\_enhance, y\_enhance. ### Response Example This API has been discontinued. Please refer to the latest API documentation. # Skin Analyze Pro - API:V1.6.2 Source: https://ailabtools.mintlify.app/docs/ai-portrait/analysis/skin-analysis-pro/api-v162 Analysis of skin condition, such as skin color, skin texture, double eyelids, eye bags, dark circles, wrinkles, acne, spots, etc. \[Important Notice: API Integration Update Required] Dear Developers, Thank you for your continued support of the AILabTools API. We would like to inform you that the current API has been updated with changes to the request and response specifications. These changes involve adjustments to parameters and response fields, and may affect existing integrations that rely on the previous API behavior. To ensure your application continues to work correctly, we strongly recommend that you review and update your current API integration as soon as possible. If you have any questions or need assistance with updating your integration, please feel free to contact our support team: 📧 [support@ailabtools.com](mailto:support@ailabtools.com) Thank you for your understanding and cooperation. We appreciate your continued trust in AILabTools. Best regards, AILabTools Support Team ## Request * **URL**: `https://www.ailabapi.com/api/portrait/analysis/skin-analysis-pro` * **Method**: `POST` * **Content-Type**: `multipart/form-data` ### Image requirements * **Image format**: `JPG` `JPEG` * **Image size**: No more than 8 MB. * **Image resolution**: Larger than 200x200px, smaller than 4096x4096px. * **Minimum face pixel size**: To ensure the effect, the minimum value of the face box (square) side length in the image should preferably be higher than 400px. * **Face quality**: The higher the face quality, the more accurate the skin analysis. Factors affecting face quality include: occlusion of facial features, blurred images, improper lighting (bright, dark, backlight), excessive face angle (yaw ≤ ±30°, pitch ≤ ±40° recommended), etc. ### Headers | Field | Required | Type | Description | | :----------------- | :------- | :------- | :---------------------------------------------------- | | `ailabapi-api-key` | YES | `string` | Application API KEY. [Get API KEY](/docs/get-api-key) | ### Body | Field | Required | Type | Scope | Description | | :-------------------- | :------- | :------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `image` | YES | `file` | | Main Image. | | `left_side_image` | NO | `file` | | Side face picture.(Left) | | `right_side_image` | NO | `file` | | Side face picture.(Right) | | `return_maps` | NO | `string` | `red_area`, `brown_area`, `texture_enhanced_pores`, `texture_enhanced_blackheads`, `texture_enhanced_oily_area`, `texture_enhanced_lines`, `water_area`, `rough_area`, `roi_outline_map`, `texture_enhanced_bw` | The type of skin problem detection mapping image to be returned. If the corresponding element parameter is passed in, the interface will return an image of the original size, which you can subsequently overlay with the original image to see the results. Use commas to separate multiple types. [More Details](#return_maps) | | `return_marks` | NO | `string` | `wrinkle_mark`, `right_nasolabial_list`, `right_mouth_list`, `right_eye_wrinkle_list`, `right_crowsfeet_list`, `right_cheek_list`, `left_nasolabial_list`, `left_mouth_list`, `left_eye_wrinkle_list`, `left_crowsfeet_list`, `left_cheek_list`, `glabella_wrinkle_list`, `forehead_wrinkle_list`, `dark_circle_outline`, `sensitivity_mark`, `melanin_mark`, `dark_circle_outline`, `cheekbone_mark` | The type of skin problem detection mapping image to be returned. Use commas to separate multiple types. [More Details](#return_marks) | | `roi_outline_color` | NO | `json string` | | Customize the color. [More Details](#roi_outline_color) | | `return_side_results` | NO | `string` | `jawline_info` | The side face information that needs to be returned. Use commas to separate multiple types. [More Details](#return_side_results) | #### `return_maps` * **Request Example** `red_area,brown_area` * **Field Parsing** | Field | Description | Return image information | | :---------------------------- | :--------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `red_area` | Red zone map to show areas of redness caused by facial sensitivity and inflammation | A map of the red zone on a white background, with shades of red characterizing the degree of sensitivity. | | `brown_area` | Brown area map to show areas of facial pigmentation | A map of brown areas on a white background, with shades of brown characterizing the degree of chromatophoresis. | | `texture_enhanced_pores` | Facial pore enlargement area map | Transparent background PNG, labeled pore size area, image size is the same as the original image, can be stacked to view. | | `texture_enhanced_blackheads` | Facial blackhead area map | Transparent background PNG, labeled black head area, image size is the same as the original image, can be stacked to view. | | `texture_enhanced_oily_area` | Facial oil shine area map | Transparent background PNG, labeled facial shine area, image size is the same as the original image, can be stacked to view. | | `texture_enhanced_lines` | Facial texture map, mark the more obvious deep lines and light lines on the face | Transparent background PNG, labeled facial wrinkles, image size is the same as the original image, can be stacked to view. | | `water_area` | Facial moisture map, showing facial dehydration areas, the darker the blue color means the more dehydrated the skin is | PNG on white background, labeled facial dehydration area, same image size as the original. | | `rough_area` | Facial roughness map showing the rough areas of the face | Transparent background PNG, labeled facial rough areas, image size is the same as the original image, can be stacked to view. | | `roi_outline_map` | Facial blemishes and acne coordinates mapping | Transparent background PNG, labeled facial spots and acne areas, image size is the same as the original image, can be overlaid with the original image for viewing. | | `texture_enhanced_bw` | Facial blackheads & enlarged pores black & white enhancement chart | JPG with crop, interface with return coordinates and cropped scale that can correspond to the pixel coordinates in the original image. | #### `return_marks` * **Request Example** `wrinkle_mark,right_nasolabial_list` * **Field Parsing** | Field | Description | | :----------------------- | :--------------------------------------------------------------------------------------------------------- | | `wrinkle_mark` | Facial forehead, nose, crow's feet, cheeks, and contour coordinates of the area between the eyebrows | | `right_nasolabial_list` | Coordinates, depth, and length of the right wrinkle | | `right_mouth_list` | Coordinates, depth, and length of the wrinkles in the right corner of the mouth | | `right_eye_wrinkle_list` | Coordinates, depth, and length of subwrinkles in the right eye area | | `right_crowsfeet_list` | Coordinates, depth and length of crows feet wrinkles on the right eye | | `right_cheek_list` | Right cheek wrinkle pattern, depth and length | | `left_nasolabial_list` | Coordinates, depth, and length of the left legal sub-wrinkle | | `left_mouth_list` | Coordinates, depth and length of wrinkles in the left corner of the mouth | | `left_eye_wrinkle_list` | Coordinates, depth, and length of the left eye subwrinkle | | `left_crowsfeet_list` | Coordinates, depth, and length of crow's feet wrinkles on the left eye | | `left_cheek_list` | Left cheek wrinkle pattern, depth and length | | `glabella_wrinkle_list` | Coordinates, depth, and length of sub-frown lines between eyebrows | | `forehead_wrinkle_list` | Forehead wrinkle coordinates, depth and length | | `dark_circle_outline` | Left and right eye dark circle contour line coordinates | | `sensitivity_mark` | Red zone coordinates, which provide coordinates of red areas caused by facial sensitivity and inflammation | | `melanin_mark` | Area coordinates for hyperpigmented areas of the face | | `dark_circle_outline` | Left and right eye dark circle contour line coordinates | | `cheekbone_mark` | Facial apple coordinates | #### `roi_outline_color` * **Request Example** \`\` * **Field Parsing** | Field | Default | Description | | :----------------------- | :------- | :-------------------------- | | `pores_color` | `0000FF` | Pore drawing color | | `blackhead_color` | `FF0000` | Blackhead drawing color | | `wrinkle_color` | `6E9900` | Deep grain drawing color | | `fine_line_color` | `8DFE2A` | Fine line drawing color | | `closed_comedones_color` | `00FF00` | Closed port drawing color | | `acne_pustule_color` | `9F21F6` | Pustular papules color | | `acne_nodule_color` | `FF00FD` | Acne nodules drawing color | | `acne_color` | `FE0100` | Light papules drawing color | | `brown_spot_color` | `7E2A28` | Pigmentation color | Example: `CC00FF` format stands for R:CC, G:00, B:FF respectively. The input format is limited to a 6-bit hexadecimal string and is not case-sensitive. If not modified, it will draw directly using the default parameter colors. #### `return_side_results` * **Request Example** `jawline_info` * **Field Parsing** | Field | Description | | :------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `jawline_info` | The user selects the `jawline_info` element and uploads the left and right side face image parameters to return the corresponding side face results, which can return three fields in the `left_side_result` and `right_side_result` structures for the side face image quality judgment, jawline angle and jawline coordinates. | ## Response **Response Field Handling Flow** 1. **Handle `Public Response Fields`** Parse and validate the `Public Response Fields`, checking the status code or response message to ensure the request is successful and error-free. 2. **Handle `Business Response Fields`** If the `Public Response Fields` are valid and error-free, proceed with processing the business logic in the `Business Response Fields`. ### Public Response Fields Viewing Public Response Fields and Error Codes ### Business Response Fields | Field | Type | Description | | :------------------ | :------------ | :---------------------------------------------------------------- | | `left_side_result` | `json string` | Results of side face analysis. [More Details](#left_side_result) | | `right_side_result` | `json string` | Results of side face analysis. [More Details](#right_side_result) | | `face_rectangle` | `object` | Face position. [More Details](#face_rectangle) | | `result` | `object` | Results of face skin analysis. [More Details](#result) | #### `left_side_result` | Field | Type | Scope | Description | | :---------------------- | :-------- | :--------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | +`left_jawline_quality` | `integer` | `1`, `2`, `3`, `4`, `5`, `6` | Side face photo quality. When you select the jawline function during the entry, you can take the corresponding picture to call the interface and judge the side face. ``1`: The quality is excellent, and the angle of the side face shot of the human face for the uploaded photos is 20°~120°. **Return the angle and coordinate result.**` ``2`: The angle of the side face is slightly lower, and the angle of the side face of the photo is less than 20°. **Do not return angle and coordinate results.**` ``3`: The angle of the side face is slightly larger, and the angle of the side face of the photo is greater than 120°. **Do not return angle and coordinate results.**` ``4`: No face is detected. **Do not return angle and coordinate results.**` ``5`: Invalid human face. **Do not return angle and coordinate results.**` ``6`: Other situations. **Do not return angle and coordinate results.**` | | +`left_jawline_angle` | `float` | | The angle of the jawline. | | +`left_jawline_mark` | `array` | | Coordinates of jawline face key points. | #### `right_side_result` | Field | Type | Scope | Description | | :----------------------- | :-------- | :--------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | +`right_jawline_quality` | `integer` | `1`, `2`, `3`, `4`, `5`, `6` | Side face photo quality. When you select the jawline function during the entry, you can take the corresponding picture to call the interface and judge the side face. ``1`: The quality is excellent, and the angle of the side face shot of the human face for the uploaded photos is 20°~120°. **Return the angle and coordinate result.**` ``2`: The angle of the side face is slightly lower, and the angle of the side face of the photo is less than 20°. **Do not return angle and coordinate results.**` ``3`: The angle of the side face is slightly larger, and the angle of the side face of the photo is greater than 120°. **Do not return angle and coordinate results.**` ``4`: No face is detected. **Do not return angle and coordinate results.**` ``5`: Invalid human face. **Do not return angle and coordinate results.**` ``6`: Other situations. **Do not return angle and coordinate results.**` | | +`right_jawline_angle` | `float` | | The angle of the jawline. | | +`right_jawline_mark` | `array` | | Coordinates of jawline face key points. | #### `face_rectangle` | Field | Type | Description | | :-------- | :------ | :---------------------------------------------------------------------------------------- | | +`top` | `float` | The vertical coordinate of the pixel point in the upper-left corner of the rectangle box. | | +`left` | `float` | The horizontal coordinate of the pixel point in the upper-left corner of the rectangle. | | +`width` | `float` | The width of the rectangle box. | | +`height` | `float` | The height of the rectangle box. | #### `result` | Modules | | :-------------------------------------------- | | [Image quality](#image_quality) | | [Skin Type Analysis](#skin_type_analysis) | | [Roughness analysis](#roughness_analysis) | | [Pigmentation](#pigmentation) | | [Acne Analysis](#acne_analysis) | | [Sensitivity Analysis](#sensitivity_analysis) | | [Senescence analysis](#senescence_analysis) | | [Eye Analysis](#eye_analysis) | | [Overall Score](#overall_score) | | [Customization](#customization) | ##### Image quality | Field | Type | Scope | Description | | :------------------- | :------------ | :---- | :-------------------------------------------------------------------------------------------------------------------------------------- | | +`image_quality` | `json string` | | | | ++`face_ratio` | `float` | | The proportion of the human face to the whole photo. | | ++`face_orientation` | `object` | | Face 3D angle. | | +++`yaw` | `float` | | Yaw angle. The angle of rotation around the Y-axis. It is expressed as the horizontal rotation of the head to the left or right. | | +++`pitch` | `float` | | Pitch angle. The angle of rotation around the X-axis. Expressed as head pitch and tilt. | | +++`roll` | `float` | | Scroll angle. The angle of rotation around the Z axis, expressed as the rotation of the face photo seen from the front. | | ++`face_rect` | `float` | | The coordinate value of the face can be keyed out by returning the coordinate value of the face according to the key point of the face. | | +++`top` | `float` | | | | +++`left` | `float` | | | | +++`width` | `float` | | | | +++`height` | `float` | | | | ++`hair_occlusion` | `float` | | The proportion of bangs to the human face. | ##### Skin Type Analysis | Field | Type | Scope | Description | | :------------------- | :-------- | :-------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | +`skin_type` | `object` | | Skin texture test results. | | ++`skin_type` | `integer` | `0`, `1`, `2`, `3` | Type. ``0`: Oily skin.` ``1`: Dry skin.` ``2`: Neutral skin.` ``3`: Combination skin.` | | ++`details` | `object` | | The confidence level of each classification. | | +++`0` | `object` | | Oily skin information. | | ++++`value` | `integer` | `0`, `1` | Oily skin. ``0`: No.` ``1`: Yes.` | | ++++`confidence` | `float` | | Confidence. | | +++`1` | `object` | | Dry skin information. | | ++++`value` | `integer` | `0`, `1` | Dry skin. ``0`: No.` ``1`: Yes.` | | ++++`confidence` | `float` | | Confidence. | | +++`2` | `object` | | Neutral skin information. | | ++++`value` | `integer` | `0`, `1` | Neutral skin. ``0`: No.` ``1`: Yes.` | | ++++`confidence` | `float` | | Confidence. | | +++`3` | `object` | | Combination skin information. | | ++++`value` | `integer` | `0`, `1` | Combination skin. ``0`: No.` ``1`: Yes.` | | ++++`confidence` | `float` | | Confidence. | | +`oily_intensity` | `object` | | Oil output level detection. | | ++`t_zone` | `object` | | T-zone. | | +++`area` | `object` | \[0, 1] | Area share. | | +++`intensity` | `integer` | `0`, `1`, `2` | Severity of oiling. ``0`: No shine or slight shine.` ``1`: Medium shine phenomenon.` \`\`2`: Severe oiling.` | | ++`left_cheek` | `object` | | Left cheek. | | +++`area` | `object` | \[0, 1] | Area share. | | +++`intensity` | `integer` | `0`, `1`, `2` | Severity of oiling. ``0`: No shine or slight shine.` ``1`: Medium shine phenomenon.` \`\`2`: Severe oiling.` | | ++`right_cheek` | `object` | | Right cheek. | | +++`area` | `object` | \[0, 1] | Area share. | | +++`intensity` | `integer` | `0`, `1`, `2` | Severity of oiling. ``0`: No shine or slight shine.` ``1`: Medium shine phenomenon.` \`\`2`: Severe oiling.` | | ++`chin_area` | `object` | | Chin area. | | +++`area` | `object` | \[0, 1] | Area share. | | +++`intensity` | `integer` | `0`, `1`, `2` | Severity of oiling. ``0`: No shine or slight shine.` ``1`: Medium shine phenomenon.` \`\`2`: Severe oiling.` | | +`water` | `object` | | The percentage of dehydrated skin on the forehead, cheeks and chin, the percentage of overall facial dehydrated area and the severity of dehydration. | | ++`water_severity` | `float` | \[0, 100] | Severity of water shortage . | | ++`water_area` | `float` | | Percentage of water deficit area . | | ++`water_forehead` | `object` | | Percentage of forehead deficiency area. | | +++`area` | `float` | \[0, 1] | Area share. | | ++`water_rightcheek` | `object` | | Percentage of dehydrated area on the right cheek. | | +++`area` | `float` | \[0, 1] | Area share. | | ++`water_leftcheek` | `object` | | Percentage of dehydrated area on the left cheek. | | +++`area` | `float` | \[0, 1] | Area share. | | +`skin_tone` | `object` | | Skin color test results. | | ++`value` | `integer` | `0`, `1`, `2`, `3`, `4` | Skin color. ``0`: Translucency.` ``1`: Fairness.` ``2`: Natural.` ``3`: Wheat.` \`\`4`: Tanned/Bronze.` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`skintone_ita` | `object` | | Returns skin color classification information based on the ITA (Individual Typology Angle) standard. **[NOTE](#skintone_ita)** | | ++`ITA` | `float` | \[-90, 90] | Angle value. | | ++`skintone` | `integer` | `0`, `1`, `2`, `3`, `4`, `5`, `6` | Classified according to the skin tone of ITA. ``0`: Very light.` ``1`: Light.` ``2`: Intermediate.` ``3`: Tan.` ``4`: Brown.` ``5`: Dark.` \`\`6`: Abnormal color values that may be caused by weak lighting conditions or overexposure.` | | +`skin_hue_ha` | `object` | | Returns skin tone classification information based on HA (Hue Angle). **[NOTE](#skin_hue_ha)** | | ++`HA` | `float` | \[0, 90] | HA angle value. | | ++`skintone` | `integer` | `0`, `1`, `2`, `3` | Classified according to HA's skin tone hue. ``0`: Yellowish.` ``1`: Neutral.` ``2`: Reddish.` ``3`: Abnormal hue values may be caused by abnormal ambient light tones or weak light environment or overexposure.` | ##### Roughness analysis | Field | Type | Scope | Description | | :--------------------- | :-------- | :----------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | +`blackhead` | `object` | | Blackhead information. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: No blackheads, number of blackheads ∈ [0, 45].` ``1`: Mild, number of blackheads ∈ [46, 90].` ``2`: Moderate, number of blackheads ∈ [91, 150].` ``3`: Severe, number of blackheads ∈ [151 or more].` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`blackhead_count` | `integer` | | Number of blackheads on the nose area. | | +`enlarged_pore_count` | `object` | | The number of enlarged pores and the percentage of enlarged pore area. | | ++`forehead` | `object` | | Forehead. | | +++`count` | `integer` | | Number of enlarged pores. | | +++`area` | `float` | \[0, 1] | Percentage of enlarged pore area. | | ++`left_cheek_count` | `object` | | Left cheek. | | +++`count` | `integer` | | Number of enlarged pores. | | +++`area` | `float` | \[0, 1] | Percentage of enlarged pore area. | | ++`right_cheek_count` | `object` | | Right cheek. | | +++`count` | `integer` | | Number of enlarged pores. | | +++`area` | `float` | \[0, 1] | Percentage of enlarged pore area. | | ++`chin_count` | `object` | | Chin. | | +++`count` | `integer` | | Number of enlarged pores. | | +++`area` | `float` | \[0, 1] | Percentage of enlarged pore area. | | +`pores_forehead` | `object` | | The severity of enlarged forehead pores. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: No pores, number of pores ∈ [0, 100].` ``1`: Mildly, the number of pores ∈ [101, 200].` ``2`: Moderate, number of pores ∈ [201, 400].` ``3`: Severe, number of pores ∈ [401 or more].` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`pores_rightcheek` | `object` | | The severity of enlarged pores on the right cheek. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: No pores, number of pores ∈ [0, 80].` ``1`: Mildly, the number of pores ∈ [81, 180].` ``2`: Moderate, number of pores ∈ [181, 280].` ``3`: Severe, number of pores ∈ [281 or more].` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`pores_leftcheek` | `object` | | The severity of enlarged pores on the left cheek. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: No pores, number of pores ∈ [0, 80].` ``1`: Mildly, the number of pores ∈ [81, 180].` ``2`: Moderate, number of pores ∈ [181, 280].` ``3`: Severe, number of pores ∈ [281 or more].` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`pores_jaw` | `object` | | The severity of enlarged pores on the chin. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: No pores, number of pores ∈ [0, 50].` ``1`: Mildly, the number of pores ∈ [51, 100].` ``2`: Moderate, number of pores ∈ [101, 150].` ``3`: Severe, number of pores ∈ [151 or more].` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`rough` | `object` | | Output the percentage of rough skin area on forehead, cheeks and chin, the percentage of overall facial rough area and the severity of roughness. | | ++`rough_severity` | `integer` | \[0, 100] | Severity. | | ++`rough_area` | `float` | \[0, 1] | Area share. | | ++`rough_forehead` | `object` | | Forehead. | | +++`area` | `float` | \[0, 1] | Area share. | | ++`rough_rightcheek` | `object` | | Right cheek. | | +++`area` | `float` | \[0, 1] | Area share. | | ++`rough_leftcheek` | `object` | | Left cheek. | | +++`area` | `float` | \[0, 1] | Area share. | | ++`rough_jaw` | `object` | | Jaw. | | +++`area` | `float` | \[0, 1] | Area share. | ##### Pigmentation | Field | Type | Scope | Description | | :------------------------ | :-------- | :-------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | +`melanin` | `object` | | Return the skin pigmentation of the human face in the photo. | | ++`brown_area` | `float` | \[0, 1] | Percentage of full-face area of pigmented areas. | | ++`melanin_concentration` | `float` | \[0, 100] | Degree of pigmentation. | | ++`brown_forehead` | `float` | \[0, 1] | Percentage of forehead hyperpigmentation area. | | ++`brown_rightcheek` | `float` | \[0, 1] | Percentage of hyperpigmented area on the right cheek. | | ++`brown_leftcheek` | `float` | \[0, 1] | Percentage of hyperpigmented area on the left cheek. | | +`melanin_mark` | `object` | | Information on the pigmented areas of the brown area map. | | ++`polygon` | `array` | | A collection of polygon coordinates within the brown area map, each polygon representing the x and y coordinate values of the outer contour line of a hyperpigmented area. | | +++ | `array` | | | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +`mole` | `Object` | | Information for each mole area. | | ++`rectangle` | `array` | | The position of each mole frame. | | +++`width` | `float` | | Width. | | +++`height` | `float` | | Height. | | +++`left` | `float` | | The distance from the leftmost part of the picture. | | +++`top` | `float` | | The distance from the topmost edge of the image. | | ++`confidence` | `array` | | The confidence level of each mole region. | | ++`polygon` | `array` | | Within each mole box, the more detailed polygon contour lines of the problem area, returning the x and y coordinate values of the vertices of each polygon mole area. | | +++ | `array` | | | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +`brown_spot` | `Object` | | Information for each discolored area. | | ++`rectangle` | `array` | | The position of each color spot box. | | +++`width` | `float` | | Width. | | +++`height` | `float` | | Height. | | +++`left` | `float` | | The distance from the leftmost part of the picture. | | +++`top` | `float` | | The distance from the topmost edge of the image. | | ++`confidence` | `array` | | Confidence level for each chromatophore region. | | ++`polygon` | `array` | | A more detailed polygon contour line of the problem area within each color spot box, returning the x and y coordinate values of the vertices of each polygon acne area. | | +++ | `array` | | | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +`melasma` | `Object` | | Melasma information. | | ++`value` | `integer` | `0`, `1` | ``0`: No melasma.` ``1`: There is melasma.` | | ++`confidence` | `float` | | Confidence. | | +`freckle` | `Object` | | Freckle information. | | ++`value` | `integer` | `0`, `1` | ``0`: No freckles.` ``1`: There are freckles.` | | ++`confidence` | `float` | | Confidence. | ##### Acne Analysis | Field | Type | Scope | Description | | :------------------ | :------- | :---- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | +`acne` | `Object` | | Acne Test - Light Papule Test (Light papules are a category of less symptomatic acne phenomena that present as rice- to soy-sized bumps accompanied by inflammatory redness and symptoms such as pain and itching) returns a rectangular box for each papule area and a more detailed polygon box. | | ++`rectangle` | `array` | | The location of each papule box. | | +++`width` | `float` | | Width. | | +++`height` | `float` | | Height. | | +++`left` | `float` | | The distance from the leftmost part of the picture. | | +++`top` | `float` | | The distance from the topmost edge of the image. | | ++`confidence` | `array` | | Confidence level of each papule box. | | ++`polygon` | `array` | | Within each papule box, the more detailed polygonal contour lines of the problem area return the x and y coordinate values of the vertices of each polygonal papule area. | | +++ | `array` | | | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +`acne_pustule` | `Object` | | Acne Detection - Pustular Papule Detection (Pustular papules are acne phenomena with milky, yellowish pus visible to the naked eye and appear as mound-like bumps with milky, yellowish pus) returns rectangular boxes and more detailed polygonal boxes for each area of pustular acne. | | ++`rectangle` | `array` | | The location of each pustule box. | | +++`width` | `float` | | Width. | | +++`height` | `float` | | Height. | | +++`left` | `float` | | The distance from the leftmost part of the picture. | | +++`top` | `float` | | The distance from the topmost edge of the image. | | ++`confidence` | `array` | | Confidence level of each pustule box. | | ++`polygon` | `array` | | The more detailed polygonal contour lines of the problem area within each pustule box, returning the x and y coordinate values of the vertices of each polygonal pustule area. | | +++ | `array` | | | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +`acne_nodule` | `Object` | | Acne Detection - Acne Nodule Detection (Acne nodules are a more severe type of acne phenomenon that appears as small, pea-sized bumps that are hard to the touch caused by the accumulation of subcutaneous lipids and pus) returns a rectangular box and a more detailed polygon box for each acne nodule area. | | ++`rectangle` | `array` | | The position of each nodal box. | | +++`width` | `float` | | Width. | | +++`height` | `float` | | Height. | | +++`left` | `float` | | The distance from the leftmost part of the picture. | | +++`top` | `float` | | The distance from the topmost edge of the image. | | ++`confidence` | `array` | | The confidence level of each nodal box. | | ++`polygon` | `array` | | Within each nodal box, the more detailed polygon contour lines of the problem region, returning the x and y coordinate values of the vertices of each polygon nodal region. | | +++ | `array` | | | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +`acne_mark` | `Object` | | Red Acne Mark Detection - Detects red-purple acne marks that appear after facial acne has healed returning rectangular boxes and more detailed polygonal boxes for each acne mark area. | | ++`rectangle` | `array` | | The location of each pockmark box. | | +++`width` | `float` | | Width. | | +++`height` | `float` | | Height. | | +++`left` | `float` | | The distance from the leftmost part of the picture. | | +++`top` | `float` | | The distance from the topmost edge of the image. | | ++`confidence` | `array` | | Confidence level of each pockmark box. | | ++`polygon` | `array` | | A more detailed polygon contour line of the problem area within each pockmark box, returning the x and y coordinate values of the vertices of each polygon pockmark area. | | +++ | `array` | | | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +`closed_comedones` | `Object` | | Rectangular boxes and more detailed polygonal boxes for each occlusive acne area. | | ++`rectangle` | `array` | | The location of each closed-cell acne box. | | +++`width` | `float` | | Width. | | +++`height` | `float` | | Height. | | +++`left` | `float` | | The distance from the leftmost part of the picture. | | +++`top` | `float` | | The distance from the topmost edge of the image. | | ++`confidence` | `array` | | Confidence level of each closed-jaw acne box. | | ++`polygon` | `array` | | A more detailed polygon contour line of the problem area within each closed acne box, returning the x and y coordinate values of the vertices of each polygon closed acne area. | | +++ | `array` | | | | ++++`x` | `float` | | | | ++++`y` | `float` | | | ##### Sensitivity Analysis | Field | Type | Scope | Description | | :------------------------ | :------- | :-------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | +`sensitivity` | `object` | | `This return value must be used with red area maps, and you need to set the return red area map (`red\_area`) in the input parameter `return\_maps` first.` | | ++`sensitivity_area` | `float` | \[0, 1] | The percentage of sensitive skin area on the whole face. Sensitive redness areas include cheeks, T-zone, etc. | | ++`sensitivity_intensity` | `float` | \[0, 100] | The intensity of redness in sensitive areas. | | +`sensitivity_mark` | `object` | | The location of the polygon box in the sensitive muscle area of the red zone diagram. | | ++`polygon` | `array` | | The set of polygon coordinates within the red zone map, each polygon represents the x and y coordinate values of the outer contour line of a sensitive muscle region. | | +++ | `array` | | | | ++++`x` | `float` | | | | ++++`y` | `float` | | | ##### Senescence analysis | Field | Type | Scope | Description | | :-------------------------------- | :-------- | :----------------- | :-------------------------------------------------------------------------------------------------------- | | +`skin_age` | `object` | | Skin age test results. | | ++`value` | `integer` | \[0, 100] | Skin age. | | +`forehead_wrinkle` | `object` | | Results of the head lift test. | | ++`value` | `integer` | `0`, `1` | ``0`: No head lines.` ``1`: There are head lines.` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`crows_feet` | `object` | | Crow's feet test results. | | ++`value` | `integer` | `0`, `1` | ``0`: No crow's feet.` ``1`: With crow's feet.` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`eye_finelines` | `object` | | Results of the eye fine lines test. | | ++`value` | `integer` | `0`, `1` | ``0`: No fine lines under the eyes.` ``1`: With fine lines under the eyes.` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`glabella_wrinkle` | `object` | | Results of the interbrow line test. | | ++`value` | `integer` | `0`, `1` | ``0`: No interbrow lines.` ``1`: With interbrow lines.` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`nasolabial_fold` | `object` | | Results of the forehead line test. | | ++`value` | `integer` | `0`, `1` | ``0`: No lines.` ``1`: There are lines.` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`nasolabial_fold_severity` | `object` | | Severity of the forehead lines. Returned when \[`nasolabial_fold`=1]. | | ++`value` | `integer` | `0`, `1`, `2` | ``0`: Mild.` ``1`: Moderate.` \`\`2`: Severe.` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`left_mouth_wrinkle_severity` | `object` | | The presence & severity of marionette lines on the left side of the face. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`right_mouth_wrinkle_severity` | `object` | | The presence & severity of marionette lines on the right side of the face. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`forehead_wrinkle_severity` | `object` | | The severity of the headline. Returned when \[`forehead_wrinkle`=1]. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`left_crows_feet_severity` | `object` | | The presence & severity of crow's feet on the left side of the face. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`right_crows_feet_severity` | `object` | | The presence & severity of crow's feet on the right side of the face. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`left_eye_finelines_severity` | `object` | | The presence & severity of fine lines under the eyes on the left side of the face. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`right_eye_finelines_severity` | `object` | | The presence & severity of fine lines under the eyes on the right side of the face. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`glabella_wrinkle_severity` | `object` | | The presence & severity of fine lines between the eyebrows. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`left_nasolabial_fold_severity` | `object` | | The presence or absence & severity of the left facial lines. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`right_nasolabial_fold_severity` | `object` | | The presence or absence & severity of right facial lines. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`left_cheek_wrinkle_severity` | `object` | | The presence & severity of left cheek lines. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`right_cheek_wrinkle_severity` | `object` | | The presence & severity of right cheek lines lines. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`fine_line` | `object` | | Number of fine lines detected. | | ++`forehead_count` | `integer` | | Forehead. | | ++`left_undereye_count` | `integer` | | Fine lines in the left eye. | | ++`right_undereye_count` | `integer` | | Fine lines in the right eye. | | ++`left_cheek_count` | `integer` | | Left cheek. | | ++`right_cheek_count` | `integer` | | Right cheek. | | ++`left_crowsfeet_count` | `integer` | | Crow's feet in the left eye. | | ++`right_crowsfeet_count` | `integer` | | Crow's feet in the right eye. | | ++`glabella_count` | `integer` | | Interbrow lines. | | +`wrinkle_count` | `object` | | Number of deep grain detection. | | ++`forehead_count` | `integer` | | Forehead. | | ++`left_undereye_count` | `integer` | | Fine lines in the left eye. | | ++`right_undereye_count` | `integer` | | Fine lines in the right eye. | | ++`left_cheek_count` | `integer` | | Left cheek. | | ++`right_cheek_count` | `integer` | | Right cheek. | | ++`left_crowsfeet_count` | `integer` | | Crow's feet in the left eye. | | ++`right_crowsfeet_count` | `integer` | | Crow's feet in the right eye. | | ++`glabella_count` | `integer` | | Interbrow lines. | | ++`left_mouth_count` | `integer` | | Puppet pattern at the left corner of the mouth. | | ++`right_mouth_count` | `integer` | | Puppet pattern at the right corner of the mouth. | | ++`left_nasolabial_count` | `integer` | | The left legal line. | | ++`right_nasolabial_count` | `integer` | | The right wrinkle. | | +`forehead_wrinkle_info` | `object` | | Number of deep grain detection. | | ++`wrinkle_score` | `integer` | \[0, 100] | Wrinkle score. | | ++`wrinkle_severity_level` | `integer` | `0`, `1`, `2`, `3` | Wrinkle severity level. ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | ++`wrinkle_norm_length` | `float` | | Wrinkle-normalized length. | | ++`wrinkle_norm_depth` | `float` | | Wrinkle normalized depth. | | ++`wrinkle_pixel_density` | `float` | | Wrinkle pixel density. | | ++`wrinkle_area_ratio` | `float` | \[0, 1] | Percentage of wrinkled area. | | ++`wrinkle_deep_ratio` | `float` | \[0, 1] | Percentage of deep grain length. | | ++`wrinkle_deep_num` | `integer` | | Number of deep lines. | | ++`wrinkle_shallow_num` | `integer` | | Number of shallow lines. | | ++`forehead_wrinkle_list` | `array` | | Sub-wrinkle information. | | +++`wrinkle_coord` | `array` | | Subwrinkle pixel coordinates. | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +++`wrinkle_coord` | `float` | | Sub-wrinkle depth. | | +++`wrinkle_length` | `float` | | Subwrinkle length. | | +`left_eye_wrinkle_info` | `object` | | Left eye wrinkle information. | | ++`wrinkle_score` | `integer` | \[0, 100] | Wrinkle score. | | ++`wrinkle_severity_level` | `integer` | `0`, `1`, `2`, `3` | Wrinkle severity level. ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | ++`wrinkle_norm_length` | `float` | | Wrinkle-normalized length. | | ++`wrinkle_norm_depth` | `float` | | Wrinkle normalized depth. | | ++`wrinkle_pixel_density` | `float` | | Wrinkle pixel density. | | ++`wrinkle_area_ratio` | `float` | \[0, 1] | Percentage of wrinkled area. | | ++`wrinkle_deep_ratio` | `float` | \[0, 1] | Percentage of deep grain length. | | ++`wrinkle_deep_num` | `integer` | | Number of deep lines. | | ++`wrinkle_shallow_num` | `integer` | | Number of shallow lines. | | ++`forehead_wrinkle_list` | `array` | | Sub-wrinkle information. | | +++`wrinkle_coord` | `array` | | Subwrinkle pixel coordinates. | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +++`wrinkle_coord` | `float` | | Sub-wrinkle depth. | | +++`wrinkle_length` | `float` | | Subwrinkle length. | | +`right_eye_wrinkle_info` | `object` | | Right eye wrinkle information. | | ++`wrinkle_score` | `integer` | \[0, 100] | Wrinkle score. | | ++`wrinkle_severity_level` | `integer` | `0`, `1`, `2`, `3` | Wrinkle severity level. ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | ++`wrinkle_norm_length` | `float` | | Wrinkle-normalized length. | | ++`wrinkle_norm_depth` | `float` | | Wrinkle normalized depth. | | ++`wrinkle_pixel_density` | `float` | | Wrinkle pixel density. | | ++`wrinkle_area_ratio` | `float` | \[0, 1] | Percentage of wrinkled area. | | ++`wrinkle_deep_ratio` | `float` | \[0, 1] | Percentage of deep grain length. | | ++`wrinkle_deep_num` | `integer` | | Number of deep lines. | | ++`wrinkle_shallow_num` | `integer` | | Number of shallow lines. | | ++`forehead_wrinkle_list` | `array` | | Sub-wrinkle information. | | +++`wrinkle_coord` | `array` | | Subwrinkle pixel coordinates. | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +++`wrinkle_coord` | `float` | | Sub-wrinkle depth. | | +++`wrinkle_length` | `float` | | Subwrinkle length. | | +`left_crowsfeet_wrinkle_info` | `object` | | Left fishtail information. | | ++`wrinkle_score` | `integer` | \[0, 100] | Wrinkle score. | | ++`wrinkle_severity_level` | `integer` | `0`, `1`, `2`, `3` | Wrinkle severity level. ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | ++`wrinkle_norm_length` | `float` | | Wrinkle-normalized length. | | ++`wrinkle_norm_depth` | `float` | | Wrinkle normalized depth. | | ++`wrinkle_pixel_density` | `float` | | Wrinkle pixel density. | | ++`wrinkle_area_ratio` | `float` | \[0, 1] | Percentage of wrinkled area. | | ++`wrinkle_deep_ratio` | `float` | \[0, 1] | Percentage of deep grain length. | | ++`wrinkle_deep_num` | `integer` | | Number of deep lines. | | ++`wrinkle_shallow_num` | `integer` | | Number of shallow lines. | | ++`forehead_wrinkle_list` | `array` | | Sub-wrinkle information. | | +++`wrinkle_coord` | `array` | | Subwrinkle pixel coordinates. | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +++`wrinkle_coord` | `float` | | Sub-wrinkle depth. | | +++`wrinkle_length` | `float` | | Subwrinkle length. | | +`right_crowsfeet_wrinkle_info` | `object` | | Right fishtail information. | | ++`wrinkle_score` | `integer` | \[0, 100] | Wrinkle score. | | ++`wrinkle_severity_level` | `integer` | `0`, `1`, `2`, `3` | Wrinkle severity level. ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | ++`wrinkle_norm_length` | `float` | | Wrinkle-normalized length. | | ++`wrinkle_norm_depth` | `float` | | Wrinkle normalized depth. | | ++`wrinkle_pixel_density` | `float` | | Wrinkle pixel density. | | ++`wrinkle_area_ratio` | `float` | \[0, 1] | Percentage of wrinkled area. | | ++`wrinkle_deep_ratio` | `float` | \[0, 1] | Percentage of deep grain length. | | ++`wrinkle_deep_num` | `integer` | | Number of deep lines. | | ++`wrinkle_shallow_num` | `integer` | | Number of shallow lines. | | ++`forehead_wrinkle_list` | `array` | | Sub-wrinkle information. | | +++`wrinkle_coord` | `array` | | Subwrinkle pixel coordinates. | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +++`wrinkle_coord` | `float` | | Sub-wrinkle depth. | | +++`wrinkle_length` | `float` | | Subwrinkle length. | | +`glabella_wrinkle_info` | `object` | | Information on the lines between the eyebrows. | | ++`wrinkle_score` | `integer` | \[0, 100] | Wrinkle score. | | ++`wrinkle_severity_level` | `integer` | `0`, `1`, `2`, `3` | Wrinkle severity level. ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | ++`wrinkle_norm_length` | `float` | | Wrinkle-normalized length. | | ++`wrinkle_norm_depth` | `float` | | Wrinkle normalized depth. | | ++`wrinkle_pixel_density` | `float` | | Wrinkle pixel density. | | ++`wrinkle_area_ratio` | `float` | \[0, 1] | Percentage of wrinkled area. | | ++`wrinkle_deep_ratio` | `float` | \[0, 1] | Percentage of deep grain length. | | ++`wrinkle_deep_num` | `integer` | | Number of deep lines. | | ++`wrinkle_shallow_num` | `integer` | | Number of shallow lines. | | ++`forehead_wrinkle_list` | `array` | | Sub-wrinkle information. | | +++`wrinkle_coord` | `array` | | Subwrinkle pixel coordinates. | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +++`wrinkle_coord` | `float` | | Sub-wrinkle depth. | | +++`wrinkle_length` | `float` | | Subwrinkle length. | | +`left_mouth_wrinkle_info` | `object` | | Information on the left corner of the mouth tattoo. | | ++`wrinkle_score` | `integer` | \[0, 100] | Wrinkle score. | | ++`wrinkle_severity_level` | `integer` | `0`, `1`, `2`, `3` | Wrinkle severity level. ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | ++`wrinkle_norm_length` | `float` | | Wrinkle-normalized length. | | ++`wrinkle_norm_depth` | `float` | | Wrinkle normalized depth. | | ++`wrinkle_pixel_density` | `float` | | Wrinkle pixel density. | | ++`wrinkle_area_ratio` | `float` | \[0, 1] | Percentage of wrinkled area. | | ++`wrinkle_deep_ratio` | `float` | \[0, 1] | Percentage of deep grain length. | | ++`wrinkle_deep_num` | `integer` | | Number of deep lines. | | ++`wrinkle_shallow_num` | `integer` | | Number of shallow lines. | | ++`forehead_wrinkle_list` | `array` | | Sub-wrinkle information. | | +++`wrinkle_coord` | `array` | | Subwrinkle pixel coordinates. | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +++`wrinkle_coord` | `float` | | Sub-wrinkle depth. | | +++`wrinkle_length` | `float` | | Subwrinkle length. | | +`right_mouth_wrinkle_info` | `object` | | Information on the right corner of the mouth tattoo. | | ++`wrinkle_score` | `integer` | \[0, 100] | Wrinkle score. | | ++`wrinkle_severity_level` | `integer` | `0`, `1`, `2`, `3` | Wrinkle severity level. ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | ++`wrinkle_norm_length` | `float` | | Wrinkle-normalized length. | | ++`wrinkle_norm_depth` | `float` | | Wrinkle normalized depth. | | ++`wrinkle_pixel_density` | `float` | | Wrinkle pixel density. | | ++`wrinkle_area_ratio` | `float` | \[0, 1] | Percentage of wrinkled area. | | ++`wrinkle_deep_ratio` | `float` | \[0, 1] | Percentage of deep grain length. | | ++`wrinkle_deep_num` | `integer` | | Number of deep lines. | | ++`wrinkle_shallow_num` | `integer` | | Number of shallow lines. | | ++`forehead_wrinkle_list` | `array` | | Sub-wrinkle information. | | +++`wrinkle_coord` | `array` | | Subwrinkle pixel coordinates. | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +++`wrinkle_coord` | `float` | | Sub-wrinkle depth. | | +++`wrinkle_length` | `float` | | Subwrinkle length. | | +`left_nasolabial_wrinkle_info` | `object` | | Information about the left legal line. | | ++`wrinkle_score` | `integer` | \[0, 100] | Wrinkle score. | | ++`wrinkle_severity_level` | `integer` | `0`, `1`, `2`, `3` | Wrinkle severity level. ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | ++`wrinkle_norm_length` | `float` | | Wrinkle-normalized length. | | ++`wrinkle_norm_depth` | `float` | | Wrinkle normalized depth. | | ++`wrinkle_pixel_density` | `float` | | Wrinkle pixel density. | | ++`wrinkle_area_ratio` | `float` | \[0, 1] | Percentage of wrinkled area. | | ++`wrinkle_deep_ratio` | `float` | \[0, 1] | Percentage of deep grain length. | | ++`wrinkle_deep_num` | `integer` | | Number of deep lines. | | ++`wrinkle_shallow_num` | `integer` | | Number of shallow lines. | | ++`forehead_wrinkle_list` | `array` | | Sub-wrinkle information. | | +++`wrinkle_coord` | `array` | | Subwrinkle pixel coordinates. | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +++`wrinkle_coord` | `float` | | Sub-wrinkle depth. | | +++`wrinkle_length` | `float` | | Subwrinkle length. | | +`right_nasolabial_wrinkle_info` | `object` | | Information on the right-hand wrinkle. | | ++`wrinkle_score` | `integer` | \[0, 100] | Wrinkle score. | | ++`wrinkle_severity_level` | `integer` | `0`, `1`, `2`, `3` | Wrinkle severity level. ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | ++`wrinkle_norm_length` | `float` | | Wrinkle-normalized length. | | ++`wrinkle_norm_depth` | `float` | | Wrinkle normalized depth. | | ++`wrinkle_pixel_density` | `float` | | Wrinkle pixel density. | | ++`wrinkle_area_ratio` | `float` | \[0, 1] | Percentage of wrinkled area. | | ++`wrinkle_deep_ratio` | `float` | \[0, 1] | Percentage of deep grain length. | | ++`wrinkle_deep_num` | `integer` | | Number of deep lines. | | ++`wrinkle_shallow_num` | `integer` | | Number of shallow lines. | | ++`forehead_wrinkle_list` | `array` | | Sub-wrinkle information. | | +++`wrinkle_coord` | `array` | | Subwrinkle pixel coordinates. | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +++`wrinkle_coord` | `float` | | Sub-wrinkle depth. | | +++`wrinkle_length` | `float` | | Subwrinkle length. | | +`left_cheek_wrinkle_info` | `object` | | Left face wrinkle information. | | ++`wrinkle_score` | `integer` | \[0, 100] | Wrinkle score. | | ++`wrinkle_severity_level` | `integer` | `0`, `1`, `2`, `3` | Wrinkle severity level. ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | ++`wrinkle_norm_length` | `float` | | Wrinkle-normalized length. | | ++`wrinkle_norm_depth` | `float` | | Wrinkle normalized depth. | | ++`wrinkle_pixel_density` | `float` | | Wrinkle pixel density. | | ++`wrinkle_area_ratio` | `float` | \[0, 1] | Percentage of wrinkled area. | | ++`wrinkle_deep_ratio` | `float` | \[0, 1] | Percentage of deep grain length. | | ++`wrinkle_deep_num` | `integer` | | Number of deep lines. | | ++`wrinkle_shallow_num` | `integer` | | Number of shallow lines. | | ++`forehead_wrinkle_list` | `array` | | Sub-wrinkle information. | | +++`wrinkle_coord` | `array` | | Subwrinkle pixel coordinates. | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +++`wrinkle_coord` | `float` | | Sub-wrinkle depth. | | +++`wrinkle_length` | `float` | | Subwrinkle length. | | +`right_cheek_wrinkle_info` | `object` | | Right face wrinkle information. | | ++`wrinkle_score` | `integer` | \[0, 100] | Wrinkle score. | | ++`wrinkle_severity_level` | `integer` | `0`, `1`, `2`, `3` | Wrinkle severity level. ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | ++`wrinkle_norm_length` | `float` | | Wrinkle-normalized length. | | ++`wrinkle_norm_depth` | `float` | | Wrinkle normalized depth. | | ++`wrinkle_pixel_density` | `float` | | Wrinkle pixel density. | | ++`wrinkle_area_ratio` | `float` | \[0, 1] | Percentage of wrinkled area. | | ++`wrinkle_deep_ratio` | `float` | \[0, 1] | Percentage of deep grain length. | | ++`wrinkle_deep_num` | `integer` | | Number of deep lines. | | ++`wrinkle_shallow_num` | `integer` | | Number of shallow lines. | | ++`forehead_wrinkle_list` | `array` | | Sub-wrinkle information. | | +++`wrinkle_coord` | `array` | | Subwrinkle pixel coordinates. | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +++`wrinkle_coord` | `float` | | Sub-wrinkle depth. | | +++`wrinkle_length` | `float` | | Subwrinkle length. | | +`cheekbone_mark` | `object` | | Information about the coordinates of the left apple muscle and the coordinates of the right apple muscle. | | ++`left_cheekbone_mark` | `array` | | Left apple muscle coordinates. | | +++`x` | `float` | | | | +++`y` | `float` | | | | ++`left_cheekbone_mark` | `array` | | Right apple muscle coordinates. | | +++`x` | `float` | | | | +++`y` | `float` | | | ##### Eye Analysis | Field | Type | Scope | Description | | :----------------------------------- | :-------- | :----------------- | :------------------------------------------------------------------------------------------------------------------------------------ | | +`eye_pouch` | `object` | | Eye bag test results. | | ++`value` | `integer` | `0`, `1` | ``0`: No bags under the eyes.` ``1`: With bags under the eyes.` | | ++`confidence` | `float` | | Confidence. | | +`eye_pouch_severity` | `object` | | Severity of eye bags. Return when \[`eye_pouch`.`value`=1]. | | ++`value` | `integer` | `0`, `1`, `2` | ``0`: Mild.` ``1`: Moderate.` \`\`2`: Severe.` | | ++`confidence` | `float` | | Confidence. | | +`left_eye_pouch_rectangle` | `array` | | The position of the left eye bag frame | | ++`width` | `float` | | Width. | | ++`height` | `float` | | Height. | | ++`left` | `float` | | The distance from the leftmost part of the picture. | | ++`top` | `float` | | The distance from the topmost edge of the image. | | +`right_eye_pouch_rectangle` | `array` | | The position of the right eye bag frame | | ++`width` | `float` | | Width. | | ++`height` | `float` | | Height. | | ++`left` | `float` | | The distance from the leftmost part of the picture. | | ++`top` | `float` | | The distance from the topmost edge of the image. | | +`dark_circle` | `object` | | Dark eye circle type detection. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: No dark circles under the eyes.` ``1`: Pigmented dark circles.` ``2`: Vascular dark circles.` ``3`: Dark circles with shadows.` | | ++`confidence` | `float` | | Confidence. | | +`dark_circle_severity` | `object` | | Severity of dark circles under the eyes. Return when \[`dark_circle`.`value` `<>` 1]. | | ++`value` | `integer` | `0`, `1`, `2` | ``0`: Mild.` ``1`: Moderate.` \`\`2`: Severe.` | | ++`confidence` | `float` | | Confidence. | | +`left_dark_circle_rete` | `object` | | Severity of vascular type dark circles under the left eye. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`right_dark_circle_rete` | `object` | | Severity of vascular type dark circles under the right eye. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`left_dark_circle_pigment` | `object` | | Severity of pigmented dark circles under the left eye. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`right_dark_circle_pigment` | `object` | | Severity of pigmented dark circles under the right eye. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`left_dark_circle_structural` | `object` | | Severity of structural dark circles under the left eye.. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`right_dark_circle_structural` | `object` | | Severity of structural dark circles under the right eye. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`dark_circle_mark` | `object` | | The position of the rectangular box coordinates of the black eye. | | ++`left_eye_rect` | `object` | | Left eye. | | +++`width` | `float` | | Width. | | +++`height` | `float` | | Height. | | +++`left` | `float` | | The distance from the leftmost part of the picture. | | +++`top` | `float` | | The distance from the topmost edge of the image. | | ++`right_eye_rect` | `object` | | Right eye. | | +++`width` | `float` | | Width. | | +++`height` | `float` | | Height. | | +++`left` | `float` | | The distance from the leftmost part of the picture. | | +++`top` | `float` | | The distance from the topmost edge of the image. | | +`left_eye_pouch_rect` | `object` | | Left eye bag rectangular box position. | | ++`width` | `float` | | Width. | | ++`height` | `float` | | Height. | | ++`left` | `float` | | The distance from the leftmost part of the picture. | | ++`top` | `float` | | The distance from the topmost edge of the image. | | +`right_eye_pouch_rect` | `object` | | Right eye bag rectangular box position. | | ++`width` | `float` | | Width. | | ++`height` | `float` | | Height. | | ++`left` | `float` | | The distance from the leftmost part of the picture. | | ++`top` | `float` | | The distance from the topmost edge of the image. | | +`wrinkle_mark` | `object` | | Wrinkle contour line coordinates. | | ++`left_eye_wrinkle_outline` | `array` | | Wrinkles in the left eye. | | +++`x` | `float` | | | | +++`y` | `float` | | | | ++`right_eye_wrinkle_outline` | `array` | | Wrinkles in the Right eye. | | +++`x` | `float` | | | | +++`y` | `float` | | | | ++`left_cheek_wrinkle_outline` | `array` | | Wrinkles on the left side of the face. | | +++`x` | `float` | | | | +++`y` | `float` | | | | ++`right_cheek_wrinkle_outline` | `array` | | Wrinkles on the right side of the face. | | +++`x` | `float` | | | | +++`y` | `float` | | | | ++`glabella_wrinkle_outline` | `array` | | Interbrow lines. | | +++`x` | `float` | | | | +++`y` | `float` | | | | ++`left_nasolabial_wrinkle_outline` | `array` | | The left legal line. | | +++`x` | `float` | | | | +++`y` | `float` | | | | ++`right_nasolabial_wrinkle_outline` | `array` | | The right legal line. | | +++`x` | `float` | | | | +++`y` | `float` | | | | ++`left_crowsfeet_wrinkle_outline` | `array` | | Left fishtail line.. | | +++`x` | `float` | | | | +++`y` | `float` | | | | ++`right_crowsfeet_wrinkle_outline` | `array` | | Right fishtail line.. | | +++`x` | `float` | | | | +++`y` | `float` | | | | ++`left_mouth_wrinkle_outline` | `array` | | Left corner of the mouth tattoo. | | +++`x` | `float` | | | | +++`y` | `float` | | | | ++`right_mouth_wrinkle_outline` | `array` | | Right corner of the mouth tattoo. | | +++`x` | `float` | | | | +++`y` | `float` | | | | ++`head_wrinkle_outline` | `array` | | Forehead wrinkles. | | +++`x` | `float` | | | | +++`y` | `float` | | | | +`dark_circle_outline` | `object` | | Dark eye contour coordinates. | | ++`left_dark_circle_outline` | `array` | | Left eye. | | +++`x` | `float` | | | | +++`y` | `float` | | | | ++`right_dark_circle_outline` | `array` | | Right eye. | | +++`x` | `float` | | | | +++`y` | `float` | | | ##### Overall Score | Field | Type | Scope | Description | | :----------------------- | :------- | :-------- | :--------------------------------------------------------------------------- | | +`score_info` | `object` | | Score. [Degree & Score](ai-portrait/analysis/skin-analysis-pro/degree-score) | | ++`dark_circle_score` | `float` | \[0, 100] | Dark Circles Score | | ++`skin_type_score` | `float` | \[0, 100] | Skin Quality Score | | ++`wrinkle_score` | `float` | \[0, 100] | Wrinkle Score | | ++`oily_intensity_score` | `float` | \[0, 100] | Oily Score | | ++`pores_score` | `float` | \[0, 100] | Pore Score | | ++`blackhead_score` | `float` | \[0, 100] | Blackheads Score | | ++`acne_score` | `float` | \[0, 100] | Acne Score | | ++`sensitivity_score` | `float` | \[0, 100] | Sensitivity Score | | ++`melanin_score` | `float` | \[0, 100] | Melanin Score | | ++`water_score` | `float` | \[0, 100] | Skin Moisture Score | | ++`rough_score` | `float` | \[0, 100] | Skin Roughness Score | ##### Customization | Field | Type | Scope | Description | | :------------------------------ | :------- | :---- | :----------------------------------------------------------------------------------------- | | +`enhanced_bw_info` | `object` | | Black and white enhanced map coordinates location. [Conversion formula](#enhanced_bw_info) | | ++`enhanced_bw_rect` | `object` | | Black and white enhanced graph coordinate frame. | | +++`width` | `float` | | Width. | | +++`height` | `float` | | Height. | | +++`left` | `float` | | The distance from the leftmost part of the picture. | | +++`top` | `float` | | The distance from the topmost edge of the image. | | ++`ratio` | `float` | | Crop ratio. | | +`face_maps` | `object` | | `Returns information based on the `return\_maps` field input.` | | ++`red_area` | `base64` | | [More Details](#return_maps) | | ++`brown_area` | `base64` | | [More Details](#return_maps) | | ++`texture_enhanced_pores` | `base64` | | [More Details](#return_maps) | | ++`texture_enhanced_blackheads` | `base64` | | [More Details](#return_maps) | | ++`texture_enhanced_oily_area` | `base64` | | [More Details](#return_maps) | | ++`texture_enhanced_lines` | `base64` | | [More Details](#return_maps) | | ++`water_area` | `base64` | | [More Details](#return_maps) | | ++`rough_area` | `base64` | | [More Details](#return_maps) | | ++`roi_outline_map` | `base64` | | [More Details](#return_maps) | | ++`texture_enhanced_bw` | `base64` | | [More Details](#return_maps) | #### `skintone_ita` ITA (Individual Typology Angle) is an international standard for skin color, which is a method to classify skin color by measuring the color attributes of skin color Lab space. The method is strongly dependent on ambient light, we recommend using flash to take HD face photos for uploading and processing, the ITA angle value measured in natural light or dark environment may not be allowed or abnormal. According to the data taken by the rear flash of the phone, the current skin color classification reference. | `skintone` | Scope | Description | | :--------- | :------------------ | :------------------------------------------------------------------------------------ | | `0` | 56 `<` ITA `<` 90 | Very light. | | `1` | 43 `<` ITA `<=` 56 | Light. | | `2` | 36 `<` ITA `<=` 43 | Intermediate. | | `3` | 20 `<` ITA `<=` 36 | Tan. | | `4` | 10 `<` ITA `<=` 20 | Brown. | | `5` | -90 `<` ITA `<=` 10 | Dark. | | `6` | Other | Abnormal color values that may be caused by weak lighting conditions or overexposure. | You can also use the returned ITA value to define your classification based on the returned ITA angle at the time of access. #### `skin_hue_ha` HA (Hue Angle) is an international standard for skin color, which is a method to classify skin color by measuring the color attributes of skin color Lab space. The method is strongly dependent on ambient light, we recommend using flash to take HD face photos for uploading and processing, the HA angle value measured in natural light or dark light environment may not be allowed or abnormal. According to the data taken by the rear flash of the phone, the current skin tone classification reference. | `skintone` | Scope | Description | | :--------- | :---------------- | :----------------------------------------------------------------------------------------------------------- | | `0` | 49 `<` HA `<=` 90 | Yellowish. | | `1` | 46 `<=` HA `<` 49 | Neutral. | | `2` | 10 `<=` HA `<` 46 | Reddish. | | `3` | Other | Abnormal hue values may be caused by abnormal ambient light tones or weak light environment or overexposure. | You can also use the returned HA value to define your classification based on the returned HA angle at the time of access. #### Coordinate conversion formula between original image and black and white enhanced image x\_enhance = (x\_img - left) \* ratio y\_enhance = (y\_img - top) \* ratio Coordinates of original image: x\_img, y\_img, coordinates of black and white enhanced image: x\_enhance, y\_enhance. ### Response Example This API has been discontinued. Please refer to the latest API documentation. # Skin Analyze Pro - API:V1.6.6 Source: https://ailabtools.mintlify.app/docs/ai-portrait/analysis/skin-analysis-pro/api-v166 Analysis of skin condition, such as skin color, skin texture, double eyelids, eye bags, dark circles, wrinkles, acne, spots, etc. \[Important Notice: API Integration Update Required] Dear Developers, Thank you for your continued support of the AILabTools API. We would like to inform you that the current API has been updated with changes to the request and response specifications. These changes involve adjustments to parameters and response fields, and may affect existing integrations that rely on the previous API behavior. To ensure your application continues to work correctly, we strongly recommend that you review and update your current API integration as soon as possible. If you have any questions or need assistance with updating your integration, please feel free to contact our support team: 📧 [support@ailabtools.com](mailto:support@ailabtools.com) Thank you for your understanding and cooperation. We appreciate your continued trust in AILabTools. Best regards, AILabTools Support Team ## Request * **URL**: `https://www.ailabapi.com/api/portrait/analysis/skin-analysis-pro` * **Method**: `POST` * **Content-Type**: `multipart/form-data` ### Image requirements * **Image format**: `JPG` `JPEG` * **Image size**: No more than 8 MB. * **Image resolution**: Larger than 200x200px, smaller than 4096x4096px. * **Minimum face pixel size**: To ensure the effect, the minimum value of the face box (square) side length in the image should preferably be higher than 400px. * **Face quality**: The higher the face quality, the more accurate the skin analysis. Factors affecting face quality include: occlusion of facial features, blurred images, improper lighting (bright, dark, backlight), excessive face angle (yaw ≤ ±30°, pitch ≤ ±40° recommended), etc. ### Headers | Field | Required | Type | Description | | :----------------- | :------- | :------- | :---------------------------------------------------- | | `ailabapi-api-key` | YES | `string` | Application API KEY. [Get API KEY](/docs/get-api-key) | ### Body | Field | Required | Type | Scope | Description | | :-------------------- | :------- | :------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `image` | YES | `file` | | Main Image. | | `left_side_image` | NO | `file` | | Side face picture.(Left) | | `right_side_image` | NO | `file` | | Side face picture.(Right) | | `return_maps` | NO | `string` | `red_area`, `brown_area`, `texture_enhanced_pores`, `texture_enhanced_blackheads`, `texture_enhanced_oily_area`, `texture_enhanced_lines`, `water_area`, `rough_area`, `roi_outline_map`, `texture_enhanced_bw` | The type of skin problem detection mapping image to be returned. If the corresponding element parameter is passed in, the interface will return an image of the original size, which you can subsequently overlay with the original image to see the results. Use commas to separate multiple types. [More Details](#return_maps) | | `return_marks` | NO | `string` | `wrinkle_mark`, `right_nasolabial_list`, `right_mouth_list`, `right_eye_wrinkle_list`, `right_crowsfeet_list`, `right_cheek_list`, `left_nasolabial_list`, `left_mouth_list`, `left_eye_wrinkle_list`, `left_crowsfeet_list`, `left_cheek_list`, `glabella_wrinkle_list`, `forehead_wrinkle_list`, `dark_circle_outline`, `sensitivity_mark`, `melanin_mark`, `dark_circle_outline`, `cheekbone_mark` | The type of skin problem detection mapping image to be returned. Use commas to separate multiple types. [More Details](#return_marks) | | `roi_outline_color` | NO | `json string` | | Customize the color. [More Details](#roi_outline_color) | | `return_side_results` | NO | `string` | `jawline_info` | The side face information that needs to be returned. Use commas to separate multiple types. [More Details](#return_side_results) | #### `return_maps` * **Request Example** `red_area,brown_area` * **Field Parsing** | Field | Description | Return image information | | :---------------------------- | :--------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `red_area` | Red zone map to show areas of redness caused by facial sensitivity and inflammation | A map of the red zone on a white background, with shades of red characterizing the degree of sensitivity. | | `brown_area` | Brown area map to show areas of facial pigmentation | A map of brown areas on a white background, with shades of brown characterizing the degree of chromatophoresis. | | `texture_enhanced_pores` | Facial pore enlargement area map | Transparent background PNG, labeled pore size area, image size is the same as the original image, can be stacked to view. | | `texture_enhanced_blackheads` | Facial blackhead area map | Transparent background PNG, labeled black head area, image size is the same as the original image, can be stacked to view. | | `texture_enhanced_oily_area` | Facial oil shine area map | Transparent background PNG, labeled facial shine area, image size is the same as the original image, can be stacked to view. | | `texture_enhanced_lines` | Facial texture map, mark the more obvious deep lines and light lines on the face | Transparent background PNG, labeled facial wrinkles, image size is the same as the original image, can be stacked to view. | | `water_area` | Facial moisture map, showing facial dehydration areas, the darker the blue color means the more dehydrated the skin is | PNG on white background, labeled facial dehydration area, same image size as the original. | | `rough_area` | Facial roughness map showing the rough areas of the face | Transparent background PNG, labeled facial rough areas, image size is the same as the original image, can be stacked to view. | | `roi_outline_map` | Facial blemishes and acne coordinates mapping | Transparent background PNG, labeled facial spots and acne areas, image size is the same as the original image, can be overlaid with the original image for viewing. | | `texture_enhanced_bw` | Facial blackheads & enlarged pores black & white enhancement chart | JPG with crop, interface with return coordinates and cropped scale that can correspond to the pixel coordinates in the original image. | #### `return_marks` * **Request Example** `wrinkle_mark,right_nasolabial_list` * **Field Parsing** | Field | Description | | :----------------------- | :--------------------------------------------------------------------------------------------------------- | | `wrinkle_mark` | Facial forehead, nose, crow's feet, cheeks, and contour coordinates of the area between the eyebrows | | `right_nasolabial_list` | Coordinates, depth, and length of the right wrinkle | | `right_mouth_list` | Coordinates, depth, and length of the wrinkles in the right corner of the mouth | | `right_eye_wrinkle_list` | Coordinates, depth, and length of subwrinkles in the right eye area | | `right_crowsfeet_list` | Coordinates, depth and length of crows feet wrinkles on the right eye | | `right_cheek_list` | Right cheek wrinkle pattern, depth and length | | `left_nasolabial_list` | Coordinates, depth, and length of the left legal sub-wrinkle | | `left_mouth_list` | Coordinates, depth and length of wrinkles in the left corner of the mouth | | `left_eye_wrinkle_list` | Coordinates, depth, and length of the left eye subwrinkle | | `left_crowsfeet_list` | Coordinates, depth, and length of crow's feet wrinkles on the left eye | | `left_cheek_list` | Left cheek wrinkle pattern, depth and length | | `glabella_wrinkle_list` | Coordinates, depth, and length of sub-frown lines between eyebrows | | `forehead_wrinkle_list` | Forehead wrinkle coordinates, depth and length | | `dark_circle_outline` | Left and right eye dark circle contour line coordinates | | `sensitivity_mark` | Red zone coordinates, which provide coordinates of red areas caused by facial sensitivity and inflammation | | `melanin_mark` | Area coordinates for hyperpigmented areas of the face | | `dark_circle_outline` | Left and right eye dark circle contour line coordinates | | `cheekbone_mark` | Facial apple coordinates | #### `roi_outline_color` * **Request Example** \`\` * **Field Parsing** | Field | Default | Description | | :----------------------- | :------- | :-------------------------- | | `pores_color` | `0000FF` | Pore drawing color | | `blackhead_color` | `FF0000` | Blackhead drawing color | | `wrinkle_color` | `6E9900` | Deep grain drawing color | | `fine_line_color` | `8DFE2A` | Fine line drawing color | | `closed_comedones_color` | `00FF00` | Closed port drawing color | | `acne_pustule_color` | `9F21F6` | Pustular papules color | | `acne_nodule_color` | `FF00FD` | Acne nodules drawing color | | `acne_color` | `FE0100` | Light papules drawing color | | `brown_spot_color` | `7E2A28` | Pigmentation color | Example: `CC00FF` format stands for R:CC, G:00, B:FF respectively. The input format is limited to a 6-bit hexadecimal string and is not case-sensitive. If not modified, it will draw directly using the default parameter colors. #### `return_side_results` * **Request Example** `jawline_info` * **Field Parsing** | Field | Description | | :------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `jawline_info` | The user selects the `jawline_info` element and uploads the left and right side face image parameters to return the corresponding side face results, which can return three fields in the `left_side_result` and `right_side_result` structures for the side face image quality judgment, jawline angle and jawline coordinates. | ## Response **Response Field Handling Flow** 1. **Handle `Public Response Fields`** Parse and validate the `Public Response Fields`, checking the status code or response message to ensure the request is successful and error-free. 2. **Handle `Business Response Fields`** If the `Public Response Fields` are valid and error-free, proceed with processing the business logic in the `Business Response Fields`. ### Public Response Fields Viewing Public Response Fields and Error Codes ### Business Response Fields | Field | Type | Description | | :------------------ | :------------ | :---------------------------------------------------------------- | | `left_side_result` | `json string` | Results of side face analysis. [More Details](#left_side_result) | | `right_side_result` | `json string` | Results of side face analysis. [More Details](#right_side_result) | | `face_rectangle` | `object` | Face position. [More Details](#face_rectangle) | | `result` | `object` | Results of face skin analysis. [More Details](#result) | #### `left_side_result` | Field | Type | Scope | Description | | :---------------------- | :-------- | :--------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | +`left_jawline_quality` | `integer` | `1`, `2`, `3`, `4`, `5`, `6` | Side face photo quality. When you select the jawline function during the entry, you can take the corresponding picture to call the interface and judge the side face. ``1`: The quality is excellent, and the angle of the side face shot of the human face for the uploaded photos is 20°~120°. **Return the angle and coordinate result.**` ``2`: The angle of the side face is slightly lower, and the angle of the side face of the photo is less than 20°. **Do not return angle and coordinate results.**` ``3`: The angle of the side face is slightly larger, and the angle of the side face of the photo is greater than 120°. **Do not return angle and coordinate results.**` ``4`: No face is detected. **Do not return angle and coordinate results.**` ``5`: Invalid human face. **Do not return angle and coordinate results.**` ``6`: Other situations. **Do not return angle and coordinate results.**` | | +`left_jawline_angle` | `float` | | The angle of the jawline. | | +`left_jawline_mark` | `array` | | Coordinates of jawline face key points. | #### `right_side_result` | Field | Type | Scope | Description | | :----------------------- | :-------- | :--------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | +`right_jawline_quality` | `integer` | `1`, `2`, `3`, `4`, `5`, `6` | Side face photo quality. When you select the jawline function during the entry, you can take the corresponding picture to call the interface and judge the side face. ``1`: The quality is excellent, and the angle of the side face shot of the human face for the uploaded photos is 20°~120°. **Return the angle and coordinate result.**` ``2`: The angle of the side face is slightly lower, and the angle of the side face of the photo is less than 20°. **Do not return angle and coordinate results.**` ``3`: The angle of the side face is slightly larger, and the angle of the side face of the photo is greater than 120°. **Do not return angle and coordinate results.**` ``4`: No face is detected. **Do not return angle and coordinate results.**` ``5`: Invalid human face. **Do not return angle and coordinate results.**` ``6`: Other situations. **Do not return angle and coordinate results.**` | | +`right_jawline_angle` | `float` | | The angle of the jawline. | | +`right_jawline_mark` | `array` | | Coordinates of jawline face key points. | #### `face_rectangle` | Field | Type | Description | | :-------- | :------ | :---------------------------------------------------------------------------------------- | | +`top` | `float` | The vertical coordinate of the pixel point in the upper-left corner of the rectangle box. | | +`left` | `float` | The horizontal coordinate of the pixel point in the upper-left corner of the rectangle. | | +`width` | `float` | The width of the rectangle box. | | +`height` | `float` | The height of the rectangle box. | #### `result` | Modules | | :-------------------------------------------- | | [Image quality](#image_quality) | | [Skin Type Analysis](#skin_type_analysis) | | [Roughness analysis](#roughness_analysis) | | [Pigmentation](#pigmentation) | | [Acne Analysis](#acne_analysis) | | [Sensitivity Analysis](#sensitivity_analysis) | | [Senescence analysis](#senescence_analysis) | | [Eye Analysis](#eye_analysis) | | [Overall Score](#overall_score) | | [Customization](#customization) | ##### Image quality | Field | Type | Scope | Description | | :------------------- | :------------ | :------- | :-------------------------------------------------------------------------------------------------------------------------------------- | | +`image_quality` | `json string` | | | | ++`face_ratio` | `float` | | The proportion of the human face to the whole photo. | | ++`face_orientation` | `object` | | Face 3D angle. | | +++`yaw` | `float` | | Yaw angle. The angle of rotation around the Y-axis. It is expressed as the horizontal rotation of the head to the left or right. | | +++`pitch` | `float` | | Pitch angle. The angle of rotation around the X-axis. Expressed as head pitch and tilt. | | +++`roll` | `float` | | Scroll angle. The angle of rotation around the Z axis, expressed as the rotation of the face photo seen from the front. | | ++`face_rect` | `float` | | The coordinate value of the face can be keyed out by returning the coordinate value of the face according to the key point of the face. | | +++`top` | `float` | | | | +++`left` | `float` | | | | +++`width` | `float` | | | | +++`height` | `float` | | | | ++`hair_occlusion` | `float` | | The proportion of bangs to the human face. | | ++`glasses` | `integer` | `0`, `1` | ``0`: No eyeglasses were worn.` ``1`: Wearing eyeglasses.` | ##### Skin Type Analysis | Field | Type | Scope | Description | | :------------------- | :-------- | :-------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | +`skin_type` | `object` | | Skin texture test results. | | ++`skin_type` | `integer` | `0`, `1`, `2`, `3` | Type. ``0`: Oily skin.` ``1`: Dry skin.` ``2`: Neutral skin.` ``3`: Combination skin.` | | ++`details` | `object` | | The confidence level of each classification. | | +++`0` | `object` | | Oily skin information. | | ++++`value` | `integer` | `0`, `1` | Oily skin. ``0`: No.` ``1`: Yes.` | | ++++`confidence` | `float` | | Confidence. | | +++`1` | `object` | | Dry skin information. | | ++++`value` | `integer` | `0`, `1` | Dry skin. ``0`: No.` ``1`: Yes.` | | ++++`confidence` | `float` | | Confidence. | | +++`2` | `object` | | Neutral skin information. | | ++++`value` | `integer` | `0`, `1` | Neutral skin. ``0`: No.` ``1`: Yes.` | | ++++`confidence` | `float` | | Confidence. | | +++`3` | `object` | | Combination skin information. | | ++++`value` | `integer` | `0`, `1` | Combination skin. ``0`: No.` ``1`: Yes.` | | ++++`confidence` | `float` | | Confidence. | | +`oily_intensity` | `object` | | Oil output level detection. | | ++`t_zone` | `object` | | T-zone. | | +++`area` | `object` | \[0, 1] | Area share. | | +++`intensity` | `integer` | `0`, `1`, `2` | Severity of oiling. ``0`: No shine or slight shine.` ``1`: Medium shine phenomenon.` \`\`2`: Severe oiling.` | | ++`left_cheek` | `object` | | Left cheek. | | +++`area` | `object` | \[0, 1] | Area share. | | +++`intensity` | `integer` | `0`, `1`, `2` | Severity of oiling. ``0`: No shine or slight shine.` ``1`: Medium shine phenomenon.` \`\`2`: Severe oiling.` | | ++`right_cheek` | `object` | | Right cheek. | | +++`area` | `object` | \[0, 1] | Area share. | | +++`intensity` | `integer` | `0`, `1`, `2` | Severity of oiling. ``0`: No shine or slight shine.` ``1`: Medium shine phenomenon.` \`\`2`: Severe oiling.` | | ++`chin_area` | `object` | | Chin area. | | +++`area` | `object` | \[0, 1] | Area share. | | +++`intensity` | `integer` | `0`, `1`, `2` | Severity of oiling. ``0`: No shine or slight shine.` ``1`: Medium shine phenomenon.` \`\`2`: Severe oiling.` | | +`water` | `object` | | The percentage of dehydrated skin on the forehead, cheeks and chin, the percentage of overall facial dehydrated area and the severity of dehydration. | | ++`water_severity` | `float` | \[0, 100] | Severity of water shortage . | | ++`water_area` | `float` | | Percentage of water deficit area . | | ++`water_forehead` | `object` | | Percentage of forehead deficiency area. | | +++`area` | `float` | \[0, 1] | Area share. | | ++`water_rightcheek` | `object` | | Percentage of dehydrated area on the right cheek. | | +++`area` | `float` | \[0, 1] | Area share. | | ++`water_leftcheek` | `object` | | Percentage of dehydrated area on the left cheek. | | +++`area` | `float` | \[0, 1] | Area share. | | +`skin_tone` | `object` | | Skin color test results. | | ++`value` | `integer` | `0`, `1`, `2`, `3`, `4` | Skin color. ``0`: Translucency.` ``1`: Fairness.` ``2`: Natural.` ``3`: Wheat.` \`\`4`: Tanned/Bronze.` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`skintone_ita` | `object` | | Returns skin color classification information based on the ITA (Individual Typology Angle) standard. **[NOTE](#skintone_ita)** | | ++`ITA` | `float` | \[-90, 90] | Angle value. | | ++`skintone` | `integer` | `0`, `1`, `2`, `3`, `4`, `5`, `6` | Classified according to the skin tone of ITA. ``0`: Very light.` ``1`: Light.` ``2`: Intermediate.` ``3`: Tan.` ``4`: Brown.` ``5`: Dark.` \`\`6`: Abnormal color values that may be caused by weak lighting conditions or overexposure.` | | +`skin_hue_ha` | `object` | | Returns skin tone classification information based on HA (Hue Angle). **[NOTE](#skin_hue_ha)** | | ++`HA` | `float` | \[0, 90] | HA angle value. | | ++`skintone` | `integer` | `0`, `1`, `2`, `3` | Classified according to HA's skin tone hue. ``0`: Yellowish.` ``1`: Neutral.` ``2`: Reddish.` ``3`: Abnormal hue values may be caused by abnormal ambient light tones or weak light environment or overexposure.` | ##### Roughness analysis | Field | Type | Scope | Description | | :--------------------- | :-------- | :----------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | +`blackhead` | `object` | | Blackhead information. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: No blackheads, number of blackheads ∈ [0, 45].` ``1`: Mild, number of blackheads ∈ [46, 90].` ``2`: Moderate, number of blackheads ∈ [91, 150].` ``3`: Severe, number of blackheads ∈ [151 or more].` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`blackhead_count` | `integer` | | Number of blackheads on the nose area. | | +`enlarged_pore_count` | `object` | | The number of enlarged pores and the percentage of enlarged pore area. | | ++`forehead` | `object` | | Forehead. | | +++`count` | `integer` | | Number of enlarged pores. | | +++`area` | `float` | \[0, 1] | Percentage of enlarged pore area. | | ++`left_cheek_count` | `object` | | Left cheek. | | +++`count` | `integer` | | Number of enlarged pores. | | +++`area` | `float` | \[0, 1] | Percentage of enlarged pore area. | | ++`right_cheek_count` | `object` | | Right cheek. | | +++`count` | `integer` | | Number of enlarged pores. | | +++`area` | `float` | \[0, 1] | Percentage of enlarged pore area. | | ++`chin_count` | `object` | | Chin. | | +++`count` | `integer` | | Number of enlarged pores. | | +++`area` | `float` | \[0, 1] | Percentage of enlarged pore area. | | +`pores_forehead` | `object` | | The severity of enlarged forehead pores. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: No pores, number of pores ∈ [0, 100].` ``1`: Mildly, the number of pores ∈ [101, 200].` ``2`: Moderate, number of pores ∈ [201, 400].` ``3`: Severe, number of pores ∈ [401 or more].` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`pores_rightcheek` | `object` | | The severity of enlarged pores on the right cheek. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: No pores, number of pores ∈ [0, 80].` ``1`: Mildly, the number of pores ∈ [81, 180].` ``2`: Moderate, number of pores ∈ [181, 280].` ``3`: Severe, number of pores ∈ [281 or more].` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`pores_leftcheek` | `object` | | The severity of enlarged pores on the left cheek. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: No pores, number of pores ∈ [0, 80].` ``1`: Mildly, the number of pores ∈ [81, 180].` ``2`: Moderate, number of pores ∈ [181, 280].` ``3`: Severe, number of pores ∈ [281 or more].` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`pores_jaw` | `object` | | The severity of enlarged pores on the chin. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: No pores, number of pores ∈ [0, 50].` ``1`: Mildly, the number of pores ∈ [51, 100].` ``2`: Moderate, number of pores ∈ [101, 150].` ``3`: Severe, number of pores ∈ [151 or more].` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`rough` | `object` | | Output the percentage of rough skin area on forehead, cheeks and chin, the percentage of overall facial rough area and the severity of roughness. | | ++`rough_severity` | `integer` | \[0, 100] | Severity. | | ++`rough_area` | `float` | \[0, 1] | Area share. | | ++`rough_forehead` | `object` | | Forehead. | | +++`area` | `float` | \[0, 1] | Area share. | | ++`rough_rightcheek` | `object` | | Right cheek. | | +++`area` | `float` | \[0, 1] | Area share. | | ++`rough_leftcheek` | `object` | | Left cheek. | | +++`area` | `float` | \[0, 1] | Area share. | | ++`rough_jaw` | `object` | | Jaw. | | +++`area` | `float` | \[0, 1] | Area share. | ##### Pigmentation | Field | Type | Scope | Description | | :------------------------ | :-------- | :-------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | +`melanin` | `object` | | Return the skin pigmentation of the human face in the photo. | | ++`brown_area` | `float` | \[0, 1] | Percentage of full-face area of pigmented areas. | | ++`melanin_concentration` | `float` | \[0, 100] | Degree of pigmentation. | | ++`brown_forehead` | `float` | \[0, 1] | Percentage of forehead hyperpigmentation area. | | ++`brown_rightcheek` | `float` | \[0, 1] | Percentage of hyperpigmented area on the right cheek. | | ++`brown_leftcheek` | `float` | \[0, 1] | Percentage of hyperpigmented area on the left cheek. | | +`melanin_mark` | `object` | | Information on the pigmented areas of the brown area map. | | ++`polygon` | `array` | | A collection of polygon coordinates within the brown area map, each polygon representing the x and y coordinate values of the outer contour line of a hyperpigmented area. | | +++ | `array` | | | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +`mole` | `Object` | | Information for each mole area. | | ++`rectangle` | `array` | | The position of each mole frame. | | +++`width` | `float` | | Width. | | +++`height` | `float` | | Height. | | +++`left` | `float` | | The distance from the leftmost part of the picture. | | +++`top` | `float` | | The distance from the topmost edge of the image. | | ++`confidence` | `array` | | The confidence level of each mole region. | | ++`polygon` | `array` | | Within each mole box, the more detailed polygon contour lines of the problem area, returning the x and y coordinate values of the vertices of each polygon mole area. | | +++ | `array` | | | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +`brown_spot` | `Object` | | Information for each discolored area. | | ++`rectangle` | `array` | | The position of each color spot box. | | +++`width` | `float` | | Width. | | +++`height` | `float` | | Height. | | +++`left` | `float` | | The distance from the leftmost part of the picture. | | +++`top` | `float` | | The distance from the topmost edge of the image. | | ++`confidence` | `array` | | Confidence level for each chromatophore region. | | ++`polygon` | `array` | | A more detailed polygon contour line of the problem area within each color spot box, returning the x and y coordinate values of the vertices of each polygon acne area. | | +++ | `array` | | | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +`melasma` | `Object` | | Melasma information. | | ++`value` | `integer` | `0`, `1` | ``0`: No melasma.` ``1`: There is melasma.` | | ++`confidence` | `float` | | Confidence. | | +`freckle` | `Object` | | Freckle information. | | ++`value` | `integer` | `0`, `1` | ``0`: No freckles.` ``1`: There are freckles.` | | ++`confidence` | `float` | | Confidence. | ##### Acne Analysis | Field | Type | Scope | Description | | :------------------ | :------- | :---- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | +`acne` | `Object` | | Acne Test - Light Papule Test (Light papules are a category of less symptomatic acne phenomena that present as rice- to soy-sized bumps accompanied by inflammatory redness and symptoms such as pain and itching) returns a rectangular box for each papule area and a more detailed polygon box. | | ++`rectangle` | `array` | | The location of each papule box. | | +++`width` | `float` | | Width. | | +++`height` | `float` | | Height. | | +++`left` | `float` | | The distance from the leftmost part of the picture. | | +++`top` | `float` | | The distance from the topmost edge of the image. | | ++`confidence` | `array` | | Confidence level of each papule box. | | ++`polygon` | `array` | | Within each papule box, the more detailed polygonal contour lines of the problem area return the x and y coordinate values of the vertices of each polygonal papule area. | | +++ | `array` | | | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +`acne_pustule` | `Object` | | Acne Detection - Pustular Papule Detection (Pustular papules are acne phenomena with milky, yellowish pus visible to the naked eye and appear as mound-like bumps with milky, yellowish pus) returns rectangular boxes and more detailed polygonal boxes for each area of pustular acne. | | ++`rectangle` | `array` | | The location of each pustule box. | | +++`width` | `float` | | Width. | | +++`height` | `float` | | Height. | | +++`left` | `float` | | The distance from the leftmost part of the picture. | | +++`top` | `float` | | The distance from the topmost edge of the image. | | ++`confidence` | `array` | | Confidence level of each pustule box. | | ++`polygon` | `array` | | The more detailed polygonal contour lines of the problem area within each pustule box, returning the x and y coordinate values of the vertices of each polygonal pustule area. | | +++ | `array` | | | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +`acne_nodule` | `Object` | | Acne Detection - Acne Nodule Detection (Acne nodules are a more severe type of acne phenomenon that appears as small, pea-sized bumps that are hard to the touch caused by the accumulation of subcutaneous lipids and pus) returns a rectangular box and a more detailed polygon box for each acne nodule area. | | ++`rectangle` | `array` | | The position of each nodal box. | | +++`width` | `float` | | Width. | | +++`height` | `float` | | Height. | | +++`left` | `float` | | The distance from the leftmost part of the picture. | | +++`top` | `float` | | The distance from the topmost edge of the image. | | ++`confidence` | `array` | | The confidence level of each nodal box. | | ++`polygon` | `array` | | Within each nodal box, the more detailed polygon contour lines of the problem region, returning the x and y coordinate values of the vertices of each polygon nodal region. | | +++ | `array` | | | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +`acne_mark` | `Object` | | Red Acne Mark Detection - Detects red-purple acne marks that appear after facial acne has healed returning rectangular boxes and more detailed polygonal boxes for each acne mark area. | | ++`rectangle` | `array` | | The location of each pockmark box. | | +++`width` | `float` | | Width. | | +++`height` | `float` | | Height. | | +++`left` | `float` | | The distance from the leftmost part of the picture. | | +++`top` | `float` | | The distance from the topmost edge of the image. | | ++`confidence` | `array` | | Confidence level of each pockmark box. | | ++`polygon` | `array` | | A more detailed polygon contour line of the problem area within each pockmark box, returning the x and y coordinate values of the vertices of each polygon pockmark area. | | +++ | `array` | | | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +`closed_comedones` | `Object` | | Rectangular boxes and more detailed polygonal boxes for each occlusive acne area. | | ++`rectangle` | `array` | | The location of each closed-cell acne box. | | +++`width` | `float` | | Width. | | +++`height` | `float` | | Height. | | +++`left` | `float` | | The distance from the leftmost part of the picture. | | +++`top` | `float` | | The distance from the topmost edge of the image. | | ++`confidence` | `array` | | Confidence level of each closed-jaw acne box. | | ++`polygon` | `array` | | A more detailed polygon contour line of the problem area within each closed acne box, returning the x and y coordinate values of the vertices of each polygon closed acne area. | | +++ | `array` | | | | ++++`x` | `float` | | | | ++++`y` | `float` | | | ##### Sensitivity Analysis | Field | Type | Scope | Description | | :------------------------ | :------- | :-------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | +`sensitivity` | `object` | | `This return value must be used with red area maps, and you need to set the return red area map (`red\_area`) in the input parameter `return\_maps` first.` | | ++`sensitivity_area` | `float` | \[0, 1] | The percentage of sensitive skin area on the whole face. Sensitive redness areas include cheeks, T-zone, etc. | | ++`sensitivity_intensity` | `float` | \[0, 100] | The intensity of redness in sensitive areas. | | +`sensitivity_mark` | `object` | | The location of the polygon box in the sensitive muscle area of the red zone diagram. | | ++`polygon` | `array` | | The set of polygon coordinates within the red zone map, each polygon represents the x and y coordinate values of the outer contour line of a sensitive muscle region. | | +++ | `array` | | | | ++++`x` | `float` | | | | ++++`y` | `float` | | | ##### Senescence analysis | Field | Type | Scope | Description | | :-------------------------------- | :-------- | :----------------- | :-------------------------------------------------------------------------------------------------------- | | +`skin_age` | `object` | | Skin age test results. | | ++`value` | `integer` | \[0, 100] | Skin age. | | +`forehead_wrinkle` | `object` | | Results of the head lift test. | | ++`value` | `integer` | `0`, `1` | ``0`: No head lines.` ``1`: There are head lines.` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`crows_feet` | `object` | | Crow's feet test results. | | ++`value` | `integer` | `0`, `1` | ``0`: No crow's feet.` ``1`: With crow's feet.` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`eye_finelines` | `object` | | Results of the eye fine lines test. | | ++`value` | `integer` | `0`, `1` | ``0`: No fine lines under the eyes.` ``1`: With fine lines under the eyes.` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`glabella_wrinkle` | `object` | | Results of the interbrow line test. | | ++`value` | `integer` | `0`, `1` | ``0`: No interbrow lines.` ``1`: With interbrow lines.` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`nasolabial_fold` | `object` | | Results of the forehead line test. | | ++`value` | `integer` | `0`, `1` | ``0`: No lines.` ``1`: There are lines.` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`nasolabial_fold_severity` | `object` | | Severity of the forehead lines. Returned when \[`nasolabial_fold`=1]. | | ++`value` | `integer` | `0`, `1`, `2` | ``0`: Mild.` ``1`: Moderate.` \`\`2`: Severe.` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`left_mouth_wrinkle_severity` | `object` | | The presence & severity of marionette lines on the left side of the face. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`right_mouth_wrinkle_severity` | `object` | | The presence & severity of marionette lines on the right side of the face. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`forehead_wrinkle_severity` | `object` | | The severity of the headline. Returned when \[`forehead_wrinkle`=1]. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`left_crows_feet_severity` | `object` | | The presence & severity of crow's feet on the left side of the face. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`right_crows_feet_severity` | `object` | | The presence & severity of crow's feet on the right side of the face. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`left_eye_finelines_severity` | `object` | | The presence & severity of fine lines under the eyes on the left side of the face. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`right_eye_finelines_severity` | `object` | | The presence & severity of fine lines under the eyes on the right side of the face. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`glabella_wrinkle_severity` | `object` | | The presence & severity of fine lines between the eyebrows. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`left_nasolabial_fold_severity` | `object` | | The presence or absence & severity of the left facial lines. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`right_nasolabial_fold_severity` | `object` | | The presence or absence & severity of right facial lines. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`left_cheek_wrinkle_severity` | `object` | | The presence & severity of left cheek lines. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`right_cheek_wrinkle_severity` | `object` | | The presence & severity of right cheek lines lines. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`fine_line` | `object` | | Number of fine lines detected. | | ++`forehead_count` | `integer` | | Forehead. | | ++`left_undereye_count` | `integer` | | Fine lines in the left eye. | | ++`right_undereye_count` | `integer` | | Fine lines in the right eye. | | ++`left_cheek_count` | `integer` | | Left cheek. | | ++`right_cheek_count` | `integer` | | Right cheek. | | ++`left_crowsfeet_count` | `integer` | | Crow's feet in the left eye. | | ++`right_crowsfeet_count` | `integer` | | Crow's feet in the right eye. | | ++`glabella_count` | `integer` | | Interbrow lines. | | +`wrinkle_count` | `object` | | Number of deep grain detection. | | ++`forehead_count` | `integer` | | Forehead. | | ++`left_undereye_count` | `integer` | | Fine lines in the left eye. | | ++`right_undereye_count` | `integer` | | Fine lines in the right eye. | | ++`left_cheek_count` | `integer` | | Left cheek. | | ++`right_cheek_count` | `integer` | | Right cheek. | | ++`left_crowsfeet_count` | `integer` | | Crow's feet in the left eye. | | ++`right_crowsfeet_count` | `integer` | | Crow's feet in the right eye. | | ++`glabella_count` | `integer` | | Interbrow lines. | | ++`left_mouth_count` | `integer` | | Puppet pattern at the left corner of the mouth. | | ++`right_mouth_count` | `integer` | | Puppet pattern at the right corner of the mouth. | | ++`left_nasolabial_count` | `integer` | | The left legal line. | | ++`right_nasolabial_count` | `integer` | | The right wrinkle. | | +`forehead_wrinkle_info` | `object` | | Number of deep grain detection. | | ++`wrinkle_score` | `integer` | \[0, 100] | Wrinkle score. | | ++`wrinkle_severity_level` | `integer` | `0`, `1`, `2`, `3` | Wrinkle severity level. ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | ++`wrinkle_norm_length` | `float` | | Wrinkle-normalized length. | | ++`wrinkle_norm_depth` | `float` | | Wrinkle normalized depth. | | ++`wrinkle_pixel_density` | `float` | | Wrinkle pixel density. | | ++`wrinkle_area_ratio` | `float` | \[0, 1] | Percentage of wrinkled area. | | ++`wrinkle_deep_ratio` | `float` | \[0, 1] | Percentage of deep grain length. | | ++`wrinkle_deep_num` | `integer` | | Number of deep lines. | | ++`wrinkle_shallow_num` | `integer` | | Number of shallow lines. | | ++`forehead_wrinkle_list` | `array` | | Sub-wrinkle information. | | +++`wrinkle_coord` | `array` | | Subwrinkle pixel coordinates. | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +++`wrinkle_coord` | `float` | | Sub-wrinkle depth. | | +++`wrinkle_length` | `float` | | Subwrinkle length. | | +`left_eye_wrinkle_info` | `object` | | Left eye wrinkle information. | | ++`wrinkle_score` | `integer` | \[0, 100] | Wrinkle score. | | ++`wrinkle_severity_level` | `integer` | `0`, `1`, `2`, `3` | Wrinkle severity level. ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | ++`wrinkle_norm_length` | `float` | | Wrinkle-normalized length. | | ++`wrinkle_norm_depth` | `float` | | Wrinkle normalized depth. | | ++`wrinkle_pixel_density` | `float` | | Wrinkle pixel density. | | ++`wrinkle_area_ratio` | `float` | \[0, 1] | Percentage of wrinkled area. | | ++`wrinkle_deep_ratio` | `float` | \[0, 1] | Percentage of deep grain length. | | ++`wrinkle_deep_num` | `integer` | | Number of deep lines. | | ++`wrinkle_shallow_num` | `integer` | | Number of shallow lines. | | ++`forehead_wrinkle_list` | `array` | | Sub-wrinkle information. | | +++`wrinkle_coord` | `array` | | Subwrinkle pixel coordinates. | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +++`wrinkle_coord` | `float` | | Sub-wrinkle depth. | | +++`wrinkle_length` | `float` | | Subwrinkle length. | | +`right_eye_wrinkle_info` | `object` | | Right eye wrinkle information. | | ++`wrinkle_score` | `integer` | \[0, 100] | Wrinkle score. | | ++`wrinkle_severity_level` | `integer` | `0`, `1`, `2`, `3` | Wrinkle severity level. ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | ++`wrinkle_norm_length` | `float` | | Wrinkle-normalized length. | | ++`wrinkle_norm_depth` | `float` | | Wrinkle normalized depth. | | ++`wrinkle_pixel_density` | `float` | | Wrinkle pixel density. | | ++`wrinkle_area_ratio` | `float` | \[0, 1] | Percentage of wrinkled area. | | ++`wrinkle_deep_ratio` | `float` | \[0, 1] | Percentage of deep grain length. | | ++`wrinkle_deep_num` | `integer` | | Number of deep lines. | | ++`wrinkle_shallow_num` | `integer` | | Number of shallow lines. | | ++`forehead_wrinkle_list` | `array` | | Sub-wrinkle information. | | +++`wrinkle_coord` | `array` | | Subwrinkle pixel coordinates. | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +++`wrinkle_coord` | `float` | | Sub-wrinkle depth. | | +++`wrinkle_length` | `float` | | Subwrinkle length. | | +`left_crowsfeet_wrinkle_info` | `object` | | Left fishtail information. | | ++`wrinkle_score` | `integer` | \[0, 100] | Wrinkle score. | | ++`wrinkle_severity_level` | `integer` | `0`, `1`, `2`, `3` | Wrinkle severity level. ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | ++`wrinkle_norm_length` | `float` | | Wrinkle-normalized length. | | ++`wrinkle_norm_depth` | `float` | | Wrinkle normalized depth. | | ++`wrinkle_pixel_density` | `float` | | Wrinkle pixel density. | | ++`wrinkle_area_ratio` | `float` | \[0, 1] | Percentage of wrinkled area. | | ++`wrinkle_deep_ratio` | `float` | \[0, 1] | Percentage of deep grain length. | | ++`wrinkle_deep_num` | `integer` | | Number of deep lines. | | ++`wrinkle_shallow_num` | `integer` | | Number of shallow lines. | | ++`forehead_wrinkle_list` | `array` | | Sub-wrinkle information. | | +++`wrinkle_coord` | `array` | | Subwrinkle pixel coordinates. | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +++`wrinkle_coord` | `float` | | Sub-wrinkle depth. | | +++`wrinkle_length` | `float` | | Subwrinkle length. | | +`right_crowsfeet_wrinkle_info` | `object` | | Right fishtail information. | | ++`wrinkle_score` | `integer` | \[0, 100] | Wrinkle score. | | ++`wrinkle_severity_level` | `integer` | `0`, `1`, `2`, `3` | Wrinkle severity level. ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | ++`wrinkle_norm_length` | `float` | | Wrinkle-normalized length. | | ++`wrinkle_norm_depth` | `float` | | Wrinkle normalized depth. | | ++`wrinkle_pixel_density` | `float` | | Wrinkle pixel density. | | ++`wrinkle_area_ratio` | `float` | \[0, 1] | Percentage of wrinkled area. | | ++`wrinkle_deep_ratio` | `float` | \[0, 1] | Percentage of deep grain length. | | ++`wrinkle_deep_num` | `integer` | | Number of deep lines. | | ++`wrinkle_shallow_num` | `integer` | | Number of shallow lines. | | ++`forehead_wrinkle_list` | `array` | | Sub-wrinkle information. | | +++`wrinkle_coord` | `array` | | Subwrinkle pixel coordinates. | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +++`wrinkle_coord` | `float` | | Sub-wrinkle depth. | | +++`wrinkle_length` | `float` | | Subwrinkle length. | | +`glabella_wrinkle_info` | `object` | | Information on the lines between the eyebrows. | | ++`wrinkle_score` | `integer` | \[0, 100] | Wrinkle score. | | ++`wrinkle_severity_level` | `integer` | `0`, `1`, `2`, `3` | Wrinkle severity level. ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | ++`wrinkle_norm_length` | `float` | | Wrinkle-normalized length. | | ++`wrinkle_norm_depth` | `float` | | Wrinkle normalized depth. | | ++`wrinkle_pixel_density` | `float` | | Wrinkle pixel density. | | ++`wrinkle_area_ratio` | `float` | \[0, 1] | Percentage of wrinkled area. | | ++`wrinkle_deep_ratio` | `float` | \[0, 1] | Percentage of deep grain length. | | ++`wrinkle_deep_num` | `integer` | | Number of deep lines. | | ++`wrinkle_shallow_num` | `integer` | | Number of shallow lines. | | ++`forehead_wrinkle_list` | `array` | | Sub-wrinkle information. | | +++`wrinkle_coord` | `array` | | Subwrinkle pixel coordinates. | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +++`wrinkle_coord` | `float` | | Sub-wrinkle depth. | | +++`wrinkle_length` | `float` | | Subwrinkle length. | | +`left_mouth_wrinkle_info` | `object` | | Information on the left corner of the mouth tattoo. | | ++`wrinkle_score` | `integer` | \[0, 100] | Wrinkle score. | | ++`wrinkle_severity_level` | `integer` | `0`, `1`, `2`, `3` | Wrinkle severity level. ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | ++`wrinkle_norm_length` | `float` | | Wrinkle-normalized length. | | ++`wrinkle_norm_depth` | `float` | | Wrinkle normalized depth. | | ++`wrinkle_pixel_density` | `float` | | Wrinkle pixel density. | | ++`wrinkle_area_ratio` | `float` | \[0, 1] | Percentage of wrinkled area. | | ++`wrinkle_deep_ratio` | `float` | \[0, 1] | Percentage of deep grain length. | | ++`wrinkle_deep_num` | `integer` | | Number of deep lines. | | ++`wrinkle_shallow_num` | `integer` | | Number of shallow lines. | | ++`forehead_wrinkle_list` | `array` | | Sub-wrinkle information. | | +++`wrinkle_coord` | `array` | | Subwrinkle pixel coordinates. | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +++`wrinkle_coord` | `float` | | Sub-wrinkle depth. | | +++`wrinkle_length` | `float` | | Subwrinkle length. | | +`right_mouth_wrinkle_info` | `object` | | Information on the right corner of the mouth tattoo. | | ++`wrinkle_score` | `integer` | \[0, 100] | Wrinkle score. | | ++`wrinkle_severity_level` | `integer` | `0`, `1`, `2`, `3` | Wrinkle severity level. ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | ++`wrinkle_norm_length` | `float` | | Wrinkle-normalized length. | | ++`wrinkle_norm_depth` | `float` | | Wrinkle normalized depth. | | ++`wrinkle_pixel_density` | `float` | | Wrinkle pixel density. | | ++`wrinkle_area_ratio` | `float` | \[0, 1] | Percentage of wrinkled area. | | ++`wrinkle_deep_ratio` | `float` | \[0, 1] | Percentage of deep grain length. | | ++`wrinkle_deep_num` | `integer` | | Number of deep lines. | | ++`wrinkle_shallow_num` | `integer` | | Number of shallow lines. | | ++`forehead_wrinkle_list` | `array` | | Sub-wrinkle information. | | +++`wrinkle_coord` | `array` | | Subwrinkle pixel coordinates. | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +++`wrinkle_coord` | `float` | | Sub-wrinkle depth. | | +++`wrinkle_length` | `float` | | Subwrinkle length. | | +`left_nasolabial_wrinkle_info` | `object` | | Information about the left legal line. | | ++`wrinkle_score` | `integer` | \[0, 100] | Wrinkle score. | | ++`wrinkle_severity_level` | `integer` | `0`, `1`, `2`, `3` | Wrinkle severity level. ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | ++`wrinkle_norm_length` | `float` | | Wrinkle-normalized length. | | ++`wrinkle_norm_depth` | `float` | | Wrinkle normalized depth. | | ++`wrinkle_pixel_density` | `float` | | Wrinkle pixel density. | | ++`wrinkle_area_ratio` | `float` | \[0, 1] | Percentage of wrinkled area. | | ++`wrinkle_deep_ratio` | `float` | \[0, 1] | Percentage of deep grain length. | | ++`wrinkle_deep_num` | `integer` | | Number of deep lines. | | ++`wrinkle_shallow_num` | `integer` | | Number of shallow lines. | | ++`forehead_wrinkle_list` | `array` | | Sub-wrinkle information. | | +++`wrinkle_coord` | `array` | | Subwrinkle pixel coordinates. | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +++`wrinkle_coord` | `float` | | Sub-wrinkle depth. | | +++`wrinkle_length` | `float` | | Subwrinkle length. | | +`right_nasolabial_wrinkle_info` | `object` | | Information on the right-hand wrinkle. | | ++`wrinkle_score` | `integer` | \[0, 100] | Wrinkle score. | | ++`wrinkle_severity_level` | `integer` | `0`, `1`, `2`, `3` | Wrinkle severity level. ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | ++`wrinkle_norm_length` | `float` | | Wrinkle-normalized length. | | ++`wrinkle_norm_depth` | `float` | | Wrinkle normalized depth. | | ++`wrinkle_pixel_density` | `float` | | Wrinkle pixel density. | | ++`wrinkle_area_ratio` | `float` | \[0, 1] | Percentage of wrinkled area. | | ++`wrinkle_deep_ratio` | `float` | \[0, 1] | Percentage of deep grain length. | | ++`wrinkle_deep_num` | `integer` | | Number of deep lines. | | ++`wrinkle_shallow_num` | `integer` | | Number of shallow lines. | | ++`forehead_wrinkle_list` | `array` | | Sub-wrinkle information. | | +++`wrinkle_coord` | `array` | | Subwrinkle pixel coordinates. | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +++`wrinkle_coord` | `float` | | Sub-wrinkle depth. | | +++`wrinkle_length` | `float` | | Subwrinkle length. | | +`left_cheek_wrinkle_info` | `object` | | Left face wrinkle information. | | ++`wrinkle_score` | `integer` | \[0, 100] | Wrinkle score. | | ++`wrinkle_severity_level` | `integer` | `0`, `1`, `2`, `3` | Wrinkle severity level. ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | ++`wrinkle_norm_length` | `float` | | Wrinkle-normalized length. | | ++`wrinkle_norm_depth` | `float` | | Wrinkle normalized depth. | | ++`wrinkle_pixel_density` | `float` | | Wrinkle pixel density. | | ++`wrinkle_area_ratio` | `float` | \[0, 1] | Percentage of wrinkled area. | | ++`wrinkle_deep_ratio` | `float` | \[0, 1] | Percentage of deep grain length. | | ++`wrinkle_deep_num` | `integer` | | Number of deep lines. | | ++`wrinkle_shallow_num` | `integer` | | Number of shallow lines. | | ++`forehead_wrinkle_list` | `array` | | Sub-wrinkle information. | | +++`wrinkle_coord` | `array` | | Subwrinkle pixel coordinates. | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +++`wrinkle_coord` | `float` | | Sub-wrinkle depth. | | +++`wrinkle_length` | `float` | | Subwrinkle length. | | +`right_cheek_wrinkle_info` | `object` | | Right face wrinkle information. | | ++`wrinkle_score` | `integer` | \[0, 100] | Wrinkle score. | | ++`wrinkle_severity_level` | `integer` | `0`, `1`, `2`, `3` | Wrinkle severity level. ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | ++`wrinkle_norm_length` | `float` | | Wrinkle-normalized length. | | ++`wrinkle_norm_depth` | `float` | | Wrinkle normalized depth. | | ++`wrinkle_pixel_density` | `float` | | Wrinkle pixel density. | | ++`wrinkle_area_ratio` | `float` | \[0, 1] | Percentage of wrinkled area. | | ++`wrinkle_deep_ratio` | `float` | \[0, 1] | Percentage of deep grain length. | | ++`wrinkle_deep_num` | `integer` | | Number of deep lines. | | ++`wrinkle_shallow_num` | `integer` | | Number of shallow lines. | | ++`forehead_wrinkle_list` | `array` | | Sub-wrinkle information. | | +++`wrinkle_coord` | `array` | | Subwrinkle pixel coordinates. | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +++`wrinkle_coord` | `float` | | Sub-wrinkle depth. | | +++`wrinkle_length` | `float` | | Subwrinkle length. | | +`cheekbone_mark` | `object` | | Information about the coordinates of the left apple muscle and the coordinates of the right apple muscle. | | ++`left_cheekbone_mark` | `array` | | Left apple muscle coordinates. | | +++`x` | `float` | | | | +++`y` | `float` | | | | ++`left_cheekbone_mark` | `array` | | Right apple muscle coordinates. | | +++`x` | `float` | | | | +++`y` | `float` | | | ##### Eye Analysis | Field | Type | Scope | Description | | :----------------------------------- | :-------- | :----------------- | :------------------------------------------------------------------------------------------------------------------------------------ | | +`eye_pouch` | `object` | | Eye bag test results. | | ++`value` | `integer` | `0`, `1` | ``0`: No bags under the eyes.` ``1`: With bags under the eyes.` | | ++`confidence` | `float` | | Confidence. | | +`eye_pouch_severity` | `object` | | Severity of eye bags. Return when \[`eye_pouch`.`value`=1]. | | ++`value` | `integer` | `0`, `1`, `2` | ``0`: Mild.` ``1`: Moderate.` \`\`2`: Severe.` | | ++`confidence` | `float` | | Confidence. | | +`left_eye_pouch_rectangle` | `array` | | The position of the left eye bag frame | | ++`width` | `float` | | Width. | | ++`height` | `float` | | Height. | | ++`left` | `float` | | The distance from the leftmost part of the picture. | | ++`top` | `float` | | The distance from the topmost edge of the image. | | +`right_eye_pouch_rectangle` | `array` | | The position of the right eye bag frame | | ++`width` | `float` | | Width. | | ++`height` | `float` | | Height. | | ++`left` | `float` | | The distance from the leftmost part of the picture. | | ++`top` | `float` | | The distance from the topmost edge of the image. | | +`dark_circle` | `object` | | Dark eye circle type detection. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: No dark circles under the eyes.` ``1`: Pigmented dark circles.` ``2`: Vascular dark circles.` ``3`: Dark circles with shadows.` | | ++`confidence` | `float` | | Confidence. | | +`dark_circle_severity` | `object` | | Severity of dark circles under the eyes. Return when \[`dark_circle`.`value` `<>` 1]. | | ++`value` | `integer` | `0`, `1`, `2` | ``0`: Mild.` ``1`: Moderate.` \`\`2`: Severe.` | | ++`confidence` | `float` | | Confidence. | | +`left_dark_circle_rete` | `object` | | Severity of vascular type dark circles under the left eye. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`right_dark_circle_rete` | `object` | | Severity of vascular type dark circles under the right eye. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`left_dark_circle_pigment` | `object` | | Severity of pigmented dark circles under the left eye. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`right_dark_circle_pigment` | `object` | | Severity of pigmented dark circles under the right eye. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`left_dark_circle_structural` | `object` | | Severity of structural dark circles under the left eye.. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`right_dark_circle_structural` | `object` | | Severity of structural dark circles under the right eye. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`dark_circle_mark` | `object` | | The position of the rectangular box coordinates of the black eye. | | ++`left_eye_rect` | `object` | | Left eye. | | +++`width` | `float` | | Width. | | +++`height` | `float` | | Height. | | +++`left` | `float` | | The distance from the leftmost part of the picture. | | +++`top` | `float` | | The distance from the topmost edge of the image. | | ++`right_eye_rect` | `object` | | Right eye. | | +++`width` | `float` | | Width. | | +++`height` | `float` | | Height. | | +++`left` | `float` | | The distance from the leftmost part of the picture. | | +++`top` | `float` | | The distance from the topmost edge of the image. | | +`left_eye_pouch_rect` | `object` | | Left eye bag rectangular box position. | | ++`width` | `float` | | Width. | | ++`height` | `float` | | Height. | | ++`left` | `float` | | The distance from the leftmost part of the picture. | | ++`top` | `float` | | The distance from the topmost edge of the image. | | +`right_eye_pouch_rect` | `object` | | Right eye bag rectangular box position. | | ++`width` | `float` | | Width. | | ++`height` | `float` | | Height. | | ++`left` | `float` | | The distance from the leftmost part of the picture. | | ++`top` | `float` | | The distance from the topmost edge of the image. | | +`wrinkle_mark` | `object` | | Wrinkle contour line coordinates. | | ++`left_eye_wrinkle_outline` | `array` | | Wrinkles in the left eye. | | +++`x` | `float` | | | | +++`y` | `float` | | | | ++`right_eye_wrinkle_outline` | `array` | | Wrinkles in the Right eye. | | +++`x` | `float` | | | | +++`y` | `float` | | | | ++`left_cheek_wrinkle_outline` | `array` | | Wrinkles on the left side of the face. | | +++`x` | `float` | | | | +++`y` | `float` | | | | ++`right_cheek_wrinkle_outline` | `array` | | Wrinkles on the right side of the face. | | +++`x` | `float` | | | | +++`y` | `float` | | | | ++`glabella_wrinkle_outline` | `array` | | Interbrow lines. | | +++`x` | `float` | | | | +++`y` | `float` | | | | ++`left_nasolabial_wrinkle_outline` | `array` | | The left legal line. | | +++`x` | `float` | | | | +++`y` | `float` | | | | ++`right_nasolabial_wrinkle_outline` | `array` | | The right legal line. | | +++`x` | `float` | | | | +++`y` | `float` | | | | ++`left_crowsfeet_wrinkle_outline` | `array` | | Left fishtail line.. | | +++`x` | `float` | | | | +++`y` | `float` | | | | ++`right_crowsfeet_wrinkle_outline` | `array` | | Right fishtail line.. | | +++`x` | `float` | | | | +++`y` | `float` | | | | ++`left_mouth_wrinkle_outline` | `array` | | Left corner of the mouth tattoo. | | +++`x` | `float` | | | | +++`y` | `float` | | | | ++`right_mouth_wrinkle_outline` | `array` | | Right corner of the mouth tattoo. | | +++`x` | `float` | | | | +++`y` | `float` | | | | ++`head_wrinkle_outline` | `array` | | Forehead wrinkles. | | +++`x` | `float` | | | | +++`y` | `float` | | | | +`dark_circle_outline` | `object` | | Dark eye contour coordinates. | | ++`left_dark_circle_outline` | `array` | | Left eye. | | +++`x` | `float` | | | | +++`y` | `float` | | | | ++`right_dark_circle_outline` | `array` | | Right eye. | | +++`x` | `float` | | | | +++`y` | `float` | | | ##### Overall Score | Field | Type | Scope | Description | | :--------------------------- | :-------- | :-------- | :--------------------------------------------------------------------------- | | +`score_info` | `object` | | Score. [Degree & Score](ai-portrait/analysis/skin-analysis-pro/degree-score) | | ++`dark_circle_score` | `integer` | \[0, 100] | Dark Circles Total Score | | ++`skin_type_score` | `integer` | \[0, 100] | Skin Quality Score | | ++`wrinkle_score` | `integer` | \[0, 100] | Wrinkle Score | | ++`oily_intensity_score` | `integer` | \[0, 100] | Oily Score | | ++`pores_score` | `integer` | \[0, 100] | Total Pore Score | | ++`blackhead_score` | `integer` | \[0, 100] | Blackheads Score | | ++`acne_score` | `integer` | \[0, 100] | Acne Score | | ++`sensitivity_score` | `integer` | \[0, 100] | Sensitivity Score | | ++`melanin_score` | `integer` | \[0, 100] | Melanin Score | | ++`water_score` | `integer` | \[0, 100] | Skin Moisture Score | | ++`rough_score` | `integer` | \[0, 100] | Skin Roughness Score | | ++`total_score` | `integer` | \[0, 100] | Total Score | | ++`pores_type_score` | `object` | | Pore Score | | +++`pores_forehead_score` | `integer` | \[0, 100] | Forehead Pore Score | | +++`pores_leftcheek_score` | `integer` | \[0, 100] | Left Cheek Pore Score | | +++`pores_rightcheek_score` | `integer` | \[0, 100] | Right Cheek Pore Score | | +++`pores_jaw_score` | `integer` | \[0, 100] | Jaw Pore Score | | ++`dark_circle_type_score` | `object` | | Dark Circles Score | | +++`left_dark_circle_score` | `integer` | \[0, 100] | Left Eye Dark Circle Score | | +++`right_dark_circle_score` | `integer` | \[0, 100] | Right Eye Dark Circle Score | ##### Customization | Field | Type | Scope | Description | | :------------------------------ | :------- | :---- | :----------------------------------------------------------------------------------------- | | +`enhanced_bw_info` | `object` | | Black and white enhanced map coordinates location. [Conversion formula](#enhanced_bw_info) | | ++`enhanced_bw_rect` | `object` | | Black and white enhanced graph coordinate frame. | | +++`width` | `float` | | Width. | | +++`height` | `float` | | Height. | | +++`left` | `float` | | The distance from the leftmost part of the picture. | | +++`top` | `float` | | The distance from the topmost edge of the image. | | ++`ratio` | `float` | | Crop ratio. | | +`face_maps` | `object` | | `Returns information based on the `return\_maps` field input.` | | ++`red_area` | `base64` | | [More Details](#return_maps) | | ++`brown_area` | `base64` | | [More Details](#return_maps) | | ++`texture_enhanced_pores` | `base64` | | [More Details](#return_maps) | | ++`texture_enhanced_blackheads` | `base64` | | [More Details](#return_maps) | | ++`texture_enhanced_oily_area` | `base64` | | [More Details](#return_maps) | | ++`texture_enhanced_lines` | `base64` | | [More Details](#return_maps) | | ++`water_area` | `base64` | | [More Details](#return_maps) | | ++`rough_area` | `base64` | | [More Details](#return_maps) | | ++`roi_outline_map` | `base64` | | [More Details](#return_maps) | | ++`texture_enhanced_bw` | `base64` | | [More Details](#return_maps) | #### `skintone_ita` ITA (Individual Typology Angle) is an international standard for skin color, which is a method to classify skin color by measuring the color attributes of skin color Lab space. The method is strongly dependent on ambient light, we recommend using flash to take HD face photos for uploading and processing, the ITA angle value measured in natural light or dark environment may not be allowed or abnormal. According to the data taken by the rear flash of the phone, the current skin color classification reference. | `skintone` | Scope | Description | | :--------- | :------------------ | :------------------------------------------------------------------------------------ | | `0` | 56 `<` ITA `<` 90 | Very light. | | `1` | 43 `<` ITA `<=` 56 | Light. | | `2` | 36 `<` ITA `<=` 43 | Intermediate. | | `3` | 20 `<` ITA `<=` 36 | Tan. | | `4` | 10 `<` ITA `<=` 20 | Brown. | | `5` | -90 `<` ITA `<=` 10 | Dark. | | `6` | Other | Abnormal color values that may be caused by weak lighting conditions or overexposure. | You can also use the returned ITA value to define your classification based on the returned ITA angle at the time of access. #### `skin_hue_ha` HA (Hue Angle) is an international standard for skin color, which is a method to classify skin color by measuring the color attributes of skin color Lab space. The method is strongly dependent on ambient light, we recommend using flash to take HD face photos for uploading and processing, the HA angle value measured in natural light or dark light environment may not be allowed or abnormal. According to the data taken by the rear flash of the phone, the current skin tone classification reference. | `skintone` | Scope | Description | | :--------- | :---------------- | :----------------------------------------------------------------------------------------------------------- | | `0` | 49 `<` HA `<=` 90 | Yellowish. | | `1` | 46 `<=` HA `<` 49 | Neutral. | | `2` | 10 `<=` HA `<` 46 | Reddish. | | `3` | Other | Abnormal hue values may be caused by abnormal ambient light tones or weak light environment or overexposure. | You can also use the returned HA value to define your classification based on the returned HA angle at the time of access. #### Coordinate conversion formula between original image and black and white enhanced image x\_enhance = (x\_img - left) \* ratio y\_enhance = (y\_img - top) \* ratio Coordinates of original image: x\_img, y\_img, coordinates of black and white enhanced image: x\_enhance, y\_enhance. ### Skin Analysis Cases | Portraits | Portrait | Portrait | Portrait | Portrait | | :-------- | :-------------------------- | :-------------------------- | :-------------------------- | :-------------------------- | | Results | [Result](case1/result.json) | [Result](case2/result.json) | [Result](case3/result.json) | [Result](case4/result.json) | ### Response Example This API has been discontinued. Please refer to the latest API documentation. # Skin Analyze Pro - API:V1.7.1 Source: https://ailabtools.mintlify.app/docs/ai-portrait/analysis/skin-analysis-pro/api-v171 Analysis of skin condition, such as skin color, skin texture, double eyelids, eye bags, dark circles, wrinkles, acne, spots, etc. \[Important Notice: API Integration Update Required] Dear Developers, Thank you for your continued support of the AILabTools API. We would like to inform you that the current API has been updated with changes to the request and response specifications. These changes involve adjustments to parameters and response fields, and may affect existing integrations that rely on the previous API behavior. To ensure your application continues to work correctly, we strongly recommend that you review and update your current API integration as soon as possible. If you have any questions or need assistance with updating your integration, please feel free to contact our support team: 📧 [support@ailabtools.com](mailto:support@ailabtools.com) Thank you for your understanding and cooperation. We appreciate your continued trust in AILabTools. Best regards, AILabTools Support Team ## Request * **URL**: `https://www.ailabapi.com/api/portrait/analysis/skin-analysis-pro` * **Method**: `POST` * **Content-Type**: `multipart/form-data` ### Image requirements * **Image format**: `JPG` `JPEG` * **Image size**: No more than 8 MB. * **Image resolution**: Larger than 200x200px, smaller than 4096x4096px. * **Minimum face pixel size**: To ensure the effect, the minimum value of the face box (square) side length in the image should preferably be higher than 400px. * **Face quality**: The higher the face quality, the more accurate the skin analysis. Factors affecting face quality include: occlusion of facial features, blurred images, improper lighting (bright, dark, backlight), excessive face angle (yaw ≤ ±30°, pitch ≤ ±40° recommended), etc. ### Headers | Field | Required | Type | Description | | :----------------- | :------- | :------- | :---------------------------------------------------- | | `ailabapi-api-key` | YES | `string` | Application API KEY. [Get API KEY](/docs/get-api-key) | ### Body | Field | Required | Type | Scope | Description | | :-------------------- | :------- | :------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `image` | YES | `file` | | Main Image. | | `left_side_image` | NO | `file` | | Side face picture. | | `right_side_image` | NO | `file` | | Side face picture. | | `return_maps` | NO | `string` | `red_area`, `brown_area`, `texture_enhanced_pores`, `texture_enhanced_blackheads`, `texture_enhanced_oily_area`, `texture_enhanced_lines`, `water_area`, `rough_area`, `roi_outline_map`, `texture_enhanced_bw` | Input a comma-separated string containing the types of skin problem detection map images to be returned. [More Details](#return_maps) | | `return_marks` | NO | `string` | `wrinkle_mark`, `right_nasolabial_list`, `right_mouth_list`, `right_eye_wrinkle_list`, `right_crowsfeet_list`, `right_cheek_list`, `left_nasolabial_list`, `left_mouth_list`, `left_eye_wrinkle_list`, `left_crowsfeet_list`, `left_cheek_list`, `glabella_wrinkle_list`, `forehead_wrinkle_list`, `dark_circle_outline`, `sensitivity_mark`, `melanin_mark`, `dark_circle_outline`, `cheekbone_mark` | Return the coordinates of the problem areas along with other information. Separate multiple information fields with commas. [More Details](#return_marks) | | `roi_outline_color` | NO | `json string` | | Customize the drawing colors for the problem areas in the image returned by `return_maps`. [More Details](#roi_outline_color) | | `return_side_results` | NO | `string` | `jawline_info` | To return the side profile information, you need to upload a side profile image. Separate multiple information fields with commas. [More Details](#return_side_results) | #### `return_maps` * **Request Example** `red_area,brown_area,texture_enhanced_pores,texture_enhanced_blackheads,texture_enhanced_oily_area,texture_enhanced_lines,water_area,rough_area,roi_outline_map,texture_enhanced_bw` * **Field Parsing** | Field | Description | Return image information | | :---------------------------- | :---------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `red_area` | The red area image displays regions of facial redness caused by sensitivity or inflammation. | White background red area image, where the depth of the red color indicates the level of sensitivity. | | `brown_area` | The brown area image displays regions of facial pigmentation. | White background brown area image, where the depth of the brown color indicates the level of pigmentation. | | `texture_enhanced_pores` | The enlarged pores area image of the face. | Transparent background PNG, annotating enlarged pore areas. The image size is the same as the original, allowing for overlay and comparison with the original image. | | `texture_enhanced_blackheads` | The blackhead area image of the face. | Transparent background PNG, annotating blackhead areas. The image size is the same as the original, allowing for overlay and comparison with the original image. | | `texture_enhanced_oily_area` | The oily areas image of the face | Transparent background PNG, annotating facial oily areas. The image size is the same as the original, allowing for overlay and comparison with the original image. | | `texture_enhanced_lines` | The facial texture image highlights prominent deep and shallow wrinkles on the face. | Transparent background PNG, annotating facial wrinkles. The image size is the same as the original, allowing for overlay and comparison with the original image. | | `water_area` | The facial moisture image shows areas of dryness on the face. Darker blue indicates greater levels of skin dehydration. | White background PNG, annotating facial dryness areas. The image size is the same as the original. | | `rough_area` | The facial roughness image displays areas of roughness on the face. | White background PNG, annotating facial roughness areas. The image size is the same as the original. | | `roi_outline_map` | The image for plotting coordinates of facial spots and acne | Transparent background PNG, annotating facial spots and acne areas. The image size is the same as the original, allowing for overlay and comparison with the original image. | | `texture_enhanced_bw` | The black-and-white enhanced image for facial blackheads and enlarged pores | JPG, with cropping. The API returns coordinates and cropping ratios, which can be mapped to pixel coordinates in the original image. | #### `return_marks` * **Request Example** `wrinkle_mark,right_nasolabial_list,right_mouth_list,right_eye_wrinkle_list,right_crowsfeet_list,right_cheek_list,left_nasolabial_list,left_mouth_list,left_eye_wrinkle_list,left_crowsfeet_list,left_cheek_list,glabella_wrinkle_list,forehead_wrinkle_list,dark_circle_outline,sensitivity_mark,melanin_mark,dark_circle_outline,cheekbone_mark` * **Field Parsing** | Field | Description | | :----------------------- | :------------------------------------------------------------------------------------------------------- | | `wrinkle_mark` | Contour coordinates for the facial areas: forehead, nose, crow's feet, cheeks, and between the eyebrows. | | `right_nasolabial_list` | Coordinates, depth, and length of the right nasolabial fold wrinkles. | | `right_mouth_list` | Coordinates, depth, and length of the right mouth corner wrinkles. | | `right_eye_wrinkle_list` | Coordinates, depth, and length of the right eye area wrinkles. | | `right_crowsfeet_list` | Coordinates, depth, and length of the right eye area crow's feet wrinkles. | | `right_cheek_list` | Coordinates, depth, and length of the right cheek wrinkles. | | `left_nasolabial_list` | Coordinates, depth, and length of the left nasolabial fold wrinkles. | | `left_mouth_list` | Coordinates, depth, and length of the left mouth corner wrinkles. | | `left_eye_wrinkle_list` | Coordinates, depth, and length of the left eye area wrinkles. | | `left_crowsfeet_list` | Coordinates, depth, and length of the left eye area crow's feet wrinkles. | | `left_cheek_list` | Coordinates, depth, and length of the left cheek wrinkles. | | `glabella_wrinkle_list` | Coordinates, depth, and length of the wrinkles between the eyebrows. | | `forehead_wrinkle_list` | Coordinates, depth, and length of the forehead wrinkles. | | `dark_circle_outline` | Coordinates of the contour lines for dark circles under the left and right eyes. | | `sensitivity_mark` | Coordinates of the red areas, indicating regions of facial redness due to sensitivity or inflammation. | | `melanin_mark` | Coordinates of the pigmentation areas, indicating regions of facial pigmentation. | | `dark_circle_outline` | Coordinates of the contour lines for dark circles under the left and right eyes. | | `cheekbone_mark` | Coordinates of the facial apple cheeks. | #### `roi_outline_color` * **Request Example** \`\` * **Field Parsing** | Field | Default | Description | | :----------------------- | :------- | :--------------------------------------------------------------------------------- | | `pores_color` | `0000FF` | Pore Color: Draw the `return_maps > texture_enhanced_pores` issue image. | | `blackhead_color` | `FF0000` | Blackhead Color: Draw the `return_maps > texture_enhanced_blackheads` issue image. | | `wrinkle_color` | `6E9900` | Deep Wrinkle Color: Draw the `return_maps > texture_enhanced_lines` issue image. | | `fine_line_color` | `8DFE2A` | Fine Wrinkle Color: Draw the `return_maps > texture_enhanced_lines` issue image. | | `closed_comedones_color` | `00FF00` | Closed Comedone Color: Draw the `return_maps > roi_outline_map` issue image. | | `acne_pustule_color` | `9F21F6` | Pustule Color: Draw the `return_maps > roi_outline_map` issue image. | | `acne_nodule_color` | `FF00FD` | Nodule Color: Draw the `return_maps > roi_outline_map` issue image. | | `acne_color` | `FE0100` | Papule Color: Draw the `return_maps > roi_outline_map` issue image. | | `brown_spot_color` | `7E2A28` | Pigmentation Color: Draw the `return_maps > roi_outline_map` issue image. | Example: The format `CC00FF` represents the following RGB values: * **R (Red)**: CC (204 in decimal) * **G (Green)**: 00 (0 in decimal) * **B (Blue)**: FF (255 in decimal) The input format is restricted to a 6-digit hexadecimal string, case-insensitive. If no modifications are made, the default color parameters will be used for drawing. #### `return_side_results` * **Request Example** `jawline_info` * **Field Parsing** | Field | Description | | :------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `jawline_info` | If you provide the `jawline_info` element and upload images of both the left and right profiles, the corresponding side profile results will be returned. These results can include fields such as profile image quality assessment, jawline angle, and jawline coordinates, which will be available in the `left_side_result` and `right_side_result` structures. | ## Response **Response Field Handling Flow** 1. **Handle `Public Response Fields`** Parse and validate the `Public Response Fields`, checking the status code or response message to ensure the request is successful and error-free. 2. **Handle `Business Response Fields`** If the `Public Response Fields` are valid and error-free, proceed with processing the business logic in the `Business Response Fields`. ### Public Response Fields Viewing Public Response Fields and Error Codes ### Business Response Fields | Field | Type | Description | | :------------------ | :------------ | :----------------------------------------------------------------------- | | `left_side_result` | `json string` | Results of the side profile analysis. [More Details](#left_side_result) | | `right_side_result` | `json string` | Results of the side profile analysis. [More Details](#right_side_result) | | `face_rectangle` | `object` | The position of the face rectangle box. [More Details](#face_rectangle) | | `result` | `object` | Results of the facial skin analysis. [More Details](#result) | #### `left_side_result` | Field | Type | Scope | Description | | :--------------------------- | :-------- | :--------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | +`left_jawline_info` | `object` | | Side profile jawline information. | | ++`left_jawline_quality` | `integer` | `1`, `2`, `3`, `4`, `5`, `6` | Side profile photo quality assessment. ``1`: Quality Pass. The side profile angle of the uploaded photo is between 20° and 120°. `left_jawline_angle` and `left_jawline_mark` fields will also be returned.` ``2`: Slightly Low Angle. The side profile angle of the photo is less than 20°.` ``3`: Slightly High Angle. The side profile angle of the photo is greater than 120°.` ``4`: No Face Detected.` ``5`: Invalid Face.` ``6`: Other Cases.` | | ++`left_jawline_angle` | `float` | | The angle of the jawline. | | ++`left_jawline_mark` | `array` | | Coordinates of the facial keypoints for the jawline. | | ++`left_jawline_angle_level` | `integer` | `0`, `1` | Standard degree of the jawline. ``0`: Standard (116°–120°)` ``1`: Not Standard` | #### `right_side_result` | Field | Type | Scope | Description | | :---------------------------- | :-------- | :--------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | +`right_jawline_info` | `object` | | Side profile jawline information. | | ++`right_jawline_quality` | `integer` | `1`, `2`, `3`, `4`, `5`, `6` | Side profile photo quality assessment. ``1`: Quality Pass. The side profile angle of the uploaded photo is between 20° and 120°. `right_jawline_angle` and `right_jawline_mark` fields will also be returned.` ``2`: Slightly Low Angle. The side profile angle of the photo is less than 20°.` ``3`: Slightly High Angle. The side profile angle of the photo is greater than 120°.` ``4`: No Face Detected.` ``5`: Invalid Face.` ``6`: Other Cases.` | | ++`right_jawline_angle` | `float` | | The angle of the jawline. | | ++`right_jawline_mark` | `array` | | Coordinates of the facial keypoints for the jawline. | | ++`right_jawline_angle_level` | `integer` | `0`, `1` | Standard degree of the jawline. ``0`: Standard (116°–120°)` ``1`: Not Standard` | #### `face_rectangle` | Field | Type | Description | | :-------- | :------ | :---------------------------------------------------------------------- | | +`top` | `float` | The vertical coordinate of the top-left pixel of the rectangular box. | | +`left` | `float` | The horizontal coordinate of the top-left pixel of the rectangular box. | | +`width` | `float` | The width of the rectangular box. | | +`height` | `float` | The height of the rectangular box. | #### `result` | Modules | Field | | :-------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Image Quality Module](#image_quality_module) | `image_quality` | | [Skin Quality Analysis Module](#skin_quality_analysis_module) | `skin_type`, `oily_intensity`, `water` | | [Skin Tone Analysis Module](#skin_tone_analysis_module) | `skintone`, `skintone_ita`, `skin_hue_ha` | | [Roughness Analysis Module](#roughness_analysis_module) | `blackhead`, `blackhead_count`, `enlarged_pore_count`, `pores_forehead`, `pores_right_cheek`, `pores_left_cheek`, `pores_jaw`, `rough` | | [Pigmentation Analysis Module](#pigmentation_analysis_module) | `melanin`, `melanin_mark`, `mole`, `brown_spot`, `melasma`, `freckle` | | [Acne Analysis Module](#acne_analysis_module) | `acne`, `acne_pustule`, `acne_nodule`, `acne_mark`, `closed_comedones` | | [Sensitivity Analysis Module](#sensitivity_analysis_module) | `sensitivity`, `sensitivity_mark` | | [Aging Analysis Module](#aging_analysis_module) | `skin_age`, `forehead_wrinkle`, `crows_feet`, `eye_finelines`, `glabella_wrinkle`, `nasolabial_fold`, `nasolabial_fold_severity`, `left_mouth_wrinkle_severity`, `right_mouth_wrinkle_severity`, `forehead_wrinkle_severity`, `left_crows_feet_severity`, `right_crows_feet_severity`, `left_eye_finelines_severity`, `right_eye_finelines_severity`, `glabella_wrinkle_severity`, `left_nasolabial_fold_severity`, `right_nasolabial_fold_severity`, `left_cheek_wrinkle_severity`, `right_cheek_wrinkle_severity`, `fine_line`, `wrinkle_count`, `forehead_wrinkle_info`, `left_eye_wrinkle_info`, `right_eye_wrinkle_info`, `left_crowsfeet_wrinkle_info`, `right_crowsfeet_wrinkle_info`, `glabella_wrinkle_info`, `left_mouth_wrinkle_info`, `right_mouth_wrinkle_info`, `left_nasolabial_wrinkle_info`, `right_nasolabial_wrinkle_info`, `left_cheek_wrinkle_info`, `right_cheek_wrinkle_info`, `cheekbone_mark` | | [Eye Analysis Module](#eye_analysis_module) | `eye_pouch`, `eye_pouch_severity`, `left_eye_pouch_rectangle`, `right_eye_pouch_rectangle`, `dark_circle`, `dark_circle_severity`, `left_dark_circle_rete`, `right_dark_circle_rete`, `left_dark_circle_pigment`, `right_dark_circle_pigment`, `left_dark_circle_structural`, `right_dark_circle_structural`, `dark_circle_mark`, `left_eye_pouch_rect`, `right_eye_pouch_rect`, `wrinkle_mark`, `dark_circle_mark` | | [Digital Scoring System Module](#digital_scoring_system_module) | `score_info` | | [Custom Module](#custom_module) | `enhanced_bw_info`, `face_maps` | ##### Image Quality Module It returns the proportion of the face in the image, face coordinates, face angle values, and the proportion of bangs. The face coordinates can be used to extract the face for custom interactive design. The face proportion in the image, face angle values, and bangs proportion can be used as custom restrictions to determine whether the uploaded image is acceptable. For example, if the bangs proportion exceeds 0.4, the image needs to be retaken. If you have no special requirements, you can directly use the default configuration of the interface. | Field | Type | Scope | Description | | :------------------- | :------------ | :------- | :------------------------------------------------------------------------------------------------------------------------------------------ | | +`image_quality` | `json string` | | | | ++`face_ratio` | `float` | \[0, 1] | The proportion of the face in the entire photo: the larger the value, the greater the proportion of the face. The default threshold is 0.5. | | ++`face_orientation` | `object` | | Face 3D angle. | | +++`yaw` | `float` | | Yaw angle. The angle of rotation around the Y-axis. It is expressed as the horizontal rotation of the head to the left or right. | | +++`pitch` | `float` | | Pitch angle. The angle of rotation around the X-axis. Expressed as head pitch and tilt. | | +++`roll` | `float` | | Scroll angle. The angle of rotation around the Z axis, expressed as the rotation of the face photo seen from the front. | | ++`face_rect` | `float` | | The coordinates of the face can be obtained based on facial key points, allowing the face to be extracted. | | +++`top` | `float` | | | | +++`left` | `float` | | | | +++`width` | `float` | | | | +++`height` | `float` | | | | ++`hair_occlusion` | `float` | \[0, 1] | The proportion of bangs on the face: the larger the value, the greater the proportion of bangs. | | ++`glasses` | `integer` | `0`, `1` | ``0`: No eyeglasses were worn.` ``1`: Wearing eyeglasses.` | ##### Skin Quality Analysis Module It analyzes the skin's oil-dryness index. `skin_type` serves as an overall classification to determine the user's skin type, while `oily_intensity` and `water` analyze the current state of the user's skin in terms of moisture level and oiliness. | Field | Type | Scope | Description | | :------------------- | :-------- | :----------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------- | | +`skin_type` | `object` | | Skin texture test results. | | ++`skin_type` | `integer` | `0`, `1`, `2`, `3` | Type. ``0`: Oily skin.` ``1`: Dry skin.` ``2`: Neutral skin.` ``3`: Combination skin.` | | ++`details` | `object` | | The confidence level of each classification. | | +++`0` | `object` | | Oily skin information. | | ++++`value` | `integer` | `0`, `1` | Oily skin. ``0`: No.` ``1`: Yes.` | | ++++`confidence` | `float` | | Confidence. | | +++`1` | `object` | | Dry skin information. | | ++++`value` | `integer` | `0`, `1` | Dry skin. ``0`: No.` ``1`: Yes.` | | ++++`confidence` | `float` | | Confidence. | | +++`2` | `object` | | Neutral skin information. | | ++++`value` | `integer` | `0`, `1` | Neutral skin. ``0`: No.` ``1`: Yes.` | | ++++`confidence` | `float` | | Confidence. | | +++`3` | `object` | | Combination skin information. | | ++++`value` | `integer` | `0`, `1` | Combination skin. ``0`: No.` ``1`: Yes.` | | ++++`confidence` | `float` | | Confidence. | | +`oily_intensity` | `object` | | Oiliness level detection. | | ++`t_zone` | `object` | | T-zone. | | +++`area` | `object` | \[0, 1] | Area share. | | +++`intensity` | `integer` | `0`, `1`, `2` | Severity of oiling. ``0`: No shine or slight shine.` ``1`: Medium shine phenomenon.` \`\`2`: Severe oiling.` | | ++`left_cheek` | `object` | | Left cheek. | | +++`area` | `object` | \[0, 1] | Area share. | | +++`intensity` | `integer` | `0`, `1`, `2` | Severity of oiling. ``0`: No shine or slight shine.` ``1`: Medium shine phenomenon.` \`\`2`: Severe oiling.` | | ++`right_cheek` | `object` | | Right cheek. | | +++`area` | `object` | \[0, 1] | Area share. | | +++`intensity` | `integer` | `0`, `1`, `2` | Severity of oiling. ``0`: No shine or slight shine.` ``1`: Medium shine phenomenon.` \`\`2`: Severe oiling.` | | ++`chin_area` | `object` | | Chin area. | | +++`area` | `object` | \[0, 1] | Area share. | | +++`intensity` | `integer` | `0`, `1`, `2` | Severity of oiling. ``0`: No shine or slight shine.` ``1`: Medium shine phenomenon.` \`\`2`: Severe oiling.` | | ++`full_face` | `object` | | Full face. | | +++`area` | `object` | \[0, 1] | Area share. | | +++`intensity` | `integer` | `0`, `1`, `2` | Severity of oiling. ``0`: No shine or slight shine.` ``1`: Medium shine phenomenon.` \`\`2`: Severe oiling.` | | +`water` | `object` | | The percentage of dehydrated skin on the forehead, cheeks and chin, the percentage of overall facial dehydrated area and the severity of dehydration. | | ++`water_severity` | `float` | \[0, 100] | Severity of water shortage . | | ++`water_area` | `float` | | Percentage of water deficit area . | | ++`water_forehead` | `object` | | Percentage of forehead deficiency area. | | +++`area` | `float` | \[0, 1] | Area share. | | ++`water_rightcheek` | `object` | | Percentage of dehydrated area on the right cheek. | | +++`area` | `float` | \[0, 1] | Area share. | | ++`water_leftcheek` | `object` | | Percentage of dehydrated area on the left cheek. | | +++`area` | `float` | \[0, 1] | Area share. | ##### Skin Tone Analysis Module `skintone_ita` is an upgraded version of `skintone`. You can use either of the two, but it's recommended to use the combination of `skintone_ita` and `skin_hue_ha`. | Field | Type | Scope | Description | | :-------------- | :-------- | :-------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | +`skintone` | `object` | | Skin color test results. | | ++`value` | `integer` | `0`, `1`, `2`, `3`, `4` | Skin color. ``0`: Very Light.` ``1`: Light.` ``2`: Intermediate.` ``3`: Tan.` \`\`4`: Brown/Dark.` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`skintone_ita` | `object` | | Returns skin color classification based on the ITA (Individual Typology Angle) standard. **[NOTE](#skintone_ita)** | | ++`ITA` | `float` | \[-90, 90] | Angle value. | | ++`skintone` | `integer` | `0`, `1`, `2`, `3`, `4`, `5`, `6` | Classified according to the skin tone of ITA. ``0`: Very light.` ``1`: Light.` ``2`: Intermediate.` ``3`: Tan.` ``4`: Brown.` ``5`: Dark.` \`\`6`: Abnormal color values that may be caused by weak lighting conditions or overexposure.` | | +`skin_hue_ha` | `object` | | Returns skin tone classification based on the HA (Hue Angle) standard. **[NOTE](#skin_hue_ha)** | | ++`HA` | `float` | \[0, 90] | HA angle value. | | ++`skin_hue` | `integer` | `0`, `1`, `2`, `3` | Classified according to HA's skin tone hue. ``0`: Yellowish.` ``1`: Neutral.` ``2`: Reddish.` ``3`: Abnormal hue values may be caused by abnormal ambient light tones or weak light environment or overexposure.` | ###### `skintone_ita` ITA (Individual Typology Angle) is an internationally recognized skin color standard. It classifies skin color based on measurements of color attributes in the Lab color space. This method is highly sensitive to ambient lighting conditions. For best results, we recommend using a flash to take high-definition photos of the face for processing. Measurements taken in natural or low-light conditions may be inaccurate or inconsistent. Based on data from the smartphone's rear flash, the current skin color classification reference is as follows: | `skintone` | Scope | Description | | :--------- | :------------------ | :------------------------------------------------------------------------------------ | | `0` | 56 `<` ITA `<` 90 | Very light. | | `1` | 43 `<` ITA `<=` 56 | Light. | | `2` | 36 `<` ITA `<=` 43 | Intermediate. | | `3` | 20 `<` ITA `<=` 36 | Tan. | | `4` | 10 `<` ITA `<=` 20 | Brown. | | `5` | -90 `<` ITA `<=` 10 | Dark. | | `6` | Other | Abnormal color values that may be caused by weak lighting conditions or overexposure. | You can also use the returned ITA value to define your classification based on the returned ITA angle at the time of access. ###### `skin_hue_ha` HA (Hue Angle) is an internationally recognized skin color standard. It classifies skin color by measuring color attributes in the Lab color space. This method is highly sensitive to ambient lighting conditions. For accurate results, we recommend using a flash to take high-definition photos of the face for processing, as HA angle values measured in natural or low-light conditions may be inaccurate or inconsistent. According to the data taken by the rear flash of the phone, the current skin tone classification reference. | `skintone` | Scope | Description | | :--------- | :---------------- | :----------------------------------------------------------------------------------------------------------- | | `0` | 49 `<` HA `<=` 90 | Yellowish. | | `1` | 46 `<=` HA `<` 49 | Neutral. | | `2` | 10 `<=` HA `<` 46 | Reddish. | | `3` | Other | Abnormal hue values may be caused by abnormal ambient light tones or weak light environment or overexposure. | You can also use the returned HA value to define your classification based on the returned HA angle at the time of access. ##### Roughness Analysis Module * `blackhead` indicates the severity of blackheads, while `blackhead_count` represents the number of blackheads. * `enlarged_pore_count` is the count of enlarged pores. * `pores_forehead`, `pores_rightcheek`, `pores_leftcheek`, and `pores_jaw` represent the severity of pores in different areas of the face. The overall severity of pores can be assessed based on the number or score of pores. * `rough` measures the texture roughness of the facial skin and can provide the proportion of roughness across the entire face as well as the area proportion for different regions. | Field | Type | Scope | Description | | :--------------------- | :-------- | :----------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | +`blackhead` | `object` | | Blackhead information. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: No blackheads, number of blackheads ∈ [0, 45].` ``1`: Mild, number of blackheads ∈ [46, 90].` ``2`: Moderate, number of blackheads ∈ [91, 150].` ``3`: Severe, number of blackheads ∈ [151 or more].` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`blackhead_count` | `integer` | | Number of blackheads on the nose area. | | +`enlarged_pore_count` | `object` | | The number of enlarged pores and the percentage of enlarged pore area. | | ++`forehead_count` | `object` | | Number of enlarged pores on forehead. | | ++`left_cheek_count` | `object` | | Number of enlarged pores on the left cheek. | | ++`right_cheek_count` | `object` | | Number of enlarged pores on the right cheek. | | ++`chin_count` | `object` | | Number of enlarged pores under the chin. | | +`pores_forehead` | `object` | | The severity of enlarged forehead pores. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: No pores, number of pores ∈ [0, 100].` ``1`: Mildly, the number of pores ∈ [101, 300].` ``2`: Moderate, number of pores ∈ [301, 500].` ``3`: Severe, number of pores ∈ [501 or more].` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`pores_right_cheek` | `object` | | The severity of enlarged pores on the right cheek. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: No pores, number of pores ∈ [0, 45].` ``1`: Mildly, the number of pores ∈ [46, 136].` ``2`: Moderate, number of pores ∈ [137, 227].` ``3`: Severe, number of pores ∈ [228 or more].` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`pores_left_cheek` | `object` | | The severity of enlarged pores on the left cheek. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: No pores, number of pores ∈ [0, 45].` ``1`: Mildly, the number of pores ∈ [46, 136].` ``2`: Moderate, number of pores ∈ [137, 227].` ``3`: Severe, number of pores ∈ [228 or more].` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`pores_jaw` | `object` | | The severity of enlarged pores on the chin. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: No pores, number of pores ∈ [0, 63].` ``1`: Mildly, the number of pores ∈ [64, 188].` ``2`: Moderate, number of pores ∈ [189, 313].` ``3`: Severe, number of pores ∈ [314 or more].` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`rough` | `object` | | Output the percentage of rough skin area on forehead, cheeks and chin, the percentage of overall facial rough area and the severity of roughness. | | ++`rough_severity` | `integer` | \[0, 100] | Severity. | | ++`rough_area` | `float` | \[0, 1] | Area share. | | ++`rough_forehead` | `object` | | Forehead. | | +++`area` | `float` | \[0, 1] | Area share. | | ++`rough_rightcheek` | `object` | | Right cheek. | | +++`area` | `float` | \[0, 1] | Area share. | | ++`rough_leftcheek` | `object` | | Left cheek. | | +++`area` | `float` | \[0, 1] | Area share. | | ++`rough_jaw` | `object` | | Jaw. | | +++`area` | `float` | \[0, 1] | Area share. | ##### Pigmentation Analysis Module * `melanin` indicates the degree and area proportion of pigmentation on the face. The degree is represented by a score, with higher numbers indicating more severe pigmentation issues. The pigmentation score can be calculated using the `score_info > melanin_score` field. * `melanin_mark` provides the coordinates of the pigmentation areas, which can be used to directly draw these areas. If detailed results on specific pigmentation issues (such as moles or spots) are not required, you can use the overall pigmentation area drawing results. For detailed drawing of pigmentation issues, you can use the `mole` and `brown_spot` fields to get rectangular or polygonal bounding boxes. | Field | Type | Scope | Description | | :------------------------ | :-------- | :-------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | +`melanin` | `object` | | Return the skin pigmentation of the human face in the photo. | | ++`brown_area` | `float` | \[0, 1] | Percentage of full-face area of pigmented areas. | | ++`melanin_concentration` | `float` | \[0, 100] | Degree of pigmentation. | | ++`brown_forehead` | `float` | \[0, 1] | Percentage of forehead hyperpigmentation area. | | ++`brown_rightcheek` | `float` | \[0, 1] | Percentage of hyperpigmented area on the right cheek. | | ++`brown_leftcheek` | `float` | \[0, 1] | Percentage of hyperpigmented area on the left cheek. | | +`melanin_mark` | `object` | | Information on the pigmented areas of the brown area map. | | ++`polygon` | `array` | | A collection of polygon coordinates within the brown area map, each polygon representing the x and y coordinate values of the outer contour line of a hyperpigmented area. | | +++ | `array` | | | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +`mole` | `Object` | | Information for each mole area. | | ++`rectangle` | `array` | | The position of each mole frame. | | +++`width` | `float` | | Width. | | +++`height` | `float` | | Height. | | +++`left` | `float` | | The distance from the leftmost part of the picture. | | +++`top` | `float` | | The distance from the topmost edge of the image. | | ++`confidence` | `array` | | The confidence level of each mole region. | | ++`polygon` | `array` | | Within each mole box, the more detailed polygon contour lines of the problem area, returning the x and y coordinate values of the vertices of each polygon mole area. | | +++ | `array` | | | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | ++`count` | `integer` | | Quantity. | | +`brown_spot` | `Object` | | Information for each discolored area. | | ++`rectangle` | `array` | | The position of each color spot box. | | +++`width` | `float` | | Width. | | +++`height` | `float` | | Height. | | +++`left` | `float` | | The distance from the leftmost part of the picture. | | +++`top` | `float` | | The distance from the topmost edge of the image. | | ++`confidence` | `array` | | Confidence level for each chromatophore region. | | ++`polygon` | `array` | | A more detailed polygon contour line of the problem area within each color spot box, returning the x and y coordinate values of the vertices of each polygon acne area. | | +++ | `array` | | | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | ++`count` | `integer` | | Quantity. | | +`melasma` | `Object` | | Melasma information. | | ++`value` | `integer` | `0`, `1` | ``0`: No melasma.` ``1`: There is melasma.` | | ++`confidence` | `float` | | Confidence. | | +`freckle` | `Object` | | Freckle information. | | ++`value` | `integer` | `0`, `1` | ``0`: No freckles.` ``1`: There are freckles.` | | ++`confidence` | `float` | | Confidence. | ##### Acne Analysis Module * `acne`, `acne_pustule`, `acne_nodule`, `acne_mark`, and `closed_comedones` represent different types of acne analysis. You can use the returned coordinates to draw rectangular and polygonal boxes around these types. * To assess the severity of acne, you can refer to the score provided in the `score_info > acne_score` field. | Field | Type | Scope | Description | | :------------------ | :-------- | :---- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | +`acne` | `Object` | | Acne Test - Light Papule Test (Light papules are a category of less symptomatic acne phenomena that present as rice- to soy-sized bumps accompanied by inflammatory redness and symptoms such as pain and itching) returns a rectangular box for each papule area and a more detailed polygon box. | | ++`rectangle` | `array` | | The location of each papule box. | | +++`width` | `float` | | Width. | | +++`height` | `float` | | Height. | | +++`left` | `float` | | The distance from the leftmost part of the picture. | | +++`top` | `float` | | The distance from the topmost edge of the image. | | ++`confidence` | `array` | | Confidence level of each papule box. | | ++`polygon` | `array` | | Within each papule box, the more detailed polygonal contour lines of the problem area return the x and y coordinate values of the vertices of each polygonal papule area. | | +++ | `array` | | | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | ++`count` | `integer` | | Quantity. | | +`acne_pustule` | `Object` | | Acne Detection - Pustular Papule Detection (Pustular papules are acne phenomena with milky, yellowish pus visible to the naked eye and appear as mound-like bumps with milky, yellowish pus) returns rectangular boxes and more detailed polygonal boxes for each area of pustular acne. | | ++`rectangle` | `array` | | The location of each pustule box. | | +++`width` | `float` | | Width. | | +++`height` | `float` | | Height. | | +++`left` | `float` | | The distance from the leftmost part of the picture. | | +++`top` | `float` | | The distance from the topmost edge of the image. | | ++`confidence` | `array` | | Confidence level of each pustule box. | | ++`polygon` | `array` | | The more detailed polygonal contour lines of the problem area within each pustule box, returning the x and y coordinate values of the vertices of each polygonal pustule area. | | +++ | `array` | | | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | ++`count` | `integer` | | Quantity. | | +`acne_nodule` | `Object` | | Acne Detection - Acne Nodule Detection (Acne nodules are a more severe type of acne phenomenon that appears as small, pea-sized bumps that are hard to the touch caused by the accumulation of subcutaneous lipids and pus) returns a rectangular box and a more detailed polygon box for each acne nodule area. | | ++`rectangle` | `array` | | The position of each nodal box. | | +++`width` | `float` | | Width. | | +++`height` | `float` | | Height. | | +++`left` | `float` | | The distance from the leftmost part of the picture. | | +++`top` | `float` | | The distance from the topmost edge of the image. | | ++`confidence` | `array` | | The confidence level of each nodal box. | | ++`polygon` | `array` | | Within each nodal box, the more detailed polygon contour lines of the problem region, returning the x and y coordinate values of the vertices of each polygon nodal region. | | +++ | `array` | | | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | ++`count` | `integer` | | Quantity. | | +`acne_mark` | `Object` | | Red Acne Mark Detection - Detects red-purple acne marks that appear after facial acne has healed returning rectangular boxes and more detailed polygonal boxes for each acne mark area. | | ++`rectangle` | `array` | | The location of each pockmark box. | | +++`width` | `float` | | Width. | | +++`height` | `float` | | Height. | | +++`left` | `float` | | The distance from the leftmost part of the picture. | | +++`top` | `float` | | The distance from the topmost edge of the image. | | ++`confidence` | `array` | | Confidence level of each pockmark box. | | ++`polygon` | `array` | | A more detailed polygon contour line of the problem area within each pockmark box, returning the x and y coordinate values of the vertices of each polygon pockmark area. | | +++ | `array` | | | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | ++`count` | `integer` | | Quantity. | | +`closed_comedones` | `Object` | | Rectangular boxes and more detailed polygonal boxes for each occlusive acne area. | | ++`rectangle` | `array` | | The location of each closed-cell acne box. | | +++`width` | `float` | | Width. | | +++`height` | `float` | | Height. | | +++`left` | `float` | | The distance from the leftmost part of the picture. | | +++`top` | `float` | | The distance from the topmost edge of the image. | | ++`confidence` | `array` | | Confidence level of each closed-jaw acne box. | | ++`polygon` | `array` | | A more detailed polygon contour line of the problem area within each closed acne box, returning the x and y coordinate values of the vertices of each polygon closed acne area. | | +++ | `array` | | | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | ++`count` | `integer` | | Quantity. | ##### Sensitivity Analysis Module * `sensitivity` indicates the degree of sensitivity on the face and the area proportion affected. The degree is represented by a score, with higher numbers indicating more severe sensitivity issues. The sensitivity score can be calculated using the `score_info > sensitivity_score` field. * `sensitivity_mark` provides the coordinates of the sensitive areas on the face, which can be used to directly draw these areas. | Field | Type | Scope | Description | | :------------------------ | :------- | :-------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | +`sensitivity` | `object` | | `This return value must be used with red area maps, and you need to set the return red area map (`red\_area`) in the input parameter `return\_maps` first.` | | ++`sensitivity_area` | `float` | \[0, 1] | The percentage of sensitive skin area on the whole face. Sensitive redness areas include cheeks, T-zone, etc. | | ++`sensitivity_intensity` | `float` | \[0, 100] | The intensity of redness in sensitive areas. | | +`sensitivity_mark` | `object` | | The location of the polygon box in the sensitive muscle area of the red zone diagram. | | ++`polygon` | `array` | | The set of polygon coordinates within the red zone map, each polygon represents the x and y coordinate values of the outer contour line of a sensitive muscle region. | | +++ | `array` | | | | ++++`x` | `float` | | | | ++++`y` | `float` | | | ##### Aging Analysis Module * `skin_age` assesses the overall skin condition and aging level of the face. * The `forehead_wrinkle_info` series provides detailed information about wrinkles in specific areas, including severity and scores. To receive these details, you need to check the severity levels using the following fields: `forehead_wrinkle_severity`, `left_eye_finelines_severity`, and `right_eye_finelines_severity`. If the severity is returned as 0 (none), the wrinkle details (`wrinkle_info`) will not be provided. * It is recommended to use the following fields in combination for a comprehensive analysis: * Severity fields: `nasolabial_fold_severity`, `left_mouth_wrinkle_severity`, `right_mouth_wrinkle_severity`, `forehead_wrinkle_severity`, `left_crows_feet_severity`, `right_crows_feet_severity`, `left_eye_finelines_severity`, `right_eye_finelines_severity`, `glabella_wrinkle_severity`, `left_nasolabial_fold_severity`, `right_nasolabial_fold_severity`, `left_cheek_wrinkle_severity`, `right_cheek_wrinkle_severity`. * Wrinkle information fields: `forehead_wrinkle_info`, `left_eye_wrinkle_info`, `right_eye_wrinkle_info`, `left_crowsfeet_wrinkle_info`, `right_crowsfeet_wrinkle_info`, `glabella_wrinkle_info`, `left_mouth_wrinkle_info`, `right_mouth_wrinkle_info`, `left_nasolabial_wrinkle_info`, `right_nasolabial_wrinkle_info`, `left_cheek_wrinkle_info`, `right_cheek_wrinkle_info`. | Field | Type | Scope | Description | | :-------------------------------- | :-------- | :----------------- | :-------------------------------------------------------------------------------------------------------- | | +`skin_age` | `object` | | Skin age test results. | | ++`value` | `integer` | \[0, 100] | Skin age. | | +`forehead_wrinkle` | `object` | | Results of the head lift test. | | ++`value` | `integer` | `0`, `1` | ``0`: No head lines.` ``1`: There are head lines.` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`crows_feet` | `object` | | Crow's feet test results. | | ++`value` | `integer` | `0`, `1` | ``0`: No crow's feet.` ``1`: With crow's feet.` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`eye_finelines` | `object` | | Results of the eye fine lines test. | | ++`value` | `integer` | `0`, `1` | ``0`: No fine lines under the eyes.` ``1`: With fine lines under the eyes.` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`glabella_wrinkle` | `object` | | Results of the interbrow line test. | | ++`value` | `integer` | `0`, `1` | ``0`: No interbrow lines.` ``1`: With interbrow lines.` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`nasolabial_fold` | `object` | | Results of the forehead line test. | | ++`value` | `integer` | `0`, `1` | ``0`: No lines.` ``1`: There are lines.` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`nasolabial_fold_severity` | `object` | | Severity of the forehead lines. Returned when \[`nasolabial_fold.value`=1]. | | ++`value` | `integer` | `0`, `1`, `2` | ``0`: Mild.` ``1`: Moderate.` \`\`2`: Severe.` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`eye_finelines_severity` | `object` | | Severity of eye wrinkles. Returned when \[`eye_finelines.value`=1]. | | ++`value` | `integer` | `0`, `1`, `2` | ``0`: Mild.` ``1`: Moderate.` \`\`2`: Severe.` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`left_mouth_wrinkle_severity` | `object` | | The presence & severity of marionette lines on the left side of the face. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`right_mouth_wrinkle_severity` | `object` | | The presence & severity of marionette lines on the right side of the face. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`forehead_wrinkle_severity` | `object` | | The severity of the headline. Returned when \[`forehead_wrinkle.value`=1]. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`left_crows_feet_severity` | `object` | | The presence & severity of crow's feet on the left side of the face. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`right_crows_feet_severity` | `object` | | The presence & severity of crow's feet on the right side of the face. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`left_eye_finelines_severity` | `object` | | The presence & severity of fine lines under the eyes on the left side of the face. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`right_eye_finelines_severity` | `object` | | The presence & severity of fine lines under the eyes on the right side of the face. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`glabella_wrinkle_severity` | `object` | | The presence & severity of fine lines between the eyebrows. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`left_nasolabial_fold_severity` | `object` | | The presence or absence & severity of the left facial lines. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`right_nasolabial_fold_severity` | `object` | | The presence or absence & severity of right facial lines. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`left_cheek_wrinkle_severity` | `object` | | The presence & severity of left cheek lines. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`right_cheek_wrinkle_severity` | `object` | | The presence & severity of right cheek lines lines. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`fine_line` | `object` | | Number of fine lines detected. | | ++`forehead_count` | `integer` | | Forehead. | | ++`left_undereye_count` | `integer` | | Fine lines in the left eye. | | ++`right_undereye_count` | `integer` | | Fine lines in the right eye. | | ++`left_cheek_count` | `integer` | | Left cheek. | | ++`right_cheek_count` | `integer` | | Right cheek. | | ++`left_crowsfeet_count` | `integer` | | Crow's feet in the left eye. | | ++`right_crowsfeet_count` | `integer` | | Crow's feet in the right eye. | | ++`glabella_count` | `integer` | | Interbrow lines. | | +`wrinkle_count` | `object` | | Number of deep grain detection. | | ++`forehead_count` | `integer` | | Forehead. | | ++`left_undereye_count` | `integer` | | Fine lines in the left eye. | | ++`right_undereye_count` | `integer` | | Fine lines in the right eye. | | ++`left_mouth_count` | `integer` | | Puppet pattern at the left corner of the mouth. | | ++`right_mouth_count` | `integer` | | Puppet pattern at the right corner of the mouth. | | ++`left_nasolabial_count` | `integer` | | The left legal line. | | ++`right_nasolabial_count` | `integer` | | The right wrinkle. | | ++`glabella_count` | `integer` | | Interbrow lines. | | ++`left_cheek_count` | `integer` | | Left cheek. | | ++`right_cheek_count` | `integer` | | Right cheek. | | ++`left_crowsfeet_count` | `integer` | | Crow's feet in the left eye. | | ++`right_crowsfeet_count` | `integer` | | Crow's feet in the right eye. | | +`forehead_wrinkle_info` | `object` | | Number of deep grain detection. | | ++`wrinkle_score` | `integer` | \[0, 100] | Wrinkle score. | | ++`wrinkle_severity_level` | `integer` | `0`, `1`, `2`, `3` | Wrinkle severity level. ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | ++`wrinkle_norm_length` | `float` | | Wrinkle-normalized length. | | ++`wrinkle_norm_depth` | `float` | | Wrinkle normalized depth. | | ++`wrinkle_pixel_density` | `float` | | Wrinkle pixel density. | | ++`wrinkle_area_ratio` | `float` | \[0, 1] | Percentage of wrinkled area. | | ++`wrinkle_deep_ratio` | `float` | \[0, 1] | Percentage of deep grain length. | | ++`wrinkle_deep_num` | `integer` | | Number of deep lines. | | ++`wrinkle_shallow_num` | `integer` | | Number of shallow lines. | | ++`forehead_wrinkle_list` | `array` | | Sub-wrinkle information. | | +++`wrinkle_coord` | `array` | | Subwrinkle pixel coordinates. | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +++`wrinkle_depth` | `float` | | Sub-wrinkle depth. | | +++`wrinkle_length` | `float` | | Subwrinkle length. | | +`left_eye_wrinkle_info` | `object` | | Left eye wrinkle information. | | ++`wrinkle_score` | `integer` | \[0, 100] | Wrinkle score. | | ++`wrinkle_severity_level` | `integer` | `0`, `1`, `2`, `3` | Wrinkle severity level. ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | ++`wrinkle_norm_length` | `float` | | Wrinkle-normalized length. | | ++`wrinkle_norm_depth` | `float` | | Wrinkle normalized depth. | | ++`wrinkle_pixel_density` | `float` | | Wrinkle pixel density. | | ++`wrinkle_area_ratio` | `float` | \[0, 1] | Percentage of wrinkled area. | | ++`wrinkle_deep_ratio` | `float` | \[0, 1] | Percentage of deep grain length. | | ++`wrinkle_deep_num` | `integer` | | Number of deep lines. | | ++`wrinkle_shallow_num` | `integer` | | Number of shallow lines. | | ++`left_eye_wrinkle_list` | `array` | | Sub-wrinkle information. | | +++`wrinkle_coord` | `array` | | Subwrinkle pixel coordinates. | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +++`wrinkle_depth` | `float` | | Sub-wrinkle depth. | | +++`wrinkle_length` | `float` | | Subwrinkle length. | | +`right_eye_wrinkle_info` | `object` | | Right eye wrinkle information. | | ++`wrinkle_score` | `integer` | \[0, 100] | Wrinkle score. | | ++`wrinkle_severity_level` | `integer` | `0`, `1`, `2`, `3` | Wrinkle severity level. ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | ++`wrinkle_norm_length` | `float` | | Wrinkle-normalized length. | | ++`wrinkle_norm_depth` | `float` | | Wrinkle normalized depth. | | ++`wrinkle_pixel_density` | `float` | | Wrinkle pixel density. | | ++`wrinkle_area_ratio` | `float` | \[0, 1] | Percentage of wrinkled area. | | ++`wrinkle_deep_ratio` | `float` | \[0, 1] | Percentage of deep grain length. | | ++`wrinkle_deep_num` | `integer` | | Number of deep lines. | | ++`wrinkle_shallow_num` | `integer` | | Number of shallow lines. | | ++`right_eye_wrinkle_list` | `array` | | Sub-wrinkle information. | | +++`wrinkle_coord` | `array` | | Subwrinkle pixel coordinates. | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +++`wrinkle_depth` | `float` | | Sub-wrinkle depth. | | +++`wrinkle_length` | `float` | | Subwrinkle length. | | +`left_crowsfeet_wrinkle_info` | `object` | | Left fishtail information. | | ++`wrinkle_score` | `integer` | \[0, 100] | Wrinkle score. | | ++`wrinkle_severity_level` | `integer` | `0`, `1`, `2`, `3` | Wrinkle severity level. ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | ++`wrinkle_norm_length` | `float` | | Wrinkle-normalized length. | | ++`wrinkle_norm_depth` | `float` | | Wrinkle normalized depth. | | ++`wrinkle_pixel_density` | `float` | | Wrinkle pixel density. | | ++`wrinkle_area_ratio` | `float` | \[0, 1] | Percentage of wrinkled area. | | ++`wrinkle_deep_ratio` | `float` | \[0, 1] | Percentage of deep grain length. | | ++`wrinkle_deep_num` | `integer` | | Number of deep lines. | | ++`wrinkle_shallow_num` | `integer` | | Number of shallow lines. | | ++`left_crowsfeet_wrinkle_list` | `array` | | Sub-wrinkle information. | | +++`wrinkle_coord` | `array` | | Subwrinkle pixel coordinates. | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +++`wrinkle_depth` | `float` | | Sub-wrinkle depth. | | +++`wrinkle_length` | `float` | | Subwrinkle length. | | +`right_crowsfeet_wrinkle_info` | `object` | | Right fishtail information. | | ++`wrinkle_score` | `integer` | \[0, 100] | Wrinkle score. | | ++`wrinkle_severity_level` | `integer` | `0`, `1`, `2`, `3` | Wrinkle severity level. ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | ++`wrinkle_norm_length` | `float` | | Wrinkle-normalized length. | | ++`wrinkle_norm_depth` | `float` | | Wrinkle normalized depth. | | ++`wrinkle_pixel_density` | `float` | | Wrinkle pixel density. | | ++`wrinkle_area_ratio` | `float` | \[0, 1] | Percentage of wrinkled area. | | ++`wrinkle_deep_ratio` | `float` | \[0, 1] | Percentage of deep grain length. | | ++`wrinkle_deep_num` | `integer` | | Number of deep lines. | | ++`wrinkle_shallow_num` | `integer` | | Number of shallow lines. | | ++`right_crowsfeet_wrinkle_list` | `array` | | Sub-wrinkle information. | | +++`wrinkle_coord` | `array` | | Subwrinkle pixel coordinates. | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +++`wrinkle_depth` | `float` | | Sub-wrinkle depth. | | +++`wrinkle_length` | `float` | | Subwrinkle length. | | +`glabella_wrinkle_info` | `object` | | Information on the lines between the eyebrows. | | ++`wrinkle_score` | `integer` | \[0, 100] | Wrinkle score. | | ++`wrinkle_severity_level` | `integer` | `0`, `1`, `2`, `3` | Wrinkle severity level. ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | ++`wrinkle_norm_length` | `float` | | Wrinkle-normalized length. | | ++`wrinkle_norm_depth` | `float` | | Wrinkle normalized depth. | | ++`wrinkle_pixel_density` | `float` | | Wrinkle pixel density. | | ++`wrinkle_area_ratio` | `float` | \[0, 1] | Percentage of wrinkled area. | | ++`wrinkle_deep_ratio` | `float` | \[0, 1] | Percentage of deep grain length. | | ++`wrinkle_deep_num` | `integer` | | Number of deep lines. | | ++`wrinkle_shallow_num` | `integer` | | Number of shallow lines. | | ++`glabella_wrinkle_list` | `array` | | Sub-wrinkle information. | | +++`wrinkle_coord` | `array` | | Subwrinkle pixel coordinates. | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +++`wrinkle_depth` | `float` | | Sub-wrinkle depth. | | +++`wrinkle_length` | `float` | | Subwrinkle length. | | +`left_mouth_wrinkle_info` | `object` | | Information on the left corner of the mouth tattoo. | | ++`wrinkle_score` | `integer` | \[0, 100] | Wrinkle score. | | ++`wrinkle_severity_level` | `integer` | `0`, `1`, `2`, `3` | Wrinkle severity level. ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | ++`wrinkle_norm_length` | `float` | | Wrinkle-normalized length. | | ++`wrinkle_norm_depth` | `float` | | Wrinkle normalized depth. | | ++`wrinkle_pixel_density` | `float` | | Wrinkle pixel density. | | ++`wrinkle_area_ratio` | `float` | \[0, 1] | Percentage of wrinkled area. | | ++`wrinkle_deep_ratio` | `float` | \[0, 1] | Percentage of deep grain length. | | ++`wrinkle_deep_num` | `integer` | | Number of deep lines. | | ++`wrinkle_shallow_num` | `integer` | | Number of shallow lines. | | ++`left_mouth_wrinkle_list` | `array` | | Sub-wrinkle information. | | +++`wrinkle_coord` | `array` | | Subwrinkle pixel coordinates. | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +++`wrinkle_depth` | `float` | | Sub-wrinkle depth. | | +++`wrinkle_length` | `float` | | Subwrinkle length. | | +`right_mouth_wrinkle_info` | `object` | | Information on the right corner of the mouth tattoo. | | ++`wrinkle_score` | `integer` | \[0, 100] | Wrinkle score. | | ++`wrinkle_severity_level` | `integer` | `0`, `1`, `2`, `3` | Wrinkle severity level. ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | ++`wrinkle_norm_length` | `float` | | Wrinkle-normalized length. | | ++`wrinkle_norm_depth` | `float` | | Wrinkle normalized depth. | | ++`wrinkle_pixel_density` | `float` | | Wrinkle pixel density. | | ++`wrinkle_area_ratio` | `float` | \[0, 1] | Percentage of wrinkled area. | | ++`wrinkle_deep_ratio` | `float` | \[0, 1] | Percentage of deep grain length. | | ++`wrinkle_deep_num` | `integer` | | Number of deep lines. | | ++`wrinkle_shallow_num` | `integer` | | Number of shallow lines. | | ++`right_mouth_wrinkle_list` | `array` | | Sub-wrinkle information. | | +++`wrinkle_coord` | `array` | | Subwrinkle pixel coordinates. | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +++`wrinkle_depth` | `float` | | Sub-wrinkle depth. | | +++`wrinkle_length` | `float` | | Subwrinkle length. | | +`left_nasolabial_wrinkle_info` | `object` | | Information about the left legal line. | | ++`wrinkle_score` | `integer` | \[0, 100] | Wrinkle score. | | ++`wrinkle_severity_level` | `integer` | `0`, `1`, `2`, `3` | Wrinkle severity level. ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | ++`wrinkle_norm_length` | `float` | | Wrinkle-normalized length. | | ++`wrinkle_norm_depth` | `float` | | Wrinkle normalized depth. | | ++`wrinkle_pixel_density` | `float` | | Wrinkle pixel density. | | ++`wrinkle_area_ratio` | `float` | \[0, 1] | Percentage of wrinkled area. | | ++`wrinkle_deep_ratio` | `float` | \[0, 1] | Percentage of deep grain length. | | ++`wrinkle_deep_num` | `integer` | | Number of deep lines. | | ++`wrinkle_shallow_num` | `integer` | | Number of shallow lines. | | ++`left_nasolabial_wrinkle_list` | `array` | | Sub-wrinkle information. | | +++`wrinkle_coord` | `array` | | Subwrinkle pixel coordinates. | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +++`wrinkle_depth` | `float` | | Sub-wrinkle depth. | | +++`wrinkle_length` | `float` | | Subwrinkle length. | | +`right_nasolabial_wrinkle_info` | `object` | | Information on the right-hand wrinkle. | | ++`wrinkle_score` | `integer` | \[0, 100] | Wrinkle score. | | ++`wrinkle_severity_level` | `integer` | `0`, `1`, `2`, `3` | Wrinkle severity level. ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | ++`wrinkle_norm_length` | `float` | | Wrinkle-normalized length. | | ++`wrinkle_norm_depth` | `float` | | Wrinkle normalized depth. | | ++`wrinkle_pixel_density` | `float` | | Wrinkle pixel density. | | ++`wrinkle_area_ratio` | `float` | \[0, 1] | Percentage of wrinkled area. | | ++`wrinkle_deep_ratio` | `float` | \[0, 1] | Percentage of deep grain length. | | ++`wrinkle_deep_num` | `integer` | | Number of deep lines. | | ++`wrinkle_shallow_num` | `integer` | | Number of shallow lines. | | ++`right_nasolabial_wrinkle_list` | `array` | | Sub-wrinkle information. | | +++`wrinkle_coord` | `array` | | Subwrinkle pixel coordinates. | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +++`wrinkle_depth` | `float` | | Sub-wrinkle depth. | | +++`wrinkle_length` | `float` | | Subwrinkle length. | | +`left_cheek_wrinkle_info` | `object` | | Left face wrinkle information. | | ++`wrinkle_score` | `integer` | \[0, 100] | Wrinkle score. | | ++`wrinkle_severity_level` | `integer` | `0`, `1`, `2`, `3` | Wrinkle severity level. ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | ++`wrinkle_norm_length` | `float` | | Wrinkle-normalized length. | | ++`wrinkle_norm_depth` | `float` | | Wrinkle normalized depth. | | ++`wrinkle_pixel_density` | `float` | | Wrinkle pixel density. | | ++`wrinkle_area_ratio` | `float` | \[0, 1] | Percentage of wrinkled area. | | ++`wrinkle_deep_ratio` | `float` | \[0, 1] | Percentage of deep grain length. | | ++`wrinkle_deep_num` | `integer` | | Number of deep lines. | | ++`wrinkle_shallow_num` | `integer` | | Number of shallow lines. | | ++`left_cheek_wrinkle_list` | `array` | | Sub-wrinkle information. | | +++`wrinkle_coord` | `array` | | Subwrinkle pixel coordinates. | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +++`wrinkle_depth` | `float` | | Sub-wrinkle depth. | | +++`wrinkle_length` | `float` | | Subwrinkle length. | | +`right_cheek_wrinkle_info` | `object` | | Right face wrinkle information. | | ++`wrinkle_score` | `integer` | \[0, 100] | Wrinkle score. | | ++`wrinkle_severity_level` | `integer` | `0`, `1`, `2`, `3` | Wrinkle severity level. ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | ++`wrinkle_norm_length` | `float` | | Wrinkle-normalized length. | | ++`wrinkle_norm_depth` | `float` | | Wrinkle normalized depth. | | ++`wrinkle_pixel_density` | `float` | | Wrinkle pixel density. | | ++`wrinkle_area_ratio` | `float` | \[0, 1] | Percentage of wrinkled area. | | ++`wrinkle_deep_ratio` | `float` | \[0, 1] | Percentage of deep grain length. | | ++`wrinkle_deep_num` | `integer` | | Number of deep lines. | | ++`wrinkle_shallow_num` | `integer` | | Number of shallow lines. | | ++`right_cheek_wrinkle_list` | `array` | | Sub-wrinkle information. | | +++`wrinkle_coord` | `array` | | Subwrinkle pixel coordinates. | | ++++`x` | `float` | | | | ++++`y` | `float` | | | | +++`wrinkle_depth` | `float` | | Sub-wrinkle depth. | | +++`wrinkle_length` | `float` | | Subwrinkle length. | | +`cheekbone_mark` | `object` | | Information about the coordinates of the left apple muscle and the coordinates of the right apple muscle. | | ++`left_cheekbone_mark` | `array` | | Left apple muscle coordinates. | | +++`x` | `float` | | | | +++`y` | `float` | | | | ++`left_cheekbone_mark` | `array` | | Right apple muscle coordinates. | | +++`x` | `float` | | | | +++`y` | `float` | | | ##### Eye Analysis Module * `eye_pouch` determines the presence of under-eye bags. The severity of the bags is provided only if the result is 1, and can be found in `eye_pouch_severity`. * Similarly, `dark_circle` and `dark_circle_severity` indicate the presence and severity of dark circles. For drawing on areas such as dark circles and eye bags, use the following fields: * `left_eye_pouch_rectangle` * `right_eye_pouch_rectangle` * `dark_circle_mark` | Field | Type | Scope | Description | | :----------------------------------- | :-------- | :----------------- | :------------------------------------------------------------------------------------------------------------------------------------ | | +`eye_pouch` | `object` | | Eye bag test results. | | ++`value` | `integer` | `0`, `1` | ``0`: No bags under the eyes.` ``1`: With bags under the eyes.` | | ++`confidence` | `float` | | Confidence. | | +`eye_pouch_severity` | `object` | | Severity of eye bags. Return when \[`eye_pouch`.`value`=1]. | | ++`value` | `integer` | `0`, `1`, `2` | ``0`: Mild.` ``1`: Moderate.` \`\`2`: Severe.` | | ++`confidence` | `float` | | Confidence. | | +`left_eye_pouch_rectangle` | `array` | | The position of the left eye bag frame | | ++`width` | `float` | | Width. | | ++`height` | `float` | | Height. | | ++`left` | `float` | | The distance from the leftmost part of the picture. | | ++`top` | `float` | | The distance from the topmost edge of the image. | | +`right_eye_pouch_rectangle` | `array` | | The position of the right eye bag frame | | ++`width` | `float` | | Width. | | ++`height` | `float` | | Height. | | ++`left` | `float` | | The distance from the leftmost part of the picture. | | ++`top` | `float` | | The distance from the topmost edge of the image. | | +`dark_circle` | `object` | | Dark eye circle type detection. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: No dark circles under the eyes.` ``1`: Pigmented dark circles.` ``2`: Vascular dark circles.` ``3`: Dark circles with shadows.` | | ++`confidence` | `float` | | Confidence. | | +`dark_circle_severity` | `object` | | Severity of dark circles under the eyes. Return when \[`dark_circle`.`value` `<>` 1]. | | ++`value` | `integer` | `0`, `1`, `2` | ``0`: Mild.` ``1`: Moderate.` \`\`2`: Severe.` | | ++`confidence` | `float` | | Confidence. | | +`left_dark_circle_rete` | `object` | | Severity of vascular type dark circles under the left eye. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`right_dark_circle_rete` | `object` | | Severity of vascular type dark circles under the right eye. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`left_dark_circle_pigment` | `object` | | Severity of pigmented dark circles under the left eye. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`right_dark_circle_pigment` | `object` | | Severity of pigmented dark circles under the right eye. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`left_dark_circle_structural` | `object` | | Severity of structural dark circles under the left eye.. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`right_dark_circle_structural` | `object` | | Severity of structural dark circles under the right eye. | | ++`value` | `integer` | `0`, `1`, `2`, `3` | ``0`: None.` ``1`: Mild.` ``2`: Moderate.` ``3`: Severe.` | | +`dark_circle_mark` | `object` | | The position of the rectangular box coordinates of the black eye. | | ++`left_eye_rect` | `object` | | Left eye. | | +++`width` | `float` | | Width. | | +++`height` | `float` | | Height. | | +++`left` | `float` | | The distance from the leftmost part of the picture. | | +++`top` | `float` | | The distance from the topmost edge of the image. | | ++`right_eye_rect` | `object` | | Right eye. | | +++`width` | `float` | | Width. | | +++`height` | `float` | | Height. | | +++`left` | `float` | | The distance from the leftmost part of the picture. | | +++`top` | `float` | | The distance from the topmost edge of the image. | | +`left_eye_pouch_rect` | `object` | | Left eye bag rectangular box position. | | ++`width` | `float` | | Width. | | ++`height` | `float` | | Height. | | ++`left` | `float` | | The distance from the leftmost part of the picture. | | ++`top` | `float` | | The distance from the topmost edge of the image. | | +`right_eye_pouch_rect` | `object` | | Right eye bag rectangular box position. | | ++`width` | `float` | | Width. | | ++`height` | `float` | | Height. | | ++`left` | `float` | | The distance from the leftmost part of the picture. | | ++`top` | `float` | | The distance from the topmost edge of the image. | | +`wrinkle_mark` | `object` | | Wrinkle contour line coordinates. | | ++`left_eye_wrinkle_outline` | `array` | | Wrinkles in the left eye. | | +++`x` | `float` | | | | +++`y` | `float` | | | | ++`right_eye_wrinkle_outline` | `array` | | Wrinkles in the Right eye. | | +++`x` | `float` | | | | +++`y` | `float` | | | | ++`left_cheek_wrinkle_outline` | `array` | | Wrinkles on the left side of the face. | | +++`x` | `float` | | | | +++`y` | `float` | | | | ++`right_cheek_wrinkle_outline` | `array` | | Wrinkles on the right side of the face. | | +++`x` | `float` | | | | +++`y` | `float` | | | | ++`glabella_wrinkle_outline` | `array` | | Interbrow lines. | | +++`x` | `float` | | | | +++`y` | `float` | | | | ++`left_nasolabial_wrinkle_outline` | `array` | | The left legal line. | | +++`x` | `float` | | | | +++`y` | `float` | | | | ++`right_nasolabial_wrinkle_outline` | `array` | | The right legal line. | | +++`x` | `float` | | | | +++`y` | `float` | | | | ++`left_crowsfeet_wrinkle_outline` | `array` | | Left fishtail line.. | | +++`x` | `float` | | | | +++`y` | `float` | | | | ++`right_crowsfeet_wrinkle_outline` | `array` | | Right fishtail line.. | | +++`x` | `float` | | | | +++`y` | `float` | | | | ++`left_mouth_wrinkle_outline` | `array` | | Left corner of the mouth tattoo. | | +++`x` | `float` | | | | +++`y` | `float` | | | | ++`right_mouth_wrinkle_outline` | `array` | | Right corner of the mouth tattoo. | | +++`x` | `float` | | | | +++`y` | `float` | | | | ++`head_wrinkle_outline` | `array` | | Forehead wrinkles. | | +++`x` | `float` | | | | +++`y` | `float` | | | | +`dark_circle_outline` | `object` | | Dark eye contour coordinates. | | ++`left_dark_circle_outline` | `array` | | Left eye. | | +++`x` | `float` | | | | +++`y` | `float` | | | | ++`right_dark_circle_outline` | `array` | | Right eye. | | +++`x` | `float` | | | | +++`y` | `float` | | | ##### Digital Scoring System Module It includes a total score and 12 parameters. You can directly assess the level of each dimension based on these parameters. | Field | Type | Scope | Description | | :--------------------------- | :-------- | :-------- | :--------------------------------------------------------------------------- | | +`score_info` | `object` | | Score. [Degree & Score](ai-portrait/analysis/skin-analysis-pro/degree-score) | | ++`dark_circle_score` | `integer` | \[0, 100] | Dark Circles Total Score | | ++`skin_type_score` | `integer` | \[0, 100] | Skin Quality Score | | ++`wrinkle_score` | `integer` | \[0, 100] | Wrinkle Score | | ++`oily_intensity_score` | `integer` | \[0, 100] | Oily Score | | ++`pores_score` | `integer` | \[0, 100] | Total Pore Score | | ++`blackhead_score` | `integer` | \[0, 100] | Blackheads Score | | ++`acne_score` | `integer` | \[0, 100] | Acne Score | | ++`sensitivity_score` | `integer` | \[0, 100] | Sensitivity Score | | ++`melanin_score` | `integer` | \[0, 100] | Melanin Score | | ++`water_score` | `integer` | \[0, 100] | Skin Moisture Score | | ++`rough_score` | `integer` | \[0, 100] | Skin Roughness Score | | ++`total_score` | `integer` | \[0, 100] | Total Score | | ++`pores_type_score` | `object` | | Pore Score | | +++`pores_forehead_score` | `integer` | \[0, 100] | Forehead Pore Score | | +++`pores_leftcheek_score` | `integer` | \[0, 100] | Left Cheek Pore Score | | +++`pores_rightcheek_score` | `integer` | \[0, 100] | Right Cheek Pore Score | | +++`pores_jaw_score` | `integer` | \[0, 100] | Jaw Pore Score | | ++`dark_circle_type_score` | `object` | | Dark Circles Score | | +++`left_dark_circle_score` | `integer` | \[0, 100] | Left Eye Dark Circle Score | | +++`right_dark_circle_score` | `integer` | \[0, 100] | Right Eye Dark Circle Score | ##### Custom Module | Field | Type | Scope | Description | | :------------------------------ | :------- | :---- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | +`enhanced_bw_info` | `object` | | The black-and-white enhanced image coordinates and cropping ratio are used to obtain the facial keypoint positions corresponding to the original image. [Conversion formula](#enhanced_bw_info) | | ++`enhanced_bw_rect` | `object` | | Black and white enhanced graph coordinate frame. | | +++`width` | `float` | | Width. | | +++`height` | `float` | | Height. | | +++`left` | `float` | | The distance from the leftmost part of the picture. | | +++`top` | `float` | | The distance from the topmost edge of the image. | | ++`ratio` | `float` | | Crop ratio. | | +`face_maps` | `object` | | `Returns information based on the `return\_maps` field input.` | | ++`red_area` | `base64` | | [More Details](#return_maps) | | ++`brown_area` | `base64` | | [More Details](#return_maps) | | ++`texture_enhanced_pores` | `base64` | | [More Details](#return_maps) | | ++`texture_enhanced_blackheads` | `base64` | | [More Details](#return_maps) | | ++`texture_enhanced_oily_area` | `base64` | | [More Details](#return_maps) | | ++`texture_enhanced_lines` | `base64` | | [More Details](#return_maps) | | ++`water_area` | `base64` | | [More Details](#return_maps) | | ++`rough_area` | `base64` | | [More Details](#return_maps) | | ++`roi_outline_map` | `base64` | | [More Details](#return_maps) | | ++`texture_enhanced_bw` | `base64` | | [More Details](#return_maps) | ###### Coordinate conversion formula between original image and black and white enhanced image x\_enhance = (x\_img - left) \* ratio y\_enhance = (y\_img - top) \* ratio Coordinates of original image: x\_img, y\_img, coordinates of black and white enhanced image: x\_enhance, y\_enhance. ### Skin Analysis Cases | Portraits | Portrait | Portrait | Portrait | Portrait | | :-------- | :-------------------------- | :-------------------------- | :-------------------------- | :-------------------------- | | Results | [Result](case1/result.json) | [Result](case2/result.json) | [Result](case3/result.json) | [Result](case4/result.json) | ### Response Example This API has been discontinued. Please refer to the latest API documentation. # Degree & Score Source: https://ailabtools.mintlify.app/docs/ai-portrait/analysis/skin-analysis-pro/degree-score Accurate analysis of skin status, such as skin color , skin type, double eyelids, eye pouch, dark circles, wrinkles, acne and skin spots. ## `total_score`: Total Score * Formulas: ((`wrinkle_score` + `pores_score` + `blackhead_score` + `acne_score` + `melanin_score`) \* 1.2 + (`water_score` + `oily_intensity_score` + `rough_score`) \* 0.5 + `sensitivity_score` + `dark_circle_score`) / 10 | | Poor | Fair | Good | Excellent | | :------------ | :-------- | :-------- | :-------- | :--------- | | Scoring range | \[70, 75] | \[76, 87] | \[88, 94] | \[95, 100] | ## Pores Score | | Severe | Moderate | Mild | None | | :------------ | :-------- | :-------- | :-------- | :--------- | | Scoring range | \[30, 49] | \[50, 69] | \[70, 89] | \[90, 100] | ### `pores_type_score`.`pores_forehead_score`: Forehead Pore Score * Formulas: 100 - (`enlarged_pore_count.forehead_count` \* 0.1) ### `pores_type_score`.`pores_rightcheek_score`: Right Cheek Pore Score * Formulas: 100 - (`enlarged_pore_count.right_cheek_count` \* 0.22) ### `pores_type_score`.`pores_leftcheek_score`: Left Cheek Pore Score * Formulas: 100 - (`enlarged_pore_count.left_cheek_count` \* 0.22) ### `pores_type_score`.`pores_jaw_score`: Jaw Pore Score * Formulas: 100 - (`enlarged_pore_count.chin_count` \* 0.16) ### `pores_score`: Total Score * Formulas: (`pores_type_score.pores_forehead_score` + `pores_type_score.pores_rightcheek_score` + `pores_type_score.pores_leftcheek_score` + `pores_type_score.pores_jaw_score`) / 4 ## `blackhead_score`: Blackheads Score * One blackhead ≈ 0.3 * Formulas: 100 - (`blackhead_count` \* 0.3) | | None | Mild | Moderate | Severe | | :---------------- | :--------- | :--------- | :---------- | :-------- | | `blackhead_count` | \[0, 30] | \[31, 100] | \[101, 160] | \[161, +] | | Scoring range | \[100, 90] | \[89, 70] | \[69, 50] | \[49, 30] | ## `acne_score`: Acne Score * Formulas: 100 - (`closed_comedones`.`count` \* 1.7) - (`acne`.`count` \* 2.4) - (`acne_pustule`.`count` \* 4.8) - (`acne_nodule`.`count` \* 9.8) | | Severe | Moderate | Mild | None | | :------------ | :-------- | :-------- | :-------- | :--------- | | Scoring range | \[30, 49] | \[50, 69] | \[70, 89] | \[90, 100] | ## `wrinkle_score`: Wrinkle Score | | Severe | Moderate | Mild | None | | :------------ | :-------- | :-------- | :-------- | :--------- | | Scoring range | \[30, 49] | \[50, 69] | \[70, 89] | \[90, 100] | ## Dark Circles Score | | Severe | Moderate | Mild | None | | :------------ | :-------- | :-------- | :-------- | :--------- | | Scoring range | \[30, 49] | \[50, 69] | \[70, 89] | \[90, 100] | ### Severity score | | None | Mild | Moderate | Severe | | :---------------------------------------------------------- | :--- | :--- | :------- | :----- | | `dark_circle_pigment` (Left & Right Pigmented Dark Circles) | 0 | 7 | 11 | 16 | | `dark_circle_rete` (Left & Right Vascularized Dark Circles) | 0 | 9 | 15 | 20 | | `dark_circle_structura` (Left & Right Shaded Dark Circles) | 0 | 11 | 19 | 28 | ### `dark_circle_type_score`.`left_dark_circle_score`: Left Eye Dark Circle Score * Formulas: 100 - Severity score ### `dark_circle_type_score`.`right_dark_circle_score`: Right Eye Dark Circle Score * Formulas: 100 - Severity score ### `dark_circle_score`: Total Score * Formulas: 100 - (100 - `dark_circle_type_score`.`left_dark_circle_score`) - (100 - `dark_circle_type_score`.`right_dark_circle_score`) ## `skin_type_score`: Skin Quality Score * Formulas: 100 - (`water_score` + `oily_intensity_score`) / 2 | Skin Type | Neutral skin | Dry skin | Combination skin | Oily skin | | :------------ | :----------- | :-------- | :--------------- | :--------- | | Scoring range | \[1, 15] | \[16, 40] | \[41, 60] | \[61, 100] | ## `water_score`: Skin Moisture Score * Formulas: 100 - (`water`.`water_severity`) | | None | Mild | Moderate | Severe | | :------------------- | :--------- | :---------- | :----------- | :--------- | | `water`.`water_area` | \[0, 0.09] | \[0.1, 0.3] | \[0.31, 0.6] | \[0.61, +] | | Scoring range | \[100, 90] | \[89, 70] | \[69, 50] | \[49, 30] | ## `sensitivity_score`: Sensitivity Score * Formulas: 100 - (`sensitivity`.`sensitivity_intensity`) | | None | Mild | Moderate | Severe | | :------------------------------- | :--------- | :---------- | :----------- | :--------- | | `sensitivity`.`sensitivity_area` | \[0, 0.09] | \[0.1, 0.3] | \[0.31, 0.6] | \[0.61, +] | | Scoring range | \[100, 90] | \[89, 70] | \[69, 50] | \[49, 30] | ## `melanin_score`: Melanin Score * Formulas: 100 - (`melanin`.`melanin_concentration`) | | None | Mild | Moderate | Severe | | :--------------------- | :--------- | :---------- | :----------- | :--------- | | `melanin`.`brown_area` | \[0, 0.09] | \[0.1, 0.3] | \[0.31, 0.6] | \[0.61, +] | | Scoring range | \[100, 90] | \[89, 70] | \[69, 50] | \[49, 30] | ## `rough_score`: Skin Roughness Score * Formulas: 100 - (`rough`.`rough_severity`) | | None | Mild | Moderate | Severe | | :------------------- | :--------- | :----------- | :----------- | :--------- | | `rough`.`rough_area` | \[0, 0.06] | \[0.07, 0.2] | \[0.21, 0.5] | \[0.51, +] | | Scoring range | \[100, 90] | \[89, 70] | \[69, 50] | \[49, 30] | ## `oily_intensity_score`: Oily Score | | None | Mild | Moderate | Severe | | :------------ | :--------- | :-------- | :-------- | :-------- | | Scoring range | \[100, 90] | \[89, 70] | \[69, 50] | \[49, 30] | # Skin Analyze API Source: https://ailabtools.mintlify.app/docs/ai-portrait/analysis/skin-analysis/api POST /api/portrait/analysis/skin-analysis Skin Analyze API detects skin type, tone, eye bags, dark circles, wrinkles, acne, spots, and other skin conditions. ## Request * **URL**: `https://www.ailabapi.com/api/portrait/analysis/skin-analysis` * **Method**: `POST` * **Content-Type**: `multipart/form-data` ### Image requirements * **Image format**: `JPG` `JPEG` * **Image size**: No more than 2 MB. * **Image resolution**: Larger than 200x200px, smaller than 4096x4096px. * **Minimum face pixel size**: To ensure the effect, it is recommended that the minimum value of the face box (square) side length in the image is not less than 200 pixels. Calibration size: minimum of 160 pixels. The minimum value of the face frame edge length is not less than one-tenth of the shortest edge of the image. * **Face quality**: The higher the face quality, the more accurate the skin analysis. Factors affecting face quality include: occlusion of the five facial features, blurred images, improper lighting (bright, dark, backlight), excessive face angle (roll ≤ ±45°, yaw ≤ ±45°, pitch ≤ ±45° are recommended), etc. ### Headers | Field | Required | Type | Description | | :----------------- | :------- | :------- | :---------------------------------------------------- | | `ailabapi-api-key` | YES | `string` | Application API KEY. [Get API KEY](/docs/get-api-key) | ### Body | Field | Required | Type | | :------ | :------- | :----- | | `image` | YES | `file` | ## Response **Response Field Handling Flow** 1. **Handle `Public Response Fields`** Parse and validate the `Public Response Fields`, checking the status code or response message to ensure the request is successful and error-free. 2. **Handle `Business Response Fields`** If the `Public Response Fields` are valid and error-free, proceed with processing the business logic in the `Business Response Fields`. ### Public Response Fields Viewing Public Response Fields and Error Codes ### Business Response Fields | Field | Type | Scope | Description | | :------------------- | :-------- | :------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------- | | `warning` | `array` | `imporper_headpose` | Interference factors affecting the calculation results. \`\`imporper\_headpose`: Improper head angle (Judgment condition roll,yaw,pitch exceeds [-45,45]).` | | `face_rectangle` | `object` | | The position of the face rectangle box. | | +`top` | `float` | | The vertical coordinate of the pixel point in the upper-left corner of the rectangle box. | | +`left` | `float` | | The horizontal coordinate of the pixel point in the upper-left corner of the rectangle. | | +`width` | `float` | | The width of the rectangle box. | | +`height` | `float` | | The height of the rectangle box. | | `result` | `object` | | Results of face skin analysis. | | +`left_eyelids` | `object` | | Results of the double eyelid test on the left eye. | | ++`value` | `integer` | `0`, `1`, `2` | Type. ``0`: Single eyelids` ``1`: Parallel Double Eyelids` \`\`2`: Scalloped Double Eyelids` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`right_eyelids` | `object` | | Results of the double eyelid test on the right eye. | | ++`value` | `integer` | `0`, `1`, `2` | Type. ``0`: Single eyelids` ``1`: Parallel Double Eyelids` \`\`2`: Scalloped Double Eyelids` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`eye_pouch` | `object` | | Eye bag test results. | | ++`value` | `integer` | `0`, `1` | With or without eye bags. ``0`: No` ``1`: Yes` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`dark_circle` | `object` | | Dark circles test results. | | ++`value` | `integer` | `0`, `1` | With or without dark circles under the eyes. ``0`: No` ``1`: Yes` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`forehead_wrinkle` | `object` | | Results of the head-lift test. | | ++`value` | `integer` | `0`, `1` | With or without headlines. ``0`: No` ``1`: Yes` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`crows_feet` | `object` | | Fishtail test results. | | ++`value` | `integer` | `0`, `1` | With or without crow's feet. ``0`: No` ``1`: Yes` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`eye_finelines` | `object` | | Results of the eye fine lines test. | | ++`value` | `integer` | `0`, `1` | The presence or absence of fine lines under the eyes. ``0`: No` ``1`: Yes` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`glabella_wrinkle` | `object` | | Results of the interbrow line test. | | ++`value` | `integer` | `0`, `1` | With or without interbrow lines. ``0`: No` ``1`: Yes` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`nasolabial_fold` | `object` | | Results of the forehead line test. | | ++`value` | `integer` | `0`, `1` | With or without lines. ``0`: No` ``1`: Yes` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`skin_type` | `object` | | Skin texture test results. | | ++`skin_type` | `integer` | `0`, `1`, `2`, `3` | Type. ``0`: Oily skin.` ``1`: Dry skin.` ``2`: Neutral skin.` ``3`: Combination skin.` | | ++`details` | `object` | | The confidence level of each classification. | | +++`0` | `object` | | Oily skin information. | | ++++`value` | `integer` | `0`, `1` | Oily skin. ``0`: No.` ``1`: Yes.` | | ++++`confidence` | `float` | | Confidence. | | +++`1` | `object` | | Dry skin information. | | ++++`value` | `integer` | `0`, `1` | Dry skin. ``0`: No.` ``1`: Yes.` | | ++++`confidence` | `float` | | Confidence. | | +++`2` | `object` | | Neutral skin information. | | ++++`value` | `integer` | `0`, `1` | Neutral skin. ``0`: No.` ``1`: Yes.` | | ++++`confidence` | `float` | | Confidence. | | +++`3` | `object` | | Combination skin information. | | ++++`value` | `integer` | `0`, `1` | Combination skin. ``0`: No.` ``1`: Yes.` | | ++++`confidence` | `float` | | Confidence. | | +`pores_forehead` | `object` | | Forehead pore test results. | | ++`value` | `integer` | `0`, `1` | With or without enlarged pores. ``0`: No` ``1`: Yes` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`pores_left_cheek` | `object` | | Results of the left cheek pore test. | | ++`value` | `integer` | `0`, `1` | With or without enlarged pores. ``0`: No` ``1`: Yes` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`pores_right_cheek` | `object` | | Results of the right cheek pore test. | | ++`value` | `integer` | `0`, `1` | With or without enlarged pores. ``0`: No` ``1`: Yes` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`pores_jaw` | `object` | | Chin pore test results. | | ++`value` | `integer` | `0`, `1` | With or without enlarged pores. ``0`: No` ``1`: Yes` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`blackhead` | `object` | | Blackhead test results. | | ++`value` | `integer` | `0`, `1` | With or without blackheads. ``0`: No` ``1`: Yes` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`acne` | `object` | | Acne test results. | | ++`value` | `integer` | `0`, `1` | With or without Acne. ``0`: No` ``1`: Yes` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`mole` | `object` | | Mole test results. | | ++`value` | `integer` | `0`, `1` | With or without moles. ``0`: No` ``1`: Yes` | | ++`confidence` | `float` | \[0, 1] | Confidence. | | +`skin_spot` | `object` | | Spot detection results. | | ++`value` | `integer` | `0`, `1` | With or without spotting. ``0`: No` ``1`: Yes` | | ++`confidence` | `float` | \[0, 1] | Confidence. | ### Response Example ```json theme={null} { "request_id": "", "log_id": "", "error_code": 0, "error_msg": "", "error_detail": { "status_code": 200, "code": "", "code_message": "", "message": "" }, "warning": [], "face_rectangle": { "top": 0, "left": 0, "width": 0, "height": 0 }, "result": { "left_eyelids": { "value": 0, "confidence": 0.89 }, "right_eyelids": { "value": 0, "confidence": 0.89 }, "eye_pouch": { "value": 0, "confidence": 0.89 }, "dark_circle": { "value": 0, "confidence": 0.89 }, "forehead_wrinkle": { "value": 0, "confidence": 0.89 }, "crows_feet": { "value": 0, "confidence": 0.89 }, "eye_finelines": { "value": 0, "confidence": 0.89 }, "glabella_wrinkle": { "value": 0, "confidence": 0.89 }, "nasolabial_fold": { "value": 0, "confidence": 0.89 }, "skin_type": { "skin_type": 0, "details": { "0": { "value": 1, "confidence": 0.89 }, "1": { "value": 1, "confidence": 0.89 }, "2": { "value": 1, "confidence": 0.89 }, "3": { "value": 1, "confidence": 0.89 } } }, "pores": { "value": 0, "confidence": 1 }, "pores_forehead": { "value": 0, "confidence": 1 }, "pores_left_cheek": { "value": 0, "confidence": 1 }, "pores_right_cheek": { "value": 0, "confidence": 1 }, "pores_jaw": { "value": 0, "confidence": 1 }, "blackhead": { "value": 0, "confidence": 1 }, "acne": { "value": 0, "confidence": 1 }, "mole": { "value": 0, "confidence": 1 }, "skin_spot": { "value": 0, "confidence": 1 } } } ``` # AI Bald Source: https://ailabtools.mintlify.app/docs/ai-portrait/editing/ai-bald AI Bald API creates realistic bald head and hair loss previews from portraits for hairstyle apps and virtual makeover tools. ## Renderings show | ORIGINAL IMAGE | RESULT IMAGE | | :--------------------------------: | :----------------------------: | | ![ORIGINAL IMAGE][OriginalImage-1] | ![RESULT IMAGE][ResultImage-1] | ## Billing Instructions ## File Storage Policy [OriginalImage-1]: https://ai-resource.ailabtools.com/ai-bald/doc/OriginalImage-1.webp [ResultImage-1]: https://ai-resource.ailabtools.com/ai-bald/doc/ResultImage-1.webp # AI Bald API Source: https://ailabtools.mintlify.app/docs/ai-portrait/editing/ai-bald/api POST /api/portrait/editing/ai-bald AI Bald API creates realistic bald head and hair loss previews from portraits for hairstyle apps and virtual makeover tools. ## Query Task This is an asynchronous task API. The submission request returns only `task_id`. Use `task_id` to call [Querying Async Task Results](/docs/ai-common/async-task-results/api) and retrieve the final result. Async task results remain available for 24 hours. Query every 5 seconds. | Field | Type | Description | | :---------------- | :------- | :----------------- | | `data` | `object` | Final result data. | | +`result_urls` | `array` | Result image URLs. | | ++`result_urls[]` | `string` | Result image URL. | ```json theme={null} { "data": { "result_urls": [""] } } ``` `result_urls` are temporary and remain valid for 24 hours. Download the files to your own storage before the URLs expire if you need long-term storage. ## Submit Task # AI Beard Removal Source: https://ailabtools.mintlify.app/docs/ai-portrait/editing/ai-beard-removal AI Beard Removal API removes beards, mustaches, and facial hair from portraits to create realistic clean-shaven results. ## Renderings show | ORIGINAL IMAGE | RESULT IMAGE | | :--------------------------------: | :----------------------------: | | ![ORIGINAL IMAGE][OriginalImage-1] | ![RESULT IMAGE][ResultImage-1] | ## Billing Instructions ## File Storage Policy [OriginalImage-1]: https://ai-resource.ailabtools.com/ai-beard-removal/doc/OriginalImage-1.webp [ResultImage-1]: https://ai-resource.ailabtools.com/ai-beard-removal/doc/ResultImage-1.webp # AI Beard Removal API Source: https://ailabtools.mintlify.app/docs/ai-portrait/editing/ai-beard-removal/api POST /api/portrait/editing/ai-beard-removal AI Beard Removal API removes beards, mustaches, and facial hair from portraits to create realistic clean-shaven results. ## Query Task This is an asynchronous task API. The submission request returns only `task_id`. Use `task_id` to call [Querying Async Task Results](/docs/ai-common/async-task-results/api) and retrieve the final result. Async task results remain available for 24 hours. Query every 5 seconds. | Field | Type | Description | | :---------------- | :------- | :----------------- | | `data` | `object` | Final result data. | | +`result_urls` | `array` | Result image URLs. | | ++`result_urls[]` | `string` | Result image URL. | ```json theme={null} { "data": { "result_urls": [""] } } ``` `result_urls` are temporary and remain valid for 24 hours. Download the files to your own storage before the URLs expire if you need long-term storage. ## Submit Task # AI Beard Styling Source: https://ailabtools.mintlify.app/docs/ai-portrait/editing/ai-beard-styling AI Beard Styling API adds realistic beard and mustache styles to portraits for grooming apps, barbershop tools, and virtual try-ons. ## Renderings show ### Preset Beard | ORIGINAL IMAGE | `beard` | RESULT IMAGE | | :--------------------------------: | :--------: | :-------------------------------------: | | ![ORIGINAL IMAGE][OriginalImage-1] | `Bandholz` | ![RESULT IMAGE][ResultImage-Bandholz-1] | ### Reference Beard | ORIGINAL IMAGE | REFERENCE IMAGE | RESULT IMAGE | | :--------------------------------: | :----------------------------------: | :---------------------------------------------: | | ![ORIGINAL IMAGE][OriginalImage-1] | ![REFERENCE IMAGE][ReferenceImage-1] | ![RESULT IMAGE][ResultImage-ReferenceImage-1-1] | ## Billing Instructions ## File Storage Policy [OriginalImage-1]: https://ai-resource.ailabtools.com/ai-beard-styling/doc/OriginalImage-1.webp [ReferenceImage-1]: https://ai-resource.ailabtools.com/ai-beard-styling/doc/ReferenceImage-1.webp [ResultImage-Bandholz-1]: https://ai-resource.ailabtools.com/ai-beard-styling/doc/ResultImage-Bandholz-1.webp [ResultImage-ReferenceImage-1-1]: https://ai-resource.ailabtools.com/ai-beard-styling/doc/ResultImage-ReferenceImage-1-1.webp # AI Beard Styling API Source: https://ailabtools.mintlify.app/docs/ai-portrait/editing/ai-beard-styling/api POST /api/portrait/editing/ai-beard-styling AI Beard Styling API adds realistic beard and mustache styles to portraits for grooming apps, barbershop tools, and virtual try-ons. ## Query Task This is an asynchronous task API. The submission request returns only `task_id`. Use `task_id` to call [Querying Async Task Results](/docs/ai-common/async-task-results/api) and retrieve the final result. Async task results remain available for 24 hours. Query every 5 seconds. | Field | Type | Description | | :---------------- | :------- | :----------------- | | `data` | `object` | Final result data. | | +`result_urls` | `array` | Result image URLs. | | ++`result_urls[]` | `string` | Result image URL. | ```json theme={null} { "data": { "result_urls": [""] } } ``` `result_urls` are temporary and remain valid for 24 hours. Download the files to your own storage before the URLs expire if you need long-term storage. ## Submit Task ### `beard` The following enum values are supported for `beard`. # AI Colored Contacts Source: https://ailabtools.mintlify.app/docs/ai-portrait/editing/ai-colored-contacts AI Colored Contacts API applies realistic colored contact lens effects to portraits using prompt-guided eye color customization. ## Renderings show | ORIGINAL IMAGE | PROMPT | RESULT IMAGE | | :--------------------------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------: | | ![ORIGINAL IMAGE][OriginalImage-1] |
  • `name`: Colored Contacts Plum Violet
  • `desc`: Apply plum-violet eyes color with luminous inner ring and smooth iris gradient, balancing fantasy style and realistic eye anatomy detail.
  • | ![RESULT IMAGE][ResultImage-1] | ## Billing Instructions ## File Storage Policy [OriginalImage-1]: https://ai-resource.ailabtools.com/ai-colored-contacts/doc/OriginalImage-1.webp [ResultImage-1]: https://ai-resource.ailabtools.com/ai-colored-contacts/doc/ResultImage-1.webp # AI Colored Contacts API Source: https://ailabtools.mintlify.app/docs/ai-portrait/editing/ai-colored-contacts/api POST /api/portrait/editing/ai-colored-contacts AI Colored Contacts API applies realistic colored contact lens effects to portraits using prompt-guided eye color customization. ## Query Task This is an asynchronous task API. The submission request returns only `task_id`. Use `task_id` to call [Querying Async Task Results](/docs/ai-common/async-task-results/api) and retrieve the final result. Async task results remain available for 24 hours. Query every 5 seconds. | Field | Type | Description | | :---------------- | :------- | :----------------- | | `data` | `object` | Final result data. | | +`result_urls` | `array` | Result image URLs. | | ++`result_urls[]` | `string` | Result image URL. | ```json theme={null} { "data": { "result_urls": [""] } } ``` `result_urls` are temporary and remain valid for 24 hours. Download the files to your own storage before the URLs expire if you need long-term storage. ## Submit Task # AI Eyebrows Source: https://ailabtools.mintlify.app/docs/ai-portrait/editing/ai-eyebrows AI Eyebrows API applies reference-guided eyebrow styles to portraits with realistic shape, detail, and high-resolution output. ## Renderings show | ORIGINAL IMAGE | REFERENCE IMAGE | RESULT IMAGE | | :--------------------------------: | :----------------------------------: | :----------------------------: | | ![ORIGINAL IMAGE][OriginalImage-1] | ![REFERENCE IMAGE][ReferenceImage-1] | ![RESULT IMAGE][ResultImage-1] | ## Billing Instructions ## File Storage Policy [OriginalImage-1]: https://ai-resource.ailabtools.com/ai-eyebrows/doc/OriginalImage-1.webp [ReferenceImage-1]: https://ai-resource.ailabtools.com/ai-eyebrows/doc/ReferenceImage-1.webp [ResultImage-1]: https://ai-resource.ailabtools.com/ai-eyebrows/doc/ResultImage-1.webp # AI Eyebrows API Source: https://ailabtools.mintlify.app/docs/ai-portrait/editing/ai-eyebrows/api POST /api/portrait/editing/ai-eyebrows AI Eyebrows API applies reference-guided eyebrow styles to portraits with realistic shape, detail, and high-resolution output. ## Query Task This is an asynchronous task API. The submission request returns only `task_id`. Use `task_id` to call [Querying Async Task Results](/docs/ai-common/async-task-results/api) and retrieve the final result. Async task results remain available for 24 hours. Query every 5 seconds. | Field | Type | Description | | :---------------- | :------- | :----------------- | | `data` | `object` | Final result data. | | +`result_urls` | `array` | Result image URLs. | | ++`result_urls[]` | `string` | Result image URL. | ```json theme={null} { "data": { "result_urls": [""] } } ``` `result_urls` are temporary and remain valid for 24 hours. Download the files to your own storage before the URLs expire if you need long-term storage. ## Submit Task # AI Eyelashes Source: https://ailabtools.mintlify.app/docs/ai-portrait/editing/ai-eyelashes AI Eyelashes API applies natural-looking eyelash effects to portraits using prompt-guided eye style enhancement. ## Renderings show | ORIGINAL IMAGE | PROMPT | RESULT IMAGE | | :--------------------------------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------: | | ![ORIGINAL IMAGE][OriginalImage-1] |
  • `name`: Eyelash Filter Manga Spiky Set
  • `desc`: Create a spiky eyelash filter with separated lash clusters and visible lower-lash detail for manga-inspired eyes.
  • | ![RESULT IMAGE][ResultImage-1] | ## Billing Instructions ## File Storage Policy [OriginalImage-1]: https://ai-resource.ailabtools.com/ai-eyelashes/doc/OriginalImage-1.webp [ResultImage-1]: https://ai-resource.ailabtools.com/ai-eyelashes/doc/ResultImage-1.webp # AI Eyelashes API Source: https://ailabtools.mintlify.app/docs/ai-portrait/editing/ai-eyelashes/api POST /api/portrait/editing/ai-eyelashes AI Eyelashes API applies natural-looking eyelash effects to portraits using prompt-guided eye style enhancement. ## Query Task This is an asynchronous task API. The submission request returns only `task_id`. Use `task_id` to call [Querying Async Task Results](/docs/ai-common/async-task-results/api) and retrieve the final result. Async task results remain available for 24 hours. Query every 5 seconds. | Field | Type | Description | | :---------------- | :------- | :----------------- | | `data` | `object` | Final result data. | | +`result_urls` | `array` | Result image URLs. | | ++`result_urls[]` | `string` | Result image URL. | ```json theme={null} { "data": { "result_urls": [""] } } ``` `result_urls` are temporary and remain valid for 24 hours. Download the files to your own storage before the URLs expire if you need long-term storage. ## Submit Task # AI Eyeshadow Try-On Source: https://ailabtools.mintlify.app/docs/ai-portrait/editing/ai-eyeshadow AI Eyeshadow Try-On API applies realistic eyeshadow styles while preserving facial features, skin tone, expression, and lighting. ## Renderings show | ORIGINAL IMAGE | RESULT IMAGE | | :--------------------------------: | :----------------------------: | | ![ORIGINAL IMAGE][OriginalImage-1] | ![RESULT IMAGE][ResultImage-1] | ## Billing Instructions ## File Storage Policy [OriginalImage-1]: https://ai-resource.ailabtools.com/ai-eyeshadow/doc/OriginalImage-1.webp [ResultImage-1]: https://ai-resource.ailabtools.com/ai-eyeshadow/doc/ResultImage-1.webp # AI Eyeshadow Try-On API Source: https://ailabtools.mintlify.app/docs/ai-portrait/editing/ai-eyeshadow/api POST /api/portrait/editing/ai-eyeshadow AI Eyeshadow Try-On API applies realistic eyeshadow styles while preserving facial features, skin tone, expression, and lighting. ## Query Task This is an asynchronous task API. The submission request returns only `task_id`. Use `task_id` to call [Querying Async Task Results](/docs/ai-common/async-task-results/api) and retrieve the final result. Async task results remain available for 24 hours. Query every 5 seconds. | Field | Type | Description | | :---------------- | :------- | :----------------- | | `data` | `object` | Final result data. | | +`result_urls` | `array` | Result image URLs. | | ++`result_urls[]` | `string` | Result image URL. | ```json theme={null} { "data": { "result_urls": [""] } } ``` `result_urls` are temporary and remain valid for 24 hours. Download the files to your own storage before the URLs expire if you need long-term storage. ## Submit Task ### `eyeshadow_style` The following enum values are supported for `eyeshadow_style`. # AI Hair Color Source: https://ailabtools.mintlify.app/docs/ai-portrait/editing/ai-hair-color AI Hair Color API applies realistic hair color effects to portraits with prompt-guided tones, styles, and natural results. ## Renderings show | ORIGINAL IMAGE | PROMPT | RESULT IMAGE | | :--------------------------------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------: | | ![ORIGINAL IMAGE][OriginalImage-1] |
  • `name`: AI Hair Color Blonde Black Split Dye
  • `desc`: Apply strict split-dye hair: one half creamy platinum-beige (#D8C8A8), the other half true jet black (#080808). Keep a crisp center split and clear two-tone contrast with realistic shine.
  • | ![RESULT IMAGE][ResultImage-1] | ## Billing Instructions ## File Storage Policy [OriginalImage-1]: https://ai-resource.ailabtools.com/ai-hair-color/doc/OriginalImage-1.webp [ResultImage-1]: https://ai-resource.ailabtools.com/ai-hair-color/doc/ResultImage-1.webp # AI Hair Color API Source: https://ailabtools.mintlify.app/docs/ai-portrait/editing/ai-hair-color/api POST /api/portrait/editing/ai-hair-color AI Hair Color API applies realistic hair color effects to portraits with prompt-guided tones, styles, and natural results. ## Query Task This is an asynchronous task API. The submission request returns only `task_id`. Use `task_id` to call [Querying Async Task Results](/docs/ai-common/async-task-results/api) and retrieve the final result. Async task results remain available for 24 hours. Query every 5 seconds. | Field | Type | Description | | :---------------- | :------- | :----------------- | | `data` | `object` | Final result data. | | +`result_urls` | `array` | Result image URLs. | | ++`result_urls[]` | `string` | Result image URL. | ```json theme={null} { "data": { "result_urls": [""] } } ``` `result_urls` are temporary and remain valid for 24 hours. Download the files to your own storage before the URLs expire if you need long-term storage. ## Submit Task # AI Hair Loss Simulation Source: https://ailabtools.mintlify.app/docs/ai-portrait/editing/ai-hair-loss-simulation AI Hair Loss Simulation API creates realistic hair thinning, receding hairline, and baldness previews from portrait photos. ## Renderings show | ORIGINAL IMAGE | `level` | RESULT IMAGE | | :--------------------------------: | :-------: | :----------------------------------------------------: | | ![ORIGINAL IMAGE][OriginalImage-1] | `man_5` | ![RESULT IMAGE][ResultImage-OriginalImage-1-man_5-1] | | ![ORIGINAL IMAGE][OriginalImage-2] | `woman_5` | ![RESULT IMAGE][ResultImage-OriginalImage-2-woman_5-1] | ## Billing Instructions ## File Storage Policy [OriginalImage-1]: https://ai-resource.ailabtools.com/ai-hair-loss-simulation/doc/OriginalImage-1.webp [OriginalImage-2]: https://ai-resource.ailabtools.com/ai-hair-loss-simulation/doc/OriginalImage-2.webp [ResultImage-OriginalImage-1-man_5-1]: https://ai-resource.ailabtools.com/ai-hair-loss-simulation/doc/ResultImage-OriginalImage-1-man_5-1.webp [ResultImage-OriginalImage-2-woman_5-1]: https://ai-resource.ailabtools.com/ai-hair-loss-simulation/doc/ResultImage-OriginalImage-2-woman_5-1.webp # AI Hair Loss Simulation API Source: https://ailabtools.mintlify.app/docs/ai-portrait/editing/ai-hair-loss-simulation/api POST /api/portrait/editing/ai-hair-loss-simulation AI Hair Loss Simulation API creates realistic hair thinning, receding hairline, and baldness previews from portrait photos. ## Query Task This is an asynchronous task API. The submission request returns only `task_id`. Use `task_id` to call [Querying Async Task Results](/docs/ai-common/async-task-results/api) and retrieve the final result. Async task results remain available for 24 hours. Query every 5 seconds. | Field | Type | Description | | :---------------- | :------- | :----------------- | | `data` | `object` | Final result data. | | +`result_urls` | `array` | Result image URLs. | | ++`result_urls[]` | `string` | Result image URL. | ```json theme={null} { "data": { "result_urls": [""] } } ``` `result_urls` are temporary and remain valid for 24 hours. Download the files to your own storage before the URLs expire if you need long-term storage. ## Submit Task ### `level` The following enum values are supported for `level`. # AI Lip Enhancement Source: https://ailabtools.mintlify.app/docs/ai-portrait/editing/ai-lip-enhancement AI Lip Enhancement API creates fuller, natural-looking lips while preserving facial features, expression, skin tone, and image quality. ## Renderings show | ORIGINAL IMAGE | RESULT IMAGE | | :--------------------------------: | :----------------------------: | | ![ORIGINAL IMAGE][OriginalImage-1] | ![RESULT IMAGE][ResultImage-1] | ## Billing Instructions ## File Storage Policy [OriginalImage-1]: https://ai-resource.ailabtools.com/ai-lip-enhancement/doc/OriginalImage-1.webp [ResultImage-1]: https://ai-resource.ailabtools.com/ai-lip-enhancement/doc/ResultImage-1.webp # AI Lip Enhancement API Source: https://ailabtools.mintlify.app/docs/ai-portrait/editing/ai-lip-enhancement/api POST /api/portrait/editing/ai-lip-enhancement AI Lip Enhancement API creates fuller, natural-looking lips while preserving facial features, expression, skin tone, and image quality. ## Query Task This is an asynchronous task API. The submission request returns only `task_id`. Use `task_id` to call [Querying Async Task Results](/docs/ai-common/async-task-results/api) and retrieve the final result. Async task results remain available for 24 hours. Query every 5 seconds. | Field | Type | Description | | :------- | :------- | :----------------- | | `data` | `object` | Final result data. | | +`image` | `string` | Result image URL. | ```json theme={null} { "data": { "image": "" } } ``` `image` is temporary and remains valid for 24 hours. Download the file to your own storage before the URL expires if you need long-term storage. ## Submit Task # AI Waist Slimming Source: https://ailabtools.mintlify.app/docs/ai-portrait/editing/ai-waist-slimming AI Waist Slimming API creates a slimmer waist while preserving natural body proportions, clothing, pose, and image quality. ## Renderings show | ORIGINAL IMAGE | RESULT IMAGE | | :--------------------------------: | :----------------------------: | | ![ORIGINAL IMAGE][OriginalImage-1] | ![RESULT IMAGE][ResultImage-1] | ## Billing Instructions ## File Storage Policy [OriginalImage-1]: https://ai-resource.ailabtools.com/ai-waist-slimming/doc/OriginalImage-1.webp [ResultImage-1]: https://ai-resource.ailabtools.com/ai-waist-slimming/doc/ResultImage-1.webp # AI Waist Slimming API Source: https://ailabtools.mintlify.app/docs/ai-portrait/editing/ai-waist-slimming/api POST /api/portrait/editing/ai-waist-slimming AI Waist Slimming API creates a slimmer waist while preserving natural body proportions, clothing, pose, and image quality. ## Query Task This is an asynchronous task API. The submission request returns only `task_id`. Use `task_id` to call [Querying Async Task Results](/docs/ai-common/async-task-results/api) and retrieve the final result. Async task results remain available for 24 hours. Query every 5 seconds. | Field | Type | Description | | :------- | :------- | :----------------- | | `data` | `object` | Final result data. | | +`image` | `string` | Result image URL. | ```json theme={null} { "data": { "image": "" } } ``` `image` is temporary and remains valid for 24 hours. Download the file to your own storage before the URL expires if you need long-term storage. ## Submit Task # Try on Clothes Source: https://ailabtools.mintlify.app/docs/ai-portrait/editing/try-on-clothes Try on Clothes API generates virtual clothing try-on images from person and garment photos for fashion apps and e-commerce. ## Renderings show | Clothing Type | ORIGINAL IMAGE | CLOTHING IMAGE | RESULT IMAGE | | :------------------ | :-------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------- | | Upper Body Clothing | ![ORIGINAL IMAGE](https://ai-resource.ailabtools.com/try-on-clothes/doc/OriginalImage-1.webp) | ![CLOTHING IMAGE](https://ai-resource.ailabtools.com/try-on-clothes/doc/top-1.webp) | ![RESULT IMAGE](https://ai-resource.ailabtools.com/try-on-clothes/doc/ResultImage-1.webp) | | Lower Body Clothing | ![ORIGINAL IMAGE](https://ai-resource.ailabtools.com/try-on-clothes/doc/OriginalImage-1.webp) | ![CLOTHING IMAGE](https://ai-resource.ailabtools.com/try-on-clothes/doc/bottom-1.webp) | ![RESULT IMAGE](https://ai-resource.ailabtools.com/try-on-clothes/doc/ResultImage-2.webp) | | Full Body Clothing | ![ORIGINAL IMAGE](https://ai-resource.ailabtools.com/try-on-clothes/doc/OriginalImage-1.webp) | ![CLOTHING IMAGE](https://ai-resource.ailabtools.com/try-on-clothes/doc/full-1.webp) | ![RESULT IMAGE](https://ai-resource.ailabtools.com/try-on-clothes/doc/ResultImage-3.webp) | ## Billing Instructions ## File Storage Policy ## Application Scenarios * **Product Main Image & Product Detail Pages: Generate Diverse Model Try-On Photos in Bulk** Automatically generate high-quality images of clothing on various models with distinctive appearances, allowing for greater visual diversity on product listings and detail pages. This bulk generation saves time and enhances visual appeal, providing an efficient alternative to traditional photoshoots. * **Virtual Try-On for Models or Consumers: Customized Images by Body Type and Ethnicity** Produce virtual try-on images tailored to specific body types and ethnicities to meet varied client demands. This feature supports brand inclusivity and offers consumers a more personalized shopping experience, increasing engagement and potential conversion rates. * **Content Creation: Affordable and Realistic Lifestyle Photos** Easily create on-brand, atmospheric images that look like genuine user-generated content. These images enable low-cost content production, ideal for marketing across social media and e-commerce platforms to drive brand authenticity and customer connection. * **New Product Testing: Reduce Model Booking Times and Speed Up Listings** Shorten the product launch cycle by creating model images virtually, without the need for time-consuming model bookings and photoshoots. Quickly visualize new styles on virtual models, accelerating the time-to-market for new collections. * **Fashion Design Reference: Generate Try-On Images of Various Styles Based on Texture Reference Images** Utilize fabric and texture reference images to create try-on visuals of different garment styles. This feature provides designers with a practical tool for quickly visualizing and iterating on designs, making it easier to refine ideas and enhance creativity. ## FAQ * **Why Is It Necessary to Upload a Flat Lay Image of the Garment?** A flat lay image clearly displays the garment’s structure and patterns, allowing the AI to better understand the garment’s relationship to the human body. This clarity helps the AI accurately simulate how the clothing will look when worn, resulting in a realistic try-on image. * **What If I Don’t Have a Flat Lay Image of the Garment?** If a flat lay image isn’t available, you can photograph the garment on a colleague or friend in a well-lit area, or place it on a mannequin for a clear shot. Both methods will provide the AI with sufficient visual details for optimal processing. * **Why Does the Generated Image Lack Detail and Texture?** For high-quality results, it’s essential to use a high-resolution, complete flat lay image. Missing details or incomplete angles in the uploaded image may lead the AI to fill in gaps, which can result in an outcome that doesn’t match the desired look. * **How to Choose the Right Model Image?** Select a clear, unobstructed full-body or half-body image of the model from the front. For best results, choose an image with minimal clothing (e.g., shorts and a T-shirt) so that both arms and legs are clearly visible. Avoid model photos with long skirts, layered clothing, oversized sleeves, or accessories like scarves, umbrellas, or bags, as these can interfere with the try-on rendering. # Try on Clothes Premium Source: https://ailabtools.mintlify.app/docs/ai-portrait/editing/try-on-clothes-premium Try on Clothes Premium API creates high-quality virtual try-on images with realistic garment fit, texture, and body alignment. ## Renderings show | ORIGINAL IMAGE | GARMENT IMAGE | RESULT IMAGE | | :------------------------------------------------------------------------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------- | | ![ORIGINAL IMAGE](https://ai-resource.ailabtools.com/try-on-clothes-pro/doc/OriginalImage-1.webp) | ![CLOTHING IMAGE](https://ai-resource.ailabtools.com/try-on-clothes-pro/doc/top-1.webp) ![CLOTHING IMAGE](https://ai-resource.ailabtools.com/try-on-clothes-pro/doc/bottom-1.webp) | ![RESULT IMAGE](https://ai-resource.ailabtools.com/try-on-clothes-pro/doc/ResultImage-1.webp) | | ![ORIGINAL IMAGE](https://ai-resource.ailabtools.com/try-on-clothes-pro/doc/OriginalImage-1.webp) | ![CLOTHING IMAGE](https://ai-resource.ailabtools.com/try-on-clothes-pro/doc/suit-1.webp) | ![RESULT IMAGE](https://ai-resource.ailabtools.com/try-on-clothes-pro/doc/ResultImage-2.webp) | ## Billing Instructions ## File Storage Policy ## What Is Try on Clothes Premium? Try on Clothes Premium is the **high-quality version** of our Try on Clothes Pro engine. Both products follow the same basic workflow, but Premium uses a more advanced generation pipeline to: * refine garment fit and silhouette, * preserve fabric details and prints, * reduce artifacts around edges, hands, and complex areas. Because of this enhancement, **each Premium request typically takes about 80 seconds**, compared to roughly **40 seconds** for Try on Clothes Pro. In return, you get **cleaner, sharper, and more reliable try-on images** that are better suited for: * product main images and detail pages, * marketing and ad creatives, * any scenario where visual quality is a priority. *** ## Typical Use Cases * **E-commerce product & detail page images** Generate high-quality on-model visuals for category pages and product detail pages, focusing on garment shape, fit, and texture. Ideal for main images and hero placements. * **Virtual try-on for models and consumers** Create personalized try-on results across different body types, skin tones, and styles so shoppers see looks that feel closer to their real-world appearance. * **Marketing and social media content** Produce realistic lifestyle images for ads, social posts, and store banners, reducing reliance on physical shoots while keeping brand visuals consistent. * **New product launch & design reference** Use virtual try-on images to support early listings, internal reviews, and concept boards. Combine fabric reference images with different styles for quick visual exploration. *** ## How Is Try on Clothes Premium Different from Try on Clothes Pro? Try on Clothes Premium and Try on Clothes Pro share the same API structure and overall workflow, but they are tuned for different priorities. **1. Image Quality & Detail** * **Premium** * Enhanced pipeline for garment reconstruction and texture. * Better at preserving prints, seams, edges, and structural elements. * Recommended for main product images, campaigns, and high-visibility placements. * **Pro** * Balanced quality with faster inference. * Well-suited for bulk generation, day-to-day e-commerce visuals, and rapid iteration. **2. Processing Speed** * **Premium**: \~**80 seconds** per successful request (per input combination), due to additional refinement and quality steps. * **Pro**: \~**40 seconds** per request, better when quick preview and throughput matter. **Recommended usage pattern:** * Use **Try on Clothes Pro** for **preview, internal review, and large-scale testing**. * Use **Try on Clothes Premium** for **final outputs** that will be exposed directly to users (main images, key detail shots, ad creatives). *** ## Upload Guidelines To get the best results from Try on Clothes Premium, we recommend following the guidelines below. ### Garment Image (Flat Lay or Mannequin) * Use a **high-resolution image** that shows the entire garment. * Flat lay shots are ideal; clean mannequin photos also work well. * Avoid heavy shadows, strong reflections, and busy backgrounds that hide edges. * Make sure sleeves, hems, collars, and key design elements are **not cropped**. Clean, complete garment images allow Premium to more accurately reconstruct **fit, shape, and fabric behavior**. ### Model Image (Person / Consumer Photo) * Use a **front-facing full-body or half-body** photo with the model clearly visible. * Prefer simple base clothing (e.g., T-shirt and shorts) so **arms and legs are not blocked**. * Avoid: * long skirts covering the legs, * bulky outerwear or multi-layer outfits, * large accessories like scarves, umbrellas, or big bags. The clearer the body silhouette, the more precisely Premium can overlay and adapt the garment. *** ## FAQ * **Do I still need a flat lay garment image for Premium?** Yes. Premium is stronger at reconstruction, but it still depends on **clear garment structure and pattern information**. A high-quality flat lay or mannequin photo greatly improves the final try-on quality. * **What if I don’t have a flat lay image?** You can photograph a colleague or friend wearing the garment in a well-lit environment, or place it on a mannequin. As long as the clothing is **fully visible and not heavily distorted**, Premium can process it. * **Why does the generated image sometimes look soft or lack texture?** This usually indicates the **source garment image is low resolution, cropped, or blurry**. Try re-uploading a higher-resolution, fully framed garment photo so Premium can better enhance texture and structure. * **When should I choose Premium instead of Pro?** Choose **Premium** for: * product **main images and detail close-ups**, * assets used in **ads, campaigns, and lookbooks**, * cases where visual quality is more important than speed. Choose **Pro** when you need **faster turnaround, bulk generation, or quick experimentation**. # Try on Clothes Premium API Source: https://ailabtools.mintlify.app/docs/ai-portrait/editing/try-on-clothes-premium/api POST /api/portrait/editing/try-on-clothes-premium Try on Clothes Premium API creates high-quality virtual try-on images with realistic garment fit, texture, and body alignment. ## Request * **URL**: `https://www.ailabapi.com/api/portrait/editing/try-on-clothes-premium` * **Method**: `POST` * **Content-Type**: `multipart/form-data` ### Image requirements #### Portrait * **Image format**: `JPG` `JPEG` `PNG` `BMP` * **Image size**: No more than 5 MB. * **Image resolution**: Larger than 150x150px, smaller than 4096x4096px. * **Pose requirements**: full-body front view with hands fully visible. Arm positioning should avoid wide openings, crossing, or other exaggerated gestures. ##### Correct Example
    Correct Example Image Correct Example Image
    ##### Incorrect Example
    Non-Front Full-Body Shot
    (Avoid uploading side views, sitting poses, lying down poses, or half-body photos.)
    Group Photo
    Clothing Obstruction
    (Avoid holding items, bags, etc.)
    Lighting Too Dark / Blurry
    Incorrect Example Image
    Incorrect Example Image
    Incorrect Example Image
    Incorrect Example Image
    #### Clothing * **Image format**: `JPG` `JPEG` `PNG` `BMP` * **Image size**: No more than 5 MB. * **Image resolution**: Larger than 150x150px, smaller than 4096x4096px. * **Pose requirements**: full-body front view with hands fully visible. Arm positioning should avoid wide openings, crossing, or other exaggerated gestures. * **Clothing Category**: Minimal Patterns & Prints. Examples include jeans, polo shirts, yoga wear, dresses, suits, T-shirts, etc. * **Upload a clear, well-aligned flat-lay image of the clothing.** * **Background should be simple, clean, and well-lit.** * **Only a single item of clothing should be displayed in the image.** * **No layering with other clothing items.** * **The clothing item should occupy as much of the image frame as possible.** ##### Correct Example
    Correct Example Image Correct Example Image Correct Example Image Correct Example Image
    Correct Example Image Correct Example Image Correct Example Image Correct Example Image
    ##### Incorrect Example
    Multiple Clothing Items
    Non-Front View
    Folded Obstruction
    Clothing Wrinkles
    Incorrect Example Image
    Incorrect Example Image
    Incorrect Example Image
    Incorrect Example Image
    ### Headers | Field | Required | Type | Description | | :----------------- | :------- | :------- | :---------------------------------------------------- | | `ailabapi-api-key` | YES | `string` | Application API KEY. [Get API KEY](/docs/get-api-key) | ### Body | Field | Required | Type | Scope | Default | Description | | :--------------- | :------- | :-------- | :------------------- | :------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `task_type` | YES | `string` | `async` | | \`\`async`: Asynchronous tasks.` | | `person_image` | YES | `file` | | | Portrait Image. | | `top_garment` | YES | `file` | | | Upper Body Clothing Image. | | `bottom_garment` | NO | `file` | | | `If no lower body clothing image is provided, the lower body clothing effect will be randomly generated.`, `If lower body clothing is not needed (e.g., when the upper body garment is a dress), this value should be left empty.` | | `resolution` | NO | `integer` | `-1`, `1024`, `1280` | `-1` | ``-1`: Original image resolution.`, ``1024`: 576x1024px.`, \`\`1280`: 720x1280px.` | | `restore_face` | NO | `boolean` | `true`, `false` | `true` | ``true`: Keep the model’s original face.`, ``false`: Regenerate the model’s face.` | ## Response **Response Field Handling Flow** 1. **Handle `Public Response Fields`** Parse and validate the `Public Response Fields`, checking the status code or response message to ensure the request is successful and error-free. 2. **Handle `Business Response Fields`** If the `Public Response Fields` are valid and error-free, proceed with processing the business logic in the `Business Response Fields`. ### Public Response Fields Viewing Public Response Fields and Error Codes ### Business Response Fields | Field | Type | Scope | Description | | :---------- | :------- | :------ | :------------------------------------------------------------------------------------------------------------------------------------------------ | | `task_type` | `string` | `async` | Task Type. \`\`async`: Asynchronous tasks.` | | `task_id` | `string` | | Asynchronous task ID.
    **Please use this field when calling the [Querying Async Task Results](/docs/ai-common/async-task-results/api) API.** | ### Response Example ```json theme={null} { "request_id": "", "log_id": "", "error_code": 0, "error_msg": "", "error_detail": { "status_code": 200, "code": "", "code_message": "", "message": "" }, "task_type": "", "task_id": "" } ``` This API is asynchronous, please keep `task_id` and call [`Querying Async Task Results`](/docs/ai-common/async-task-results/api) to get the final results. Asynchronous task results are valid for 24 hours. It is recommended that asynchronous task results be queried every 5 seconds. ## `Querying Async Task Results` Response **Response Field Handling Flow** 1. **Handle `Public Response Fields`** Parse and validate the `Public Response Fields`, checking the status code or response message to ensure the request is successful and error-free. 2. **Handle `Business Response Fields`** If the `Public Response Fields` are valid and error-free, proceed with processing the business logic in the `Business Response Fields`. ### Public Response Fields Viewing Public Response Fields and Error Codes ### Business Response Fields | Field | Type | Scope | Description | | :------------- | :-------- | :------------ | :----------------------------------------------------------------------------------------------------------------------- | | `task_status` | `integer` | `0`, `1`, `2` | Asynchronous task status. ``0`: The task is queued.` ``1`: Asynchronous processing.` \`\`2`: Processing was successful.` | | `output` | `object` | | | | +`image_url` | `string` | | Result image URL. | | `usage` | `object` | | | | +`image_count` | `integer` | | Number of generated images. | The URL address is a temporary address, valid for 24 hours, and will not be accessible after it expires. If you need to save the file for a long time or permanently, please visit the URL address within 24 hours and download the file to your own storage space. ### Response Example ```json theme={null} { "error_code": 0, "error_msg": "", "error_detail": { "status_code": 200, "code": "", "code_message": "", "message": "" }, "task_status": 0, "output": { "image_url": "" }, "usage": { "image_count": 0 } } ``` # Try on Clothes Pro Source: https://ailabtools.mintlify.app/docs/ai-portrait/editing/try-on-clothes-pro Try on Clothes Pro API creates realistic virtual try-on images from flat clothing and full-body portraits for fashion previews. ## Renderings show | ORIGINAL IMAGE | CLOTHING IMAGE | RESULT IMAGE | | :------------------------------------------------------------------------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------- | | ![ORIGINAL IMAGE](https://ai-resource.ailabtools.com/try-on-clothes-pro/doc/OriginalImage-1.webp) | ![CLOTHING IMAGE](https://ai-resource.ailabtools.com/try-on-clothes-pro/doc/top-1.webp) ![CLOTHING IMAGE](https://ai-resource.ailabtools.com/try-on-clothes-pro/doc/bottom-1.webp) | ![RESULT IMAGE](https://ai-resource.ailabtools.com/try-on-clothes-pro/doc/ResultImage-1.webp) | | ![ORIGINAL IMAGE](https://ai-resource.ailabtools.com/try-on-clothes-pro/doc/OriginalImage-1.webp) | ![CLOTHING IMAGE](https://ai-resource.ailabtools.com/try-on-clothes-pro/doc/suit-1.webp) | ![RESULT IMAGE](https://ai-resource.ailabtools.com/try-on-clothes-pro/doc/ResultImage-2.webp) | ## Billing Instructions ## File Storage Policy ## Application Scenarios * **Product Main Image & Product Detail Pages: Generate Diverse Model Try-On Photos in Bulk** Automatically generate high-quality images of clothing on various models with distinctive appearances, allowing for greater visual diversity on product listings and detail pages. This bulk generation saves time and enhances visual appeal, providing an efficient alternative to traditional photoshoots. * **Virtual Try-On for Models or Consumers: Customized Images by Body Type and Ethnicity** Produce virtual try-on images tailored to specific body types and ethnicities to meet varied client demands. This feature supports brand inclusivity and offers consumers a more personalized shopping experience, increasing engagement and potential conversion rates. * **Content Creation: Affordable and Realistic Lifestyle Photos** Easily create on-brand, atmospheric images that look like genuine user-generated content. These images enable low-cost content production, ideal for marketing across social media and e-commerce platforms to drive brand authenticity and customer connection. * **New Product Testing: Reduce Model Booking Times and Speed Up Listings** Shorten the product launch cycle by creating model images virtually, without the need for time-consuming model bookings and photoshoots. Quickly visualize new styles on virtual models, accelerating the time-to-market for new collections. * **Fashion Design Reference: Generate Try-On Images of Various Styles Based on Texture Reference Images** Utilize fabric and texture reference images to create try-on visuals of different garment styles. This feature provides designers with a practical tool for quickly visualizing and iterating on designs, making it easier to refine ideas and enhance creativity. ## FAQ * **Why Is It Necessary to Upload a Flat Lay Image of the Garment?** A flat lay image clearly displays the garment’s structure and patterns, allowing the AI to better understand the garment’s relationship to the human body. This clarity helps the AI accurately simulate how the clothing will look when worn, resulting in a realistic try-on image. * **What If I Don’t Have a Flat Lay Image of the Garment?** If a flat lay image isn’t available, you can photograph the garment on a colleague or friend in a well-lit area, or place it on a mannequin for a clear shot. Both methods will provide the AI with sufficient visual details for optimal processing. * **Why Does the Generated Image Lack Detail and Texture?** For high-quality results, it’s essential to use a high-resolution, complete flat lay image. Missing details or incomplete angles in the uploaded image may lead the AI to fill in gaps, which can result in an outcome that doesn’t match the desired look. * **How to Choose the Right Model Image?** Select a clear, unobstructed full-body or half-body image of the model from the front. For best results, choose an image with minimal clothing (e.g., shorts and a T-shirt) so that both arms and legs are clearly visible. Avoid model photos with long skirts, layered clothing, oversized sleeves, or accessories like scarves, umbrellas, or bags, as these can interfere with the try-on rendering. # Try on Clothes Pro API Source: https://ailabtools.mintlify.app/docs/ai-portrait/editing/try-on-clothes-pro/api POST /api/portrait/editing/try-on-clothes-pro Try on Clothes Pro API creates realistic virtual try-on images from flat clothing and full-body portraits for fashion previews. ## Request * **URL**: `https://www.ailabapi.com/api/portrait/editing/try-on-clothes-pro` * **Method**: `POST` * **Content-Type**: `multipart/form-data` ### Image requirements #### Portrait * **Image format**: `JPG` `JPEG` `PNG` `BMP` * **Image size**: No more than 5 MB. * **Image resolution**: Larger than 150x150px, smaller than 4096x4096px. * **Pose requirements**: full-body front view with hands fully visible. Arm positioning should avoid wide openings, crossing, or other exaggerated gestures. ##### Correct Example
    Correct Example Image Correct Example Image
    ##### Incorrect Example
    Non-Front Full-Body Shot
    (Avoid uploading side views, sitting poses, lying down poses, or half-body photos.)
    Group Photo
    Clothing Obstruction
    (Avoid holding items, bags, etc.)
    Lighting Too Dark / Blurry
    Incorrect Example Image
    Incorrect Example Image
    Incorrect Example Image
    Incorrect Example Image
    #### Clothing * **Image format**: `JPG` `JPEG` `PNG` `BMP` * **Image size**: No more than 5 MB. * **Image resolution**: Larger than 150x150px, smaller than 4096x4096px. * **Pose requirements**: full-body front view with hands fully visible. Arm positioning should avoid wide openings, crossing, or other exaggerated gestures. * **Clothing Category**: Minimal Patterns & Prints. Examples include jeans, polo shirts, yoga wear, dresses, suits, T-shirts, etc. * **Upload a clear, well-aligned flat-lay image of the clothing.** * **Background should be simple, clean, and well-lit.** * **Only a single item of clothing should be displayed in the image.** * **No layering with other clothing items.** * **The clothing item should occupy as much of the image frame as possible.** ##### Correct Example
    Correct Example Image Correct Example Image Correct Example Image Correct Example Image
    Correct Example Image Correct Example Image Correct Example Image Correct Example Image
    ##### Incorrect Example
    Multiple Clothing Items
    Non-Front View
    Folded Obstruction
    Clothing Wrinkles
    Incorrect Example Image
    Incorrect Example Image
    Incorrect Example Image
    Incorrect Example Image
    ### Headers | Field | Required | Type | Description | | :----------------- | :------- | :------- | :---------------------------------------------------- | | `ailabapi-api-key` | YES | `string` | Application API KEY. [Get API KEY](/docs/get-api-key) | ### Body | Field | Required | Type | Scope | Default | Description | | :--------------- | :------- | :-------- | :------------------- | :------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `task_type` | YES | `string` | `async` | | \`\`async`: Asynchronous tasks.` | | `person_image` | YES | `file` | | | Portrait Image. | | `top_garment` | YES | `file` | | | Upper Body Clothing Image. | | `bottom_garment` | NO | `file` | | | `If no lower body clothing image is provided, the lower body clothing effect will be randomly generated.`, `If lower body clothing is not needed (e.g., when the upper body garment is a dress), this value should be left empty.` | | `resolution` | NO | `integer` | `-1`, `1024`, `1280` | `-1` | ``-1`: Original image resolution.`, ``1024`: 576x1024px.`, \`\`1280`: 720x1280px.` | | `restore_face` | NO | `boolean` | `true`, `false` | `true` | ``true`: Keep the model’s original face.`, ``false`: Regenerate the model’s face.` | ## Response **Response Field Handling Flow** 1. **Handle `Public Response Fields`** Parse and validate the `Public Response Fields`, checking the status code or response message to ensure the request is successful and error-free. 2. **Handle `Business Response Fields`** If the `Public Response Fields` are valid and error-free, proceed with processing the business logic in the `Business Response Fields`. ### Public Response Fields Viewing Public Response Fields and Error Codes ### Business Response Fields | Field | Type | Scope | Description | | :---------- | :------- | :------ | :------------------------------------------------------------------------------------------------------------------------------------------------ | | `task_type` | `string` | `async` | Task Type. \`\`async`: Asynchronous tasks.` | | `task_id` | `string` | | Asynchronous task ID.
    **Please use this field when calling the [Querying Async Task Results](/docs/ai-common/async-task-results/api) API.** | ### Response Example ```json theme={null} { "request_id": "", "log_id": "", "error_code": 0, "error_msg": "", "error_detail": { "status_code": 200, "code": "", "code_message": "", "message": "" }, "task_type": "", "task_id": "" } ``` This API is asynchronous, please keep `task_id` and call [`Querying Async Task Results`](/docs/ai-common/async-task-results/api) to get the final results. Asynchronous task results are valid for 24 hours. It is recommended that asynchronous task results be queried every 5 seconds. ## `Querying Async Task Results` Response **Response Field Handling Flow** 1. **Handle `Public Response Fields`** Parse and validate the `Public Response Fields`, checking the status code or response message to ensure the request is successful and error-free. 2. **Handle `Business Response Fields`** If the `Public Response Fields` are valid and error-free, proceed with processing the business logic in the `Business Response Fields`. ### Public Response Fields Viewing Public Response Fields and Error Codes ### Business Response Fields | Field | Type | Scope | Description | | :------------- | :-------- | :------------ | :----------------------------------------------------------------------------------------------------------------------- | | `task_status` | `integer` | `0`, `1`, `2` | Asynchronous task status. ``0`: The task is queued.` ``1`: Asynchronous processing.` \`\`2`: Processing was successful.` | | `output` | `object` | | | | +`image_url` | `string` | | Result image URL. | | `usage` | `object` | | | | +`image_count` | `integer` | | Number of generated images. | The URL address is a temporary address, valid for 24 hours, and will not be accessible after it expires. If you need to save the file for a long time or permanently, please visit the URL address within 24 hours and download the file to your own storage space. ### Response Example ```json theme={null} { "error_code": 0, "error_msg": "", "error_detail": { "status_code": 200, "code": "", "code_message": "", "message": "" }, "task_status": 0, "output": { "image_url": "" }, "usage": { "image_count": 0 } } ``` # Try on Clothes API Source: https://ailabtools.mintlify.app/docs/ai-portrait/editing/try-on-clothes/api POST /api/portrait/editing/try-on-clothes Try on Clothes API generates virtual clothing try-on images from person and garment photos for fashion apps and e-commerce. ## Request * **URL**: `https://www.ailabapi.com/api/portrait/editing/try-on-clothes` * **Method**: `POST` * **Content-Type**: `multipart/form-data` ### Image requirements #### Portrait * **Image format**: `JPG` `JPEG` `PNG` * **Image size**: No more than 3 MB. * **Image resolution**: Less than 4096x4096px. * **Pose requirements**: full-body front view with hands fully visible. Arm positioning should avoid wide openings, crossing, or other exaggerated gestures. ##### Correct Example
    Correct Example Image Correct Example Image
    ##### Incorrect Example
    Non-Front Full-Body Shot
    (Avoid uploading side views, sitting poses, lying down poses, or half-body photos.)
    Group Photo
    Clothing Obstruction
    (Avoid holding items, bags, etc.)
    Lighting Too Dark / Blurry
    Incorrect Example Image
    Incorrect Example Image
    Incorrect Example Image
    Incorrect Example Image
    #### Clothing * **Image format**: `JPG` `JPEG` `PNG` * **Image size**: No more than 3 MB. * **Image resolution**: Less than 4096x4096px. * **Pose requirements**: full-body front view with hands fully visible. Arm positioning should avoid wide openings, crossing, or other exaggerated gestures. * **Clothing Category**: Minimal Patterns & Prints. Examples include jeans, polo shirts, yoga wear, dresses, suits, T-shirts, etc. * **Upload a clear, well-aligned flat-lay image of the clothing.** * **Background should be simple, clean, and well-lit.** * **Only a single item of clothing should be displayed in the image.** * **No layering with other clothing items.** * **The clothing item should occupy as much of the image frame as possible.** ##### Correct Example
    Correct Example Image Correct Example Image Correct Example Image Correct Example Image
    Correct Example Image Correct Example Image Correct Example Image Correct Example Image
    ##### Incorrect Example
    Multiple Clothing Items
    Non-Front View
    Folded Obstruction
    Clothing Wrinkles
    Incorrect Example Image
    Incorrect Example Image
    Incorrect Example Image
    Incorrect Example Image
    ### Headers | Field | Required | Type | Description | | :----------------- | :------- | :------- | :---------------------------------------------------- | | `ailabapi-api-key` | YES | `string` | Application API KEY. [Get API KEY](/docs/get-api-key) | ### Body | Field | Required | Type | Scope | Description | | :-------------- | :------- | :------- | :-------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------- | | `task_type` | YES | `string` | `async` | Task Type. \`\`async`: Asynchronous tasks.` | | `person_image` | YES | `file` | | Portrait image. | | `clothes_image` | YES | `file` | | Clothing image. | | `clothes_type` | YES | `string` | `upper_body`, `lower_body`, `full_body` | Clothing Types. ``upper_body`: Upper body clothing.` ``lower\_body`: Lower body clothing.` \`\`full\_body`: Full body clothing.` | ## Response **Response Field Handling Flow** 1. **Handle `Public Response Fields`** Parse and validate the `Public Response Fields`, checking the status code or response message to ensure the request is successful and error-free. 2. **Handle `Business Response Fields`** If the `Public Response Fields` are valid and error-free, proceed with processing the business logic in the `Business Response Fields`. ### Public Response Fields Viewing Public Response Fields and Error Codes ### Business Response Fields | Field | Type | Scope | Description | | :---------- | :------- | :------ | :------------------------------------------------------------------------------------------------------------------------------------------------ | | `task_type` | `string` | `async` | Task Type. \`\`async`: Asynchronous tasks.` | | `task_id` | `string` | | Asynchronous task ID.
    **Please use this field when calling the [Querying Async Task Results](/docs/ai-common/async-task-results/api) API.** | ### Response Example ```json theme={null} { "request_id": "", "log_id": "", "error_code": 0, "error_msg": "", "error_detail": { "status_code": 200, "code": "", "code_message": "", "message": "" }, "task_type": "", "task_id": "" } ``` This API is asynchronous, please keep `task_id` and call [`Querying Async Task Results`](/docs/ai-common/async-task-results/api) to get the final results. Asynchronous task results are valid for 24 hours. It is recommended that asynchronous task results be queried every 5 seconds. ## `Querying Async Task Results` Response **Response Field Handling Flow** 1. **Handle `Public Response Fields`** Parse and validate the `Public Response Fields`, checking the status code or response message to ensure the request is successful and error-free. 2. **Handle `Business Response Fields`** If the `Public Response Fields` are valid and error-free, proceed with processing the business logic in the `Business Response Fields`. ### Public Response Fields Viewing Public Response Fields and Error Codes ### Business Response Fields | Field | Type | Scope | Description | | :------------ | :-------- | :------------ | :----------------------------------------------------------------------------------------------------------------------- | | `task_status` | `integer` | `0`, `1`, `2` | Asynchronous task status. ``0`: The task is queued.` ``1`: Asynchronous processing.` \`\`2`: Processing was successful.` | | `data` | `object` | | | | +`image` | `string` | | Result image URL. | The URL address is a temporary address, valid for 24 hours, and will not be accessible after it expires. If you need to save the file for a long time or permanently, please visit the URL address within 24 hours and download the file to your own storage space. ### Response Example ```json theme={null} { "error_code": 0, "error_msg": "", "error_detail": { "status_code": 200, "code": "", "code_message": "", "message": "" }, "task_status": 0, "data": { "image": "" } } ``` # AI Big Head Effect Source: https://ailabtools.mintlify.app/docs/ai-portrait/effects/ai-big-head-effect AI Big Head Effect API creates big-head portrait effects while preserving identity, hairstyle, outfit, background, and lighting. ## Renderings show | ORIGINAL IMAGE | RESULT IMAGE | | :--------------------------------: | :----------------------------: | | ![ORIGINAL IMAGE][OriginalImage-1] | ![RESULT IMAGE][ResultImage-1] | ## Billing Instructions ## File Storage Policy [OriginalImage-1]: https://ai-resource.ailabtools.com/ai-big-head-effect/doc/OriginalImage-1.webp [ResultImage-1]: https://ai-resource.ailabtools.com/ai-big-head-effect/doc/ResultImage-1.webp # AI Big Head Effect API Source: https://ailabtools.mintlify.app/docs/ai-portrait/effects/ai-big-head-effect/api POST /api/portrait/effects/ai-big-head-effect AI Big Head Effect API creates big-head portrait effects while preserving identity, hairstyle, outfit, background, and lighting. ## Query Task This is an asynchronous task API. The submission request returns only `task_id`. Use `task_id` to call [Querying Async Task Results](/docs/ai-common/async-task-results/api) and retrieve the final result. Async task results remain available for 24 hours. Query every 5 seconds. | Field | Type | Description | | :------- | :------- | :----------------- | | `data` | `object` | Final result data. | | +`image` | `string` | Result image URL. | ```json theme={null} { "data": { "image": "" } } ``` `image` is temporary and remains valid for 24 hours. Download the file to your own storage before the URL expires if you need long-term storage. ## Submit Task # AI Face Enhancer Source: https://ailabtools.mintlify.app/docs/ai-portrait/effects/ai-face-enhancer AI Face Enhancer API improves face clarity, restores details, and enhances blurry portrait images with face-driven AI. ## Renderings show | ORIGINAL IMAGE | BLURRED IMAGE | RESULT IMAGE | | :--------------------------------- | :------------------------------- | :----------------------------- | | ![ORIGINAL IMAGE][OriginalImage-1] | ![BLURRED IMAGE][BlurredImage-1] | ![RESULT IMAGE][ResultImage-1] | | ![ORIGINAL IMAGE][OriginalImage-2] | ![BLURRED IMAGE][BlurredImage-2] | ![RESULT IMAGE][ResultImage-2] | | ![ORIGINAL IMAGE][OriginalImage-3] | ![BLURRED IMAGE][BlurredImage-3] | ![RESULT IMAGE][ResultImage-3] | ## Billing Instructions ## File Storage Policy ## Application Scenarios * **Shooting Material Enhancement**: For photos that are blurred due to underexposure, inaccurate focus, or hand-shaking during shooting, the face repair and enhancement technology can make up for the shortcomings during shooting and repair the photos. * **Old Photo Restoration**: Repair and enhancement of low resolution or unclear portrait photos taken in the early days can enhance the clarity of the portrait while retaining the texture of the old photos. ## Featured Advantages * **Detail Enhancement**: Enhances the details of the original image, which can still recover some of the details and improve the quality of the photo when the quality of the original is insufficient. * **Portrait Consistency**: Enhances details while retaining consistency and realism with the original portrait. [OriginalImage-1]: https://ai-resource.ailabtools.com/ai-face-enhancer/doc/OriginalImage-1.webp [OriginalImage-2]: https://ai-resource.ailabtools.com/ai-face-enhancer/doc/OriginalImage-2.webp [OriginalImage-3]: https://ai-resource.ailabtools.com/ai-face-enhancer/doc/OriginalImage-3.webp [BlurredImage-1]: https://ai-resource.ailabtools.com/ai-face-enhancer/doc/BlurredImage-1.webp [BlurredImage-2]: https://ai-resource.ailabtools.com/ai-face-enhancer/doc/BlurredImage-2.webp [BlurredImage-3]: https://ai-resource.ailabtools.com/ai-face-enhancer/doc/BlurredImage-3.webp [ResultImage-1]: https://ai-resource.ailabtools.com/ai-face-enhancer/doc/ResultImage-1.webp [ResultImage-2]: https://ai-resource.ailabtools.com/ai-face-enhancer/doc/ResultImage-2.webp [ResultImage-3]: https://ai-resource.ailabtools.com/ai-face-enhancer/doc/ResultImage-3.webp # AI Face Enhancer API Source: https://ailabtools.mintlify.app/docs/ai-portrait/effects/ai-face-enhancer/api POST /api/portrait/effects/enhance-face AI Face Enhancer API improves face clarity, restores details, and enhances blurry portrait images with face-driven AI. ## Request * **URL**: `https://www.ailabapi.com/api/portrait/effects/enhance-face` * **Method**: `POST` * **Content-Type**: `multipart/form-data` ### Image requirements * **Image format**: `JPEG` `JPG` `PNG` `BMP` * **Image size**: No more than 3 MB. * **Image resolution**: Larger than 32x32px, smaller than 2048x2048px (longest side less than or equal to 2047px), with a face occupying no less than 64x64px. * The input image needs to contain faces. * The number of faces in the input image should not exceed 10, otherwise only the first 10 faces with the largest area are processed. * The face in the input image should not have scratches, breaks, etc., and the algorithm does not support such repairs at this time. * The quality of the faces in the input image should not be too sharp or too high in resolution, as this may lead to inverse quality degradation. ### Headers | Field | Required | Type | Description | | :----------------- | :------- | :------- | :---------------------------------------------------- | | `ailabapi-api-key` | YES | `string` | Application API KEY. [Get API KEY](/docs/get-api-key) | ### Body | Field | Required | Type | | :------ | :------- | :----- | | `image` | YES | `file` | ## Response **Response Field Handling Flow** 1. **Handle `Public Response Fields`** Parse and validate the `Public Response Fields`, checking the status code or response message to ensure the request is successful and error-free. 2. **Handle `Business Response Fields`** If the `Public Response Fields` are valid and error-free, proceed with processing the business logic in the `Business Response Fields`. ### Public Response Fields Viewing Public Response Fields and Error Codes ### Business Response Fields | Field | Type | Description | | :----------- | :------- | :--------------------------------------- | | `data` | `object` | The content of the result data returned. | | +`image_url` | `string` | Resulting image URL address. | The URL address is a temporary address, valid for 24 hours, and will not be accessible after it expires. If you need to save the file for a long time or permanently, please visit the URL address within 24 hours and download the file to your own storage space. ### Response Example ```json theme={null} { "request_id": "", "log_id": "", "error_code": 0, "error_msg": "", "error_detail": { "status_code": 200, "code": "", "code_message": "", "message": "" }, "data": { "image_url": "" } } ``` # AI Halloween Mask Source: https://ailabtools.mintlify.app/docs/ai-portrait/effects/ai-halloween-mask AI Halloween Mask API adds spooky Halloween masks to portraits while preserving identity, lighting, background, and facial structure. ## Renderings show | ORIGINAL IMAGE | RESULT IMAGE | | :--------------------------------: | :----------------------------: | | ![ORIGINAL IMAGE][OriginalImage-1] | ![RESULT IMAGE][ResultImage-1] | ## Billing Instructions ## File Storage Policy [OriginalImage-1]: https://ai-resource.ailabtools.com/ai-halloween-masks/doc/OriginalImage-1.webp [ResultImage-1]: https://ai-resource.ailabtools.com/ai-halloween-masks/doc/ResultImage-1.webp # AI Halloween Mask API Source: https://ailabtools.mintlify.app/docs/ai-portrait/effects/ai-halloween-mask/api POST /api/portrait/effects/ai-halloween-mask AI Halloween Mask API adds spooky Halloween masks to portraits while preserving identity, lighting, background, and facial structure. ## Query Task This is an asynchronous task API. The submission request returns only `task_id`. Use `task_id` to call [Querying Async Task Results](/docs/ai-common/async-task-results/api) and retrieve the final result. Async task results remain available for 24 hours. Query every 5 seconds. | Field | Type | Description | | :---------------- | :------- | :----------------- | | `data` | `object` | Final result data. | | +`result_urls` | `array` | Result image URLs. | | ++`result_urls[]` | `string` | Result image URL. | ```json theme={null} { "data": { "result_urls": [""] } } ``` `result_urls` are temporary and remain valid for 24 hours. Download the files to your own storage before the URLs expire if you need long-term storage. ## Submit Task ### `mask_style` The following enum values are supported for `mask_style`. # AI Lip Bite Expressions Source: https://ailabtools.mintlify.app/docs/ai-portrait/effects/ai-lip-bite-expressions AI Lip Bite Expressions API turns portraits into consistent lip bite emoji packs with 1, 4, 6, or 9 panels. ## Renderings show | ORIGINAL IMAGE | RESULT IMAGE | | :--------------------------------: | :----------------------------: | | ![ORIGINAL IMAGE][OriginalImage-1] | ![RESULT IMAGE][ResultImage-1] | ## Billing Instructions ## File Storage Policy [OriginalImage-1]: https://ai-resource.ailabtools.com/ai-lip-bite-expressions/doc/OriginalImage-1.webp [ResultImage-1]: https://ai-resource.ailabtools.com/ai-lip-bite-expressions/doc/ResultImage-1.webp # AI Lip Bite Expressions API Source: https://ailabtools.mintlify.app/docs/ai-portrait/effects/ai-lip-bite-expressions/api POST /api/portrait/effects/ai-lip-bite-expressions AI Lip Bite Expressions API turns portraits into consistent lip bite emoji packs with 1, 4, 6, or 9 panels. ## Query Task This is an asynchronous task API. The submission request returns only `task_id`. Use `task_id` to call [Querying Async Task Results](/docs/ai-common/async-task-results/api) and retrieve the final result. Async task results remain available for 24 hours. Query every 5 seconds. | Field | Type | Description | | :---------------- | :------- | :----------------- | | `data` | `object` | Final result data. | | +`result_urls` | `array` | Result image URLs. | | ++`result_urls[]` | `string` | Result image URL. | ```json theme={null} { "data": { "result_urls": [""] } } ``` `result_urls` are temporary and remain valid for 24 hours. Download the files to your own storage before the URLs expire if you need long-term storage. ## Submit Task # AI Red Lip Gloss Source: https://ailabtools.mintlify.app/docs/ai-portrait/effects/ai-red-lip-gloss AI Red Lip Gloss API adds glossy red lips to portraits while preserving facial features, expression, skin tone, and natural lighting. ## Renderings show | ORIGINAL IMAGE | RESULT IMAGE | | :--------------------------------: | :----------------------------: | | ![ORIGINAL IMAGE][OriginalImage-1] | ![RESULT IMAGE][ResultImage-1] | ## Billing Instructions ## File Storage Policy [OriginalImage-1]: https://ai-resource.ailabtools.com/ai-red-lip-gloss/doc/OriginalImage-1.webp [ResultImage-1]: https://ai-resource.ailabtools.com/ai-red-lip-gloss/doc/ResultImage-1.webp # AI Red Lip Gloss API Source: https://ailabtools.mintlify.app/docs/ai-portrait/effects/ai-red-lip-gloss/api POST /api/portrait/effects/ai-red-lip-gloss AI Red Lip Gloss API adds glossy red lips to portraits while preserving facial features, expression, skin tone, and natural lighting. ## Query Task This is an asynchronous task API. The submission request returns only `task_id`. Use `task_id` to call [Querying Async Task Results](/docs/ai-common/async-task-results/api) and retrieve the final result. Async task results remain available for 24 hours. Query every 5 seconds. | Field | Type | Description | | :------- | :------- | :----------------- | | `data` | `object` | Final result data. | | +`image` | `string` | Result image URL. | ```json theme={null} { "data": { "image": "" } } ``` `image` is temporary and remains valid for 24 hours. Download the file to your own storage before the URL expires if you need long-term storage. ## Submit Task # AI Square Face Filter Source: https://ailabtools.mintlify.app/docs/ai-portrait/effects/ai-square-face-filter AI Square Face Filter API turns portraits into rounded-square cartoon avatars while preserving identity and facial features. ## Renderings show | ORIGINAL IMAGE | RESULT IMAGE | | :--------------------------------: | :----------------------------: | | ![ORIGINAL IMAGE][OriginalImage-1] | ![RESULT IMAGE][ResultImage-1] | ## Billing Instructions ## File Storage Policy [OriginalImage-1]: https://ai-resource.ailabtools.com/ai-square-face-filter/doc/OriginalImage-1.webp [ResultImage-1]: https://ai-resource.ailabtools.com/ai-square-face-filter/doc/ResultImage-1.webp # AI Square Face Filter API Source: https://ailabtools.mintlify.app/docs/ai-portrait/effects/ai-square-face-filter/api POST /api/portrait/effects/ai-square-face-filter AI Square Face Filter API turns portraits into rounded-square cartoon avatars while preserving identity and facial features. ## Query Task This is an asynchronous task API. The submission request returns only `task_id`. Use `task_id` to call [Querying Async Task Results](/docs/ai-common/async-task-results/api) and retrieve the final result. Async task results remain available for 24 hours. Query every 5 seconds. | Field | Type | Description | | :------- | :------- | :----------------- | | `data` | `object` | Final result data. | | +`image` | `string` | Result image URL. | ```json theme={null} { "data": { "image": "" } } ``` `image` is temporary and remains valid for 24 hours. Download the file to your own storage before the URL expires if you need long-term storage. ## Submit Task # Face Blur Source: https://ailabtools.mintlify.app/docs/ai-portrait/effects/blurred-faces Face Blur API automatically detects and blurs faces in images to protect privacy while preserving overall image quality. ## Renderings show | ORIGINAL IMAGE | RESULT IMAGE | | :--------------------------------- | :----------------------------- | | ![ORIGINAL IMAGE][OriginalImage-1] | ![RESULT IMAGE][ResultImage-1] | ## Billing Instructions ## File Storage Policy ## Featured Advantages * **Intelligent detection**: automatic detection of face areas and desensitization of faces only. [OriginalImage-1]: https://ai-resource.ailabtools.com/rapidapi/facebody/FaceMosaic/OriginalImage-1.webp [ResultImage-1]: https://ai-resource.ailabtools.com/rapidapi/facebody/FaceMosaic/ResultImage-1.webp # Face Blur API Source: https://ailabtools.mintlify.app/docs/ai-portrait/effects/blurred-faces/api POST /api/portrait/effects/blurred-faces Face Blur API automatically detects and blurs faces in images to protect privacy while preserving overall image quality. ## Request * **URL**: `https://www.ailabapi.com/api/portrait/effects/blurred-faces` * **Method**: `POST` * **Content-Type**: `multipart/form-data` ### Image requirements * **Image format**: `JPEG` `JPG` `PNG` `BMP` * **Image size**: No more than 3 MB. * **Image resolution**: Larger than 32x32px, smaller than 5000x5000px. ### Headers | Field | Required | Type | Description | | :----------------- | :------- | :------- | :---------------------------------------------------- | | `ailabapi-api-key` | YES | `string` | Application API KEY. [Get API KEY](/docs/get-api-key) | ### Body | Field | Required | Type | | :------ | :------- | :----- | | `image` | YES | `file` | ## Response **Response Field Handling Flow** 1. **Handle `Public Response Fields`** Parse and validate the `Public Response Fields`, checking the status code or response message to ensure the request is successful and error-free. 2. **Handle `Business Response Fields`** If the `Public Response Fields` are valid and error-free, proceed with processing the business logic in the `Business Response Fields`. ### Public Response Fields Viewing Public Response Fields and Error Codes ### Business Response Fields | Field | Type | Description | | :----------- | :------- | :--------------------------------------- | | `data` | `object` | The content of the result data returned. | | +`image_url` | `string` | Resulting image URL address. | The URL address is a temporary address, valid for 24 hours, and will not be accessible after it expires. If you need to save the file for a long time or permanently, please visit the URL address within 24 hours and download the file to your own storage space. ### Response Example ```json theme={null} { "request_id": "", "log_id": "", "error_code": 0, "error_msg": "", "error_detail": { "status_code": 200, "code": "", "code_message": "", "message": "" }, "data": { "image_url": "" } } ``` # Change Facial Expressions Source: https://ailabtools.mintlify.app/docs/ai-portrait/effects/emotion-editor Change Facial Expressions API edits portrait expressions with realistic smiles, cool looks, sad faces, and more while preserving identity. ## Renderings show | ORIGINAL IMAGE | RESULT IMAGE | | :--------------------------------: | :---------------------------------: | | ![ORIGINAL IMAGE][OriginalImage-1] | ![RESULT IMAGE][ResultImage-1-10-1] | ## Billing Instructions ## File Storage Policy ## Application Scenarios * **Interactive marketing**: Attract users to interact, participate and share in festivals, exhibitions, marketing and other activity scenarios. * **Personalized emoji package**: choose different emoji templates for emoji editing, generating all kinds of cute and quirky emoji to enhance the sense of immersion and improve interaction. * **Game face painting**: Adding expression editing to the game's face painting system, users can choose expression templates to customize the game image, enhancing the game experience and interactivity. * **Smart photo restoration**: Through the closed-eye to open-eye technology, restoring the moment of celebration by restoring the captured closed-eye photos. ## Featured Advantages * **Outstanding algorithm**: Based on massive data training and polishing of actual business scenarios, the effect is outstanding. * **Rich capability**: provide rich editable expression types to meet the needs of various business scenarios. * **Natural and realistic**: Based on generative adversarial network, the expression editing effect is realistic and natural. * **Continuous upgrade**: algorithm engineers continuously upgrade the algorithm and service engineers provide reliable support. [OriginalImage-1]: https://ai-resource.ailabtools.com/change-facial-expressions/doc/OriginalImage-1.webp [ResultImage-1-10-1]: https://ai-resource.ailabtools.com/change-facial-expressions/doc/ResultImage-1-10-1.webp # Change Facial Expressions Advanced Source: https://ailabtools.mintlify.app/docs/ai-portrait/effects/emotion-editor-advanced Change Facial Expressions Advanced API applies 100+ realistic expression styles to portraits while preserving facial identity and quality. ## Renderings show | ORIGINAL IMAGE | RESULT IMAGE | | :--------------------------------: | :----------------------------: | | ![ORIGINAL IMAGE][OriginalImage-1] | ![RESULT IMAGE][ResultImage-1] | ## Billing Instructions ## File Storage Policy [OriginalImage-1]: https://ai-resource.ailabtools.com/change-facial-expressions-advanced/doc/OriginalImage-1.webp [ResultImage-1]: https://ai-resource.ailabtools.com/change-facial-expressions-advanced/doc/ResultImage-1.webp # Change Facial Expressions Advanced API Source: https://ailabtools.mintlify.app/docs/ai-portrait/effects/emotion-editor-advanced/api POST /api/portrait/effects/emotion-editor-advanced Change Facial Expressions Advanced API applies 100+ realistic expression styles to portraits while preserving facial identity and quality. ## Query Task This is an asynchronous task API. The submission request returns only `task_id`. Use `task_id` to call [Querying Async Task Results](/docs/ai-common/async-task-results/api) and retrieve the final result. Async task results remain available for 24 hours. Query every 5 seconds. | Field | Type | Description | | :---------------- | :------- | :----------------- | | `data` | `object` | Final result data. | | +`result_urls` | `array` | Result image URLs. | | ++`result_urls[]` | `string` | Result image URL. | ```json theme={null} { "data": { "result_urls": [""] } } ``` `result_urls` are temporary and remain valid for 24 hours. Download the files to your own storage before the URLs expire if you need long-term storage. ## Submit Task ### `expression` The following enum values are supported for `expression`. # Change Facial Expressions API Source: https://ailabtools.mintlify.app/docs/ai-portrait/effects/emotion-editor/api POST /api/portrait/effects/emotion-editor Change Facial Expressions API edits portrait expressions with realistic smiles, cool looks, sad faces, and more while preserving identity. ## Submit Task ### `expression` The following enum values are supported for `expression`. # Age & Gender Swap Source: https://ailabtools.mintlify.app/docs/ai-portrait/effects/face-attribute-editing Age & Gender Swap API edits portrait attributes to change age or gender and generate realistic face transformation effects. ## Renderings show
    Original Image
    Original Image
    `action_type`=`TO_OLD`
    `action_type`=`TO_KID`
    `action_type`=`TO_FEMALE`
    `action_type`=`TO_MALE`
    `action_type`=`V2_AGE`
    `target`=`70`
    `action_type`=`V2_GENDER`
    `target`=`0`
    Original Image
    Original Image
    `action_type`=`TO_OLD`
    `action_type`=`TO_KID`
    `action_type`=`TO_FEMALE`
    `action_type`=`TO_MALE`
    `action_type`=`V2_AGE`
    `target`=`70`
    `action_type`=`V2_GENDER`
    `target`=`1`
    ## Billing Instructions ## File Storage Policy ## Application Scenarios * **Fun social**: In the social field, you can use the face attribute editing ability to create creative social activities and fun ideas to form pop-up activities through community fission. * **Short video**: Realize the production of short video with fun face attribute editing, which is fun and at the same time can meet the user's demand for cognition and display of their own image. * **Marketing**: Apply face attribute editing effects to produce creative content, allowing users to experience "fun" technology while independently spreading marketing activities or advertising to achieve the effect of brand promotion. ## Featured Advantages * **Key point positioning**: The algorithm accurately includes eyes, eyebrows, lips, nose and face contour, providing 72 high-precision key points FDDB official measurement. * **Fast response time**: Using advanced neural portrait editing technology, the single image feature extraction speed (GPU), on average, reaches 100 ms, enabling fast response to face attribute transformation and generating a new face with the desired attributes. * **Excellent effect**: the output face's expression, angle, background and other attributes are highly compatible with the input face, generating a unique artificial intelligence face effect with high image generation quality to meet the demand for visual effects. # Age & Gender Swap API Source: https://ailabtools.mintlify.app/docs/ai-portrait/effects/face-attribute-editing/api POST /api/portrait/effects/face-attribute-editing Age & Gender Swap API edits portrait attributes to change age or gender and generate realistic face transformation effects. ## Request * **URL**: `https://www.ailabapi.com/api/portrait/effects/face-attribute-editing` * **Method**: `POST` * **Content-Type**: `multipart/form-data` ### Image requirements * **Image format**: `JPEG` `JPG` `PNG` `BMP` * **Image size**: No more than 4 MB. * **Image resolution**: Larger than 256x256px, smaller than 4096x4096px. The face area must be 64x64px or more. ### Headers | Field | Required | Type | Description | | :----------------- | :------- | :------- | :---------------------------------------------------- | | `ailabapi-api-key` | YES | `string` | Application API KEY. [Get API KEY](/docs/get-api-key) | ### Body #### Fixed Fields | Field | Required | Type | Scope | Default | Description | | :---------------- | :------- | :------------ | :---------------------------------------------------------------- | :------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `image` | YES | `file` | | | | | `action_type` | YES | `string` | `TO_KID`, `TO_OLD`, `TO_FEMALE`, `TO_MALE`, `V2_AGE`, `V2_GENDER` | | ``TO_KID`: V1 version becomes a child.`, ``TO\_OLD`: V1 version becomes old man.`, ``TO_FEMALE`: V1 version becomes girls.`, ``TO\_MALE`: V1 version becomes boys.`, ``V2_AGE`: V2 version age change.`, ``V2\_GENDER`: v2 version gender shift.` | | `quality_control` | NO | `string` | `NONE`, `LOW`, `NORMAL`, `HIGH` | `NONE` | ``NONE`: No control is performed.`, ``LOW`: Lower quality requirements.`, ``NORMAL`: General quality requirements.`, ``HIGH`: Higher quality requirements.` | | `face_location` | NO | `json string` | | | When multiple faces are detected in the image, use this parameter to specify the position of the face to be edited in the image, or default to the largest face in the image if not specified. [More Details](#face_location) | #### `action_type` === `V2_AGE` | Field | Required | Type | Scope | Description | | :------- | :------- | :-------- | :------- | :---------- | | `target` | YES | `integer` | \[1, 85] | Age. | #### `action_type` === `V2_GENDER` | Field | Required | Type | Scope | Description | | :------- | :------- | :-------- | :------- | :---------------------------------- | | `target` | YES | `integer` | `0`, `1` | Gender. ``0`: Male.` ``1`: Female.` | #### `quality_control` The quality control thresholds corresponding to different control systems: If any quality information detected does not meet the requirements of the control threshold, an error will be returned. | `quality_control` = `LOW` | `quality_control` = `NORMAL` | `quality_control` = `HIGH` | Scope | Description | | :------------------------ | :--------------------------- | :------------------------- | :------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------- | | `0.8` | `0.6` | `0.2` | \[0, 1] | The proportion of the left eye being obscured. `1` indicates complete obstruction. | | `0.8` | `0.6` | `0.2` | \[0, 1] | The proportion of the right eye being obscured. `1` indicates complete obstruction. | | `0.8` | `0.6` | `0.2` | \[0, 1] | The proportion of the nose being obscured. `1` indicates complete obstruction. | | `0.8` | `0.6` | `0.2` | \[0, 1] | The proportion of the mouth being obscured. `1` indicates complete obstruction. | | `0.8` | `0.6` | `0.2` | \[0, 1] | The proportion of the left cheek being obscured. `1` indicates complete obstruction. | | `0.8` | `0.6` | `0.2` | \[0, 1] | The proportion of the right cheek being obscured. `1` indicates complete obstruction. | | `0.8` | `0.6` | `0.2` | \[0, 1] | The proportion of the chin being obscured. `1` indicates complete obstruction. | | `20` | `40` | `100` | \[0, 255] | Lighting. `0` indicates poor lighting. | | `0.8` | `0.6` | `0.2` | \[0, 1] | Image blur. `1` indicates complete blur. | | `0` | `0` | `1` | `0`, `1` | Completeness of the face. ``0`: The face overflows the image boundaries.` ``1`: The entire face is within the image boundaries.` | | `45` | `30` | `20` | \[-90 (left), 90 (right)] | Left-right rotation angle in three-dimensional rotation. A threshold of 30 indicates that the absolute value of the angle must be within 30. | | `45` | `30` | `20` | \[-180 (counterclockwise), 180 (clockwise)] | Rotation angle within the plane. A threshold of 30 indicates that the absolute value of the angle must be within 30. | | `45` | `30` | `20` | \[-90 (up), 90 (down)] | Pitch angle in three-dimensional rotation. A threshold of 30 indicates that the absolute value of the angle must be within 30. | #### `face_location` * **Request Example** ```json theme={null} {"left":111.4,"top":96.56,"width":98,"height":98,"rotation":3} ``` ## Response **Response Field Handling Flow** 1. **Handle `Public Response Fields`** Parse and validate the `Public Response Fields`, checking the status code or response message to ensure the request is successful and error-free. 2. **Handle `Business Response Fields`** If the `Public Response Fields` are valid and error-free, proceed with processing the business logic in the `Business Response Fields`. ### Public Response Fields Viewing Public Response Fields and Error Codes ### Business Response Fields | Field | Type | Description | | :------- | :------- | :--------------------------------------- | | `result` | `object` | The content of the result data returned. | | +`image` | `string` | The BASE64 value of the edited image. | ### Response Example ```json theme={null} { "request_id": "", "log_id": "", "error_code": 0, "error_msg": "", "error_detail": { "status_code": 200, "code": "", "code_message": "", "message": "" }, "result": { "image": "" } } ``` # Face Beauty Source: https://ailabtools.mintlify.app/docs/ai-portrait/effects/face-beauty Face Beauty API retouches portraits with skin smoothing, whitening, face slimming, feature adjustment, acne removal, and makeup effects. ## Renderings show | `sharp` | `smooth` | `white` | ORIGINAL IMAGE | RESULT IMAGE | | :------ | :------- | :------ | :--------------------------------- | :-------------------------------- | | `0.2` | `0.2` | `0.2` | ![ORIGINAL IMAGE][OriginalImage-1] | ![RESULT IMAGE][ResultImage-2-1] | | `0.5` | `0.5` | `0.5` | ![ORIGINAL IMAGE][OriginalImage-1] | ![RESULT IMAGE][ResultImage-5-1] | | `1.0` | `1.0` | `1.0` | ![ORIGINAL IMAGE][OriginalImage-1] | ![RESULT IMAGE][ResultImage-10-1] | ## Billing Instructions ## File Storage Policy ## Application Scenarios * **Beauty Camera**: Photos taken by Beauty Camera will come with beauty effect. * **Live video broadcasting**: The anchors in the live broadcast room can make themselves more attractive and have more fans' attention through face beauty technology. * **Short video production**: User-made short videos with face beauty technology can enhance the viewing effect. * **Photography post-production**: Through the face beauty technology based on deep learning, it can improve the artistic effect of portrait photography. ## Featured Advantages * **Face beautification**: You can take photos with effects such as peeling, removing dark circles and lines under the eyes, and whitening. * **Clarity maintenance**: You can maintain the clarity of the original film. [OriginalImage-1]: https://ai-resource.ailabtools.com/rapidapi/facebody/FaceBeauty/OriginalImage-1.webp [ResultImage-2-1]: https://ai-resource.ailabtools.com/rapidapi/facebody/FaceBeauty/ResultImage-2-1.webp [ResultImage-5-1]: https://ai-resource.ailabtools.com/rapidapi/facebody/FaceBeauty/ResultImage-5-1.webp [ResultImage-10-1]: https://ai-resource.ailabtools.com/rapidapi/facebody/FaceBeauty/ResultImage-10-1.webp # Face Beauty Advanced Source: https://ailabtools.mintlify.app/docs/ai-portrait/effects/face-beauty-advanced Face Beauty Advanced API smooths skin, brightens tone, removes acne, enlarges eyes, and beautifies up to five faces. ## Renderings show | | ORIGINAL IMAGE | RESULT IMAGE | | :------------------------------------------------------------------------------------------------------ | :-------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------- | | `whitening` = `70` | ![ORIGINAL IMAGE](https://ai-resource.ailabtools.com/face-beauty-advanced/doc/OriginalImage-2.webp) | ![RESULT IMAGE](https://ai-resource.ailabtools.com/face-beauty-advanced/doc/ResultImage-2-whitening-70-1.webp) | | `smoothing` = `70` | ![ORIGINAL IMAGE](https://ai-resource.ailabtools.com/face-beauty-advanced/doc/OriginalImage-2.webp) | ![RESULT IMAGE](https://ai-resource.ailabtools.com/face-beauty-advanced/doc/ResultImage-2-smoothing-70-1.webp) | | `face_lifting` = `70` | ![ORIGINAL IMAGE](https://ai-resource.ailabtools.com/face-beauty-advanced/doc/OriginalImage-2.webp) | ![RESULT IMAGE](https://ai-resource.ailabtools.com/face-beauty-advanced/doc/ResultImage-2-face_lifting-70-1.webp) | | `eye_enlarging` = `70` | ![ORIGINAL IMAGE](https://ai-resource.ailabtools.com/face-beauty-advanced/doc/OriginalImage-2.webp) | ![RESULT IMAGE](https://ai-resource.ailabtools.com/face-beauty-advanced/doc/ResultImage-2-eye_enlarging-70-1.webp) | | `whitening` = `70`
    `smoothing` = `70`
    `face_lifting` = `70`
    `eye_enlarging` = `70` | ![ORIGINAL IMAGE](https://ai-resource.ailabtools.com/face-beauty-advanced/doc/OriginalImage-2.webp) | ![RESULT IMAGE](https://ai-resource.ailabtools.com/face-beauty-advanced/doc/ResultImage-2-all-70-1.webp) | ## Billing Instructions ## File Storage Policy ## Application Scenarios * **Beauty Camera**: Photos taken by Beauty Camera will come with beauty effect. * **Live video broadcasting**: The anchors in the live broadcast room can make themselves more attractive and have more fans' attention through face beauty technology. * **Short video production**: User-made short videos with face beauty technology can enhance the viewing effect. * **Photography post-production**: Through the face beauty technology based on deep learning, it can improve the artistic effect of portrait photography. ## Featured Advantages * **Face beautification**: You can take photos with effects such as peeling, removing dark circles and lines under the eyes, and whitening. * **Clarity maintenance**: You can maintain the clarity of the original film. # Face Beauty Advanced API Source: https://ailabtools.mintlify.app/docs/ai-portrait/effects/face-beauty-advanced/api POST /api/portrait/effects/face-beauty-advanced Face Beauty Advanced API smooths skin, brightens tone, removes acne, enlarges eyes, and beautifies up to five faces. ## Request * **URL**: `https://www.ailabapi.com/api/portrait/effects/face-beauty-advanced` * **Method**: `POST` * **Content-Type**: `multipart/form-data` ### Image requirements * **Image format**: `JPEG` `JPG` `PNG` `BMP` * **Image size**: No more than 5 MB. * **Image resolution**: Less than 2000x2000px. ### Headers | Field | Required | Type | Description | | :----------------- | :------- | :------- | :---------------------------------------------------- | | `ailabapi-api-key` | YES | `string` | Application API KEY. [Get API KEY](/docs/get-api-key) | ### Body | Field | Required | Type | Scope | Default | Description | | :-------------- | :------- | :-------- | :-------- | :------ | :--------------------------------------------------------------------------------------- | | `image` | YES | `file` | | | | | `whitening` | NO | `integer` | \[0, 100] | `30` | Whitening level: `0` means no whitening, `100` represents the highest level. | | `smoothing` | NO | `integer` | \[0, 100] | `10` | Skin smoothing level: `0` means no skin smoothing, `100` represents the highest level. | | `face_lifting` | NO | `integer` | \[0, 100] | `70` | Face slimming level: `0` means no face slimming, `100` represents the highest level. | | `eye_enlarging` | NO | `integer` | \[0, 100] | `70` | Eye enlargement level: `0` means no eye enlargement, `100` represents the highest level. | ## Response **Response Field Handling Flow** 1. **Handle `Public Response Fields`** Parse and validate the `Public Response Fields`, checking the status code or response message to ensure the request is successful and error-free. 2. **Handle `Business Response Fields`** If the `Public Response Fields` are valid and error-free, proceed with processing the business logic in the `Business Response Fields`. ### Public Response Fields Viewing Public Response Fields and Error Codes ### Business Response Fields | Field | Type | Description | | :------------- | :------- | :---------------------------------------------- | | `result_image` | `string` | Returns the base64 data of the processed image. | ### Response Example ```json theme={null} { "request_id": "", "log_id": "", "error_code": 0, "error_msg": "", "error_detail": { "status_code": 200, "code": "", "code_message": "", "message": "" }, "result_image": "" } ``` # Face Beauty Pro Source: https://ailabtools.mintlify.app/docs/ai-portrait/effects/face-beauty-pro Face Beauty Pro API provides advanced portrait retouching, face shaping, eyebrow removal, filters, and skin beautification. ## Renderings show ### Face Beauty | | ORIGINAL IMAGE | RESULT IMAGE | | :--------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------- | | `whitening` = `70` | ![ORIGINAL IMAGE](https://ai-resource.ailabtools.com/face-beauty-pro/doc/OriginalImage-1.webp) | ![RESULT IMAGE](https://ai-resource.ailabtools.com/face-beauty-pro/doc/ResultImage-1-whitening-70-1.webp) | | `smoothing` = `70` | ![ORIGINAL IMAGE](https://ai-resource.ailabtools.com/face-beauty-pro/doc/OriginalImage-1.webp) | ![RESULT IMAGE](https://ai-resource.ailabtools.com/face-beauty-pro/doc/ResultImage-1-smoothing-70-1.webp) | | `thinface` = `70` | ![ORIGINAL IMAGE](https://ai-resource.ailabtools.com/face-beauty-pro/doc/OriginalImage-1.webp) | ![RESULT IMAGE](https://ai-resource.ailabtools.com/face-beauty-pro/doc/ResultImage-1-thinface-70-1.webp) | | `shrink_face` = `70` | ![ORIGINAL IMAGE](https://ai-resource.ailabtools.com/face-beauty-pro/doc/OriginalImage-1.webp) | ![RESULT IMAGE](https://ai-resource.ailabtools.com/face-beauty-pro/doc/ResultImage-1-shrink_face-70-1.webp) | | `enlarge_eye` = `70` | ![ORIGINAL IMAGE](https://ai-resource.ailabtools.com/face-beauty-pro/doc/OriginalImage-1.webp) | ![RESULT IMAGE](https://ai-resource.ailabtools.com/face-beauty-pro/doc/ResultImage-1-enlarge_eye-70-1.webp) | | `remove_eyebrow` = `70` | ![ORIGINAL IMAGE](https://ai-resource.ailabtools.com/face-beauty-pro/doc/OriginalImage-1.webp) | ![RESULT IMAGE](https://ai-resource.ailabtools.com/face-beauty-pro/doc/ResultImage-1-remove_eyebrow-70-1.webp) | | `whitening` = `70`
    `smoothing` = `70`
    `thinface` = `70`
    `shrink_face` = `70` `enlarge_eye` = `70` `remove_eyebrow` = `70` | ![ORIGINAL IMAGE](https://ai-resource.ailabtools.com/face-beauty-pro/doc/OriginalImage-1.webp) | ![RESULT IMAGE](https://ai-resource.ailabtools.com/face-beauty-pro/doc/ResultImage-1-all-70-1.webp) | ### Filters
    Original Image
    Original Image
    Black and White
    Black and White
    Calm
    Calm
    Sunny Day
    Sunny Day
    Journey
    Journey
    Beautify Skin
    Beautify Skin
    Hong Kong Style
    Hong Kong Style
    Aesthetic
    Aesthetic
    Lovely
    Lovely
    New York
    New York
    Sakura
    Sakura
    Seventeen
    Seventeen
    Soft Light
    Soft Light
    Afternoon Tea
    Afternoon Tea
    Brighten Skin
    Brighten Skin
    Chaplin
    Chaplin
    Floral
    Floral
    Memories
    Memories
    Ice Beauty
    Ice Beauty
    Paris
    Paris
    Time
    Time
    LOMO
    LOMO
    Old Times
    Old Times
    Early Spring
    Early Spring
    Story
    Story
    Abao Color
    Abao Color
    Fill Light
    Fill Light
    Warm
    Warm
    Gorgeous
    Gorgeous
    Lavender
    Lavender
    Chanel
    Chanel
    Prague
    Prague
    Old Dreams
    Old Dreams
    Peach Blossom
    Peach Blossom
    Pink
    Pink
    Misty Rain
    Misty Rain
    ## Billing Instructions ## File Storage Policy ## Application Scenarios * **Beauty Camera**: Photos taken by Beauty Camera will come with beauty effect. * **Live video broadcasting**: The anchors in the live broadcast room can make themselves more attractive and have more fans' attention through face beauty technology. * **Short video production**: User-made short videos with face beauty technology can enhance the viewing effect. * **Photography post-production**: Through the face beauty technology based on deep learning, it can improve the artistic effect of portrait photography. ## Featured Advantages * **Face beautification**: You can take photos with effects such as peeling, removing dark circles and lines under the eyes, and whitening. * **Clarity maintenance**: You can maintain the clarity of the original film. # Face Beauty Pro API Source: https://ailabtools.mintlify.app/docs/ai-portrait/effects/face-beauty-pro/api POST /api/portrait/effects/face-beauty-pro Face Beauty Pro API provides advanced portrait retouching, face shaping, eyebrow removal, filters, and skin beautification. ## Request * **URL**: `https://www.ailabapi.com/api/portrait/effects/face-beauty-pro` * **Method**: `POST` * **Content-Type**: `multipart/form-data` ### Image requirements * **Image format**: `JPEG` `JPG` `PNG` * **Image size**: No more than 2 MB. * **Image resolution**: Larger than 48x48px, smaller than 4096x4096px. ### Headers | Field | Required | Type | Description | | :----------------- | :------- | :------- | :---------------------------------------------------- | | `ailabapi-api-key` | YES | `string` | Application API KEY. [Get API KEY](/docs/get-api-key) | ### Body | Field | Required | Type | Scope | Default | Description | | :--------------- | :------- | :-------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `image` | YES | `file` | | | | | `whitening` | NO | `integer` | \[0, 100] | `50` | Whitening Degree. `0` means no whitening effect, `100` represents the highest degree. | | `smoothing` | NO | `integer` | \[0, 100] | `50` | Smoothing Degree. `0` means no smoothing effect, `100` represents the highest degree. | | `thinface` | NO | `integer` | \[0, 100] | `50` | Face Slimming Degree. `0` means no face slimming effect, `100` represents the highest degree. | | `shrink_face` | NO | `integer` | \[0, 100] | `50` | Small Face Degree. `0` means no small face effect, `100` represents the highest degree. | | `enlarge_eye` | NO | `integer` | \[0, 100] | `50` | Big Eyes Degree. `0` means no big eyes effect, `100` represents the highest degree. | | `remove_eyebrow` | NO | `integer` | \[0, 100] | `50` | Eyebrow Removal Degree. `0` means no eyebrow removal effect, `100` represents the highest degree. | | `filter_type` | NO | `integer` | `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `13`, `14`, `15`, `16`, `17`, `18`, `19`, `20`, `21`, `22`, `23`, `24`, `25`, `26`, `27`, `28`, `29`, `30`, `31`, `32`, `33`, `34`, `35` | | ``1`: Black and White.`, ``2`: Calm.`, ``3`: Sunny Day.`, ``4`: Journey.`, ``5`: Beautify Skin.`, ``6`: Hong Kong Style.`, ``7`: Aesthetic.`, ``8`: Lovely.`, ``9`: New York.`, ``10`: Sakura.`, ``11`: Seventeen.`, ``12`: Soft Light.`, ``13`: Afternoon Tea.`, ``14`: Brighten Skin.`, ``15`: Chaplin.`, ``16`: Floral.`, ``17`: Memories.`, ``18`: Ice Beauty.`, ``19`: Paris.`, ``20`: Time.`, ``21`: LOMO.`, ``22`: Old Times.`, ``23`: Early Spring.`, ``24`: Story.`, ``25`: Abao Color.`, ``26`: Fill Light.`, ``27`: Warm.`, ``28`: Gorgeous.`, ``29`: Lavender.`, ``30`: Chanel.`, ``31`: Prague.`, ``32`: Old Dreams.`, ``33`: Peach Blossom.`, ``34`: Pink.`, \`\`35`: Misty Rain.` | | `task_type` | NO | `string` | `sync` | `sync` | \`\`sync`: Synchronous tasks.` | ## Response **Response Field Handling Flow** 1. **Handle `Public Response Fields`** Parse and validate the `Public Response Fields`, checking the status code or response message to ensure the request is successful and error-free. 2. **Handle `Business Response Fields`** If the `Public Response Fields` are valid and error-free, proceed with processing the business logic in the `Business Response Fields`. ### Public Response Fields Viewing Public Response Fields and Error Codes ### Business Response Fields | Field | Type | Scope | Description | | :---------- | :------- | :----- | :---------------------------------------------- | | `task_type` | `string` | `sync` | Task Type. \`\`sync`: Synchronous tasks.` | | `result` | `string` | | Returns the base64 data of the processed image. | ### Response Example ```json theme={null} { "request_id": "", "log_id": "", "error_code": 0, "error_msg": "", "error_detail": { "status_code": 200, "code": "", "code_message": "", "message": "" }, "task_type": "sync", "result": "" } ``` # Face Beauty Pro Async API Source: https://ailabtools.mintlify.app/docs/ai-portrait/effects/face-beauty-pro/async-api POST /api/portrait/effects/face-beauty-pro Face Beauty Pro API provides advanced portrait retouching, face shaping, eyebrow removal, filters, and skin beautification. ## Request * **URL**: `https://www.ailabapi.com/api/portrait/effects/face-beauty-pro` * **Method**: `POST` * **Content-Type**: `multipart/form-data` ### Image requirements * **Image format**: `JPEG` `JPG` `PNG` * **Image size**: No more than 2 MB. * **Image resolution**: Larger than 48x48px, smaller than 4096x4096px. ### Headers | Field | Required | Type | Description | | :----------------- | :------- | :------- | :---------------------------------------------------- | | `ailabapi-api-key` | YES | `string` | Application API KEY. [Get API KEY](/docs/get-api-key) | ### Body | Field | Required | Type | Scope | Default | Description | | :--------------- | :------- | :-------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `task_type` | YES | `string` | `async` | | \`\`async`: Asynchronous tasks.` | | `image` | YES | `file` | | | | | `whitening` | NO | `integer` | \[0, 100] | `50` | Whitening Degree. `0` means no whitening effect, `100` represents the highest degree. | | `smoothing` | NO | `integer` | \[0, 100] | `50` | Smoothing Degree. `0` means no smoothing effect, `100` represents the highest degree. | | `thinface` | NO | `integer` | \[0, 100] | `50` | Face Slimming Degree. `0` means no face slimming effect, `100` represents the highest degree. | | `shrink_face` | NO | `integer` | \[0, 100] | `50` | Small Face Degree. `0` means no small face effect, `100` represents the highest degree. | | `enlarge_eye` | NO | `integer` | \[0, 100] | `50` | Big Eyes Degree. `0` means no big eyes effect, `100` represents the highest degree. | | `remove_eyebrow` | NO | `integer` | \[0, 100] | `50` | Eyebrow Removal Degree. `0` means no eyebrow removal effect, `100` represents the highest degree. | | `filter_type` | NO | `integer` | `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `13`, `14`, `15`, `16`, `17`, `18`, `19`, `20`, `21`, `22`, `23`, `24`, `25`, `26`, `27`, `28`, `29`, `30`, `31`, `32`, `33`, `34`, `35` | | ``1`: Black and White.`, ``2`: Calm.`, ``3`: Sunny Day.`, ``4`: Journey.`, ``5`: Beautify Skin.`, ``6`: Hong Kong Style.`, ``7`: Aesthetic.`, ``8`: Lovely.`, ``9`: New York.`, ``10`: Sakura.`, ``11`: Seventeen.`, ``12`: Soft Light.`, ``13`: Afternoon Tea.`, ``14`: Brighten Skin.`, ``15`: Chaplin.`, ``16`: Floral.`, ``17`: Memories.`, ``18`: Ice Beauty.`, ``19`: Paris.`, ``20`: Time.`, ``21`: LOMO.`, ``22`: Old Times.`, ``23`: Early Spring.`, ``24`: Story.`, ``25`: Abao Color.`, ``26`: Fill Light.`, ``27`: Warm.`, ``28`: Gorgeous.`, ``29`: Lavender.`, ``30`: Chanel.`, ``31`: Prague.`, ``32`: Old Dreams.`, ``33`: Peach Blossom.`, ``34`: Pink.`, \`\`35`: Misty Rain.` | ## Response **Response Field Handling Flow** 1. **Handle `Public Response Fields`** Parse and validate the `Public Response Fields`, checking the status code or response message to ensure the request is successful and error-free. 2. **Handle `Business Response Fields`** If the `Public Response Fields` are valid and error-free, proceed with processing the business logic in the `Business Response Fields`. ### Public Response Fields Viewing Public Response Fields and Error Codes ### Business Response Fields | Field | Type | Scope | Description | | :---------- | :------- | :------ | :------------------------------------------ | | `task_type` | `string` | `async` | Task Type. \`\`async`: Asynchronous tasks.` | | `task_id` | `string` | | Asynchronous task ID. | ### Response Example ```json theme={null} { "request_id": "", "log_id": "", "error_code": 0, "error_msg": "", "error_detail": { "status_code": 200, "code": "", "code_message": "", "message": "" }, "task_type": "", "task_id": "" } ``` This API is asynchronous, please keep `task_id` and call [`Querying Async Task Results`](/docs/ai-common/async-task-results/api) to get the final results. Asynchronous task results are valid for 24 hours. It is recommended that asynchronous task results be queried every 5 seconds. ## `Querying Async Task Results` Response **Response Field Handling Flow** 1. **Handle `Public Response Fields`** Parse and validate the `Public Response Fields`, checking the status code or response message to ensure the request is successful and error-free. 2. **Handle `Business Response Fields`** If the `Public Response Fields` are valid and error-free, proceed with processing the business logic in the `Business Response Fields`. ### Public Response Fields Viewing Public Response Fields and Error Codes ### Business Response Fields | Field | Type | Scope | Description | | :------------ | :-------- | :------------ | :----------------------------------------------------------------------------------------------------------------------- | | `task_status` | `integer` | `0`, `1`, `2` | Asynchronous task status. ``0`: The task is queued.` ``1`: Asynchronous processing.` \`\`2`: Processing was successful.` | | `result_url` | `string` | | Result URL address. | The URL address is a temporary address, valid for 24 hours, and will not be accessible after it expires. If you need to save the file for a long time or permanently, please visit the URL address within 24 hours and download the file to your own storage space. ### Response Example ```json theme={null} { "error_code": 0, "error_msg": "", "error_detail": { "status_code": 200, "code": "", "code_message": "", "message": "" }, "task_status": 0, "result_url": "" } ``` # Face Beauty API Source: https://ailabtools.mintlify.app/docs/ai-portrait/effects/face-beauty/api POST /api/portrait/effects/face-beauty Face Beauty API retouches portraits with skin smoothing, whitening, face slimming, feature adjustment, acne removal, and makeup effects. ## Request * **URL**: `https://www.ailabapi.com/api/portrait/effects/face-beauty` * **Method**: `POST` * **Content-Type**: `multipart/form-data` ### Image requirements * **Image format**: `JPEG` `JPG` `PNG` `BMP` * **Image size**: No more than 3 MB. * **Image resolution**: Larger than 10x10px, smaller than 2000x2000px. * **Image quality recommendation**: Suitable for portrait images of most skin types, with average results for images containing scenes with more severe discoloration, acne, or low exposure. ### Headers | Field | Required | Type | Description | | :----------------- | :------- | :------- | :---------------------------------------------------- | | `ailabapi-api-key` | YES | `string` | Application API KEY. [Get API KEY](/docs/get-api-key) | ### Body | Field | Required | Type | Scope | Description | | :------- | :------- | :------ | :-------- | :----------------------------------------------------------------------- | | `image` | YES | `file` | | | | `sharp` | YES | `float` | \[0, 1.0] | Sharpness level. A higher value indicates a greater degree of sharpness. | | `smooth` | YES | `float` | \[0, 1.0] | Smoothness level. A higher value results in a smoother appearance. | | `white` | YES | `float` | \[0, 1.0] | Whitening level. A higher value leads to lighter skin. | ## Response **Response Field Handling Flow** 1. **Handle `Public Response Fields`** Parse and validate the `Public Response Fields`, checking the status code or response message to ensure the request is successful and error-free. 2. **Handle `Business Response Fields`** If the `Public Response Fields` are valid and error-free, proceed with processing the business logic in the `Business Response Fields`. ### Public Response Fields Viewing Public Response Fields and Error Codes ### Business Response Fields | Field | Type | Description | | :----------- | :------- | :--------------------------------------- | | `data` | `object` | The content of the result data returned. | | +`image_url` | `string` | Resulting image URL address. | The URL address is a temporary address, valid for 24 hours, and will not be accessible after it expires. If you need to save the file for a long time or permanently, please visit the URL address within 24 hours and download the file to your own storage space. ### Response Example ```json theme={null} { "request_id": "", "log_id": "", "error_code": 0, "error_msg": "", "error_detail": { "status_code": 200, "code": "", "code_message": "", "message": "" }, "data": { "image_url": "" } } ``` # Face Filters Source: https://ailabtools.mintlify.app/docs/ai-portrait/effects/face-filter Face Filters API applies AI photo filters and special effects to transform image style with adjustable filter intensity. ## Renderings show
    Original Image
    Original Image
    White Tea
    White Tea
    Fair Skin
    Fair Skin
    Early Summer
    Early Summer
    Tokyo
    Tokyo
    Confession
    Confession
    Warm Sunshine
    Warm Sunshine
    Rose
    Rose
    Clarity
    Clarity
    Crystal Clear
    Crystal Clear
    Sweet Mint
    Sweet Mint
    Basic
    Basic
    Heartbeat
    Heartbeat
    Muted Gray
    Muted Gray
    Cherry Pudding
    Cherry Pudding
    Natural
    Natural
    Elegance
    Elegance
    Black and White
    Black and White
    Fruit
    Fruit
    Love
    Love
    Winter
    Winter
    Photo
    Photo
    Summer
    Summer
    Fragrance
    Fragrance
    Charm
    Charm
    Throb
    Throb
    Beach
    Beach
    Street Snap
    Street Snap
    Sweet
    Sweet
    First Kiss
    First Kiss
    Afternoon
    Afternoon
    Vitality
    Vitality
    Hazy
    Hazy
    Joyful
    Joyful
    Fashion
    Fashion
    Bubbles
    Bubbles
    Lemon
    Lemon
    Cotton Candy
    Cotton Candy
    Brook
    Brook
    Beauty
    Beauty
    Coffee
    Coffee
    Tender Bud
    Tender Bud
    Passion
    Passion
    Gradual Warmth
    Gradual Warmth
    Breakfast
    Breakfast
    White Tea
    White Tea
    Fair
    Fair
    Holy
    Holy
    Forest
    Forest
    Surfing
    Surfing
    Milk Coffee
    Milk Coffee
    Clear
    Clear
    Breeze
    Breeze
    Sunset
    Sunset
    Water Glow
    Water Glow
    Japanese Style
    Japanese Style
    Starlight
    Starlight
    Sunshine
    Sunshine
    Falling Leaves
    Falling Leaves
    Vitality
    Vitality
    Sweetheart
    Sweetheart
    Elegance
    Elegance
    Spring
    Spring
    Rome
    Rome
    Green
    Green
    Gentle Breeze
    Gentle Breeze
    Warm Heart
    Warm Heart
    Seawater
    Seawater
    Mysterious
    Mysterious
    Vintage 1
    Vintage 1
    Vintage 2
    Vintage 2
    Snowy Peak
    Snowy Peak
    Sunlight
    Sunlight
    Floating Clouds
    Floating Clouds
    Flowing Colors
    Flowing Colors
    Film
    Film
    Nostalgia
    Nostalgia
    Cheese
    Cheese
    Butterfly
    Butterfly
    ## Billing Instructions ## File Storage Policy ## Application Scenarios * **Photography post-production**: Add AI filters to make uniform style modifications to input images. * **Live video**: Uniform style processing for live video, making the content more personalized. ## Featured Advantages * **Numerous modes**: provide a variety of filter modes for one-click style transformation. # Face Filters API Source: https://ailabtools.mintlify.app/docs/ai-portrait/effects/face-filter/api POST /api/portrait/effects/face-filter Face Filters API applies AI photo filters and special effects to transform image style with adjustable filter intensity. ## Request * **URL**: `https://www.ailabapi.com/api/portrait/effects/face-filter` * **Method**: `POST` * **Content-Type**: `multipart/form-data` ### Image requirements * **Image format**: `JPEG` `JPG` `PNG` `BMP` * **Image size**: No more than 3 MB. * **Image resolution**: Larger than 10x10px, smaller than 2000x2000px. ### Headers | Field | Required | Type | Description | | :----------------- | :------- | :------- | :---------------------------------------------------- | | `ailabapi-api-key` | YES | `string` | Application API KEY. [Get API KEY](/docs/get-api-key) | ### Body | Field | Required | Type | Scope | Description | | :-------------- | :------- | :------- | :---------------------- | :-------------------------------------------- | | `image` | YES | `file` | | | | `resource_type` | YES | `string` | [Scope](#resource_type) | Picture style. [More Details](#resource_type) | | `strength` | YES | `float` | \[0, 1.0] | Filter intensity. | #### `resource_type` | `resource_type` | Description | | :-------------- | :-------------- | | `10001` | White Tea | | `10002` | Fair Skin | | `10003` | Early Summer | | `10004` | Tokyo | | `10005` | Confession | | `10006` | Warm Sunshine | | `10007` | Rose | | `10008` | Clarity | | `10009` | Crystal Clear | | `10010` | Sweet Mint | | `10011` | Basic | | `10012` | Heartbeat | | `10013` | Muted Gray | | `10014` | Cherry Pudding | | `10015` | Natural | | `10016` | Elegance | | `10017` | Black and White | | `10018` | Fruit | | `10019` | Love | | `10020` | Winter | | `10021` | Photo | | `10022` | Summer | | `10023` | Fragrance | | `10024` | Charm | | `10025` | Throb | | `10026` | Beach | | `10027` | Street Snap | | `10028` | Sweet | | `10029` | First Kiss | | `10030` | Afternoon | | `10031` | Vitality | | `10032` | Hazy | | `10033` | Joyful | | `10034` | Fashion | | `10035` | Bubbles | | `10036` | Lemon | | `10037` | Cotton Candy | | `10038` | Brook | | `10039` | Beauty | | `10040` | Coffee | | `10041` | Tender Bud | | `10042` | Passion | | `10043` | Gradual Warmth | | `10044` | Breakfast | | `10045` | White Tea | | `10046` | Fair | | `10047` | Holy | | `10048` | Forest | | `10049` | Surfing | | `10050` | Milk Coffee | | `10051` | Clear | | `10052` | Breeze | | `10053` | Sunset | | `10054` | Water Glow | | `10055` | Japanese Style | | `10056` | Starlight | | `10057` | Sunshine | | `10058` | Falling Leaves | | `10059` | Vitality | | `10060` | Sweetheart | | `10061` | Elegance | | `10062` | Spring | | `10063` | Rome | | `10064` | Green | | `10065` | Gentle Breeze | | `10066` | Warm Heart | | `10067` | Seawater | | `10068` | Mysterious | | `10069` | Vintage 1 | | `10070` | Vintage 2 | | `10071` | Snowy Peak | | `10072` | Sunlight | | `10073` | Floating Clouds | | `10074` | Flowing Colors | | `10075` | Film | | `10076` | Nostalgia | | `10077` | Cheese | | `10078` | Butterfly | ## Response **Response Field Handling Flow** 1. **Handle `Public Response Fields`** Parse and validate the `Public Response Fields`, checking the status code or response message to ensure the request is successful and error-free. 2. **Handle `Business Response Fields`** If the `Public Response Fields` are valid and error-free, proceed with processing the business logic in the `Business Response Fields`. ### Public Response Fields Viewing Public Response Fields and Error Codes ### Business Response Fields | Field | Type | Description | | :----------- | :------- | :--------------------------------------- | | `data` | `object` | The content of the result data returned. | | +`image_url` | `string` | Resulting image URL address. | The URL address is a temporary address, valid for 24 hours, and will not be accessible after it expires. If you need to save the file for a long time or permanently, please visit the URL address within 24 hours and download the file to your own storage space. ### Response Example ```json theme={null} { "request_id": "", "log_id": "", "error_code": 0, "error_msg": "", "error_detail": { "status_code": 200, "code": "", "code_message": "", "message": "" }, "data": { "image_url": "" } } ``` # Merge Portraits Source: https://ailabtools.mintlify.app/docs/ai-portrait/effects/face-fusion Merge Portraits API blends faces from target and template images using AI face fusion for realistic portrait composites. ## Renderings show | TEMPLATE IMAGES | TARGET IMAGE | RESULT IMAGE | | :----------------------------------- | :----------------------------- | :----------------------------- | | ![TEMPLATE IMAGES][TemplateImages-1] | ![TARGET IMAGE][TargetImage-1] | ![RESULT IMAGE][ResultImage-1] | ## Billing Instructions ## File Storage Policy ## Application Scenarios * **Beauty tools**: choose different style templates to generate personalized pictures, enhance the sense of immersion and improve interaction. * **Event marketing**: Attract users to interact and share through specific templates during festivals or hot events. * **Promotion and propaganda**: you can add portrait fusion in h5 or other forms of communication to promote products and activities. ## Featured Advantages * **High resemblance**: retaining user features in all aspects, with high resemblance to the original portrait. * **Strong adaptability**: Outstanding effect in various subdivision scenes, applicable to different age, gender, expression, angle and lighting conditions. * **Expression retention**: high restoration of the expression of the original portrait. [TemplateImages-1]: https://ai-resource.ailabtools.com/rapidapi/facebody/FaceFusion/TemplateImages-1.webp [TargetImage-1]: https://ai-resource.ailabtools.com/rapidapi/facebody/FaceFusion/TargetImage-1.webp [ResultImage-1]: https://ai-resource.ailabtools.com/rapidapi/facebody/FaceFusion/ResultImage-1.webp # Merge Portraits API Source: https://ailabtools.mintlify.app/docs/ai-portrait/effects/face-fusion/api POST /api/portrait/effects/face-fusion Merge Portraits API blends faces from target and template images using AI face fusion for realistic portrait composites. ## Request * **URL**: `https://www.ailabapi.com/api/portrait/effects/face-fusion` * **Method**: `POST` * **Content-Type**: `multipart/form-data` ### Image requirements | Field | Requirements | | :--------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `image_target` | `Image format: `JPEG` `JPG` `BMP` `PNG\`\`, `Image size: No more than 4 MB.`, `Image resolution: Larger than 128x128px, smaller than 4096x4096px.`, `Face pixel size: To ensure the fusion effect, it is recommended that the minimum value of the side length of the face box (square) in the image is not less than 200px.`, `Face quality: The higher the face quality, the better the fusion effect.`, `Factors affecting face quality include: occlusion of the five facial features, improper lighting (bright light, dark light, backlighting), excessive face angle (recommended yaw ≤ ±20°, pitch ≤ ±20°), etc.`, `Black and white images are not supported.` | | `image_template` | `Image format: `JPEG` `JPG` `BMP` `PNG\`\`, `Image size: No more than 4 MB.`, `Image resolution: Larger than 200x200px, smaller than 4096x4096px.`, `Note that for special face materials, such as cartoon style images with large eyes, the original key point results will be deviated, and should be made accurate by dragging the position in the configuration tool. Most normal images are already very accurate and do not need to be adjusted.`, `The pixel area of the face in the image should not be too small (at least 200x200px, too small to change the face will not be clear), nor too large (the pixel size of the face area and speed is positively correlated, too large will affect the server speed and increase costs).`, `Pay attention to the quality of the material, make sure the face is clear enough, there should be no noise caused by compression, otherwise it will reduce the quality of the face replacement result.`, `For better results, the face of the material should be as positive as possible, with the highest yaw angle required (within plus or minus 10 degrees recommended), followed by the pitch angle (within plus or minus 20 degrees recommended), and the roll angle (within plus or minus 30 degrees).` | ### Headers | Field | Required | Type | Description | | :----------------- | :------- | :------- | :---------------------------------------------------- | | `ailabapi-api-key` | YES | `string` | Application API KEY. [Get API KEY](/docs/get-api-key) | ### Body | Field | Required | Type | Scope | Description | | :------------------ | :------- | :------ | :------ | :---------------------------------------------------------------------------------------------- | | `image_target` | YES | `file` | | Target image. | | `image_template` | YES | `file` | | Template images. | | `source_similarity` | NO | `float` | \[0, 1] | ``0`: Consistent with the original template.`, ``1`: Maximum similarity with the target image.` | ## Response **Response Field Handling Flow** 1. **Handle `Public Response Fields`** Parse and validate the `Public Response Fields`, checking the status code or response message to ensure the request is successful and error-free. 2. **Handle `Business Response Fields`** If the `Public Response Fields` are valid and error-free, proceed with processing the business logic in the `Business Response Fields`. ### Public Response Fields Viewing Public Response Fields and Error Codes ### Business Response Fields | Field | Type | Description | | :------- | :------- | :------------------------------------------------------------ | | `data` | `object` | The content of the result data returned. | | +`image` | `string` | The result image, returning the Base64 encoding of the image. | ### Response Example ```json theme={null} { "request_id": "", "log_id": "", "error_code": 0, "error_msg": "", "error_detail": { "status_code": 200, "code": "", "code_message": "", "message": "" }, "data": { "image": "" } } ``` # Hairstyle Changer Premium Source: https://ailabtools.mintlify.app/docs/ai-portrait/effects/hairstyle-editor-premium Hairstyle Changer Premium API generates preset or reference-based hairstyles and custom hair colors for men and women. ## Hairstyle Changer Pro vs Premium | Feature | [Pro](/docs/ai-portrait/effects/hairstyle-editor-pro) | [Premium](/docs/ai-portrait/effects/hairstyle-editor-premium) | | :------------------------------------------------------------------------------------------------------------------ | :-------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------: | | Predefined Hairstyles | ✅ | ✅ | | Reference-based Hairstyles | ❌ | ✅ | | Predefined Hair Colors | ✅ | ✅ | | Preserve Original Hair Color | ❌ | ✅ | | Reference-based Hair Color | ❌ | ✅ | | Processing Time | \~20s | \~30–60s | | Price | 10 credits (\~\$0.0270) | 15 credits (\~\$0.0405) | | ![ORIGINAL IMAGE](https://ai-resource.ailabtools.com/hairstyle-changer-premium/doc/renderings/OriginalImage-1.webp) | ![Pro](https://ai-resource.ailabtools.com/hairstyle-changer-pro/doc/renderings/ResultImage-OriginalImage-1-LongHairTiedUp-1.webp) | ![Premium](https://ai-resource.ailabtools.com/hairstyle-changer-premium/doc/renderings/ResultImage-OriginalImage-1-LongHairTiedUp-1.webp) | | ![ORIGINAL IMAGE](https://ai-resource.ailabtools.com/hairstyle-changer-premium/doc/renderings/OriginalImage-2.webp) | ![Pro](https://ai-resource.ailabtools.com/hairstyle-changer-pro/doc/renderings/ResultImage-OriginalImage-2-ClassicWavyBob-1.webp) | ![Premium](https://ai-resource.ailabtools.com/hairstyle-changer-premium/doc/renderings/ResultImage-OriginalImage-2-ClassicWavyBob-1.webp) | ## Renderings show ### Preset Hairstyles | ORIGINAL IMAGE | `hair_style` | RESULT IMAGE | | :--------------------------------: | :--------------: | :-----------------------------------------------------------: | | ![ORIGINAL IMAGE][OriginalImage-1] | `LongHairTiedUp` | ![RESULT IMAGE][ResultImage-OriginalImage-1-LongHairTiedUp-1] | | ![ORIGINAL IMAGE][OriginalImage-2] | `ClassicWavyBob` | ![RESULT IMAGE][ResultImage-OriginalImage-2-ClassicWavyBob-1] | ### Reference Hairstyles | ORIGINAL IMAGE | REFERENCE IMAGE | RESULT IMAGE | | :--------------------------------: | :----------------------------------: | :-------------------------------------------------------------: | | ![ORIGINAL IMAGE][OriginalImage-1] | ![REFERENCE IMAGE][ReferenceImage-1] | ![RESULT IMAGE][ResultImage-OriginalImage-1-ReferenceImage-1-1] | | ![ORIGINAL IMAGE][OriginalImage-2] | ![REFERENCE IMAGE][ReferenceImage-2] | ![RESULT IMAGE][ResultImage-OriginalImage-2-ReferenceImage-2-1] | ## Billing Instructions ## File Storage Policy ## Application Scenarios * **Portrait beautification**: Edit and modify the hairstyle in the portrait image for portrait beautification scenes to easily enhance the user's image. * **Hair design**: Users can directly edit hairstyles and intuitively experience a variety of hair designs to enhance the personalized experience of customers in the beauty and hairdressing industry. * **Interactive entertainment**: In short videos, social platforms, or integrated into photo album type apps, add hair style editing play to users' personalized photos to attract users' interactive participation and sharing. ## Featured Advantages * **Accurate recognition**: based on deep learning algorithm, accurate face recognition. * **Wide range of applications**: meet the needs of diverse business scenarios, applicable to users of different ages and genders. [OriginalImage-1]: https://ai-resource.ailabtools.com/hairstyle-changer-premium/doc/renderings/OriginalImage-1.webp [OriginalImage-2]: https://ai-resource.ailabtools.com/hairstyle-changer-premium/doc/renderings/OriginalImage-2.webp [ReferenceImage-1]: https://ai-resource.ailabtools.com/hairstyle-changer-premium/doc/renderings/ReferenceImage-1.webp [ReferenceImage-2]: https://ai-resource.ailabtools.com/hairstyle-changer-premium/doc/renderings/ReferenceImage-2.webp [ResultImage-OriginalImage-1-LongHairTiedUp-1]: https://ai-resource.ailabtools.com/hairstyle-changer-premium/doc/renderings/ResultImage-OriginalImage-1-LongHairTiedUp-1.webp [ResultImage-OriginalImage-2-ClassicWavyBob-1]: https://ai-resource.ailabtools.com/hairstyle-changer-premium/doc/renderings/ResultImage-OriginalImage-2-ClassicWavyBob-1.webp [ResultImage-OriginalImage-1-ReferenceImage-1-1]: https://ai-resource.ailabtools.com/hairstyle-changer-premium/doc/renderings/ResultImage-OriginalImage-1-ReferenceImage-1-1.webp [ResultImage-OriginalImage-2-ReferenceImage-2-1]: https://ai-resource.ailabtools.com/hairstyle-changer-premium/doc/renderings/ResultImage-OriginalImage-2-ReferenceImage-2-1.webp # Hairstyle Changer Premium API Source: https://ailabtools.mintlify.app/docs/ai-portrait/effects/hairstyle-editor-premium/api POST /api/portrait/effects/hairstyle-editor-premium Hairstyle Changer Premium API generates preset or reference-based hairstyles and custom hair colors for men and women. ## Query Task This is an asynchronous task API. The submission request returns only `task_id`. Use `task_id` to call [Querying Async Task Results](/docs/ai-common/async-task-results/api) and retrieve the final result. Async task results remain available for 24 hours. Query every 5 seconds. | Field | Type | Description | | :------- | :------- | :----------------- | | `data` | `object` | Final result data. | | +`image` | `string` | Result image URL. | ```json theme={null} { "data": { "image": "" } } ``` `image` is temporary and remains valid for 24 hours. Download the file to your own storage before the URL expires if you need long-term storage. ## Submit Task ### Input Image Examples Use a clear portrait with a complete, unobstructed face at an appropriate size. The examples below show valid inputs and common invalid cases.
    Reason Examples
    ✅ Valid
    ### `hair_style` The following enum values are supported for `hair_style`. ### `color` The following enum values are supported for `color`. # Photo Validation Guide Source: https://ailabtools.mintlify.app/docs/ai-portrait/effects/hairstyle-editor-premium/guide To ensure that user-uploaded photos meet the requirements for the Hairstyle Processing API, it’s recommended to split the workflow into two stages: “Face Analysis” and “Hairstyle Processing.” This approach helps minimize long error return times by validating the image at the frontend to confirm it meets the standards before calling the Hairstyle Processing API, ultimately enhancing the user experience. ## Frontend Validation Requirements Before calling the Hairstyle Processing API, the frontend should perform the following validations: 1. **Image Resolution and Size**: Ensure the image meets the API’s resolution and file size requirements for optimal processing quality. 2. **Face Detection**: Verify the presence of a face, the number of faces, the face-to-image ratio, and that the face’s angle meets the required standards. ## Specific Validation Details ### 1. Face and Face-to-Image Ratio Validation * **No Face or Multiple Faces**: If no face or multiple faces are detected in the image, the frontend should return an error message, prompting the user to retake or re-upload a suitable photo. * **Non-compliant Face-to-Image Ratio**: If the face occupies less than the specified percentage of the image (typically 10%), crop the image at the frontend to meet the required face-to-image ratio. ### 2. Validation Method To accomplish the validations above, the frontend can use the [Facial Landmarks API](/docs/ai-portrait/analysis/face-key-points) to obtain key face data for assessing face count, face-to-image ratio, and face angle. ### 3. Validation Criteria * **Face Count**: * `face_num == 0`: No face detected, return an error. * `face_num != 1`: Multiple faces detected, return an error. * **Face-to-Image Ratio**: * Calculation formula: (`location.width` \* `location.height`) / (`image.width` \* `image.height`) > `0.1` * If the ratio is less than `0.1`, it does not meet the requirement. Using the `location` values for `left`, `top`, `width`, and `height` and the overall image dimensions, determine the appropriate crop area to adjust the face-to-image ratio. * **Face Angle**: * Validation criteria: If any criterion is not met, return an error message, prompting the user to retake or re-upload the photo. * The absolute value of `angle.yaw` should be less than `30` * The absolute value of `angle.pitch` should be less than `30` * The absolute value of `angle.roll` should be less than `30` # Hairstyle Changer Pro Source: https://ailabtools.mintlify.app/docs/ai-portrait/effects/hairstyle-editor-pro Hairstyle Changer Pro API generates a single AI hairstyle and hair color preview from a portrait photo. ## Hairstyle Changer Pro vs Premium | Feature | [Pro](/docs/ai-portrait/effects/hairstyle-editor-pro) | [Premium](/docs/ai-portrait/effects/hairstyle-editor-premium) | | :------------------------------------------------------------------------------------------------------------------ | :-------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------: | | Predefined Hairstyles | ✅ | ✅ | | Reference-based Hairstyles | ❌ | ✅ | | Predefined Hair Colors | ✅ | ✅ | | Preserve Original Hair Color | ❌ | ✅ | | Reference-based Hair Color | ❌ | ✅ | | Processing Time | \~20s | \~30–60s | | Price | 10 credits (\~\$0.0270) | 15 credits (\~\$0.0405) | | ![ORIGINAL IMAGE](https://ai-resource.ailabtools.com/hairstyle-changer-premium/doc/renderings/OriginalImage-1.webp) | ![Pro](https://ai-resource.ailabtools.com/hairstyle-changer-pro/doc/renderings/ResultImage-OriginalImage-1-LongHairTiedUp-1.webp) | ![Premium](https://ai-resource.ailabtools.com/hairstyle-changer-premium/doc/renderings/ResultImage-OriginalImage-1-LongHairTiedUp-1.webp) | | ![ORIGINAL IMAGE](https://ai-resource.ailabtools.com/hairstyle-changer-premium/doc/renderings/OriginalImage-2.webp) | ![Pro](https://ai-resource.ailabtools.com/hairstyle-changer-pro/doc/renderings/ResultImage-OriginalImage-2-ClassicWavyBob-1.webp) | ![Premium](https://ai-resource.ailabtools.com/hairstyle-changer-premium/doc/renderings/ResultImage-OriginalImage-2-ClassicWavyBob-1.webp) | ## Renderings show | ORIGINAL IMAGE | `hair_style` | RESULT IMAGE | | :--------------------------------: | :--------------: | :-----------------------------------------------------------: | | ![ORIGINAL IMAGE][OriginalImage-1] | `LongHairTiedUp` | ![RESULT IMAGE][ResultImage-OriginalImage-1-LongHairTiedUp-1] | | ![ORIGINAL IMAGE][OriginalImage-2] | `ClassicWavyBob` | ![RESULT IMAGE][ResultImage-OriginalImage-2-ClassicWavyBob-1] | ## Billing Instructions ## File Storage Policy ## Application Scenarios * **Portrait beautification**: Edit and modify the hairstyle in the portrait image for portrait beautification scenes to easily enhance the user's image. * **Hair design**: Users can directly edit hairstyles and intuitively experience a variety of hair designs to enhance the personalized experience of customers in the beauty and hairdressing industry. * **Interactive entertainment**: In short videos, social platforms, or integrated into photo album type apps, add hair style editing play to users' personalized photos to attract users' interactive participation and sharing. ## Featured Advantages * **Accurate recognition**: based on deep learning algorithm, accurate face recognition. * **Wide range of applications**: meet the needs of diverse business scenarios, applicable to users of different ages and genders. [OriginalImage-1]: https://ai-resource.ailabtools.com/hairstyle-changer-pro/doc/renderings/OriginalImage-1.webp [OriginalImage-2]: https://ai-resource.ailabtools.com/hairstyle-changer-pro/doc/renderings/OriginalImage-2.webp [ResultImage-OriginalImage-1-LongHairTiedUp-1]: https://ai-resource.ailabtools.com/hairstyle-changer-pro/doc/renderings/ResultImage-OriginalImage-1-LongHairTiedUp-1.webp [ResultImage-OriginalImage-2-ClassicWavyBob-1]: https://ai-resource.ailabtools.com/hairstyle-changer-pro/doc/renderings/ResultImage-OriginalImage-2-ClassicWavyBob-1.webp # Hairstyle Changer Pro API Source: https://ailabtools.mintlify.app/docs/ai-portrait/effects/hairstyle-editor-pro/api POST /api/portrait/effects/hairstyle-editor-pro Hairstyle Changer Pro API generates a single AI hairstyle and hair color preview from a portrait photo. **Photo Validation Guide** To ensure user-uploaded photos meet the Hairstyle Processing API requirements, we recommend splitting the workflow into two stages: **Face Analysis** and **Hairstyle Processing**. This approach minimizes error wait times by validating images on the frontend, ensuring they meet API standards before proceeding to hairstyle processing. This enhances overall user experience. For detailed information, refer to the [Photo Validation Guide](ai-portrait/effects/hairstyle-editor-pro/guide). ## Query Task This is an asynchronous task API. The submission request returns only `task_id`. Use `task_id` to call [Querying Async Task Results](/docs/ai-common/async-task-results/api) and retrieve the final result. Async task results remain available for 24 hours. Query every 5 seconds. | Field | Type | Description | | :----------- | :------- | :----------------- | | `data` | `object` | Final result data. | | +`images` | `array` | Result image URLs. | | ++`images[]` | `string` | Result image URL. | ```json theme={null} { "data": { "images": [""] } } ``` `images` are temporary and remain valid for 24 hours. Download the files to your own storage before the URLs expire if you need long-term storage. ## Submit Task ### Input Image Examples Use a clear portrait with a complete, unobstructed face at an appropriate size. The examples below show valid inputs and common invalid cases.
    Reason Examples
    ✅ Valid
    ### `hair_style` The following enum values are supported for `hair_style`. ### `color` The following enum values are supported for `color`. # Photo Validation Guide Source: https://ailabtools.mintlify.app/docs/ai-portrait/effects/hairstyle-editor-pro/guide To ensure that user-uploaded photos meet the requirements for the Hairstyle Processing API, it’s recommended to split the workflow into two stages: “Face Analysis” and “Hairstyle Processing.” This approach helps minimize long error return times by validating the image at the frontend to confirm it meets the standards before calling the Hairstyle Processing API, ultimately enhancing the user experience. ## Frontend Validation Requirements Before calling the Hairstyle Processing API, the frontend should perform the following validations: 1. **Image Resolution and Size**: Ensure the image meets the API’s resolution and file size requirements for optimal processing quality. 2. **Face Detection**: Verify the presence of a face, the number of faces, the face-to-image ratio, and that the face’s angle meets the required standards. ## Specific Validation Details ### 1. Face and Face-to-Image Ratio Validation * **No Face or Multiple Faces**: If no face or multiple faces are detected in the image, the frontend should return an error message, prompting the user to retake or re-upload a suitable photo. * **Non-compliant Face-to-Image Ratio**: If the face occupies less than the specified percentage of the image (typically 10%), crop the image at the frontend to meet the required face-to-image ratio. ### 2. Validation Method To accomplish the validations above, the frontend can use the [Facial Landmarks API](/docs/ai-portrait/analysis/face-key-points) to obtain key face data for assessing face count, face-to-image ratio, and face angle. ### 3. Validation Criteria * **Face Count**: * `face_num == 0`: No face detected, return an error. * `face_num != 1`: Multiple faces detected, return an error. * **Face-to-Image Ratio**: * Calculation formula: (`location.width` \* `location.height`) / (`image.width` \* `image.height`) > `0.1` * If the ratio is less than `0.1`, it does not meet the requirement. Using the `location` values for `left`, `top`, `width`, and `height` and the overall image dimensions, determine the appropriate crop area to adjust the face-to-image ratio. * **Face Angle**: * Validation criteria: If any criterion is not met, return an error message, prompting the user to retake or re-upload the photo. * The absolute value of `angle.yaw` should be less than `30` * The absolute value of `angle.pitch` should be less than `30` * The absolute value of `angle.roll` should be less than `30` # Lips Color Changer Source: https://ailabtools.mintlify.app/docs/ai-portrait/effects/lips-color-changer Lips Color Changer API applies realistic virtual lipstick colors to portraits using facial recognition and precise lip detection. ## Renderings show | ORIGINAL IMAGE | RESULT IMAGE | | :--------------------------------- | :------------------------------- | | ![ORIGINAL IMAGE][OriginalImage-1] | ![RESULT IMAGE][ResultImage-1-1] | | ![ORIGINAL IMAGE][OriginalImage-2] | ![RESULT IMAGE][ResultImage-2-1] | ## Billing Instructions ## File Storage Policy ## Application Scenarios * **Beauty Mobile Apps**: Integrate an advanced AI-powered lip color transformation feature into your beauty mobile app. Users can instantly experiment with various lip shades, ensuring a personalized and enjoyable makeup experience. * **Virtual Dressing Rooms**: Elevate your virtual dressing room application by offering users the ability to adjust lip colors in real-time. This feature enhances the overall outfit selection process and adds a fun dimension to virtual shopping. * **Social Media Sharing**: Boost user engagement on your social media platform by incorporating a virtual makeup tool. Users can share selfies with customized lip colors, sparking interaction and creative expression. * **Virtual Makeup Tools**: Empower your beauty brand's website or app with a virtual makeup tool. Customers can virtually try on lip colors, helping them find the perfect shade and boosting their confidence in their purchase decisions. ## Featured Advantages * **Natural Effects**: Achieves natural makeup and beautification effects suitable for different expressions, genders, ages, postures, and lighting conditions, creating flawless beauty. * **High Precision**: Description: Achieves high precision with 90-point facial landmarks based on finely annotated training data, providing tracking success, failure detection mechanisms, and a confidence level of up to 99%. * **Real-Time Response**: Offers millisecond-level response and processing speed, with a one-click upload of facial photos taking just a few hundred milliseconds. Supports highly demanding makeup functions in terms of accuracy and stability. [OriginalImage-1]: https://ai-resource.ailabtools.com/lips-color-changer/doc/OriginalImage-1.webp [OriginalImage-2]: https://ai-resource.ailabtools.com/lips-color-changer/doc/OriginalImage-2.webp [ResultImage-1-1]: https://ai-resource.ailabtools.com/lips-color-changer/doc/ResultImage-1-1.webp [ResultImage-2-1]: https://ai-resource.ailabtools.com/lips-color-changer/doc/ResultImage-2-1.webp # Lips Color Changer API Source: https://ailabtools.mintlify.app/docs/ai-portrait/effects/lips-color-changer/api POST /api/portrait/effects/lips-color-changer Lips Color Changer API applies realistic virtual lipstick colors to portraits using facial recognition and precise lip detection. ## Request * **URL**: `https://www.ailabapi.com/api/portrait/effects/lips-color-changer` * **Method**: `POST` * **Content-Type**: `multipart/form-data` ### Image requirements * **Image format**: `JPEG` `JPG` `PNG` `BMP` * **Image size**: No more than 5 MB. * **Image resolution**: Less than 2000x2000px. ### Headers | Field | Required | Type | Description | | :----------------- | :------- | :------- | :---------------------------------------------------- | | `ailabapi-api-key` | YES | `string` | Application API KEY. [Get API KEY](/docs/get-api-key) | ### Body | Field | Required | Type | Description | | :---------------- | :------- | :------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------- | | `image` | YES | `file` | | | `lip_color_infos` | YES | `json string` | Lip Color Info. You can enter up to 3 lip\_color\_info to enable changing the lip color for up to 3 faces in a graph. [Description](#lip_color_infos) | #### `lip_color_infos` | Field | Required | Type | Scope | Description | | :---------- | :------- | :-------- | :-------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `rgba` | YES | `object` | | Lip color. | | +`r` | YES | `integer` | \[0, 255] | R channel values. | | +`g` | YES | `integer` | \[0, 255] | G channel values. | | +`b` | YES | `integer` | \[0, 255] | B channel values. | | +`a` | YES | `integer` | \[0, 100] | A channel values. Transparency, the smaller the value, the more transparent. | | `face_rect` | NO | `object` | | Face box position. If not entered the face with the largest area in the image is selected. You can use the [Face Analyzer](ai-portrait/analysis/face-analyzer) API or [Facial Landmarks](ai-portrait/analysis/face-key-points) API to get face frame position information. | | +`x` | YES | `integer` | | Horizontal coordinate of the upper left corner of the face box. | | +`y` | YES | `integer` | | The vertical coordinate of the upper left corner of the face box. | | +`width` | YES | `integer` | | Face frame width. | | +`height` | YES | `integer` | | Face frame height. | ###### Example ```json theme={null} { "lip_color_infos": '[{"rgba":{"r":246,"g":27,"b":91,"a":100}}]' } ``` ```json theme={null} { "lip_color_infos": '[{"rgba":{"r":246,"g":27,"b":91,"a":100},"face_rect":{"x":0,"y":0,"width":0,"height":0}}]' } ``` ## Response **Response Field Handling Flow** 1. **Handle `Public Response Fields`** Parse and validate the `Public Response Fields`, checking the status code or response message to ensure the request is successful and error-free. 2. **Handle `Business Response Fields`** If the `Public Response Fields` are valid and error-free, proceed with processing the business logic in the `Business Response Fields`. ### Public Response Fields Viewing Public Response Fields and Error Codes ### Business Response Fields | Field | Type | Description | | :------------- | :------- | :---------------------------------------------- | | `result_image` | `string` | Returns the base64 data of the processed image. | ### Response Example ```json theme={null} { "request_id": "", "log_id": "", "error_code": 0, "error_msg": "", "error_detail": { "status_code": 200, "code": "", "code_message": "", "message": "" }, "result_image": "" } ``` # Cartoon Yourself Source: https://ailabtools.mintlify.app/docs/ai-portrait/effects/portrait-animation Cartoon Yourself API turns portraits into cartoon, anime, Pixar, 3D, pencil, and comic-style images with AI. * Using advanced adversarial generative network technology, we can break through the "next generation wall" with one click, retain user features in multiple dimensions to achieve the effect of a thousand faces, and with a variety of comic style image migration, we can generate highly cute comic faces with artistic beauty for users. * Based on the stylized special effects solution-EffectGAN with small sample generation technology, the intelligent creation team creates a variety of special effects. Among them, 3D effects make the user's image more spatially three-dimensional, and the 3D cartoon style provided this time can generate 3D effects one-to-one. * Cartoon yourself is mainly focused on transforming a photo or characters in a photo into a cartoon effect. If you want to create a cartoon image based on a photo, you can go to [AI Cartoon Generator](/docs/ai-image/effects/ai-anime-generator). ## Renderings show
    Original Image
    Original Image
    Japanese Manga (I)
    Japanese Manga (I)
    Japanese Manga (II)
    Japanese Manga (II)
    Chinese fine brushwork painting
    Chinese fine brushwork painting
    Hong Kong-style comic style
    Hong Kong-style comic style
    Comic
    Comic
    3D Animation
    3D Animation
    hand-painted
    hand-painted
    Pencil drawing (I)
    Pencil drawing (I)
    Pencil drawing (II)
    Pencil drawing (II)
    Artistic effects
    Artistic effects
    Retro Cartoon
    Retro Cartoon
    Moe Manga
    Moe Manga
    China Comics
    China Comics
    Original Image
    Original Image
    3D cartoon
    3D cartoon
    Pixar
    Pixar
    Pixar Pro
    Pixar Pro
    Angel
    Angel
    Angel Pro
    Angel Pro
    Demon
    Demon
    Ukiyo-e
    Ukiyo-e
    American Manga
    American Manga
    3D Effects
    3D Effects
    3D game effects
    3D game effects
    Original Image
    Original Image
    Japanese Anime
    Japanese Anime
    Pencil drawing (head)
    Pencil drawing (head)
    ## Billing Instructions ## File Storage Policy ## Application Scenarios * **Personalized avatar**: Helps users generate secondary comic images with personality characteristics, which can be used in the avatar scene of Internet applications. * **Interactive marketing**: festivals, exhibitions, marketing and other activity scenarios to attract users to interact, participate and share. * **Promotion**: You can add portrait effects to h5 or other forms of communication for product promotion and event promotion. * **Interactive entertainment**: In short videos, social networking platforms, or integrated into photo album apps, users' selfies or personalized photos are converted into different styles of special effects with one click, attracting users to interact and share. * **Protecting privacy**: To protect the privacy of the characters in the image, cartoonizing the characters avoids identifying who the original characters are. Preserve the social fun level while avoiding over-entertainment. * **Social entertainment**: Turn your photos into cartoon characters to create a cute atmosphere and share them with friends with illustrations. ## Featured Advantages * **Advanced algorithms**: Based on deep learning algorithms, we can intelligently edit and process images containing portrait content, and provide a variety of portrait special effects capabilities to meet various business needs such as Internet entertainment, interactive marketing, and video processing. * **Abundant pop-up effects**: Based on the integration of image understanding, image processing, image generation and other technologies, it creates a variety of portrait effects capabilities and pop-up effects gameplay to explore the application of solutions in new areas such as data production/aided design/content creation and promote the business upgrade of B-side enterprise customers. * **Realistic image**: multi-dimensional preservation of user characteristics, defining the two main features of exquisite beauty and extreme likeness of portrait cartoon image. * **Rich materials**: secondary yuan anime images include portrait Japanese manga style, full-image Japanese manga style, national trendy style, retro manga style, moe manga style, image manga, watercolor and other styles of migration. * **Continuous update**: algorithm and style continue to iterate, covering more scenes, including but not limited to face, landscape, etc. * **Accurate portrayal**: Through deep learning algorithm, the five features of human face are accurately restored, and even the hair can be accurately restored. * **Respect for privacy**: Images uploaded by customers will be deleted within 24 hours, and the service does not keep customer images. * **Reproduction of character expressions**: Based on deep learning algorithm, the character's gender, expressions and other features are recognized and restored on the cartoon avatar. * **Full body cartoon**: Compared to face cartoon, it can avoid embarrassing scenes such as laughing. * **Multi-person mode**: It can handle couple photos, family photos and group type photos. # Cartoon Yourself API Source: https://ailabtools.mintlify.app/docs/ai-portrait/effects/portrait-animation/api POST /api/portrait/effects/portrait-animation Cartoon Yourself API turns portraits into cartoon, anime, Pixar, 3D, pencil, and comic-style images with AI. ## Request * **URL**: `https://www.ailabapi.com/api/portrait/effects/portrait-animation` * **Method**: `POST` * **Content-Type**: `multipart/form-data` ### Image requirements * **Image format**: `JPEG` `JPG` `PNG` * **Image size**: No more than 3 MB. * **Image resolution**: Larger than 100x100px, smaller than 2000x2000px. ### Headers | Field | Required | Type | Description | | :----------------- | :------- | :------- | :---------------------------------------------------- | | `ailabapi-api-key` | YES | `string` | Application API KEY. [Get API KEY](/docs/get-api-key) | ### Body | Field | Required | Type | Scope | | :------ | :------- | :------- | :-------------------- | | `image` | YES | `file` | | | `type` | YES | `string` | [More Details](#type) | #### `type`
    Category type Description
    Full-Body Cartoonization jpcartoon Japanese Manga (I)
    anime Japanese Manga (II)
    claborate Chinese fine brushwork painting
    hongkong Hong Kong-style comic style
    comic Comic
    animation3d 3D Animation
    handdrawn hand-painted
    sketch Pencil drawing (I)
    full Pencil drawing (II)
    artstyle Artistic effects
    classic\_cartoon Retro Cartoon
    tccartoon Moe Manga
    hkcartoon China Comics
    Facial Cartoonization 3d\_cartoon 3D cartoon
    pixar Pixar
    pixar\_plus Pixar Pro
    angel Angel
    angel\_plus Angel Pro
    demon Demon
    ukiyoe\_cartoon Ukiyo-e
    amcartoon American Manga
    3d 3D Effects
    3d\_game 3D game effects
    Avatar Cartoonization jpcartoon\_head Jpcartoon\_head
    head Pencil drawing (head)
    ## Response **Response Field Handling Flow** 1. **Handle `Public Response Fields`** Parse and validate the `Public Response Fields`, checking the status code or response message to ensure the request is successful and error-free. 2. **Handle `Business Response Fields`** If the `Public Response Fields` are valid and error-free, proceed with processing the business logic in the `Business Response Fields`. ### Public Response Fields Viewing Public Response Fields and Error Codes ### Business Response Fields | Field | Type | Description | | :----------- | :------- | :--------------------------------------- | | `data` | `object` | The content of the result data returned. | | +`image_url` | `string` | Resulting image URL address. | The URL address is a temporary address, valid for 24 hours, and will not be accessible after it expires. If you need to save the file for a long time or permanently, please visit the URL address within 24 hours and download the file to your own storage space. ### Response Example ```json theme={null} { "request_id": "", "log_id": "", "error_code": 0, "error_msg": "", "error_detail": { "status_code": 200, "code": "", "code_message": "", "message": "" }, "data": { "image_url": "" } } ``` # Smart Beauty Source: https://ailabtools.mintlify.app/docs/ai-portrait/effects/smart-beauty Smart Beauty API retouches portraits with skin whitening, smoothing, face slimming, facial feature adjustment, and makeup effects. ## Renderings show | ORIGINAL IMAGE | RESULT IMAGE | | :--------------------------------- | :----------------------------- | | ![ORIGINAL IMAGE][OriginalImage-1] | ![RESULT IMAGE][ResultImage-1] | ## Billing Instructions ## File Storage Policy ## Application Scenarios * **Intelligent beauty**: to help cell phone manufacturers, beauty app and other camera class beauty ability, one key intelligent to achieve sharpening skin, skin tone whitening, thin face, five features adjustment, spot and acne treatment. * **Interactive entertainment**: applied to live broadcast, short video, social platforms, easily enhance the user's image. ## Featured Advantages * **Outstanding algorithm**: Based on massive data training and polishing of actual business scenarios, the effect is outstanding. * **Rich capability**: provide rich editable expression types to meet the needs of various business scenarios. * **Continuous upgrade**: Algorithm engineers continuously upgrade algorithms and service engineers provide reliable support. * **Business-driven**: The algorithm continues to iterate in response to business needs, helping to optimize the effect continuously. [OriginalImage-1]: https://ai-resource.ailabtools.com/rapidapi/facebody/AIBeauty/OriginalImage-1.webp [ResultImage-1]: https://ai-resource.ailabtools.com/rapidapi/facebody/AIBeauty/ResultImage-1.webp # Smart Beauty API Source: https://ailabtools.mintlify.app/docs/ai-portrait/effects/smart-beauty/api POST /api/portrait/effects/smart-beauty Smart Beauty API retouches portraits with skin whitening, smoothing, face slimming, facial feature adjustment, and makeup effects. ## Request * **URL**: `https://www.ailabapi.com/api/portrait/effects/smart-beauty` * **Method**: `POST` * **Content-Type**: `multipart/form-data` ### Image requirements * **Image format**: `JPEG` `JPG` `BMP` `PNG` * **Image size**: No more than 5 MB. * **Image resolution**: Less than 4096x4096px. ### Headers | Field | Required | Type | Description | | :----------------- | :------- | :------- | :---------------------------------------------------- | | `ailabapi-api-key` | YES | `string` | Application API KEY. [Get API KEY](/docs/get-api-key) | ### Body | Field | Required | Type | Scope | Default | Description | | :------------- | :------- | :------- | :------- | :------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `image_target` | YES | `file` | | | | | `multi_face` | NO | `string` | ` `, `1` | | Multiple-face beauty strategy. When set to `1`, beauty enhancement is applied to all faces (it is recommended that the number of faces in the image be less than 18, as too many faces may lead to instability). When set to any other value or not specified, only the largest face is processed. | | `beauty_level` | NO | `float` | \[0, 1] | `1` | Beauty level. | | `task_type` | NO | `string` | `sync` | `sync` | \`\`sync`: Synchronous tasks.` | ## Response **Response Field Handling Flow** 1. **Handle `Public Response Fields`** Parse and validate the `Public Response Fields`, checking the status code or response message to ensure the request is successful and error-free. 2. **Handle `Business Response Fields`** If the `Public Response Fields` are valid and error-free, proceed with processing the business logic in the `Business Response Fields`. ### Public Response Fields Viewing Public Response Fields and Error Codes ### Business Response Fields | Field | Type | Scope | Description | | :---------- | :------- | :----- | :------------------------------------------------------------ | | `task_type` | `string` | `sync` | Task Type. \`\`sync`: Synchronous tasks.` | | `data` | `object` | | The content of the result data returned. | | +`image` | `string` | | The result image, returning the Base64 encoding of the image. | ### Response Example ```json theme={null} { "request_id": "", "log_id": "", "error_code": 0, "error_msg": "", "error_detail": { "status_code": 200, "code": "", "code_message": "", "message": "" }, "task_type": "sync", "data": { "image": "" } } ``` # Smart Beauty Async API Source: https://ailabtools.mintlify.app/docs/ai-portrait/effects/smart-beauty/async-api POST /api/portrait/effects/smart-beauty Smart Beauty API retouches portraits with skin whitening, smoothing, face slimming, facial feature adjustment, and makeup effects. ## Request * **URL**: `https://www.ailabapi.com/api/portrait/effects/smart-beauty` * **Method**: `POST` * **Content-Type**: `multipart/form-data` ### Image requirements * **Image format**: `JPEG` `JPG` `BMP` `PNG` * **Image size**: No more than 5 MB. * **Image resolution**: Less than 4096x4096px. ### Headers | Field | Required | Type | Description | | :----------------- | :------- | :------- | :---------------------------------------------------- | | `ailabapi-api-key` | YES | `string` | Application API KEY. [Get API KEY](/docs/get-api-key) | ### Body | Field | Required | Type | Scope | Default | Description | | :------------- | :------- | :------- | :------- | :------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `task_type` | YES | `string` | `async` | | \`\`async`: Asynchronous tasks.` | | `image_target` | YES | `file` | | | | | `multi_face` | NO | `string` | ` `, `1` | | Multiple-face beauty strategy. When set to `1`, beauty enhancement is applied to all faces (it is recommended that the number of faces in the image be less than 18, as too many faces may lead to instability). When set to any other value or not specified, only the largest face is processed. | | `beauty_level` | NO | `float` | \[0, 1] | `1` | Beauty level. | ## Response **Response Field Handling Flow** 1. **Handle `Public Response Fields`** Parse and validate the `Public Response Fields`, checking the status code or response message to ensure the request is successful and error-free. 2. **Handle `Business Response Fields`** If the `Public Response Fields` are valid and error-free, proceed with processing the business logic in the `Business Response Fields`. ### Public Response Fields Viewing Public Response Fields and Error Codes ### Business Response Fields | Field | Type | Scope | Description | | :---------- | :------- | :------ | :------------------------------------------ | | `task_type` | `string` | `async` | Task Type. \`\`async`: Asynchronous tasks.` | | `task_id` | `string` | | Asynchronous task ID. | ### Response Example ```json theme={null} { "request_id": "", "log_id": "", "error_code": 0, "error_msg": "", "error_detail": { "status_code": 200, "code": "", "code_message": "", "message": "" }, "task_type": "", "task_id": "" } ``` This API is asynchronous, please keep `task_id` and call [`Querying Async Task Results`](/docs/ai-common/async-task-results/api) to get the final results. Asynchronous task results are valid for 24 hours. It is recommended that asynchronous task results be queried every 5 seconds. ## `Querying Async Task Results` Response **Response Field Handling Flow** 1. **Handle `Public Response Fields`** Parse and validate the `Public Response Fields`, checking the status code or response message to ensure the request is successful and error-free. 2. **Handle `Business Response Fields`** If the `Public Response Fields` are valid and error-free, proceed with processing the business logic in the `Business Response Fields`. ### Public Response Fields Viewing Public Response Fields and Error Codes ### Business Response Fields | Field | Type | Scope | Description | | :------------ | :-------- | :------------ | :----------------------------------------------------------------------------------------------------------------------- | | `task_status` | `integer` | `0`, `1`, `2` | Asynchronous task status. ``0`: The task is queued.` ``1`: Asynchronous processing.` \`\`2`: Processing was successful.` | | `data` | `object` | | The content of the result data returned. | | `image_url` | `string` | | Result URL address. | The URL address is a temporary address, valid for 24 hours, and will not be accessible after it expires. If you need to save the file for a long time or permanently, please visit the URL address within 24 hours and download the file to your own storage space. ### Response Example ```json theme={null} { "error_code": 0, "error_msg": "", "error_detail": { "status_code": 200, "code": "", "code_message": "", "message": "" }, "task_status": 0, "data": { "image_url": "" } } ``` # AI Face Slimming Source: https://ailabtools.mintlify.app/docs/ai-portrait/effects/smart-face-slimming AI Face Slimming API slims faces naturally in portraits while preserving facial identity, expression, and image quality. ## Renderings show | `slim_degree` | ORIGINAL IMAGE | RESULT IMAGE | | :------------ | :--------------------------------- | :-------------------------------- | | `0.5` | ![ORIGINAL IMAGE][OriginalImage-1] | ![RESULT IMAGE][ResultImage-5-1] | | `1.0` | ![ORIGINAL IMAGE][OriginalImage-1] | ![RESULT IMAGE][ResultImage-10-1] | | `2.0` | ![ORIGINAL IMAGE][OriginalImage-1] | ![RESULT IMAGE][ResultImage-20-1] | ## Billing Instructions ## File Storage Policy ## Application Scenarios * **Mobile App**: Input a selfie and generate a more attractive face through intelligent face slimming algorithm capability. * **Portrait Selfie**: Batch intelligent face slimming for a large number of retouching needs to help wedding studios or live image scenes to reduce costs and improve efficiency. ## Featured Advantages * **Accurate portrayal**: Through deep learning algorithms, the five features of the face are accurately analyzed to achieve a perfect and natural facial beauty effect. * **Support multiple angles**: faces from multiple angles such as front and side can be intelligently discerned and processed. * **Support multi-faces**: Support accurate beauty shape of single face or multi-faces. [OriginalImage-1]: https://ai-resource.ailabtools.com/rapidapi/facebody/AIFaceSlimming/OriginalImage-1.webp [ResultImage-5-1]: https://ai-resource.ailabtools.com/rapidapi/facebody/AIFaceSlimming/ResultImage-5-1.webp [ResultImage-10-1]: https://ai-resource.ailabtools.com/rapidapi/facebody/AIFaceSlimming/ResultImage-10-1.webp [ResultImage-20-1]: https://ai-resource.ailabtools.com/rapidapi/facebody/AIFaceSlimming/ResultImage-20-1.webp # AI Face Slimming API Source: https://ailabtools.mintlify.app/docs/ai-portrait/effects/smart-face-slimming/api POST /api/portrait/effects/smart-face-slimming AI Face Slimming API slims faces naturally in portraits while preserving facial identity, expression, and image quality. ## Request * **URL**: `https://www.ailabapi.com/api/portrait/effects/smart-face-slimming` * **Method**: `POST` * **Content-Type**: `multipart/form-data` ### Image requirements * **Image format**: `JPEG` `JPG` `PNG` * **Image size**: No more than 6 MB. * **Image resolution**: Larger than 128x128px, smaller than 5000x5000px. * **Image content**: Contains at least 1 face and no more than 3 faces with a face share of more than 64x64px. ### Headers | Field | Required | Type | Description | | :----------------- | :------- | :------- | :---------------------------------------------------- | | `ailabapi-api-key` | YES | `string` | Application API KEY. [Get API KEY](/docs/get-api-key) | ### Body | Field | Required | Type | Scope | Default | Description | | :------------ | :------- | :------ | :-------- | :------ | :------------------------------------------------------------------------------------- | | `image` | YES | `file` | | | | | `slim_degree` | NO | `float` | \[0, 2.0] | `1.0` | Standard strength. The higher the value, the more pronounced the face slimming effect. | ## Response **Response Field Handling Flow** 1. **Handle `Public Response Fields`** Parse and validate the `Public Response Fields`, checking the status code or response message to ensure the request is successful and error-free. 2. **Handle `Business Response Fields`** If the `Public Response Fields` are valid and error-free, proceed with processing the business logic in the `Business Response Fields`. ### Public Response Fields Viewing Public Response Fields and Error Codes ### Business Response Fields | Field | Type | Description | | :----------- | :------- | :--------------------------------------- | | `data` | `object` | The content of the result data returned. | | +`image_url` | `string` | Resulting image URL address. | The URL address is a temporary address, valid for 24 hours, and will not be accessible after it expires. If you need to save the file for a long time or permanently, please visit the URL address within 24 hours and download the file to your own storage space. ### Response Example ```json theme={null} { "request_id": "", "log_id": "", "error_code": 0, "error_msg": "", "error_detail": { "status_code": 200, "code": "", "code_message": "", "message": "" }, "data": { "image_url": "" } } ``` # AI Skin Enhancement Source: https://ailabtools.mintlify.app/docs/ai-portrait/effects/smart-skin AI Skin Enhancement API smooths skin, removes blemishes, and brightens faces and bodies while preserving natural skin texture. ## Renderings show | `retouch_degree` | `whitening_degree` | ORIGINAL IMAGE | RESULT IMAGE | | :--------------- | :----------------- | :--------------------------------- | :-------------------------------- | | `0.5` | `0.5` | ![ORIGINAL IMAGE][OriginalImage-1] | ![RESULT IMAGE][ResultImage-5-1] | | `1.0` | `1.0` | ![ORIGINAL IMAGE][OriginalImage-1] | ![RESULT IMAGE][ResultImage-10-1] | | `1.5` | `1.5` | ![ORIGINAL IMAGE][OriginalImage-1] | ![RESULT IMAGE][ResultImage-15-1] | ## Billing Instructions ## File Storage Policy ## Application Scenarios * **Professional retouching**: It can be used in professional photography scenes such as studio, e-commerce, and live picture broadcasting to quickly perform beauty retouching and improve work efficiency by using intelligent beauty algorithm. * **Beauty shooting**: Used in entertainment, life and other scenes to improve the beauty of characters. ## Featured Advantages * **Preserve skin texture**: Use deep learning algorithms to achieve precise skin beauty with smooth and textured skin. * **Keep the background stable**: Retouch only the bare skin area, without affecting the background area. * **Support multi-people skin beautification**: Support multi-people skin beautification in a single image. [OriginalImage-1]: https://ai-resource.ailabtools.com/rapidapi/facebody/AISkinBeauty/OriginalImage-1.webp [ResultImage-5-1]: https://ai-resource.ailabtools.com/rapidapi/facebody/AISkinBeauty/ResultImage-5-1.webp [ResultImage-10-1]: https://ai-resource.ailabtools.com/rapidapi/facebody/AISkinBeauty/ResultImage-10-1.webp [ResultImage-15-1]: https://ai-resource.ailabtools.com/rapidapi/facebody/AISkinBeauty/ResultImage-15-1.webp # AI Skin Enhancement Advanced Source: https://ailabtools.mintlify.app/docs/ai-portrait/effects/smart-skin-advanced AI Skin Enhancement Advanced API removes acne, wrinkles, pores, spots, eye bags, and uneven tone while preserving natural skin texture. ## Renderings show | | ORIGINAL IMAGE | RESULT IMAGE | | :------------------------------------: | :-----------------------------------------------------: | :---------------------------------------------------: | | Smart all-in-one skin beautification. | ![ORIGINAL IMAGE][OriginalImage-smart_skin-1] | ![RESULT IMAGE][ResultImage-smart_skin-1-1] | | Acne and blemish removal. | ![ORIGINAL IMAGE][OriginalImage-acne_removal-1] | ![RESULT IMAGE][ResultImage-acne_removal-1-1] | | Spot and pigmentation correction. | ![ORIGINAL IMAGE][OriginalImage-spot_correction-1] | ![RESULT IMAGE][ResultImage-spot_correction-1-1] | | Skin brightening and tone enhancement. | ![ORIGINAL IMAGE][OriginalImage-skin_brightening-1] | ![RESULT IMAGE][ResultImage-skin_brightening-1-1] | | Skin smoothing and refinement. | ![ORIGINAL IMAGE][OriginalImage-skin_smoothing-1] | ![RESULT IMAGE][ResultImage-skin_smoothing-1-1] | | Pore and oil control. | ![ORIGINAL IMAGE][OriginalImage-pore_control-1] | ![RESULT IMAGE][ResultImage-pore_control-1-1] | | Wrinkle and fine-line reduction. | ![ORIGINAL IMAGE][OriginalImage-wrinkle_reduction-1] | ![RESULT IMAGE][ResultImage-wrinkle_reduction-1-1] | | Under-eye correction. | ![ORIGINAL IMAGE][OriginalImage-under_eye_correction-1] | ![RESULT IMAGE][ResultImage-under_eye_correction-1-1] | | Scar and skin damage reduction. | ![ORIGINAL IMAGE][OriginalImage-scar_reduction-1] | ![RESULT IMAGE][ResultImage-scar_reduction-1-1] | ## Billing Instructions ## File Storage Policy [OriginalImage-smart_skin-1]: https://ai-resource.ailabtools.com/ai-skin-enhancement-advanced/doc/OriginalImage-smart_skin-1.webp [OriginalImage-acne_removal-1]: https://ai-resource.ailabtools.com/ai-skin-enhancement-advanced/doc/OriginalImage-acne_removal-1.webp [OriginalImage-spot_correction-1]: https://ai-resource.ailabtools.com/ai-skin-enhancement-advanced/doc/OriginalImage-spot_correction-1.webp [OriginalImage-skin_brightening-1]: https://ai-resource.ailabtools.com/ai-skin-enhancement-advanced/doc/OriginalImage-skin_brightening-1.webp [OriginalImage-skin_smoothing-1]: https://ai-resource.ailabtools.com/ai-skin-enhancement-advanced/doc/OriginalImage-skin_smoothing-1.webp [OriginalImage-pore_control-1]: https://ai-resource.ailabtools.com/ai-skin-enhancement-advanced/doc/OriginalImage-pore_control-1.webp [OriginalImage-wrinkle_reduction-1]: https://ai-resource.ailabtools.com/ai-skin-enhancement-advanced/doc/OriginalImage-wrinkle_reduction-1.webp [OriginalImage-under_eye_correction-1]: https://ai-resource.ailabtools.com/ai-skin-enhancement-advanced/doc/OriginalImage-under_eye_correction-1.webp [OriginalImage-scar_reduction-1]: https://ai-resource.ailabtools.com/ai-skin-enhancement-advanced/doc/OriginalImage-scar_reduction-1.webp [ResultImage-smart_skin-1-1]: https://ai-resource.ailabtools.com/ai-skin-enhancement-advanced/doc/ResultImage-smart_skin-1-1.webp [ResultImage-acne_removal-1-1]: https://ai-resource.ailabtools.com/ai-skin-enhancement-advanced/doc/ResultImage-acne_removal-1-1.webp [ResultImage-spot_correction-1-1]: https://ai-resource.ailabtools.com/ai-skin-enhancement-advanced/doc/ResultImage-spot_correction-1-1.webp [ResultImage-skin_brightening-1-1]: https://ai-resource.ailabtools.com/ai-skin-enhancement-advanced/doc/ResultImage-skin_brightening-1-1.webp [ResultImage-skin_smoothing-1-1]: https://ai-resource.ailabtools.com/ai-skin-enhancement-advanced/doc/ResultImage-skin_smoothing-1-1.webp [ResultImage-pore_control-1-1]: https://ai-resource.ailabtools.com/ai-skin-enhancement-advanced/doc/ResultImage-pore_control-1-1.webp [ResultImage-wrinkle_reduction-1-1]: https://ai-resource.ailabtools.com/ai-skin-enhancement-advanced/doc/ResultImage-wrinkle_reduction-1-1.webp [ResultImage-under_eye_correction-1-1]: https://ai-resource.ailabtools.com/ai-skin-enhancement-advanced/doc/ResultImage-under_eye_correction-1-1.webp [ResultImage-scar_reduction-1-1]: https://ai-resource.ailabtools.com/ai-skin-enhancement-advanced/doc/ResultImage-scar_reduction-1-1.webp # AI Skin Enhancement Advanced API Source: https://ailabtools.mintlify.app/docs/ai-portrait/effects/smart-skin-advanced/api POST /api/portrait/effects/smart-skin-advanced AI Skin Enhancement Advanced API removes acne, wrinkles, pores, spots, eye bags, and uneven tone while preserving natural skin texture. ## Query Task This is an asynchronous task API. The submission request returns only `task_id`. Use `task_id` to call [Querying Async Task Results](/docs/ai-common/async-task-results/api) and retrieve the final result. Async task results remain available for 24 hours. Query every 5 seconds. | Field | Type | Description | | :---------------- | :------- | :----------------- | | `data` | `object` | Final result data. | | +`result_urls` | `array` | Result image URLs. | | ++`result_urls[]` | `string` | Result image URL. | ```json theme={null} { "data": { "result_urls": [""] } } ``` `result_urls` are temporary and remain valid for 24 hours. Download the files to your own storage before the URLs expire if you need long-term storage. ## Submit Task # AI Skin Enhancement API Source: https://ailabtools.mintlify.app/docs/ai-portrait/effects/smart-skin/api POST /api/portrait/effects/smart-skin AI Skin Enhancement API smooths skin, removes blemishes, and brightens faces and bodies while preserving natural skin texture. ## Request * **URL**: `https://www.ailabapi.com/api/portrait/effects/smart-skin` * **Method**: `POST` * **Content-Type**: `multipart/form-data` ### Image requirements * **Image format**: `JPEG` `JPG` `PNG` * **Image size**: No more than 6 MB. * **Image resolution**: Larger than 128x128px, smaller than 5000x5000px. * **Image content**: Photos containing 1 to 10 portraits with a clear skin share. ### Headers | Field | Required | Type | Description | | :----------------- | :------- | :------- | :---------------------------------------------------- | | `ailabapi-api-key` | YES | `string` | Application API KEY. [Get API KEY](/docs/get-api-key) | ### Body | Field | Required | Type | Scope | Default | Description | | :----------------- | :------- | :------ | :-------- | :------ | :------------------------------------------------------------------------------- | | `image` | YES | `file` | | | | | `retouch_degree` | NO | `float` | \[0, 1.5] | `1.0` | Dermabrasion intensity. The higher the value, the less visible the skin texture. | | `whitening_degree` | NO | `float` | \[0, 1.5] | `1.0` | Whitening strength. The higher the value, the whiter the skin. | ## Response **Response Field Handling Flow** 1. **Handle `Public Response Fields`** Parse and validate the `Public Response Fields`, checking the status code or response message to ensure the request is successful and error-free. 2. **Handle `Business Response Fields`** If the `Public Response Fields` are valid and error-free, proceed with processing the business logic in the `Business Response Fields`. ### Public Response Fields Viewing Public Response Fields and Error Codes ### Business Response Fields | Field | Type | Description | | :----------- | :------- | :--------------------------------------- | | `data` | `object` | The content of the result data returned. | | +`image_url` | `string` | Resulting image URL address. | The URL address is a temporary address, valid for 24 hours, and will not be accessible after it expires. If you need to save the file for a long time or permanently, please visit the URL address within 24 hours and download the file to your own storage space. ### Response Example ```json theme={null} { "request_id": "", "log_id": "", "error_code": 0, "error_msg": "", "error_detail": { "status_code": 200, "code": "", "code_message": "", "message": "" }, "data": { "image_url": "" } } ``` # Try on Clothes Refiner Source: https://ailabtools.mintlify.app/docs/ai-portrait/enhance/try-on-clothes-refiner Try on Clothes Refiner API enhances virtual try-on images with more realistic details, colors, and clothing fit. ## Renderings show | ORIGINAL IMAGE | CLOTHING IMAGE | TRY ON CLOTHINGS IMAGE | RESULT IMAGE | | :---------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------ | | ![ORIGINAL IMAGE](https://ai-resource.ailabtools.com/try-on-clothes-refiner/doc/OriginalImage-1.webp) | ![CLOTHING IMAGE](https://ai-resource.ailabtools.com/try-on-clothes-refiner/doc/suit-1.webp) | ![TRY ON CLOTHINGS IMAGE](https://ai-resource.ailabtools.com/try-on-clothes-refiner/doc/TryOnClothesResultImage-1.webp) | ![RESULT IMAGE](https://ai-resource.ailabtools.com/try-on-clothes-refiner/doc/ResultImage-1.webp) | ## Billing Instructions ## File Storage Policy # Try on Clothes Refiner API Source: https://ailabtools.mintlify.app/docs/ai-portrait/enhance/try-on-clothes-refiner/api POST /api/portrait/enhance/try-on-clothes-refiner Try on Clothes Refiner API enhances virtual try-on images with more realistic details, colors, and clothing fit. ## Request * **URL**: `https://www.ailabapi.com/api/portrait/enhance/try-on-clothes-refiner` * **Method**: `POST` * **Content-Type**: `multipart/form-data` ### Image requirements * **Image format**: `JPG` `JPEG` `PNG` `BMP` * **Image size**: No more than 5 MB. * **Image resolution**: Larger than 150x150px, smaller than 4096x4096px. * **Pose requirements**: full-body front view with hands fully visible. Arm positioning should avoid wide openings, crossing, or other exaggerated gestures. ### Headers | Field | Required | Type | Description | | :----------------- | :------- | :------- | :---------------------------------------------------- | | `ailabapi-api-key` | YES | `string` | Application API KEY. [Get API KEY](/docs/get-api-key) | ### Body | Field | Required | Type | Scope | Description | | :--------------- | :------- | :------- | :------------- | :-------------------------------------------------------------- | | `task_type` | YES | `string` | `async` | Task Type. \`\`async`: Asynchronous tasks.` | | `person_image` | YES | `file` | | Model image for calling the Try on Clothes API. | | `top_garment` | YES | `file` | | Top clothing image for calling the Try on Clothes API. | | `coarse_image` | YES | `file` | | Result image obtained from calling the Try on Clothes API. | | `gender` | YES | `string` | `woman`, `man` | Gender of the `person_image`. ``woman`: Female.` ``man`: Male.` | | `bottom_garment` | NO | `file` | | Bottom clothing image for calling the Try on Clothes API. | ## Response **Response Field Handling Flow** 1. **Handle `Public Response Fields`** Parse and validate the `Public Response Fields`, checking the status code or response message to ensure the request is successful and error-free. 2. **Handle `Business Response Fields`** If the `Public Response Fields` are valid and error-free, proceed with processing the business logic in the `Business Response Fields`. ### Public Response Fields Viewing Public Response Fields and Error Codes ### Business Response Fields | Field | Type | Scope | Description | | :---------- | :------- | :------ | :------------------------------------------------------------------------------------------------------------------------------------------------ | | `task_type` | `string` | `async` | Task Type. \`\`async`: Asynchronous tasks.` | | `task_id` | `string` | | Asynchronous task ID.
    **Please use this field when calling the [Querying Async Task Results](/docs/ai-common/async-task-results/api) API.** | ### Response Example ```json theme={null} { "request_id": "", "log_id": "", "error_code": 0, "error_msg": "", "error_detail": { "status_code": 200, "code": "", "code_message": "", "message": "" }, "task_type": "", "task_id": "" } ``` This API is asynchronous, please keep `task_id` and call [`Querying Async Task Results`](/docs/ai-common/async-task-results/api) to get the final results. Asynchronous task results are valid for 24 hours. It is recommended that asynchronous task results be queried every 5 seconds. ## `Querying Async Task Results` Response **Response Field Handling Flow** 1. **Handle `Public Response Fields`** Parse and validate the `Public Response Fields`, checking the status code or response message to ensure the request is successful and error-free. 2. **Handle `Business Response Fields`** If the `Public Response Fields` are valid and error-free, proceed with processing the business logic in the `Business Response Fields`. ### Public Response Fields Viewing Public Response Fields and Error Codes ### Business Response Fields | Field | Type | Scope | Description | | :------------- | :-------- | :------------ | :----------------------------------------------------------------------------------------------------------------------- | | `task_status` | `integer` | `0`, `1`, `2` | Asynchronous task status. ``0`: The task is queued.` ``1`: Asynchronous processing.` \`\`2`: Processing was successful.` | | `output` | `object` | | | | +`image_url` | `string` | | Result image URL. | | `usage` | `object` | | | | +`image_count` | `integer` | | Number of generated images. | The URL address is a temporary address, valid for 24 hours, and will not be accessible after it expires. If you need to save the file for a long time or permanently, please visit the URL address within 24 hours and download the file to your own storage space. ### Response Example ```json theme={null} { "error_code": 0, "error_msg": "", "error_detail": { "status_code": 200, "code": "", "code_message": "", "message": "" }, "task_status": 0, "output": { "image_url": "" }, "usage": { "image_count": 0 } } ``` # Billing Introduction Source: https://ailabtools.mintlify.app/docs/billing-introduction ## Universal Credits (Applicable to All APIs) | Price | Credits | Cost / Credit | | ---------: | --------: | ------------: | | \$6.00 | 2,000 | \$0.0030 | | \$30.00 | 10,000 | \$0.0030 | | \$300.00 | 110,000 | \$0.0027 | | \$1,500.00 | 550,000 | \$0.0027 | | \$2,500.00 | 1,000,000 | \$0.0025 | * View pricing on the pricing page or manage credits in the developer platform. * Need more credits or an enterprise plan? Contact [business@ailabtools.com](mailto:business@ailabtools.com).
    Category API Name Credits / Request Cost / Request
    Category API Name Credits / Request Cost / Request
    Category API Name Credits / Request Cost / Request
    # File Storage Policy Source: https://ailabtools.mintlify.app/docs/file-storage-policy This document outlines the file storage policy for the API, which is designed to ensure that uploaded and returned file data are handled and protected appropriately. The policy adheres to strict principles to guarantee data security, privacy, and compliance. ### 1. Handling of Uploaded Files * **No Storage**: All files uploaded via the API are not stored. They are only used temporarily for processing and are deleted immediately after processing is completed. No files will be retained or stored under any circumstances. * **Processing Method**: Upon upload, files are loaded into memory for necessary processing (such as format conversion, analysis, etc.). After processing is completed, the file data is immediately erased from the system without leaving any traces. ### 2. Handling of Returned Files #### 2.1 Returned Files in URL Format * **Cloud Storage**: Files returned in URL format will be stored in cloud storage. * **Storage Duration**: These files will be stored in cloud storage for a default period of 24 hours. * **Automatic Deletion**: After 24 hours, the file will be automatically deleted. The system does not allow any intervention or extension of the storage period. * **No Intervention**: Users cannot modify the storage duration or delay the deletion process of the file once it exceeds the 24-hour period. The file will be automatically deleted after this period. #### 2.2 Returned Files in BASE64 Format * **No Storage**: Files returned in BASE64 encoded format will not be stored. The file data will be discarded immediately after being returned to the user, with no persistence or caching of the data. ### 3. Data Privacy and Security * **Data Encryption**: All uploaded files are transmitted securely using encryption protocols (e.g., HTTPS) to ensure data protection during transfer. * **Privacy Protection**: The system will not retain uploaded files for any long-term use, and files will not be used for any unauthorized purposes. Uploaded files are only used for processing and returning, and will not be used for any other purposes, including but not limited to AI model training, data analysis, or statistics. * **Guaranteed Deletion**: All files will be deleted immediately after processing is completed, and returned BASE64 files will not be stored. ### 4. Files Not Used for AI Training * **No Data Collection for AI Training**: None of the files uploaded by users, including the returned files in URL or BASE64 format, will be used for training any AI models. The use of files is strictly limited to the current API request and is deleted immediately after processing. Files will not be used for future algorithm training, data mining, or analytics. The file storage policy of this API strictly adheres to the following principles: * **Temporary Processing**: Uploaded files exist only during processing and are deleted immediately afterward. * **Cloud Storage URL**: Files returned in URL format will be stored for 24 hours, after which they will be automatically deleted with no intervention allowed. * **BASE64 Files**: Files returned in BASE64 format will not be stored. * **Privacy Protection**: Uploaded files will not be used for any form of AI model training or analysis. This policy ensures a secure, transparent, and compliant file handling and storage environment. If you have any questions or need further clarification about the file storage policy, please feel free to contact us. # Get API KEY Source: https://ailabtools.mintlify.app/docs/get-api-key Follow the steps below to create and retrieve your API Key. *** ## Step 1 — Create an Account Create Account Create an AILabTools account to access the developer platform and API services. If you already have an account, you can skip this step. Create Account Image *** ## Step 2 — Sign In to Developer Platform Open Developer Platform Sign in to the developer platform to access API services and developer features. > APIs do not require separate activation or approval and can be used immediately after obtaining an API Key. Developer Platform Image *** ## Step 3 — Complete Email Verification Complete email verification before creating API Keys. > You must complete email verification before receiving free API credits or creating API Keys. Complete Email Verification Image 1 Complete Email Verification Image 2 *** ## Step 4 — Receive Free API Credits After successfully completing email verification, free API credits will be automatically granted to your account for testing supported APIs. Free API Credits Image *** ## Step 5 — Create API Key Open API Keys Page Create a new API Key for your application or project. You can create different API Keys for different environments, such as: * Production * Development * Testing Open API Keys Page Image Create API KEY Image API KEY Configuration Image *** ## Step 6 — Get API Key After the API Key is created, copy and securely store your API Key. Get API KEY Image # Introduction Source: https://ailabtools.mintlify.app/docs/introduction AILabTools is an advanced tool that offers a vast array of simple and flexible API endpoints to suit your specific needs. With just one API KEY ([Get API KEY](/docs/get-api-key)), you can easily call any of the endpoints and integrate them quickly into your application or workflow, allowing for smooth and efficient operations. AILabTools is continuously evolving, and you can anticipate even more API endpoints being added in the future, further enhancing its capabilities and usefulness for your artificial intelligence and machine learning requirements. ## Disclaimer Statement When using the API provided by AILabTools please comply with laws and regulations and the AILabTools service agreement. Users are responsible for any violations and resulting disputes, and AILabTools will not be held liable. The platform reserves the right to terminate the user's service immediately and to take legal action if necessary. This statement is intended to ensure that users are aware of their obligations and responsibilities when using the AILabTools API and to maintain a safe environment for all users. # Response Description Source: https://ailabtools.mintlify.app/docs/response-description ## Public Response Fields | Field | Type | Description | | :-------------- | :------- | :------------------------------------------- | | `request_id` | `string` | Request ID for debugging. | | `log_id` | `string` | Log ID for debugging. | | `error_detail` | `object` | Error Details. | | +`code` | `string` | Error Code. See [Error Codes](#error-codes). | | +`code_message` | `string` | Error summary. | | +`message` | `string` | Detailed error message. | ## Success Criteria A request succeeds when the HTTP status code is `200`. Any other HTTP status code indicates failure. ## Success Example ```json theme={null} { "request_id": "Request ID", "log_id": "Log ID", "error_detail": { "code": "", "code_message": "", "message": "" } } ``` ## Error Example ```json theme={null} { "request_id": "Request ID", "log_id": "Log ID", "error_detail": { "code": "ERROR_NO_FACE_IN_FILE", "code_message": "No face detected in the file.", "message": "pic not has face" } } ``` ## Error Codes | HTTP Status | Value | Description | | :---------- | :------------------------------------------ | :-------------------------------------------------------------------------------------------------- | | 400 | `ERROR_PARAMETERS` | Invalid parameters. | | 400 | `MISSING_PARAMETERS` | Missing parameters. | | 400 | `ERROR_INVALID_PARAMETER` | Invalid parameter. | | 400 | `PARAMETERS_CANNOT_EMPTY` | Parameters cannot be empty. | | 400 | `ERROR_MISSING_LIMIT_PARAMETER` | Missing Limit parameter. | | 400 | `ERROR_MISSING_TASKS_PARAMETER` | Missing Tasks parameter. | | 400 | `ERROR_MISSING_ASSURE_DIRECTION_PARAMETER` | Missing AssureDirection parameter. | | 400 | `ERROR_MISSING_MIN_HEIGHT_PARAMETER` | Missing MinHeight parameter. | | 400 | `ERROR_INVALID_SIDE_PARAMETER` | Invalid value for Side parameter. | | 400 | `ERROR_INVALID_URL` | Invalid URL. | | 400 | `ERROR_UNSUPPORTED_RESPONSE_FORMAT` | Incorrect response format (Format not supported). | | 400 | `ERROR_INVALID_OUTPUT_FORMAT` | Invalid output format. | | 400 | `ERROR_MISSING_OUTPUT_FORMAT` | Missing output format. | | 400 | `UNSUPPORTED_PARAMETER_VALUES` | Invalid parameter values. | | 400 | `ERROR_INVALID_PARAMETER_FORMAT` | Invalid parameter format. | | 400 | `ERROR_PARAMETER_CONVERSION_FAILED` | Parameter conversion failed. | | 400 | `ERROR_MASK_IMAGE_RESOLUTION_MISMATCH` | Resolution of `mask` and `image` must be the same. | | 400 | `ERROR_QUALITY_CONTROL_ERROR` | Quality control error. | | 400 | `ERROR_LIVENESS_CONTROL_ERROR` | Liveness control error. | | 400 | `ERROR_TOO_MANY_GROUPS_IN_GROUP_LIST` | Too many groups in group\_list. | | 400 | `ERROR_TOO_MANY_UIDS_IN_UID_LIST` | Too many UIDs in uid\_list. | | 400 | `ERROR_TOO_MANY_APPS_IN_APP_LIST` | Too many apps in app\_list. | | 400 | `ERROR_INVALID_FACE_BOX_PARAMETER` | Face box parameter does not meet requirements. | | 400 | `ERROR_INVALID_BIG_EYES_PARAMETER` | Big eyes parameter does not meet requirements. | | 400 | `ERROR_INVALID_FACE_SLIMMING_PARAMETER` | Face slimming parameter does not meet requirements. | | 400 | `ERROR_INVALID_SMOOTHING_PARAMETER` | Smoothing parameter does not meet requirements. | | 400 | `ERROR_INVALID_SKIN_WHITENING_PARAMETER` | Skin whitening parameter does not meet requirements. | | 401 | `ERROR_USER_NOT_EXISTS` | The user does not exist. | | 401 | `ERROR_APPLICATIONS_NOT_EXISTS` | The application does not exist. | | 403 | `ERROR_USER_LOCKED` | The user is locked. | | 403 | `ERROR_ILLEGAL_OPERATION` | Illegal operation. | | 404 | `ERROR_AI_NOT_EXISTS` | AI does not exist or has been deactivated, please contact the platform. | | 404 | `ERROR_FILE_NOT_FOUND` | File not found. | | 404 | `ERROR_FACE_NOT_FOUND` | Face not found. | | 404 | `ERROR_USER_GROUP_NOT_FOUND` | User group not found. | | 404 | `ERROR_USER_NOT_FOUND` | User not found. | | 404 | `ERROR_FACE_TOKEN_NOT_FOUND` | Face token not found. | | 404 | `ERROR_CONTENT_NOT_FOUND` | Content not found. | | 404 | `ERROR_RESOURCE_NOT_FOUND` | Resource not found. | | 406 | `ERROR_INVALID_RESPONSE_FORMAT` | Incorrect response format (Accept not supported). | | 409 | `ERROR_FACE_ALREADY_EXISTS` | Face already exists. | | 409 | `ERROR_DATA_ALREADY_EXISTS` | Data already exists. | | 409 | `ERROR_USER_GROUP_ALREADY_EXISTS` | User group already exists. | | 409 | `ERROR_USER_ALREADY_EXISTS` | User already exists. | | 409 | `ERROR_DUPLICATE_GROUP_NAME` | Duplicate group name. | | 409 | `ERROR_RESOURCE_IN_USE` | Resource is in use. | | 409 | `ERROR_TASK_CONFLICT` | Task conflict. | | 409 | `ERROR_TASK_STOPPED_PROCESSING` | Task has been stopped processing. | | 409 | `ERROR_TASK_REVOCATION_FAILED` | Task revocation failed. | | 410 | `ERROR_TASK_REVOKED` | Task has already been revoked. | | 410 | `ERROR_RESOURCE_RECLAIMED` | Resource has been reclaimed. | | 413 | `ERROR_TOO_MANY_FILES` | Number of files exceeds the limit. | | 413 | `FILE_SIZE_EXCEEDS_LIMIT` | File size exceeds limit. | | 413 | `FILE_RESOLUTION_EXCEEDS_LIMITS` | File resolution exceeds limits. | | 413 | `ERROR_HIGH_RESOLUTION` | File resolution too high. | | 413 | `ERROR_REQUEST_BODY_TOO_LARGE` | Request body size exceeds limit. | | 415 | `UNSUPPORTED_FILE_TYPES` | Unsupported file types. | | 415 | `ERROR_UNSUPPORTED_GRAYSCALE_IMAGE` | Grayscale image not supported. | | 422 | `FILE_DECODING_FAILURE` | File decoding failed. | | 422 | `ERROR_ILLEGAL_FILE` | Illegal file. | | 422 | `ERROR_INVALID_FILE` | Invalid file. | | 422 | `ERROR_LOW_RESOLUTION` | File resolution too low. | | 422 | `FILE_CONTENT_NON_COMPLIANCE` | File content does not meet requirements. | | 422 | `ERROR_CONTENT_NON_COMPLIANCE` | Content does not meet requirements. | | 422 | `ERROR_CONTENT_TOO_LONG` | Content length exceeds limit. | | 422 | `ERROR_VIDEO_DURATION_EXCEEDED` | Video duration exceeds limit. | | 422 | `ERROR_INCORRECT_FILE_COUNT` | Incorrect number of files. | | 422 | `ERROR_NO_FACE_IN_FILE` | No face detected in the file. | | 422 | `ERROR_FACE_SIZE_NOT_MEET_REQUIREMENTS` | Face size does not meet requirements. | | 422 | `ERROR_FACE_SIZE_RATIO_NOT_MET` | Face size ratio does not meet requirements. | | 422 | `ERROR_SMALL_FACE_SIZE` | Face size too small. | | 422 | `ERROR_FACE_COPY_SCENE_MISMATCH` | Face copy scene type mismatch. | | 422 | `ERROR_FACE_UNRECOGNIZABLE` | Unable to recognize face. | | 422 | `ERROR_POOR_FACE_QUALITY` | Poor face quality. | | 422 | `ERROR_BLURRY_FACE` | Blurry face. | | 422 | `ERROR_OBSTRUCTED_FACE` | Obstructed face. | | 422 | `ERROR_POOR_FACE_LIGHTING` | Poor face lighting. | | 422 | `ERROR_INCOMPLETE_FACE` | Incomplete face. | | 422 | `ERROR_FACE_NOT_FACING_FORWARD` | Face not facing forward. | | 422 | `ERROR_QUALITY_SCORE_NOT_MEET_REQUIREMENTS` | Quality score does not meet requirements. | | 422 | `ERROR_SCENE_TYPE_MISMATCH` | Scene type mismatch. | | 422 | `ERROR_CARTOON_FACE_NOT_SUPPORTED` | Cartoon face not supported. | | 422 | `ERROR_TEMPLATE_IMAGE_QUALITY_TOO_LOW` | Template image quality too low. | | 422 | `ERROR_ACTION_VERIFICATION_FAILED` | Action verification failed. | | 422 | `ERROR_LEFT_EYE_OCCLUSION_TOO_HIGH` | Left eye occlusion too high. | | 422 | `ERROR_RIGHT_EYE_OCCLUSION_TOO_HIGH` | Right eye occlusion too high. | | 422 | `ERROR_LEFT_FACE_OCCLUSION_TOO_HIGH` | Left face occlusion too high. | | 422 | `ERROR_RIGHT_FACE_OCCLUSION_TOO_HIGH` | Right face occlusion too high. | | 422 | `ERROR_CHIN_OCCLUSION_TOO_HIGH` | Chin occlusion too high. | | 422 | `ERROR_NOSE_OCCLUSION_TOO_HIGH` | Nose occlusion too high. | | 422 | `ERROR_MOUTH_OCCLUSION_TOO_HIGH` | Mouth occlusion too high. | | 422 | `ERROR_SYNTHESIS_DETECTION_FAILED` | Synthesis detection failed. | | 422 | `ERROR_LIVENESS_DETECTION_FAILED` | Liveness detection failed. | | 422 | `ERROR_NO_RECOGNITION_TARGET_DETECTED` | No recognition target detected in the image. | | 422 | `ERROR_IMAGE_RECOGNITION_FAILED` | Image recognition error. | | 422 | `ERROR_POSE_NOT_ENOUGH_KEYPOINTS` | Pose detection failed: Not enough keypoints were detected. | | 422 | `ERROR_FACE_COUNT_INVALID` | Face detection failed: The number of detected faces does not meet the requirements. | | 429 | `ERROR_NOT_ENOUGH_CREDITS` | Insufficient credits. | | 429 | `ERROR_FACE_TRACE_LIMIT_EXCEEDED` | Face or Trace limit exceeded. | | 429 | `ERROR_DATABASE_LIMIT_EXCEEDED` | Database limit exceeded. | | 429 | `ERROR_BATCH_TASK_LIMIT_EXCEEDED` | Batch task processing limit exceeded. | | 429 | `EXCEEDING_LIMITS` | Exceeds limit. | | 500 | `PROCESSING_FAILURE` | Processing failed. | | 500 | `ERROR_RESPONSE_BODY_TOO_LARGE` | Response body size exceeds limit. | | 500 | `UNKNOWN_ERROR` | Unknown error. Please try again later. If not resolved promptly, contact the platform. | | 500 | `SERVICE_INTERNAL_ERROR` | Service internal error. Please try again later. If not resolved promptly, contact the platform. | | 501 | `ERROR_IMAGE_STORAGE_NOT_SUPPORTED` | Image storage not supported. | | 502 | `ERROR_FILE_DOWNLOAD_FAILED` | File download failed. | | 502 | `ERROR_FILE_UPLOAD_FAILED` | File upload failed. | | 502 | `ERROR_DATA_TRANSFER_FAILED` | Data transfer (download or upload) failed. | | 502 | `ERROR_GET_FACE_IMAGE_FAILED` | Failed to get face image. | | 502 | `ERROR_FACE_IMAGE_ADDITION_FAILED` | Failed to add face image. | | 502 | `ERROR_FACE_BLENDING_FAILED` | Face blending failed. | | 502 | `FILE_SERVICE_ERROR` | File service error. Please try again later. If not resolved promptly, contact the platform. | | 502 | `AI_SERVICE_ERROR` | AI service error. Please try again later. If not resolved promptly, contact the platform. | | 502 | `AI_SERVICE_INTERNAL_ERROR` | AI service internal error. Please try again later. If not resolved promptly, contact the platform. | | 502 | `AI_SERVICE_UNAUTHORIZED` | AI service unauthorized. Please try again later. If not resolved promptly, contact the platform. | | 502 | `AI_SERVICE_NOT_FOUND` | AI service not found. Please try again later. If not resolved promptly, contact the platform. | | 502 | `ERROR_GATEWAY` | Gateway error, please try again later. If it is not resolved in time, please contact the platform. | | 503 | `ERROR_CLEANING_USER_GROUP_DATA` | Cleaning user group data. | | 503 | `ERROR_INSUFFICIENT_RESOURCES` | Insufficient resources. | | 503 | `ERROR_RESOURCE_IN_TRANSIT` | Resource in transit. | | 503 | `ERROR_RESOURCE_UNAVAILABLE` | Resource temporarily unavailable. | | 503 | `AI_SERVICE_FLOW_RESTRICTION` | AI service is rate-limited. Please try again later. If not resolved promptly, contact the platform. | | 504 | `ERROR_FILE_DOWNLOAD_TIMEOUT` | File download timeout. | | 504 | `AI_SERVICE_TIMEOUT` | AI service timeout. Please try again later. If not resolved promptly, contact the platform. | # SDKs Source: https://ailabtools.mintlify.app/docs/sdks Install official AILabTools SDKs or use direct HTTP to integrate AILabTools image APIs. ## Prerequisites 1. Create an API key in the [Developer Console](https://www.ailabtools.com/developer). 2. Store the key in an environment variable or secret manager. 3. Choose either an SDK integration or direct HTTP integration. ## Integration Options | Integration | Guidance | | :----------------------------------------------------------------------------- | :--------------------------------------------------------- | | [AILabTools Multi-language SDKs](https://github.com/ailabtools/ailabtools-sdk) | Use an official SDK for supported runtimes. | | [AILabTools PHP SDK](https://github.com/ailabtools/ailabtools-php) | Use the Composer package for PHP applications. | | **Direct HTTP** | Call the API endpoints directly from your own HTTP client. | SDKs wrap the same public HTTP APIs documented on this site. Direct HTTP and SDK integrations use the same API key and the same underlying endpoints. ## Install Select your runtime, then use the package manager already used by your project. Unversioned commands install the latest published release. Versioned snippets are pinning examples; check the linked registry before copying a fixed version into production. Requires Node.js 18 or later. The package is published on npm. npm, pnpm, Yarn, and Bun install the same `ailabtools` package. #### npm: [`ailabtools`](https://www.npmjs.com/package/ailabtools) ```bash theme={null} npm install ailabtools ``` #### pnpm: [`ailabtools`](https://www.npmjs.com/package/ailabtools) ```bash theme={null} pnpm add ailabtools ``` #### Yarn: [`ailabtools`](https://yarnpkg.com/package?name=ailabtools) ```bash theme={null} yarn add ailabtools ``` #### Bun: [`ailabtools`](https://www.npmjs.com/package/ailabtools) ```bash theme={null} bun add ailabtools ``` `bun add` only covers dependency installation. Validate your application before using Bun as the production runtime for the Node.js SDK. Requires Python 3.8 or later. Install `ailabtools-sdk`, then import it as `ailabtools`. Use `pip` or `uv pip` for environment-level installs. Use `uv add` or `poetry add` for project dependencies. #### pip: [`ailabtools-sdk`](https://pypi.org/project/ailabtools-sdk/) ```bash theme={null} pip install ailabtools-sdk ``` #### uv environment: [`ailabtools-sdk`](https://pypi.org/project/ailabtools-sdk/) ```bash theme={null} uv pip install ailabtools-sdk ``` #### uv project: [`ailabtools-sdk`](https://pypi.org/project/ailabtools-sdk/) ```bash theme={null} uv add ailabtools-sdk ``` #### Poetry: [`ailabtools-sdk`](https://pypi.org/project/ailabtools-sdk/) ```bash theme={null} poetry add ailabtools-sdk ``` Use the module path shown on pkg.go.dev for the current Go package and exported type names. #### go get: [`github.com/ailabtools/ailabtools-sdk/packages/go`](https://pkg.go.dev/github.com/ailabtools/ailabtools-sdk/packages/go) ```bash theme={null} go get github.com/ailabtools/ailabtools-sdk/packages/go ``` Requires Dart SDK `>=3.0.0 <4.0.0`. This is a pure Dart package. Use `flutter pub` for Flutter apps or `dart pub` for Dart packages and CLIs. #### Flutter: [`ailabtools`](https://pub.dev/packages/ailabtools) ```bash theme={null} flutter pub add ailabtools ``` #### Dart: [`ailabtools`](https://pub.dev/packages/ailabtools) ```bash theme={null} dart pub add ailabtools ``` Requires PHP 8.1 or later and Composer. #### Composer: [`ailabtools/ailabtools`](https://packagist.org/packages/ailabtools/ailabtools) ```bash theme={null} composer require ailabtools/ailabtools ``` Or add the package to `composer.json`: ```json theme={null} { "require": { "ailabtools/ailabtools": "^0.5.4" } } ``` Requires Ruby 2.6 or later. Use Bundler for applications, or RubyGems for direct installation. #### Bundler: [`ailabtools`](https://rubygems.org/gems/ailabtools) ```ruby theme={null} gem "ailabtools", "~> 0.5.4" ``` #### RubyGems: [`ailabtools`](https://rubygems.org/gems/ailabtools) ```bash theme={null} gem install ailabtools ``` Requires Rust 1.70 or later. Use Cargo to add the crate to your project. #### Cargo: [`ailabtools`](https://docs.rs/crate/ailabtools/latest) ```bash theme={null} cargo add ailabtools ``` Or add the crate to `Cargo.toml`: ```toml theme={null} [dependencies] ailabtools = "0.5.4" ``` Requires Java 11 or later. Choose Maven or Gradle according to your build system. #### Maven: [`com.ailabtools:ailabtools-sdk`](https://central.sonatype.com/artifact/com.ailabtools/ailabtools-sdk) ```xml theme={null} com.ailabtools ailabtools-sdk 0.5.4 ``` #### Gradle: [`com.ailabtools:ailabtools-sdk`](https://central.sonatype.com/artifact/com.ailabtools/ailabtools-sdk) Groovy DSL: ```gradle theme={null} implementation "com.ailabtools:ailabtools-sdk:0.5.4" ``` Kotlin DSL: ```kotlin theme={null} implementation("com.ailabtools:ailabtools-sdk:0.5.4") ``` Requires iOS 13.0, macOS 10.15, tvOS 13.0, or watchOS 6.0 or later. Use Swift Package Manager or CocoaPods according to your Apple platform project setup. #### Swift Package Manager: [`ailabtools/ailabtools-sdk`](https://github.com/ailabtools/ailabtools-sdk) ```swift theme={null} .package( url: "https://github.com/ailabtools/ailabtools-sdk.git", from: "0.5.4" ) ``` #### CocoaPods: [`AILabTools`](https://cocoapods.org/pods/AILabTools) ```ruby theme={null} pod 'AILabTools', '~> 0.5.4' ``` ## Authentication All SDKs authenticate with an AILabTools API key. SDK examples use `AILAB_API_KEY` as the environment variable name: ```bash theme={null} export AILAB_API_KEY="your_api_key_here" ``` Pass this value to the SDK client in your application code. `AILAB_API_KEY` is an SDK example convention, not an HTTP header name. Direct HTTP calls use the `ailabapi-api-key` request header shown in each API reference page. For public browser, desktop, or mobile applications, do not ship your AILabTools API key with the client. Call AILabTools from your backend, or issue requests through a trusted service that keeps the API key private. ## Implementation Notes | Topic | Guidance | | :------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Request fields | SDKs may expose language-native names, such as `returnForm` for the HTTP field `return_form`. Use the SDK docs for code and the API reference for field meaning. | | File uploads | Use SDK-supported file helpers such as file paths, bytes, buffers, streams, or language-specific file wrappers. | | Async tasks | If a response contains `task_id`, use the SDK polling helper where available or call [Querying Async Task Results](/docs/ai-common/async-task-results/api). | | Result URLs | Result image URLs may be temporary. Download and store files promptly if your application needs long-term access. | | Errors | Log `request_id` and `log_id` when handling API errors. These IDs help the support team locate failed requests. | ## Related Resources * [Get API Key](/docs/get-api-key) * [OpenAPI JSON](/docs/openapi.json) * [Response Description](/docs/response-description) * [File Storage Policy](/docs/file-storage-policy) * [Billing Introduction](/docs/billing-introduction)