---
title: "Models - build a Dragon Cup"
method: POST
path: "/api/v1/models/dragon-cup"
tags: ["Models - Dragon Cup"]
---

# Models - build a Dragon Cup

`POST /api/v1/models/dragon-cup`

Parametric dragon-scale textured cup with twisted lofted body, voronoi-like skin cells, and configurable shell thickness. All parameters are optional - defaults produce a ready-to-print model.

## Request body

- DragonCupBody — Request body for the Dragon Cup model
  - `params` DragonCupParams — Dragon Cup model parameters - all optional, sane defaults apply
    - `height` number — Total cup height (cm)
    - `radiusBottom` number — Radius at the base (cm)
    - `radiusTopOffset` number — How much the top radius differs from bottom
    - `radiusMidOffset` number — Mid-section radius offset
    - `rotationTopAngle` number — Top twist angle (degrees)
    - `rotationMidAngle` number — Mid twist angle (degrees)
    - `nrSkinCellsVertical` integer — Vertical skin cell count
    - `nrSkinCellsHorizontal` integer — Horizontal skin cell count
    - `nrSkinCellDivisionsTop` integer — Subdivisions at top of each cell
    - `nrSkinCellDivisionsBottom` integer — Subdivisions at bottom of each cell
    - `skinCellOuterHeight` number — Outer cell extrusion height
    - `skinCellInnerHeight` number — Inner cell extrusion height
    - `skinCellBottomHeight` number — Bottom cell height
    - `skinCellTopHeight` number — Top cell height
    - `thickness` number — Shell wall thickness
    - `bottomThickness` number — Bottom plate thickness
    - `precision` number — Mesh tessellation precision (lower = finer). Range: [0.0001, 10]
    - `rotation` number — Final rotation angle (degrees)
    - `scale` number — Uniform scale factor. Range: [1e-6, 1000]
    - `origin` unknown[] — 3D point as [x, y, z] tuple, each coordinate in [-1000, 1000]
      - unknown
    - `direction` unknown[] — 3D point as [x, y, z] tuple, each coordinate in [-1000, 1000]
      - unknown
  - `outputs` OutputOptions, required — Controls which output formats are generated and their quality settings
    - `formats` OutputFormat[], required — Output formats to generate. Multiple formats can be requested (e.g. ['gltf', 'stpz']) - each produces a separate downloadable result. Do not include both 'step' and 'stpz' - only one STEP variant is supported per request.
    - `meshPrecision` number — Mesh tessellation precision (lower = finer). Range: [0.0001, 10]
    - `gltfMeshPrecision` number — Mesh tessellation precision (lower = finer). Range: [0.0001, 10]
    - `adjustYtoZ` boolean — Convert from Y-up to Z-up coordinate system in the output. Useful for software that expects Z-up.

## Response `202`

Task accepted

- TaskAcceptedResponse — HTTP 202 response when a task is accepted for async processing
  - `ok` true, required
  - `data` TaskCreatedResult, required — Returned when a CAD task is accepted. Poll the statusUrl to track progress.
    - `taskId` string, uuid, required — Unique task identifier - use this to poll for status and retrieve results
    - `status` 'queued', required — Initial task status (always 'queued' upon creation)
    - `statusUrl` string, required — Relative URL to poll for task status updates

## Other responses

- `400` — Validation error
- `500` — Server error

---

[API](https://skmtc.dev/bitbybit-dev/apis/bitbybit-cad-cloud-api.md) · [All operations](https://skmtc.dev/bitbybit-dev/apis/bitbybit-cad-cloud-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/bitbybit-dev/bitbybit-cad-cloud-api/revisions/1135d4473bc2/schema)
