Re-run synthesis for one pose without re-doing the other three.
Documentation Index
Fetch the complete documentation index at: https://docs.aurous-labs.com/llms.txt
Use this file to discover all available pages before exploring further.
POST /v1/characters/{id}/refs/regenerate re-runs the synthesize pipeline for one pose, leaving the other refs intact. Use it when three of the four synthesized refs look right but the fourth needs another try.
The endpoint returns 200 with the updated character resource (Stripe pattern — the resource exists and this is a state transition, not a new-resource creation). The character transitions to status: synthesizing while the new ref mints; poll GET /v1/characters/{id} until status returns to reviewing (then call POST /v1/characters/{id}/save) or ready.
This endpoint costs credits — one generation per call. Estimate cost via POST /v1/images/estimate on the equivalent prompt if you need a budget guardrail in your UI.
failed regen needs another attempt without touching other poses.POST /v1/characters/{id}/resynthesize instead.
| Field | Required | Description |
|---|---|---|
pose | yes | One of portrait, front, side, back, other. |
prompt_override | no | Forward-compat slot. Currently a no-op — the orchestrator does not honor it yet. Safe to omit. |
characters_synthesize — 6 requests/min sustained, 12 burst per team. Shared with synthesize-flow create and resynthesize.Idempotency-Key (any opaque value, 1–256 chars). Same key + same body within 24h replays the cached response. Same key + different body returns 409 idempotency_key_in_use. See Idempotency.Idempotency-Key — this endpoint dispatches a paid generation,
so a network retry without a key can double-charge.| Code | HTTP | When |
|---|---|---|
invalid_request_error | 400 | pose is not one of the canonical 5, or character is in a non-regen state. |
insufficient_credits | 402 | Team credits < the regen cost. |
resource_not_found | 404 | Unknown ID, soft-deleted character, or cross-team. |
idempotency_key_in_use | 409 | Same Idempotency-Key used with a different body, or previously used on a different route. |
rate_limit_exceeded | 429 | Burst > 12 or sustained > 6/min. |
portrait, front, side, back, other. Anything else is 400 invalid_request_error.synthesizing again. Polling resumes the same way as for fresh synthesis.ready is allowed and moves the character back to synthesizing — existing generations that already reference the old ref are unaffected; only future requests pick up the new pose.Your team API key (starts with al_live_).
Optional API version pin (YYYY-MM-DD). Defaults to your team's pinned version, or the system default 2026-05-15 for unauthenticated requests.
^\d{4}-\d{2}-\d{2}$"2026-05-15"
Stripe-style idempotency key (1-256 chars). Same key + same canonical-JSON body returns the cached response with Aurous-Idempotent-Replayed: true. Same key against a different route (e.g. previously used on /v1/images) returns 409 invalid_request / idempotency_key_in_use. Replay window is 24 hours. Absent header is treated as non-idempotent (each call processes anew).
Opaque character ID
"char_01HXMQ7Z3K8Y2NABCDEFGHJKMR"
Which pose to regenerate. Must be one of the canonical V1 poses: portrait (head/shoulders), front (full-body facing camera), side (full-body in profile), back (full-body away from camera), or other.
portrait, front, side, back, other "front"
Optional prompt override for this single pose. Falls back to the character.attributes-derived prompt when omitted.
"soft studio lighting, neutral background"
Regen dispatched
Opaque character ID.
"char_01HXMQ7Z3K8Y2NABCDEFGHJKMR"
Discriminator
character "character"
Display name.
"Aurora the Adventurer"
Lifecycle state. synthesizing: synthesize flow running. reviewing: synthesize completed, awaiting POST /:id/save. ready: usable on POST /v1/images. failed: synthesize failed; use POST /:id/resynthesize to retry. deleted: soft-deleted (filtered out of list endpoint).
synthesizing, reviewing, ready, failed, deleted "ready"
Reference images (typically 4 poses).
Creation timestamp (ISO 8601).
"2026-05-08T10:00:00Z"
Last-update timestamp (ISO 8601).
"2026-05-08T10:00:00Z"
Character attributes. Null when unset.
Error message when status is failed. Null otherwise.
null
API contract version applied at the time this row was minted (D25 — frozen for replay across future version bumps).
"2026-05-15"