Avatares
GET/v1/avatars
Listar os avatares publicados da Kanutus: cada pessoa vem em variações (ângulos e ambientes) com os vídeos de comportamento que você pode escolher
Resposta 200
| Nome | Tipo | Descrição |
|---|---|---|
data obrigatório | object[] | |
data[].id obrigatório | string | |
data[].name obrigatório | string | |
data[].gender obrigatório | "female" | "male" | "other" | null | |
data[].age_band obrigatório | "25-35" | "36-50" | "51-65" | null | |
data[].style obrigatório | "formal" | "casual" | null | |
data[].poster_url obrigatório | string | null | Cover image (the first variation's photo when there is no dedicated cover) |
data[].variations obrigatório | object[] | |
data[].variations[].code obrigatório | string | a1–a3: same setting, different angles · v1–v3: another setting and outfit |
data[].variations[].kind obrigatório | "angle" | "scene" | |
data[].variations[].photo_url obrigatório | string | null | Still photo of this variation |
data[].variations[].video_types obrigatório | "talk-neutral" | "talk-agree" | "idle-aside" | "idle-monitor" | "talk-explain" | "talk-question"[] | Behavior clips you can pick for this variation (talk-neutral first) |
data[].variations[].preview_urls obrigatório | object | Short preview clip per video type (null = no preview yet; show the photo) |
data[].suggested_voices obrigatório | object | Suggested voice per language, e.g. {"pt": "…", "en": "…"} |
Exemplo
curl
curl "https://api.kanutus.com/v1/avatars" \
-H "Authorization: Bearer $KANUTUS_API_KEY"Node.js
const res = await fetch("https://api.kanutus.com/v1/avatars", {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.KANUTUS_API_KEY}`,
},
});
console.log(res.status, await res.json());Python
import os, uuid, requests
r = requests.request(
"GET",
"https://api.kanutus.com/v1/avatars",
headers={"Authorization": f"Bearer {os.environ['KANUTUS_API_KEY']}"},
)
print(r.status_code, r.json())Testar agora
Roda no seu navegador contra a API de verdade. Use uma chave kt_test_: nada é cobrado. A chave fica só nesta aba.
GET /v1/avatarsRespostas por status
200 Published avatars
200
{
"data": [
{
"id": "string",
"name": "Avatar 07",
"gender": "female",
"age_band": "25-35",
"style": "formal",
"poster_url": "https://example.com",
"variations": [
{
"code": "a1",
"kind": "angle",
"photo_url": "https://example.com",
"video_types": [
"talk-neutral"
],
"preview_urls": {}
}
],
"suggested_voices": {}
}
]
}400 Invalid request
400 application/problem+json
{
"type": "https://docs.kanutus.com/errors",
"title": "<code>",
"status": 400,
"code": "<code>",
"message": "…",
"request_id": "req_…"
}401 Missing, invalid, expired or revoked credential
401 application/problem+json
{
"type": "https://docs.kanutus.com/errors",
"title": "<code>",
"status": 401,
"code": "<code>",
"message": "…",
"request_id": "req_…"
}403 Missing permission, blocked or not allowed
403 application/problem+json
{
"type": "https://docs.kanutus.com/errors",
"title": "<code>",
"status": 403,
"code": "<code>",
"message": "…",
"request_id": "req_…"
}429 Rate limit exceeded (see RateLimit-* and Retry-After headers)
429 application/problem+json
{
"type": "https://docs.kanutus.com/errors",
"title": "<code>",
"status": 429,
"code": "<code>",
"message": "…",
"request_id": "req_…"
}