Create Character
Save a reusable identity from your own generated images, to get the same person again across images, edits and video.
A character is built only from images your account generated (the same provenance rule as every input), so a real photograph can never become one. Creation renders one neutral reference sheet and a short text descriptor; both are stored as ordinary assets in your library.
Billed as one spicy-image-edit-1 image. There is no limit on how many characters an account keeps. Pass the returned id as character to /v1/images/generations, /v1/images/edits or /v1/videos/generations.
Moving your own platform's existing AI-generated characters to SpicyAPI? Registered businesses can apply for POST /v1/characters/import in the dashboard under Settings, Character import: https://www.spicyapi.com/dashboard/import.
curl --request POST \
--url https://api.spicyapi.com/v1/characters \
--header 'Authorization: Bearer $SPICYAPI_KEY' \
--header 'Content-Type: application/json' \
--data '{
"name": "Mara",
"image_urls": ["https://cdn.spicyapi.com/outputs/…/sj_2f1c…-0.png"]
}'{
"id": "chr_9f2a1c3b7d4e5a60",
"object": "character",
"name": "Mara",
"sheet_url": "https://cdn.spicyapi.com/outputs/a1b2/chr_9f2a1c3b7d4e5a60.png",
"source_urls": ["https://cdn.spicyapi.com/outputs/a1b2/sj_2f1c…-0.png"],
"description": "Adult woman in her late 20s, oval face, deep-set pale blue eyes, straight narrow nose, full lips, long straight ash-blonde hair parted in the centre, fair skin, slim build.",
"imported": false,
"status": "active",
"created": 1758553200
}Body
application/jsonA label, up to 60 characters.
1 to 3 generated images of the same person, all from your account (GET /v1/images). More angles give a steadier identity.
Response
201 · application/jsonCharacter
Character id, chr_....
The label you gave.
The rendered reference sheet (also listed in GET /v1/images once the character is active). null while the character is under_review.
The images it was built from. Empty while the character is under_review.
Text descriptor of the person, appended to prompts that use the character.
true for a character brought in with POST /v1/characters/import.
active, or under_review for an import a person has to approve first. Using an under_review character returns 409.
Unix timestamp.
Was this page helpful?