Skip to main content
Every Fastino training workload is a job. Choose managed training (config job), interactive training (interactive job), or Auto Train, then use /v1/training/jobs to inspect the job.

Encoder Quickstart

Fine-tune a GLiNER encoder from an uploaded dataset with managed training.

Decoder Quickstart

Train Nemotron or Qwen with interactive training, where your application controls each step.

Auto Train

Delegate the training lifecycle to Fastino’s autonomous training agent.

Choose a job type

Every job has a type: Both types share the same job identity. Canonical reads use GET /v1/training/jobs, GET /v1/training/jobs/{job_id}, and GET /v1/training/jobs/{job_id}/checkpoints. Native JSON clients use the public interactive operations under /v1/training/jobs. Existing Tinker clients keep tinker==0.32.0 and set only TINKER_BASE_URL=https://api.fastino.ai/v1/training/compat/tinker and TINKER_CREDENTIAL_CMD.

Config-job lifecycle

The following persisted statuses describe config jobs. An interactive job follows the operations submitted through its routes; do not infer its lifecycle from this table. normalized_status provides the stable polling value, including failed for a terminal failure. status remains the persisted value, such as errored.

Interactive-job lifecycle

An interactive job runs the calls you send it, in the order it receives them. Each call returns a future_id; read its result at GET /v1/training/jobs/{job_id}/futures/{future_id}.
  • You don’t number requests or send heartbeats.
  • Each team can have at most 16 live interactive jobs. Each job can queue at most 512 operations, and each team can have at most 2,048 sampling requests in flight. The API returns 429 when one of these limits is reached.
  • A native REST job with no calls for 30 minutes is released. A Tinker SDK session is released after 5 minutes without its SDK heartbeat; keep the ServiceClient active or finish the session. Checkpoints are kept.
  • POST /v1/training/jobs/{job_id}/stop returns immediately and stops accepting new calls. Already queued operations may finish before resources are released. Usage may continue until that release. Sampler checkpoints can still be sampled and downloaded after a stop.

Interactive-job billing

Interactive jobs bill forward and forward/backward training tokens; sampling input, cache-read, and output tokens; and checkpoint storage. Checkpoint storage is metered daily at $0.05 per GB-month. See Pricing for each model’s prefill, cache-read, sample-output, and training-token rates. Creating a model, applying an optimizer step, and saving or loading checkpoints do not add interactive-training usage charges. Account and project spending controls still apply when starting or extending compute. Use GET /v1/training/usage to read team-scoped interactive checkpoint storage and its monthly price. It does not report compute or total billing. The job billing endpoint is for config jobs.

Next steps

Encoder Quickstart

Fine-tune a GLiNER encoder with managed training.

Decoder Quickstart

Train Nemotron or Qwen with interactive training.

Interactive training loop

Build datums, update the model, and sample from checkpoints.

Fine-tune GLiNER

Prepare entity data and train a GLiNER model.
Moving an existing Tinker SDK workload? See Migrate from Tinker.