Build a weekly menu
weekly_menuBuild a menu of up to 7 dinners, either one cuisine per day ("world") or all from one country. Honours diet exclusions (pork, beef, meat, fish, dairy, egg, alcohol), vegetarian/vegan/pescatarian requirements, a prep-time ceiling and a budget mode that reuses ingredients. When a constraint cannot be met it is relaxed and the relaxation is reported, never hidden.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | How many days to plan, 1-7. | |
| lang | No | Language for titles, ingredient names and URLs. | en |
| mode | No | "world" = a different cuisine each day; "single" = one country. | world |
| seed | No | Same seed + same options = same menu. | |
| budget | No | Favour weeks that reuse ingredients across days. | |
| country | No | Required when mode is "single". | |
| exclude | No | Ingredient attributes to avoid entirely: pork, beef, meat, fish, dairy, egg, alcohol. | |
| require | No | Diet every dish must satisfy. This is a WHITELIST and differs from `exclude`, which only removes single ingredient attributes: "vegan" is not the same as excluding meat. | |
| time_limit | No | Max prep time in minutes; closed set (30/45/60). The generator relaxes it automatically if too few cuisines qualify, and reports that in relaxations. | |
| include_extras | No | Add 2 desserts and 2 drinks (never alcoholic). | |
| exclude_countries | No | Cuisines to keep out of the plan, ISO 3166-1 alpha-2. Only meaningful when mode is "world"; excluding too many leaves the generator with too few cuisines to fill the week. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| days | Yes | ||
| notes | Yes | ||
| stats | Yes | ||
| drinks | Yes | ||
| desserts | Yes | ||
| attribution | Yes | ||
| relaxations | Yes | ||
| shopping_list | Yes | ||
| pantry_assumed | Yes |