---
title: "Free Generate Cell"
method: POST
path: "/api/tryon/rows/{row_id}/cells/{cell_key}/free-generate"
tags: ["tryon"]
---

# Free Generate Cell

`POST /api/tryon/rows/{row_id}/cells/{cell_key}/free-generate`

## Request

- Base URL: `https://api.tintin-x.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.tintin-x.com/api/tryon/rows/{row_id}/cells/{cell_key}/free-generate`
- Auth: HTTP bearer

Free-form generate for cells without a static recipe.

Driver: user feedback 2026-05-20 — clicking "Generate" on a cell like
`scene` (no recipe defined) used to either 400 with "unsupported
tryon recipe" or fall back to chat-the-agent, which then refused.
This endpoint accepts a natural-language prompt + optional
reference S3 keys and dispatches the smart_edit atom with
`_target_cell_key` stamped so the deliver handler writes the
result back to the chosen cell — no recipe registration required.

## Path parameters

- `row_id` string, uuid, required
- `cell_key` string, required

## Request body

- TryonFreeGenerateRequest: Free-form generate for cells without a static recipe (e.g. scene). User supplies a natural-language prompt; the BE dispatches smart_edit with that prompt + any reference images, and lands the result on the named cell. No recipe required — the dispatcher stamps `_target_cell_key` in input_payload so the deliver handler knows where to write.
  - `prompt` string, required
  - `reference_keys` string[]
  - `agent_id` string, uuid, nullable
  - `resolution` string, nullable
  - `aspect_ratio` string, nullable

## Response `200`

Successful Response

- TryonJobResponse
  - `id` string, uuid, required
  - `project_id` string, uuid, required
  - `row_id` string, uuid, nullable, required
  - `owner_user_id` string, uuid, required
  - `owner_team_id` string, uuid, nullable, required
  - `sku_id` string, nullable, required
  - `product_type` string, nullable, required
  - `step_key` string, nullable, required
  - `recipe_key` string, nullable, required
  - `status` string, required
  - `atom_type` string, nullable, required
  - `atom_job_id` string, nullable, required
  - `source_kind` string, nullable, required
  - `source_ref` string, nullable, required
  - `input_payload` object, required
  - `output_payload` object, required
  - `error_message` string, nullable, required
  - `attempt_count` integer, required
  - `started_at` string, date-time, nullable, required
  - `completed_at` string, date-time, nullable, required
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/tintin-x/apis/tintin-api.md) · [All operations](https://skmtc.dev/tintin-x/apis/tintin-api/llms.txt) · [OpenAPI document](https://skmtc.dev/tintin-x/apis/tintin-api/revisions/8839a8d0a66c?raw)
