biofrq.attributes
Face attribute prediction without the liveness pass. Returns the
same shape as biofrq.analyze.attributes, scoped to the kinds you
asked for.
In practice, most integrations call biofrq.analyze with a single
kinds value; biofrq.attributes is the lighter-weight building
block when you don't need liveness in the same call.
Params
| Field | Type | Required | Default | Notes |
|---|---|---|---|---|
images[0] | ImageItem | yes | — | One image. See Envelope → Image inputs. |
kinds | string[] | no | all | Which attribute heads to run. |
Supported kinds
| Kind | Output | Notes |
|---|---|---|
ageGender | { "age": int, "gender": "male" | "female", "confidence": float } | Coarse age band, not exact age. |
emotion | { "label": string, "confidence": float } | Six-class softmax. |
New kinds may be added; clients should ignore unknown keys.
Request
json
{
"action": "biofrq.attributes",
"params": {
"images": [
{ "kind": "image", "bytes": "<base64>", "contentType": "image/jpeg" }
],
"kinds": ["emotion"]
}
}
Response
The per-action payload lives at data.results[0].value:
json
{
"emotion": { "label": "neutral", "confidence": 0.71 },
"ageGender": { "age": 31, "gender": "female", "confidence": 0.82 }
}
Only the kinds you asked for are populated. Omitted kinds are omitted from the response.
Common errors
INVALID_REQUEST— no face in the image, or unknown entry inkinds.