# API reference

Every public method, with its request fields, responses and examples.

Choose a method below for its parameters, request examples and response fields. This reference is generated from Fusara's published OpenAPI contract, rather than a separately maintained list of API fields.

**Base URL:** `https://fusara.ai/api/v3`

Most methods require an [API key](/api/authentication). Model discovery and settings-only price estimates are public. Examples use cURL, server-side JavaScript or Python; no Fusara SDK is required.

## Model-specific requests

Generation inputs vary by model. The shared run request describes the common fields; each model's `request_schema` defines its required inputs, additional settings, defaults and conditional rules. Use [the model playground](/api/models) or **Get a model** to inspect those details and copy a complete request.

Treat public model IDs as opaque selectors, including any version segment after a slash. Playground pages group versions under one model profile; the `model` value sent to the API still identifies the selected variant.

## Read conditional defaults

[Get a model](/api/reference/get-model) includes a complete example response for `GET /models/qwen-image21-create`. Its `request_schema.properties` describes the ordinary defaults; `allOf` contains conditional `if` / `then` branches.

In that example, omitting `quality` selects `pro`, with 25 steps. Sending `"quality": "fast"` and omitting `steps` selects 6 steps; `ultra` selects 40. An explicitly supplied, supported `steps` value is retained. The public API field is `steps`.

Send the settings you want to choose and let Fusara resolve omitted defaults. Do not copy every top-level default into a request before applying a quality preset: that would turn a default into an explicit override. A JSON Schema validator checks your request; it does not necessarily insert defaults. The API and Workspace resolve presets through the same mechanism.

Defaults and allowed values belong to the selected model and catalog revision. Read its current schema when changing models or building a form; do not reuse Qwen's presets for other models. Use `include=presentation` when you also need the Workspace's controls and profile rules.

## Formats and conventions

- Request and response bodies are JSON. Send `Content-Type: application/json` when there is a body.
- Run and media IDs are numbers. Cost amounts are decimal strings in `common_fuz`.
- An optional field can be absent. Do not assume every absent field is returned as `null`.
- Unknown parameters are rejected. Supply each query parameter once; JSON body methods do not accept query parameters.
- Errors use an `error` object. A successful run read can contain a failed generation; inspect the run's `status`.
- Share the [OpenAPI schema](/api/v3/openapi.json) with an assistant or use it for code generation and tooling. Each guide and reference method also has a **Markdown** link for its instructions and examples.

Start with the [Quickstart](/api) if you want a working generation flow before exploring individual methods.

## Methods

- [Estimate a run](https://fusara.ai/api/reference/estimate-run/README.md): POST /run/estimate
- [Create a run](https://fusara.ai/api/reference/create-run/README.md): POST /run
- [List runs](https://fusara.ai/api/reference/list-runs/README.md): GET /run
- [Get a run](https://fusara.ai/api/reference/get-run/README.md): GET /run/{id}
- [Cancel a run](https://fusara.ai/api/reference/cancel-run/README.md): POST /run/{id}/cancel
- [List models](https://fusara.ai/api/reference/get-models/README.md): GET /models
- [Get a model](https://fusara.ai/api/reference/get-model/README.md): GET /models/{model}
- [Import media](https://fusara.ai/api/reference/import-media/README.md): POST /media
- [Get balance](https://fusara.ai/api/reference/get-balance/README.md): GET /balance
