ATTRACTIVENESS SCORING API

Build attractiveness scoring into your product

Send one portrait and receive a consistent score through a straightforward JSON interface. It is designed for teams that want a dependable integration without maintaining their own face-analysis pipeline.

Versioned JSON contract Base64 or image URL input Structured errors

A focused endpoint for real product work

The response stays compact, the optional outputs are explicit, and image handling is consistent across requests.

Clean response data

Receive the model score, an adjusted score, and the API version in one predictable object.

Practical image input

Submit raw base64, a data URI, or a public HTTPS image URL—whichever fits your workflow.

Optional details

Ask for a face crop, boundary box, or gender result only when your interface needs it.

Stable failure handling

Machine-readable error codes make invalid images and unavailable results easier to handle well.

Try the API response

Choose a clear portrait to see the same fields your application can receive. The private access token remains on the server.

POST/attractiveness
Portrait photo

This preview is for integration testing. A score is a model estimate, not an objective judgment about a person.

Your response will appear hereUpload a portrait and run the demo to inspect the result.
Processing the image
Detected face crop
/ 10

Attractiveness score

Adjusted score
Detected genderNot requested
API version
Face region

One endpoint, familiar tools

Authenticate with a bearer token, send exactly one image source, and read the result from the JSON response.

POSThttps://api.rate-my-photo.com/attractiveness
1

Provide the image

Use face_image for base64 data or face_image_url for a public web address. Only one can be sent per request.

2

Choose optional outputs

Boundary boxes are included by default. Face crops and gender are opt-in fields controlled by simple booleans.

3

Handle success and errors

A successful request returns scores. Validation and processing failures use an error.code and a plain-language message.

cURL request
curl -X POST https://api.rate-my-photo.com/attractiveness \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "face_image_url": "https://example.com/portrait.jpg",
    "return_boundary_box": true,
    "return_face_base64": false,
    "return_gender": true
  }'
200 responseapplication/json
{
  "api_version": "1.1",
  "score": 7.42,
  "score_adjusted": 8.11,
  "boundary_box": {
    "x": 113,
    "y": 89,
    "width": 142,
    "height": 180
  },
  "gender": "female"
}

Ready to test it in your stack?

Tell us what you are building and the request volume you expect. We will help you choose a practical starting plan.

Common integration questions

The details teams usually want before their first production request.

score is the direct model result. score_adjusted applies the service’s presentation adjustment. Keep your choice consistent across your interface so users can compare results meaningfully.

The API returns HTTP 422 with the code NO_FACE_DETECTED. Your interface can use that code to ask for a clearer, front-facing portrait without parsing the message text.

Images with a longest side above 1000 pixels are reduced while keeping their aspect ratio. Files over 15 MB or with a side above 4500 pixels are rejected before analysis.

Submit the short access form at attractivenessai.com/api. Include your use case and expected monthly request volume so the right access level can be set up from the start.