list avatars
curl --request GET \
--url https://api.anam.ai/v1/avatars \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.anam.ai/v1/avatars"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.anam.ai/v1/avatars', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.anam.ai/v1/avatars",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.anam.ai/v1/avatars"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.anam.ai/v1/avatars")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.anam.ai/v1/avatars")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "071b0286-4cce-4808-bee2-e642f1062de3",
"displayName": "Liv",
"variantName": "home",
"imageUrl": "https://lab.anam.ai/persona_thumbnails/liv_home.png",
"videoUrl": "https://example.com/avatar-preview.mp4?X-Amz-Signature=...",
"createdAt": "2026-04-20T10:00:00.000Z",
"updatedAt": "2026-04-20T10:00:00.000Z",
"createdByOrganizationId": null,
"availableVersions": [
"cara-3"
],
"activeVersion": "cara-3",
"description": "A friendly professional in a modern office setting, warm expression, business casual attire.",
"displayTags": [
"professional",
"friendly",
"office"
],
"renderStyle": "realistic"
}
],
"meta": {
"total": 1,
"lastPage": 1,
"currentPage": 1,
"perPage": 10,
"prev": null,
"next": null
}
}list avatars
Returns a list of all avatars
GET
/
v1
/
avatars
list avatars
curl --request GET \
--url https://api.anam.ai/v1/avatars \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.anam.ai/v1/avatars"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.anam.ai/v1/avatars', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.anam.ai/v1/avatars",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.anam.ai/v1/avatars"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.anam.ai/v1/avatars")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.anam.ai/v1/avatars")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "071b0286-4cce-4808-bee2-e642f1062de3",
"displayName": "Liv",
"variantName": "home",
"imageUrl": "https://lab.anam.ai/persona_thumbnails/liv_home.png",
"videoUrl": "https://example.com/avatar-preview.mp4?X-Amz-Signature=...",
"createdAt": "2026-04-20T10:00:00.000Z",
"updatedAt": "2026-04-20T10:00:00.000Z",
"createdByOrganizationId": null,
"availableVersions": [
"cara-3"
],
"activeVersion": "cara-3",
"description": "A friendly professional in a modern office setting, warm expression, business casual attire.",
"displayTags": [
"professional",
"friendly",
"office"
],
"renderStyle": "realistic"
}
],
"meta": {
"total": 1,
"lastPage": 1,
"currentPage": 1,
"perPage": 10,
"prev": null,
"next": null
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Query Parameters
Page number for pagination
Required range:
x >= 1Number of avatars per page (max 100)
Required range:
1 <= x <= 100Search term to filter avatars by display name or generated description
Filter avatars by render style. unknown includes avatars whose style has not been determined (all custom avatars, and any avatar whose metadata generation has not completed).
Available options:
all, realistic, animated_3d, illustrated, unknown Comma-separated list of tags to filter by (e.g. tags=professional,studio). Matches avatars with ANY of the given tags. Tags are generated alongside description/displayTags and are lowercase.
Only return one-shot avatars
Last modified on September 4, 2026
Was this page helpful?

