Revise an asset
revise_assetPAID. Generate a new revision of an asset from feedback text. The previous revision is kept — revisions are additive, never destructive. Terrain assets also accept templateId to pull a whole category pack (edges / grounds / props / slopes / textures / structures). Passing sourceItemIndex uses that extracted item as the visual source for a complete new related collection: the source stays untouched and every output is a separate new asset listed in get_job.assetIds. The default dry run returns the exact semantic revision plan and planToken; show the preview to the user, then resend the unchanged request with that token. DEFAULTS TO A PLAN + COST PREVIEW — see dryRun. Returns { jobId } — poll get_job.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| 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 | No | What to change. Required unless templateId is given (terrain). | |
| assetId | Yes | Asset id or slug. | |
| planToken | No | REQUIRED when dryRun=false. Copy unchanged from the immediately preceding dry-run response. | |
| imageModel | No | Override the image model. | |
| templateId | No | Terrain only — generate a focused category pack. | |
| textureKind | No | Texture only — 4-way seamless fill, or a directional left-right strip. Defaults to the asset's existing kind. | |
| 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. | |
| sourceItemIndex | No | Collection item to seed a related collection. Preserves the source and creates one new asset per output. | |
| sourceIterationId | No | Revise from a specific earlier revision instead of the current one. |