Images to 3D head

Automatic multi-view 3D head reconstruction technology, delivered as a REST API that brings likeness-driven digital people to your applications and pipelines.

Loading preview...
# 1. Open a session. Returns an avatar id and photo upload URLs
curl -X POST https://api.keentools.io/v1/avatar/init \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "image_count": 5 }'

# 2. Upload each photo to its pre-signed URL
curl -X PUT "$UPLOAD_URL" \
  -H "Content-Type: image/jpeg" \
  --data-binary @photo-1.jpg

# 3. Start reconstruction on the session (billed once per head)
curl -X POST https://api.keentools.io/v1/avatar/$AVATAR_ID/process \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "focal_length_type": { "focal_length_type": "estimate_common" } }'

# 4. Poll until "status": "completed" (free)
curl -X GET https://api.keentools.io/v1/avatar/$AVATAR_ID/get-status \
  -H "Authorization: Bearer $API_KEY"

# 5. Download OBJ + texture as a ZIP.
#    BILLABLE: every download call is charged, even repeats with identical parameters.
curl -L -X GET "https://api.keentools.io/v1/avatar/$AVATAR_ID/get-3d-model?mesh_format=obj&texture=jpg" \
  -H "Authorization: Bearer $API_KEY" \
  -o head.zip

# 6. Parameters, formats, pricing and the full API reference: https://cloud.keentools.io/docs

How it works

Multi-view input

Two or more photos from any angles, with no calibration, rigs or depth-sensing hardware.

Loading preview...

Realistic texture

Projected from your source photos and blended, with automatic colour correction.

Loading preview...

Facial expressions

Each photo's expression captured as exportable blendshapes.

Camera solve

Focal length and camera positions estimated automatically for every shot.

Loading preview...

ARKit blendshapes

Personalized 51 ARKit blendshapes in a single API call.

MetaHuman topology

Every head ships in MetaHuman-compatible topology, drop-in ready for Unreal Engine.