Characters

Add Character View

Add one of your own images of this person from another angle (from behind, a pose, a close-up), so the body stays the same in every shot.

The character's sheet shows the face and upper body; anything it does not show is drawn anew each time. A view fills that in: an image of the same person from your account (GET /v1/images), with a label saying what it shows, for example close-up of her buttocks from behind or close-up between her legs. Pick views you are happy with: marks, proportions and anatomy are kept as they appear in them.

Close-ups of one body area work best (the buttocks with their moles, the intimate area from the front or from behind). A full-body view keeps the body too but pulls the pose and framing toward its own: a standing view turned a face-down prompt into a standing shot in our tests, where a close-up of the same body kept the prompt's pose.

Requests with the character then send the views that fit the prompt after the sheet (up to 2, picked from the labels; views on the request chooses them yourself), and the model keeps that body: the same proportions, skin, moles, freckles and intimate anatomy, with the pose, angle, clothing and setting from the prompt. character_views in the response lists the views sent.

Free. Up to 8 views per character; adding the same image again returns the character unchanged. The label is screened like a prompt.

POST/v1/characters/{id}/viewsTry it
Add Character View
cURL
curl --request POST \
  --url https://api.spicyapi.com/v1/characters/chr_9f2a1c3b7d4e5a60/views \
  --header 'Authorization: Bearer $SPICYAPI_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
    "image_url": "https://cdn.spicyapi.com/outputs/…/sj_7c2e…-0.png",
    "label": "close-up of her buttocks from behind"
  }'
201
JSON
{
  "id": "chr_9f2a1c3b7d4e5a60",
  "object": "character",
  "name": "Mara",
  "sheet_url": "https://cdn.spicyapi.com/outputs/a1b2/chr_9f2a1c3b7d4e5a60.png",
  "views": [
    { "id": "cv_3b1f9a20c4d7", "label": "close-up of her buttocks from behind", "url": "https://cdn.spicyapi.com/outputs/a1b2/sj_7c2e…-0.png" }
  ],
  "status": "active",
  "created": 1758553200
}

Authorizations

Authorizationstringheaderrequired

Bearer authentication header of the form Bearer <token>, where <token> is your SpicyAPI key (sk-spicy-…). Create one in the dashboard under API Keys.

Body

application/json
image_urlstringrequired

One of your own generated images of this person (GET /v1/images).

labelstringrequired

What the image shows, 1 to 80 characters: the area and the angle, e.g. close-up of her buttocks from behind.

Response

201 · application/json

Character

idstringrequired

Character id, chr_....

namestringrequired

The label you gave.

sheet_urlstring | nullrequired

The rendered reference sheet (also listed in GET /v1/images once the character is active). null while the character is under_review.

source_urlsstring[]required

The images it was built from. Empty while the character is under_review.

descriptionstringrequired

Text descriptor of the person, appended to prompts that use the character.

importedbooleanrequired

true for a character brought in with POST /v1/characters/import.

viewsobject[]required

Body views (id, label, url): your own images of this person from other angles, added with POST /v1/characters/{id}/views. Empty while under_review.

statusstringrequired

active, or under_review for an import a person has to approve first. Using an under_review character returns 409.

createdinteger | null

Unix timestamp.

Was this page helpful?