> ## Documentation Index
> Fetch the complete documentation index at: https://docs.famulor.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Avatares de IA personalizados

> Crea avatares privados a partir de una foto o de tu cámara web.

En el editor del widget, elige **Avatar → Elegir avatar → Mis avatares → Crear avatar personalizado**. Introduce un nombre y sube una foto o usa la cámara web.

Usa una imagen cuadrada nítida JPEG, PNG o WebP de hasta **4,5 MB**, idealmente de al menos **1152 × 1152** píxeles, con espacio alrededor de la cabeza y los hombros. Confirma tus derechos y el permiso para usarla.

La creación tiene un **precio único en créditos**, visible antes de confirmar. Los créditos se reservan durante el proceso y se cobran una vez tras completarse. Los fallos confirmados liberan la reserva. Un resultado incierto sigue en proceso mientras se comprueba; reutiliza el mismo identificador en lugar de iniciar otra creación de pago. Si no se confirma ningún resultado en 24 horas, se libera la reserva y se elimina cualquier resultado tardío. No hay costes recurrentes de almacenamiento. El uso en directo se factura por separado.

Si faltan créditos, se intenta la regla guardada y activada de recarga automática con sus condiciones actuales. De lo contrario, elige **Añadir créditos**, actualiza el saldo y vuelve a intentarlo. La recarga debe haberse abonado al espacio de trabajo.

Los avatares personalizados pertenecen al espacio de trabajo activo y puede usarlos su equipo. Otros espacios no pueden verlos ni seleccionarlos. Los avatares estándar siguen compartidos. Cuando esté listo, selecciona el avatar en **Mis avatares**. Antes de eliminarlo, elige otro avatar en todos los widgets que lo usen. Los créditos de creación no se reembolsan.

## API, MCP, CLI y SDK

REST: `GET /api/v1/avatars/capability`, `POST /api/v1/avatars/uploads`, `POST /api/v1/avatars`, `GET /api/v1/avatars`, `GET /api/v1/avatars/{id}`, `DELETE /api/v1/avatars/{id}`, `GET /api/v1/avatars/catalog`.

MCP: `get_avatar_capability`, `create_avatar_upload`, `submit_avatar`, `list_avatars`, `get_avatar`, `delete_avatar`, `list_avatar_catalog`.

```bash theme={null}
famulor get-avatar-capability
famulor create-avatar-upload --name "My avatar" --style custom \
  --content-type image/jpeg --size-bytes 123456
# Upload the photo to the returned upload_url before submitting.
famulor submit-avatar --id <prepared-id> --consent true --expected-credits <quoted-price>
famulor get-avatar <prepared-id>
famulor list-avatars
famulor list-avatar-catalog --style realistic
famulor delete-avatar <avatar-id>
```

```typescript theme={null}
import { Famulor } from "famulor-sdk";
import { readFile } from "node:fs/promises";
const photo = new Blob([new Uint8Array(await readFile("photo.jpg"))], { type: "image/jpeg" });
const client = new Famulor({ apiKey: process.env.FAMULOR_API_KEY! });
const quote = await client.avatars.capability();
const upload = await client.avatars.prepareUpload({
  name: "My avatar", style: "custom",
  content_type: "image/jpeg", size_bytes: photo.size,
});
const form = new FormData();
form.append("", photo, "photo.jpg");
form.append("cacheControl", "0");
const uploaded = await fetch(upload.data.upload_url, {
  method: "PUT", headers: { "x-upsert": "false" }, body: form,
});
if (!uploaded.ok) throw new Error("Photo upload failed");
const avatar = await client.avatars.submit({
  id: upload.data.id, consent: true,
  expected_credits: quote.data.creation_credits,
});
const status = await client.avatars.get(avatar.data.id);
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.