Redraw one cast member's portrait
regenerate_cast_portraitRedraws ONE cast member's portrait (the same character, a new image) and attaches it to that member: ONE image generation, not a new cast. WHEN: the user dislikes a member's face, or a portrait FAILED (the story create refuses a cast with a failed portrait and names this). character_id is the member's id from generate_cast_portraits or list_characters (kind cast_member). It draws the SAME character from its stored look: for a CHANGED character (smaller, older, a different thing) use describe_cast_member; never re-draft the whole cast to change one member. THE CARD: this call already put the aicut cast card up, each portrait filling in as it generates: do not poll or call show_generation (one get_image read of portrait_image_id if asked). No card (a terminal)? Poll each generating member's portrait_image_id with wait_for_generation (media image) and give the urls. AFTER: returns portrait_image_id with portrait_status: "generating"; the old portrait stays in the account's images. Each repeat is one more portrait's price, stated every time. COST: one standard image at image_model (or the platform default portrait model), NOT necessarily the rate the draft published (the library does not record which model drew a face); estimate_only: true gives the exact number. THE GO THIS ONE NEEDS: one redraw, one named member, one priced ask: a complaint ('the husband looks wrong') is a reason to OFFER it with its price, never a go; never redraw more members than named. SPENDS TOKENS: price with estimate_only: true, ask in the SAME message as the price, and wait for a go that names THIS purchase (SPENDING RULES, this server's instructions). IDEMPOTENCY: a reused idempotency_key REPLAYS the first job whatever the settings: never reuse one for a new generation (this server's instructions).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| image_model | No | Image model: the member's OWN `image_model` from `generate_cast_portraits` (matches the cast and its price). Omitted, the platform default portrait model is used: maybe a different look and price. | |
| character_id | Yes | The cast member's library id: `id` on a `generate_cast_portraits` member or on a `list_characters` entry of kind `cast_member`. | |
| estimate_only | No | Price only; creates nothing. | |
| idempotency_key | No | Retry-safety key (IDEMPOTENCY). |