Create a character
create_characterPAID (~150 credits). Generate a NEW character from a text prompt. This is the entry point for building art from nothing — call create_project first if the user has no project. IMAGE ONLY: it produces the character still, not animations. Animation is a separate explicit step (generate_character_animation for a walk cycle, generate_character_turn for the 360 rotation), because animating costs several times more and the user should choose it. SET gridRows:2 AND gridCols:2 TO REQUEST FOUR DESIGN VARIATIONS FOR THE SAME PRICE — one image call is split by complete character silhouettes, not fixed quadrants. Four is the expected count; if the provider renders additional clearly separated full characters, they are preserved as additional results. Show the user every result and let them pick. Returns { jobId, expectedCharacterCount } — poll get_job; on status:"done" its characterIds and characterPreviews tell you which characters exist and what they look like. gameType defaults from the project but can be overridden for this character. Use topdown for the Top-Down Angled character pipeline, including characters intended for isometric projects. Passing isometric is accepted as an alias and creates a topdown character because that is the measured working directional pipeline. The STORED CHARACTER gameType — not the project gameType — controls every later animation and whether a user-facing 360 turn is available. A topdown character inside a platformer project therefore keeps the top-down directional pipeline and supports generate_character_turn. DEFAULTS TO A COST PREVIEW — see the dryRun argument.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| style | No | Art-style override. Omit to inherit the project's style — usually correct, since a project should look consistent. | |
| dryRun | No | DEFAULTS TO TRUE. While true this returns only a cost quote ({ estimatedCredits, balance, spendCapDaily, spentLast24h, capRemaining }) and executes nothing. Show the user estimatedCredits and get an explicit yes for that amount, THEN re-call with dryRun:false to actually spend. | |
| prompt | Yes | What the character is, e.g. "a plague doctor with a lantern". Describe the subject, not the art style. | |
| gameType | No | Character perspective override. Omit to inherit the project. Use topdown for Top-Down Angled and isometric projects; isometric is mapped to topdown. The stored value controls later animation behavior and 360-turn eligibility. | |
| gridCols | No | Set to 2 together with gridRows:2 to request 4 variations; cuts follow complete silhouettes, not quadrants. | |
| gridRows | No | Set to 2 together with gridCols:2 to request 4 variations for the cost of one image. Logical extraction may preserve additional full characters. | |
| projectId | Yes | REQUIRED. The project the character belongs to — it supplies the default gameType and style. | |
| imageModel | No | Override the image model. Omit unless the user asked for a specific one. | |
| cameraAngle | No | Camera elevation in degrees — only meaningful for angled top-down projects. | |
| idempotencyKey | No | Optional Idempotency-Key for the real (dryRun:false) call. Omit and one is minted per call. Reuse the SAME value when retrying a call that failed with ENTITY_BUSY / 402 / 429 so the retry cannot double-dispatch. | |
| characterImageSize | No | Aspect ratio of the generated image. Omit for the game-type default. | |
| referenceAssetUrls | No | URLs of existing images to steer the design. URLs only — base64 is rejected by the API. |