Pricing per lane
Work in a batch is grouped into lanes. Deterministic lanes are free. Generated lanes either have a price below or have none yet. This page lists only what the API reports.
Credits, and what they are not
Prices are in credits. The API publishes no conversion between credits and money: GET /pricing returns cashConversion: null. In this version, credits held and settled by a batch are counted against the key's caps and the project budget (see Plans and limits). Free lanes cost nothing. A model job is charged to your account's credits like a build in Create: 15 credits from your balance, refunded if the build fails (see the native model lane).
When you submit a priced quote, its credits are held. When the batch ends, the credits of files that were delivered stay spent and the rest is released: files that failed, were canceled, were skipped or never ran are not charged. Automatic fix attempts for a generated file add no credits. A free quote holds nothing.
Free lanes
| Lane | Price | What it does |
|---|---|---|
copy | 0 credits | Copy a file you supplied as an input. |
emit | 0 credits | Write a JSON or language file from the content in the manifest. |
derive | 0 credits | Rule based edits of supplied files, such as a crop, a palette swap or a recolour. |
gui_frame | 0 credits | Render a Minecraft GUI frame PNG from a template in your manifest. |
armor_template | 0 credits | Render a Minecraft armor template PNG from a template in your manifest. |
minecraft_export | 0 credits | Deterministic Minecraft exports from native art you upload. |
hytale_export | 0 credits | The derive rule that exports Hytale files. |
hytale_particle | 0 credits |
Free means the quote shows 0 credits for the file. It does not mean the file is always delivered: a file can still fail a check, and a server can switch a lane off. laneStates in GET /pricing says which lanes are on.
Lanes with no price
These lanes are in the price list with a price of null and the status unpriced. A quote that contains unpriced work lists it under unpricedUnits. Unpriced generation does not run: the file is reported as unsupported, and with allowPartial set to false the whole plan is refused with 422 partial_plan_refused.
| Lane | Price | Note |
|---|---|---|
sprite_set | none | |
sprite_touchup | none | |
armor_generated | none | |
gui_styled | none | |
model_generated | none | Generated 3D models. A native model lane has a price of its own, below. |
sound | none |
The native model lane
A model job makes one .blockymodel and its PNG texture and is priced as one job: 15 credits per model job. It is built by the same builders as a model made in Create and charged the same way: the credits come from your account's balance when the job starts and go back to it if the build fails. The price is reported in remoteLanePrices.model_native in GET /pricing.
| Limit | Value |
|---|---|
| Whole prompt | 10,000 characters |
| Rendered style guide | 4,000 characters |
| Asset describe | 3,000 characters |
| Model jobs running in parallel in one batch | 5 |
Over a limit, the file is reported as unsupported at quote time with model_brief_too_long. Text is never cut to fit. Whether the lane is on is a server setting: read laneStates.model_native in GET /pricing. When it is off, a model file is reported as unsupported with generation_lane_not_enabled.
A model job that fails is retried automatically up to 2 times with a new seed where automatic fixes are on, and retries add no credits. See the failure reasons on Errors.
Where to read prices from the API
POST /projects/{slug}/batches/quoteprices your actual manifest:totalCredits, a price per file, and the caps that would bind.GET /pricingreturns the lane list, lane states, the model job price and your limits. It needs thebatches:quotescope.GET /batches/{batchId}/receiptreturns credits held, settled and the measured compute behind each file after the batch ran. A price that is not known isnull.