Create Character
isPublic: false) and are scoped to the same API key owner.
Request body
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Character name (1-60 chars) |
description | string | No | Optional character description (max 300 chars) |
images | array<string> | Yes (JSON) | 1-10 HTTP(S) image URLs |
images or images[] | file | Yes (multipart) | 1-10 local image files |
multipart/form-datalocal file uploads (imagesorimages[])- JSON HTTP(S) image URLs (
images)
- Base64 / data URI values
- Direct S3 keys
JSON request (image URLs)
Multipart request (local uploads)
Response
201 Created
Response fields
Character object
| Field | Type | Description |
|---|---|---|
id | string | Unique character identifier |
name | string | Character name |
description | string or null | Character description |
created_at | number | Unix timestamp in milliseconds |
Errors
| Status | Error | When |
|---|---|---|
| 400 | validation_error | Missing/invalid name, unsupported image source, or image count out of range |
| 401 | unauthorized | Missing or invalid API key |
| 403 | forbidden | API key lacks templates:read scope |
| 500 | server_error | Unexpected server error while creating character |

