# The Model Company > Create small, specialized AI models from a plain-language task description and a few examples. A customer (or agent) describes a task, supplies labeled examples, sets requirements for quality, latency and spend, and receives an evaluated model of its own. In this preview models run on the hosted API; downloads are planned, not live. Status (2026-10-01): preview. The web demo is live but its training jobs are simulated — results are illustrative and nothing is trained or charged. The REST API, MCP server and CLI described here are planned, not live. Hosts ending in .example are placeholders. ## Start here - [Agent skill](/SKILL.md): live. Install it by telling an agent "Set up /SKILL.md". It helps a person shape a task, prepare examples and build a model in the web app. - [Agent reference](/agents/reference): how agents will discover capabilities, estimate cost, create jobs safely, poll, and export. - [Capability manifest](/.well-known/tmc-agent.json): JSON — interfaces and their status, auth scopes, policies, tool input schemas. - [OpenAPI 3.1 draft](/openapi.json): JSON — every planned endpoint and schema. ## Rules for agents 1. Call `estimate_cost` before `create_model_job`. Estimates are free. 2. Every `create_model_job` call must include `requirements.max_spend_usd` and an `idempotency_key`. Reuse the key when retrying. 3. If you receive `402 approval_required`, stop and hand the `approval_url` to a human. Do not retry with a higher cap on your own. 4. Jobs are long-running: `create_model_job` returns 202 with a queued job. Poll `get_job` no faster than the Retry-After header allows, or use webhooks. 5. Verify the `sha256` of every downloaded artifact. ## Planned tools - `describe_capabilities` (read) — What this service can build, the supported output kinds, export formats, limits and current status of each interface. - `estimate_cost` (read) — Free dry run. Returns a cost range, wall-clock time and whether it fits under the cap. Call this before create_model_job. - `create_dataset` (write) — Register training examples from inline rows or an HTTPS URL. Optionally clean each input (HTML, quoted replies, signatures, repeated lines) and combine labels; models trained on them clean and combine live calls the same way. Returns data-quality issues before anything is trained. - `create_model_job` (spend) — Start a long-running training job. Requires an idempotency key and a spending cap; returns immediately with a queued job. - `get_job` (read) — Poll a job. Honour the Retry-After hint; terminal states are succeeded, failed and canceled. - `cancel_job` (write) — Stop a running job. Nothing more is charged. Canceling a finished job returns 409. - `get_model` (read) — Metrics on held-out data, requirement checks, per-label scores, confusion matrix and baseline comparison. - `predict` (spend) — Run the model on one input. Hosted models bill per call at the price in the model's metrics. - `export_model` (write) — Get a short-lived signed download for an artifact, with its SHA-256 and model card. ## For humans - [Create a model](/create): describe a task, add examples, run a free simulated demo job — no sign-up. - [Workspace](/workspace): models and jobs in this browser.