---
title: "Models - generate a batch"
method: POST
path: "/api/v1/models/{modelName}/batch"
tags: ["Models"]
---

# Models - generate a batch

`POST /api/v1/models/{modelName}/batch`

Creates a compound task with one sub-task per item. Each item can have different parameters but shares the same output config.

## Path parameters

- `modelName` string, required

## Request body

- BatchModelSubmissionBody — Submit multiple parameter variations of the same model for parallel generation
  - `items` object[], required — Array of parameter variations. Each item produces a separate output with the same model.
    - `params` object
  - `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`

Compound task accepted

- CompoundTaskAcceptedResponse — HTTP 202 response when a compound (parallel) task is accepted
  - `ok` true, required
  - `data` CompoundTaskCreatedResult, required — Returned when a compound (parallel) task is accepted. Contains initial status for all sub-tasks.
    - `taskId` string, required — Parent compound task ID for tracking overall progress
    - `kind` 'compound', required
    - `subTaskCount` integer, required — Total number of sub-tasks created (one per item in the request)
    - `statusUrl` string, required — Relative URL to poll the parent task status
    - `subTasks` SubTaskSummary[], required
      - `taskId` string, required — Unique identifier for this sub-task (can be polled individually)
      - `index` integer, required — Zero-based position of this sub-task within the compound
      - `status` 'waiting' | 'queued' | 'processing' | 'completed' | 'failed' | 'cancelled' | 'expired', required — Task lifecycle state: waiting (pending dependencies), queued (in queue), processing (actively computing), completed (result available), failed (error occurred), cancelled (user-cancelled), expired (result TTL exceeded)
      - `progress` number, nullable, required — Completion percentage (0–100) or null if not yet started
      - `computeMs` number, nullable, required — Actual compute time in milliseconds (null until completed)
      - `error` string, nullable, required — Error message if sub-task failed, null otherwise
      - `downloadFormats` string[], required — Available output format keys (e.g. ['glb', 'stpz']) for downloading results

## Other responses

- `400` — Validation error
- `404` — Not found
- `500` — Server error

## Changes

- **2026-05-04** `43c3bc84d7c1` — 2 info
  - the `outputs/gltfMeshPrecision` request property's min was decreased from `0.01` to `0.00`
  - the `outputs/meshPrecision` request property's min was decreased from `0.01` to `0.00`
- **2026-04-30** `bef883f8a334` — 4 breaking, 16 info
  - added 'propertyNames' constraint to the request property `items/items/params`
  - response property `data/subTasks/items/computeMs` list-of-types was widened by adding types `null` to media type `application/json` of response `202`
  - response property `data/subTasks/items/error` list-of-types was widened by adding types `null` to media type `application/json` of response `202`
  - response property `data/subTasks/items/progress` list-of-types was widened by adding types `null` to media type `application/json` of response `202`
  - …16 more
- **2026-04-19** `ae5bcbb6f626` — 1 info
  - endpoint added
- **2026-04-17** `5eb4ed0f33c7` — 1 breaking
  - api path removed without deprecation

[Change history](https://skmtc.dev/bitbybit-dev/apis/bitbybit-cad-cloud-api/changes/api/v1/models/:modelName/batch/post.md)

---

[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)
