llm-openai-decisions 0.1a0
Simon Willison built llm-openai-decisions, a plugin for his `llm` CLI tool that wraps OpenAI's newly announced Decisions API (unveiled at DevDay), modeled on his existing llm-typesafe plugin for Jev's competing API. Both APIs support structured yes/no, multiple-choice, and score-style questions, but OpenAI's gpt-6-luna model also accepts image input (at 10 cents per million input tokens, versus Jev's 4.2 cents), and the plugin itself was built by having GPT-6 Astra read OpenAI's docs. The post includes install instructions and a worked example querying an image attachment for a yes/no answer.
What it claims
llm-openai-decisions (version 0.1a0, an alpha) adds OpenAI's Decisions API to the llm CLI. It exposes the gpt-6-luna decision model as openai-decisions/gpt-6-luna. Both OpenAI and Jev bill decision models on input tokens only, with no charge for output: OpenAI charges 10 cents per million input tokens and Jev charges 4.2 cents. That makes text-only workloads roughly 2.4× cheaper on Jev. Image input is the reason to pay more for OpenAI.
How it works
The page says the API is "conceptually" similar to Jev's. Each API has the same three question types: yes/no, choices, and scores. The page does not compare the request or response schemas field by field.
A yes/no question does not return a boolean. It returns a probability under a predicate type:
{"type": "predicate", "name": "evaluation", "probability": 0.0}That output comes from asking whether a photo of two pelicans contains any mammals. Pelicans are birds, so 0.0 is correct. If you build on this, you choose your own threshold for turning the probability into a yes or no. The page does not show the output shapes for the choice and score types.
How to use it
llm install llm-openai-decisionsThe question goes in the system prompt flag -s. The image is passed as an attachment with -a, which accepts a URL:
llm -m openai-decisions/gpt-6-luna \
-a https://static.simonwillison.net/static/2025/two-pelicans.jpg \
-s 'Does this image contain any mammals?'The page says the README covers how to run the choice and score question types. Those invocations are not shown on the page.
Limits
- The version is 0.1a0, and GPT-6 Astra generated the plugin from OpenAI's documentation. The page reports no tests and no checks against the API beyond the single example above.
- Only one query is demonstrated: a text question about an image. There are no accuracy, calibration or latency figures for
gpt-6-luna, and no comparison with Jev on quality. - The comparison with Jev is a conceptual one. Check the README and OpenAI's documentation before you assume prompts or parsing code will carry over from
llm-typesafe.
Technologies named here
- llm-openai-decisions
- GPT-6 Luna
- llm-typesafe
- GPT-6 Astra
- Jev
- LLM
- OpenAI API
Also named here
- Simon Willison
Related in prompting
Dicklesworthstone/skillranker
miqdadbadjuber/anti-slop
