Manifest

Generate Manifest

Changed on

Generate a manifest from natural language description.

Uses AI to create a valid YAML manifest from a natural language description
of desired resources. The generated manifest can be reviewed and applied.

**Example:**
```bash
curl -X POST /v1/manifest/generate \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "description": "I need a bucket of images that feeds into a multimodal extractor and a retriever",
    "manifest_name": "image-search-setup"
  }'
```

The model is given the live extractor and retriever-stage catalogs. The
answer is checked with the same rules as POST /v1/manifest/validate, and
when that finds errors the model is shown them and asked to repair its
answer, up to 2 times.

**Response:**
```json
{
  "manifest": "version: '1.0'

metadata: name: image-search-setup ...", "format": "yaml", "manifest_name": "image-search-setup", "description": "I need a bucket of images...", "validation": {"valid": true, "errors": [], "warnings": []}, "repair_rounds": 1, "cost_estimate": {"per_1k_items_usd": 1.5, "per_month_usd": 15.4, "...": "..."}, "suggested": {"templates": ["..."], "models": ["siglip-base-patch16-224"]} } ```

`cost_estimate` prices the returned manifest at list rates: per 1,000 items,
and per month at the volume in `monthly_volume`. `suggested` names the
namespace templates and catalog models the generator was offered as the
closest matches to the description.

`validation.valid` is false when the manifest still has errors after the
repair rounds; the errors are listed so you can fix them by hand.

Send the fields as a JSON body (above) or as query parameters. With an
`inventory` the answer also carries `quote`: what indexing those files is
charged, the monthly price and the unit prices, the same quote
POST /v1/organizations/billing/estimate returns for this manifest. A bucket
in `inventory` that the generated manifest does not declare is reported in
`quote.error`.

**Next Steps:**
1. Review the generated manifest
2. Apply it using POST /v1/manifest/apply
post/v1/manifest/generate

Request

Query parameters

descriptionstring nullable

Same as the body field

manifest_namestring

Request body

descriptionstring required

What the namespace should do, in plain words

manifest_namestring

metadata.name

inventoryobject nullable

Optional files per bucket name the manifest will declare (objects, videos, minutes, audio_minutes, images, pages, tokens). When given, the answer carries quote, priced as POST /v1/organizations/billing/estimate prices a manifest

queries_per_monthinteger

For the quote's monthly price

Response

Successful Response

unknown required

Changes

    • info

      added optional request body

    • info

      the query request parameter description became optional

    • info

      query request parameter description list-of-types was widened by adding types null

    • info

      for the query request parameter description, the type was generalized from string to no type

    • warning

      removed the optional property from the response with the status

    • info

      added the non-success response with the status

    • info

      added the non-success response with the status

    • info

      added the optional property to the response with the status

    • info

      added the required property to the response with the status

    • info

      added the required property to the response with the status