Skip to main content
[Important: API Service Retirement Announcement]Dear Developers,Thank you for your continued trust and support in AILabTools API. In order to provide more efficient and reliable services, we will officially deprecate the current version of this API.As this interface is based on an outdated architecture and its performance can no longer meet evolving needs, it will no longer be available starting from the date of this announcement.We kindly recommend that you evaluate and adopt an alternative solution as soon as possible to ensure a smooth transition for your applications.If you have any questions or need assistance during the migration, please feel free to contact our support team: 📧 [email protected]We sincerely appreciate your understanding and cooperation, and we remain committed to delivering better and more advanced services for you.Warm regards,AILabTools Support Team

Request

  • URL: https://www.ailabapi.com/api/portrait/effects/hairstyle-editor-pro
  • Method: POST
  • Content-Type: multipart/form-data

Image requirements

  • Image format: PNG JPG JPEG
  • Image size: No more than 3 MB.
  • Image resolution: Larger than 200x200px, smaller than 2000x2000px.
  • Minimum Face Proportion: To ensure effectiveness, the proportion of the face in the image cannot be less than 20%.
  • Facial Integrity: To ensure effectiveness, the face in the image should ideally not be obscured.
  • Facial Angle: To ensure effectiveness, the face in the image should ideally be front-facing, with no more than a 45-degree rotation to the left or right.
Image ValidityReason for Invalidity
No face
Incomplete face
Face obscured
Face proportion too small
The face is too large to edit the hairstyle

Headers

FieldRequiredTypeDescription
ailabapi-api-keyYESstringApplication API KEY. Get API KEY

Body

Fixed Fields

FieldRequiredTypeScopeDefaultDescription
task_typeYESstringasync“async: Asynchronous tasks.
imageYESfileMain image.
hair_styleYESstringScopeHairstyle. More Details
colorNOstringScopeColor. More Details
image_sizeNOinteger1, 2, 3, 41Returns the number of images.
maskNOfileMasked Image. If left blank, a masked image will be generated automatically. The white portion of the masked image is the editable area, while the black portion remains unchanged. For example, by using the white area of the mask to cover a person’s face, the face will remain unaltered, and other parts will be generated automatically.
bangsNOinteger0, 110`: No.`, 1: Yes., [Parameter Effect Comparison](#bangsCompared)
modeNOinteger1, 211`: Head-only mode. More suitable for short hair.`, 2: Full-image generation mode. More suitable for long hair; use this mode when the original image features shoulder-length or longer hair., [Parameter Effect Comparison](#modeCompared)
referenceNOinteger0, 100`: No.`, 1: Yes., [Parameter Effect Comparison](#referenceCompared)

hair_style

Category: GenderCategory: Lengthhair_styleDescriptionValidity of the ‘bangs’ Field
MaleShortBuzzCutBuzz Cut hairIneffective
UnderCutUnderCut hairIneffective
PompadourPompadour hairIneffective
SlickBackSlick Back hairIneffective
CurlyShagCurly Shag hairEffective
WavyShagWavy Shag hairEffective
FauxHawkFaux Hawk hairIneffective
SpikySpiky hairIneffective
CombOverComb-over hairEffective
HighTightFadeHigh and Tight Fade hairIneffective
ManBunMan Bun hairIneffective
AfroAfro hairEffective
LowFadeLow Fade hairEffective
UndercutLongHairUndercut With Long HairIneffective
TwoBlockHaircutTwo Block HaircutEffective
TexturedFringeTextured Fringe HairEffective
BluntBowlCutBlunt Bowl CutIneffective
MiddleLongWavyCurtainBangsLong Wavy Curtain Bangs HairEffective
MessyTousledMessy Tousled hairEffective
MediumLengthWavyMedium Length Wavy hairEffective
LongCornrowBraidsCornrow Braids hairIneffective
LongHairTiedUpLong Hair Tied Up HairIneffective
FemaleShortShortPixieWithShavedSidesShort Pixie With Shaved SidesEffective
ShortNeatBobshort neat bob hairEffective
DoubleBundouble bun hairEffective
UpdoUpdo hairEffective
Spikedspiked hairEffective
bowlCutbowl cut hairEffective
ChignonChignon hairIneffective
PixieCutPixie Cut hairEffective
SlickedBackslicked back hairIneffective
MiddleLongCurlyLong curly hairEffective
CurlyBobCurly bob hairEffective
StackedCurlsInShortBobStacked Curls in Short Bob hairEffective
SidePartCombOverHairstyleWithHighFadeSide Part Comb-Over Hairstyle With High Fade hairIneffective
WavyFrenchBobVibesfrom1920Wavy French Bob Vibes from 1920Effective
BobCutbob Haircut hairIneffective
ShortTwintailsShort Twintails hairEffective
ShortCurlyPixieShort Curly PixieEffective
LongLongStraightLong straight hairEffective
LongWavyLong wavy hairEffective
FishtailBraidFishtail braid hairEffective
TwinBraidsTwin Braids hairIneffective
PonytailPonytail hairEffective
Dreadlocksdreadlocks hairIneffective
CornrowsCornrows hairIneffective
ShoulderLengthHairShoulder Length Straight HairEffective
LooseCurlyAfroLoose Curly Afro hairEffective
LongTwintailsLong Twintails hairIneffective

color

colorDescription
blondeblonde hair
platinumBlondeplatinum blonde hair
brownbrown hair
lightBrownlight brown hair
blueblue hair
lightBluelight blue hair
purplepurple hair
lightPurplelight purple hair
pinkpink hair
blackblack hair
whitewhite hair
greygrey hair
silversilver hair
redred hair
orangeorange hair
greengreen hair
gradientgradient hair
multicoloredmulticolored hair
darkBluedark blue hair
burgundyburgundy hair
darkGreendark green hair

bangs: Parameter Effect Comparison

When the ‘bangs’ field is valid
HairstylebangsOriginalResult
Short Pixie With Shaved Sides0ORIGINAL IMAGERESULT IMAGE
Short Pixie With Shaved Sides1ORIGINAL IMAGERESULT IMAGE
When the ‘bangs’ Field Is Invalid
HairstylebangsOriginalResult
slicked back hair0ORIGINAL IMAGERESULT IMAGE
slicked back hair1ORIGINAL IMAGERESULT IMAGE

mode: Parameter Effect Comparison

HairstylemodeOriginalResult
double bun hair1ORIGINAL IMAGERESULT IMAGE
double bun hair2ORIGINAL IMAGERESULT IMAGE

reference: Parameter Effect Comparison

HairstylereferenceOriginalResult
Medium Length Wavy hair0ORIGINAL IMAGERESULT IMAGE
Medium Length Wavy hair1ORIGINAL IMAGERESULT 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

FieldTypeScopeDescription
task_typestringasyncTask Type. “async: Asynchronous tasks.
task_idstringAsynchronous task ID.
Please use this field when calling the Querying Async Task Results API.

Response Example

,
  "task_type":      "",
  "task_id":        ""
}
This API is asynchronous, please keep task_id and call Querying Async Task Results 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

FieldTypeScopeDescription
task_statusinteger0, 1, 2Asynchronous task status. 0`: The task is queued.` 1: Asynchronous processing. “2: Processing was successful.
dataobjectThe content of the result data returned.
+imagesarrayArray of resultant image addresses.
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

,
  "task_status":    0,
  "data":           
}

Sample Code

[👉 Online Experience 👈(https://www.ailabtools.com/portrait-hairstyle-editing-pro-example)] If you’d like to see the actual effects, please visit the experience page for a trial.