---
title: "Generate"
method: POST
path: "/lowpoly/generate"
tags: ["lowpoly"]
---

# Generate

`POST /lowpoly/generate`

## Request

- Base URL: `https://api.retrodiffusion.ai/v2`
- URL: `https://api.retrodiffusion.ai/v2/lowpoly/generate`
- Auth: none declared. Required headers: `X-RD-Token`

Start building a 3D model from a prompt and/or reference images. Poll GET /lowpoly/tasks/{task_id}.

## Headers

- `Idempotency-Key` string
- `X-RD-Token` string, required

## Request body

- LowPolyGenerateInput
  - `prompt` string: What to build, up to 250 characters.
  - `style` string: A Low-Poly style id from GET /lowpoly/pricing (rd_lowpoly__detailed, rd_lowpoly__blocky, ...). Lite styles (tier 'lite') cost less and are built by a lighter model; the model keeps its style's tier for everything done to it later. Scene styles (tier 'scene': rd_lowpoly__scene_detailed, rd_lowpoly__scene_blocky) build a whole environment instead: modular tiles plus objects (size and reference_models do not apply).
  - `size` union: Cube size in texels (16, 32, 64, 128, 256) or 'auto'. Auto reads the prompt; requests with only reference images default to 64.
    - 'auto'
    - integer
  - `mode` 'auto' | 'quality' | 'fast': auto (default): chosen per request - quality, or fast for simple requests. Same price. Lite styles ignore it (their model always runs at one setting).
  - `reference_images` string[]: Up to 4 base64 images (PNG, JPEG or WEBP).
  - `reference_models` string[]: asset_ids of your own finished Low-Poly models to build into this one: each is placed exactly (same shapes and textures) where the prompt puts it, or adapted to fit. Images and models together: at most 4.
  - `input_palette` string: A palette image (base64 PNG, JPEG or WEBP, like input_palette on /inferences): the model is built with only its colors (up to 256; larger images are reduced). Revisions and animations keep the palette.
  - `custom_id` string: Idempotency key for retries.
  - `chunk_size` integer: Scenes: tile (grid cell) size in texels. Omit to pick one from the prompt.
  - `player_height` integer: Scenes: how tall a character is, in texels. Omit to pick one from the prompt.
  - `layer_height` integer: Scenes: height of one storey (stacked layer of tiles), in texels. Omit to pick one from the prompt.

## Response `202`

Successful Response

- LowPolyTaskAccepted
  - `status` string
  - `task_id` string, required
  - `request_id` string, required
  - `asset_id` string, required
  - `operation` string, required
  - `cost` number, required
  - `size` integer, required
  - `size_source` string
  - `message` string, required

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `405`: Method not allowed.
- `422`: Validation Error
- `500`: Internal Server Error

---

[API](https://skmtc.dev/retrodiffusion/apis/retrodiffusion-api.md) · [All operations](https://skmtc.dev/retrodiffusion/apis/retrodiffusion-api/llms.txt) · [OpenAPI document](https://skmtc.dev/retrodiffusion/apis/retrodiffusion-api/revisions/9c76250e8e2d?raw)
