# Job parameters

`Client.run()`, job files and `POST /v1/jobs` all take the same fields.

| Parameter | Type | Default | Reference |
| --- | --- | --- | --- |
| `name` | string | `"job"` | Label shown in the console |
| `image` | string | required | [Image and command](/docs/parameters/image-and-command/) |
| `command` | string or list | required | [Image and command](/docs/parameters/image-and-command/) |
| `min_vram` | integer, GB | `16` | [GPU and memory](/docs/parameters/gpu/) |
| `gpu` | string | any | [GPU and memory](/docs/parameters/gpu/) |
| `gpu_count` | integer, 1–8 | `1` | [GPU and memory](/docs/parameters/gpu/) |
| `work_units` | number, A100-hours | `4` | [GPU and memory](/docs/parameters/gpu/) |
| `budget` | number, dollars | required in Python | [Budget](/docs/parameters/budget/) |
| `max_price_hr` | number, dollars | none | [Budget](/docs/parameters/budget/) |
| `allow_spot` | boolean | `true` | [Recovery](/docs/parameters/recovery/) |
| `checkpoint_every` | number, hours | `0.25` | [Recovery](/docs/parameters/recovery/) |

Unknown Python keywords raise `TypeError` before anything is sent. The HTTP API
returns `422` for invalid values.
