कृति · the work, made legible
Know every face. Read every frame.
Kriti runs each image through a face-recognition and vision pipeline that extracts identity, expression, scene, content, and quality signals — turning raw media into structured, searchable metadata your product can act on.
What Kriti does.
Face recognition & people graph
Detect every face, generate 512-dimension identity embeddings, and cluster the same person across an entire library — with a co-occurrence graph of who appears with whom.
Scene & content understanding
Labels, objects, on-image text (OCR), logos, landmarks, and lighting-scene classification turn unstructured images into rich, queryable metadata.
Quality, selection & safety
Eyes-open detection surfaces your hero shots, while aesthetic, exposure and SafeSearch signals rank quality and flag unsafe content automatically.
Send a URL. Get structured intelligence.
One request, one response. Kriti returns ranked faces — crops, scores, and embeddings — plus scene, content, quality and safety. Ready to index, cluster, and search.
{
"url": "https://acme.com/uploads/IMG_4021.jpg"
}Cluster on your terms
Every face ships with hosted crops on cdn.yantralabs.in, a stable person ID, and its 512-d embedding — so you can group, match, and search identities in your own stack, no extra calls.
{
"id": "img_3kf9x2a7",
"status": "analyzed",
"faces": [
{
"id": "face_01",
"person": "person_a4",
"crop_url": "https://cdn.yantralabs.in/faces/3kf9x2a7/face_01/w256.webp",
"confidence": 0.992,
"pose": {
"yaw": -8.4,
"pitch": 3.1,
"roll": 1.2
},
"eyes_open": 0.97,
"smile": 0.83,
"emotion": {
"label": "joy",
"score": 0.88
},
"sharpness": 412.6,
"embedding": [
0.0142,
-0.0731,
0.0588,
-0.0119,
"…+508"
]
},
{
"id": "face_02",
"person": "person_b1",
"crop_url": "https://cdn.yantralabs.in/faces/3kf9x2a7/face_02/w256.webp",
"confidence": 0.981,
"pose": {
"yaw": 12,
"pitch": -2.4,
"roll": 0.5
},
"eyes_open": 0.41,
"smile": 0.12,
"emotion": {
"label": "neutral",
"score": 0.64
},
"sharpness": 298.1,
"embedding": [
-0.0307,
0.0421,
0.0163,
0.0925,
"…+508"
]
}
],
"scene": {
"category": "outdoor_daylight",
"confidence": 0.89
},
"labels": [
{
"name": "Wedding",
"score": 0.94
},
{
"name": "Bride",
"score": 0.91
},
{
"name": "Bouquet",
"score": 0.78
}
],
"quality": {
"aesthetic_score": 0.86,
"sharpness": 0.81,
"exposure": "balanced",
"noise": 0.07
},
"safety": {
"adult": "very_unlikely",
"violence": "very_unlikely",
"racy": "unlikely"
},
"dominant_colors": [
"#caa46a",
"#2b2118",
"#e8dcc7"
],
"duplicate_of": null
}Raw media in. Decisions out.
Kriti turns every image into the answers your product needs — who’s in it, how good it is, what it shows, and whether it’s safe.
People, recognized
Every face detected, scored, and grouped by person across your entire library — with embeddings you can match and search yourself.
Your best shots, first
Aesthetic, sharpness, expression and eyes-open scoring surface the strongest frames and quietly drop the throwaways.
Scene & content, understood
Know what's in every image — scene, objects, on-image text, logos, and landmarks — as clean, structured metadata.
Safe by default
Automatic moderation flags adult, violent, or racy media before it ever reaches your feed.
Deduplicated
Near-duplicate and burst frames collapse to a single keeper, so your library stays clean at any scale.
Search-ready
Faces, content, and quality returned as one JSON payload — ready to index, cluster, and query on day one.
Image analysis, answered.
What does the Kriti face recognition API return?+
For each image you send (just a URL), Kriti returns detected faces with hosted crops, a detection confidence, head pose (yaw/pitch/roll), eyes-open, smile and emotion scores, a 512-dimension identity embedding, and a stable person ID — plus scene, content labels, objects, on-image text (OCR), quality, and SafeSearch signals, all as structured JSON.
Do you return face embeddings so I can cluster faces myself?+
Yes. Every face includes its 512-d embedding, so you can run your own clustering, identity matching, and similarity search in your stack without any extra API calls. Kriti also returns a stable person ID if you'd rather use its clustering directly.
Can Kriti moderate or filter unsafe images?+
Yes. Each image is scored for adult, violent, and racy content (SafeSearch), so you can automatically flag or block unsafe media before it reaches your feed.
How do I analyze or tag a large photo library?+
Send each image URL to the analysis endpoint and store the JSON. You get face identity, scene and content labels, OCR text, quality and aesthetic scores, and near-duplicate detection — enough to auto-tag, search, rank, and de-duplicate an entire library.
What input does Kriti need?+
Just a publicly reachable image URL in the request body. Kriti fetches the image, analyzes it, and returns the results — no SDK or upload step required.
Kriti is one layer of the suite.
Compose it with the rest of the YantraLabs stack — or start with a technical audit of your current pipeline.