Character
— pick a character (see the Characters tab to create one) —
Size
1024 x 1024
832 x 1216 (portrait)
1216 x 832 (landscape)
768 x 1024
1024 x 768
Generate
A character bundles everything needed for consistent generations: a LoRA, a base prompt + optional negative, weight, mode, steps, and CFG.
Its thumbnail is generated from the base prompt with exactly these settings so it looks the same as Generate → Character .
Open
Pony (native)
SDXL 1.0
Illustrious
NoobAI
Flux.1 D (wrong base)
All
Search
Current base: Pony Realism.
Pony Realism API
SDXL-based image generation. Three ways to call /generate: plain prompt, explicit per-request LoRAs, or the easy mode via named characters.
All endpoints require Bearer auth. Use Authorization: Bearer sk-..., or ?api_key=sk-... on GET endpoints where headers aren't available.
1. Plain prompt (no LoRA)
curl -X POST http://localhost:5004/generate \
-H 'Authorization: Bearer sk-...' \
-H 'Content-Type: application/json' \
-d '{"prompt":"score_9, 1girl, portrait","negative_prompt":"score_4","width":1024,"height":1024,"num_steps":25,"guidance_scale":5.5}' \
-o out.png
Field Type Default Notes
promptstring required Use Pony score_X tags for quality
negative_promptstring "" What to avoid
fastbool false Enables SDXL Lightning (8 steps, CFG 1.5)
num_stepsint 25 (quality) / 8 (fast) 1–100
guidance_scalefloat 5.5 (quality) / 1.5 (fast) 0–20
width / heightint 1024 / 1024 256–2048, snap to 8
seedint random Reproducibility
2. Explicit LoRAs
curl -X POST http://localhost:5004/generate \
-H 'Authorization: Bearer sk-...' \
-H 'Content-Type: application/json' \
-d '{
"prompt":"score_9, 1girl, red hair, portrait",
"loras":[{"name":"my-lora","weight":0.9}]
}' \
-o out.png
Endpoint Purpose
GET /lorasList loaded adapters
POST /lorasUpload .safetensors
PATCH /loras/<name>Set weight / saved_weight / saved_steps / prompt
DELETE /loras/<name>Remove adapter + file + thumbnails
3. Characters (easy mode)
A character bundles a LoRA + base prompt + weight + steps under one name. Call /generate with just character and optional extra prompt.
curl -X POST http://localhost:5004/generate \
-H 'Authorization: Bearer sk-...' \
-H 'Content-Type: application/json' \
-d '{"character":"julie","prompt":"on a beach, golden hour"}' \
-o out.png
Managing characters
Endpoint Body / purpose
GET /charactersList all characters
POST /characters{name, lora, base_prompt, negative_prompt?, weight?, steps?}
PATCH /characters/<name>Any subset of the above (except name/lora)
DELETE /characters/<name>Delete + cleanup thumbnail
POST /characters/<name>/thumbnailRender thumbnail from base prompt alone
GET /characters/<name>/thumbnailServe PNG
CivitAI
Endpoint Purpose
GET /civitai/search?q=&base=PonySearch LoRAs
GET /civitai/model/<id>All versions + samples
POST /civitai/import{model_version_id, force?}
Health
curl http://localhost:5004/health