Console
Documentation menu

Reference

Configuration reference

Every field of clockingcloud.yaml, with types, defaults, validation rules and a complete example.

The file

An instance is defined in a YAML file named clockingcloud.yaml. Pass another path with -f. Unknown keys are rejected with exit code 2 so typos never silently change behavior. Run clockingcloud plan to validate.

Complete example

clockingcloud.yaml
name: product-shots
model: z-image-turbo
gpu: auto
gpus: 1

scale:
  min: 0
  max: 8
idle_timeout: 60s

setup:
  - pip install -r requirements.txt
  - python warm_cache.py

env:
  LOG_LEVEL: info
  WEBHOOK_TOKEN: ${secrets.WEBHOOK_TOKEN}

volumes:
  - name: assets
    mount: /data
    mode: ro
  - name: renders
    mount: /out

Top-level fields

FieldTypeDefaultDescription
namestringrequired2 to 39 lowercase letters, numbers or dashes. Unique within your account. Cannot be changed after creation.
modelstringrequiredA model ID from the model catalog, hf://org/model, or a path to a local model directory.
gpuenumautoOne of auto, l40s, h100, h200, b200. auto picks the smallest GPU that fits the model.
gpusinteger1GPUs per replica: 1, 2, 4 or 8. Multi-GPU is used for sequence-parallel video models.
scaleobjectmin 0, max 1Replica bounds. See below.
idle_timeoutduration60sRelease a replica after this long without work. Minimum 10s, maximum 24h.
setuplist of stringsnoneShell commands run in order when a replica starts, before it accepts requests. A non-zero exit fails the start and releases the GPU.
envmapnoneEnvironment variables. Values may reference secrets as ${secrets.NAME}.
volumeslistnoneVolumes to mount. See below.

scale

FieldTypeDefaultDescription
scale.mininteger0Minimum replicas. 0 means no GPU runs while idle. 1 or more keeps that many replicas warm and billed.
scale.maxinteger1Maximum replicas. Must be greater than or equal to min. Bounds your worst-case spend rate.

volumes

FieldTypeDefaultDescription
volumes[].namestringrequiredName of an existing volume (see clockingcloud volume ls).
volumes[].mountpathrequiredAbsolute path inside the replica. Must not be /, /proc, /sys or /dev.
volumes[].modeenumrwro for read-only, rw for read-write.
volumes[].pathstringvolume rootSub-path inside the volume to mount.

Accepted aliases

These older spellings are accepted and rewritten on read, so examples from earlier material keep working. New files should use the canonical form.

You may writeCanonical
storage:volumes:
- volume: global://renders- name: renders
source: s3://bucketconnect with clockingcloud volume connect s3://bucket --name assets, then name: assets

Value formats

TypeFormatExamples
durationInteger followed by s, m, h or d30s, 5m, 1h, 30d
urivol://, s3://, azure://, gs://, hf://vol://outputs/brand-lora
secret reference${secrets.NAME}${secrets.WEBHOOK_TOKEN}

Something unclear or missing? Email hello@clockingcloud.com.