## Estimate Cost

`$ boltz-api predictions:structure-and-binding estimate-cost`

**post** `/compute/v1/predictions/structure-and-binding/estimate-cost`

Estimate the cost of a prediction without creating any resource or consuming GPU.

### Parameters

- `--input: object { entities, binding, bonds, 3 more }`

- `--model: "boltz-2.1"`

  Model to use for prediction

- `--idempotency-key: optional string`

  Client-provided key to prevent duplicate submissions on retries

- `--workspace-id: optional string`

  Target workspace ID (admin keys only; ignored for workspace keys)

### Returns

- `PredictionStructureAndBindingEstimateCostResponse: object { breakdown, disclaimer, estimated_cost_usd }`

  Estimate response with monetary values encoded as decimal strings to preserve precision.

  - `breakdown: object { application, cost_per_unit_usd, num_units }`

    Cost breakdown for the billed application.

    - `application: "structure_and_binding" or "small_molecule_design" or "small_molecule_library_screen" or 3 more`

      - `"structure_and_binding"`

      - `"small_molecule_design"`

      - `"small_molecule_library_screen"`

      - `"protein_design"`

      - `"protein_library_screen"`

      - `"adme"`

    - `cost_per_unit_usd: string`

      Estimated cost per displayed unit as a decimal string, rounded up to 4 decimal places. This may include token-size multipliers or generation overhead; estimated_cost_usd is the authoritative total.

    - `num_units: number`

      Number of units shown for the estimate. For structure-and-binding, this is the requested number of samples. For protein and small-molecule design/screen endpoints, this is the requested number of proteins or molecules.

  - `disclaimer: string`

  - `estimated_cost_usd: string`

    Estimated total cost as a decimal string

### Example

```cli
boltz-api predictions:structure-and-binding estimate-cost \
  --input '{entities: [{chain_ids: [string], type: protein, value: value, cyclic: true, modifications: [{residue_index: 0, type: ccd, value: value}]}], binding: {binder_chain_id: binder_chain_id, type: ligand_protein_binding}, bonds: [{atom1: {atom_name: atom_name, chain_id: chain_id, type: ligand_atom}, atom2: {atom_name: atom_name, chain_id: chain_id, type: ligand_atom}}], constraints: [{binder_chain_id: binder_chain_id, contact_residues: {A: [42, 43, 44, 67, 68, 69]}, max_distance_angstrom: 0, type: pocket, force: true}], model_options: {recycling_steps: 1, sampling_steps: 1, step_scale: 1.3}, num_samples: 1}' \
  --model boltz-2.1
```
