Generate Manifest
Changed onGenerate 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
Request
- Base URLhttps://api.mixpeek.com
- AuthHTTP bearer
- TypeScriptA function with typed inputs. Its response is checked against the schema.
Query parameters
Same as the body field
Request body
Response
Successful Response
Changes
- info
added optional request body
- info
the
queryrequest parameterdescriptionbecame optional - info
queryrequest parameterdescriptionlist-of-types was widened by adding typesnull - info
for the
queryrequest parameterdescription, the type was generalized fromstringto no type
- info
- 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
- warning