Playground
This is the same call your game makes. You describe a situation and the variables Director may change; Director answers with the changes it proposes and why. Your engine applies or refuses them. Every call here is a real decision on this service and counts against your monthly cap.
- Pick a model, or keep the server default. The list is what your account is permitted to use; it says nothing about whether a provider is up right now.
- Pick a sample body and edit it, or write your own. The legend beside the editor explains the three parts.
- Send, then read the proposal on the right: each change names a variable, its new value, and the reason. Cost and latency are shown with it.
Reading the answer
A successful response is a decision-response/v2 document with a changes list. Each entry names a variable from your mutable list and gives its new value in that variable's type; a rationale is included when you ask for one (?rationale=true). Director only proposes; the engine checks every change against the declared values or range and applies or refuses it. An empty list means Director saw no reason to change anything, which is a valid answer.
The X-LLM-* headers tell you which provider and model actually answered and what it cost in US dollars. The amount charged to your account is the difference on your monthly meter, in euro.
When it does not answer 200
| Status | Means | What to do |
|---|---|---|
| 400 | The provider and model pair is not one you may use. | Pick one from the list. |
| 401 | Your Director token has expired or was rejected. | Sign out and sign in again. |
| 403 | A module that is not enabled for your account. | Not reachable from this page; it only calls Core. |
| 422 | The body is not a valid request. | The error names the member (schema_violation) or the variable whose value type does not fit its rule (value_type). Check it against the legend: schema, ask, variables, and one rule per mutable entry. |
| 429 | Your monthly cap or a rate limit is reached. | The message names the reset date. Nothing is retried for you. |
| 502 | The provider failed or its usage could not be priced. | Try another model; that pair may be blocked for a while. |
| 503 | No permitted model is available, or Core is not configured here. | Choose a model explicitly, or ask the operator. |
The same request from your game or terminal
This is the request the page sends, as a command you can run yourself. Set EPOSYNE_API_KEY to a Director API key from your Architect profile (or use a studio key); the body is the editor's content saved as request.json. The getting started guide walks through the first call. The engine plugins and the CLI send the same JSON document; Director speaks JSON only.