{
  "@context": "https://schema.org",
  "@id": "https://aggr.aymericbeaumet.com/items/simonwillison-net/2026-10-06-llm-openai-decisions-0-1a0/#webpage",
  "@type": [
    "WebPage",
    "ArchiveComponent"
  ],
  "articleBody": "OpenAI released their new Jev-style [Decisions API](https://developers.openai.com/api/docs/guides/decisions), as previously announced at last week's DevDay.\n\nSince I already have an [llm-typesafe](https://github.com/simonw/llm-typesafe) plugin for talking to Jev, I had GPT-6 Astra read the new OpenAI API documentation and build an `llm-openai-decisions` plugin inspired by `llm-typesafe`.\n\nUnlike Jev, the new `gpt-6-luna` decision model supports image input in addition to text. Both models charge for input it and not for output: OpenAI's is 10 cents per million input tokens, Jev's is 4.2 cents per million.\n\nOtherwise the API shape is *very* similar to Jev, at least conceptually. Jev [supports three question types](https://simonwillison.net/2026/Sep/21/jev/#three-types) for yes/no, choices, or scores. OpenAI Decisions supports the same three types.\n\nInstall the plugin like this:\n\n```\nllm install llm-openai-decisions\n```\n\nHere's an example query against an image attachment:\n\n```shell\nllm -m openai-decisions/gpt-6-luna \\\n  -a https://static.simonwillison.net/static/2025/two-pelicans.jpg \\\n  -s 'Does this image contain any mammals?'\n```\n\nAnd example output:\n\n```json\n{\"type\": \"predicate\", \"name\": \"evaluation\", \"probability\": 0.0}\n```\n\nConsult [the README](https://github.com/simonw/llm-openai-decisions/blob/main/README.md) for full details of how to run the other types of questions.\n",
  "authors": [],
  "captured_at": "2026-10-07T05:44:45.801061649+00:00",
  "category": "programming",
  "content_html": "<p>OpenAI released their new Jev-style <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://developers.openai.com/api/docs/guides/decisions\">Decisions API</a>, as previously announced at last week's DevDay.</p>\n<p>Since I already have an <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://github.com/simonw/llm-typesafe\">llm-typesafe</a> plugin for talking to Jev, I had GPT-6 Astra read the new OpenAI API documentation and build an <code>llm-openai-decisions</code> plugin inspired by <code>llm-typesafe</code>.</p>\n<p>Unlike Jev, the new <code>gpt-6-luna</code> decision model supports image input in addition to text. Both models charge for input it and not for output: OpenAI's is 10 cents per million input tokens, Jev's is 4.2 cents per million.</p>\n<p>Otherwise the API shape is <em>very</em> similar to Jev, at least conceptually. Jev <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://simonwillison.net/2026/Sep/21/jev/#three-types\">supports three question types</a> for yes/no, choices, or scores. OpenAI Decisions supports the same three types.</p>\n<p>Install the plugin like this:</p>\n<pre><code><span class=\"code-snippet\">llm install llm-openai-decisions\n</span></code></pre>\n<p>Here's an example query against an image attachment:</p>\n<pre><code class=\"language-shell\"><span class=\"code-snippet\" data-language=\"Shell\"><span class=\"syntax-source syntax-shell syntax-bash\"><span class=\"syntax-meta syntax-function-call syntax-shell\"><span class=\"syntax-variable syntax-function syntax-shell\">llm</span></span><span class=\"syntax-meta syntax-function-call syntax-arguments syntax-shell\"><span class=\"syntax-variable syntax-parameter syntax-option syntax-shell\"><span class=\"syntax-punctuation syntax-definition syntax-parameter syntax-shell\"> -</span>m</span> openai-decisions/gpt-6-luna <span class=\"syntax-punctuation syntax-separator syntax-continuation syntax-line syntax-shell\">\\\n</span><span class=\"syntax-variable syntax-parameter syntax-option syntax-shell\"><span class=\"syntax-punctuation syntax-definition syntax-parameter syntax-shell\">  -</span>a</span> https://static.simonwillison.net/static/2025/two-pelicans.jpg <span class=\"syntax-punctuation syntax-separator syntax-continuation syntax-line syntax-shell\">\\\n</span><span class=\"syntax-variable syntax-parameter syntax-option syntax-shell\"><span class=\"syntax-punctuation syntax-definition syntax-parameter syntax-shell\">  -</span>s</span> <span class=\"syntax-string syntax-quoted syntax-single syntax-shell\"><span class=\"syntax-punctuation syntax-definition syntax-string syntax-begin syntax-shell\">&#39;</span>Does this image contain any mammals?<span class=\"syntax-punctuation syntax-definition syntax-string syntax-end syntax-shell\">&#39;</span></span></span>\n</span></span></code></pre>\n<p>And example output:</p>\n<pre><code class=\"language-json\"><span class=\"code-snippet\" data-language=\"JSON\"><span class=\"syntax-source syntax-json\"><span class=\"syntax-meta syntax-structure syntax-dictionary syntax-json\"><span class=\"syntax-punctuation syntax-section syntax-dictionary syntax-begin syntax-json\">{</span><span class=\"syntax-meta syntax-structure syntax-dictionary syntax-key syntax-json\"><span class=\"syntax-string syntax-quoted syntax-double syntax-json\"><span class=\"syntax-punctuation syntax-definition syntax-string syntax-begin syntax-json\">&quot;</span>type<span class=\"syntax-punctuation syntax-definition syntax-string syntax-end syntax-json\">&quot;</span></span></span><span class=\"syntax-meta syntax-structure syntax-dictionary syntax-value syntax-json\"><span class=\"syntax-punctuation syntax-separator syntax-dictionary syntax-key-value syntax-json\">:</span> <span class=\"syntax-string syntax-quoted syntax-double syntax-json\"><span class=\"syntax-punctuation syntax-definition syntax-string syntax-begin syntax-json\">&quot;</span>predicate<span class=\"syntax-punctuation syntax-definition syntax-string syntax-end syntax-json\">&quot;</span></span><span class=\"syntax-punctuation syntax-separator syntax-dictionary syntax-pair syntax-json\">,</span></span> <span class=\"syntax-meta syntax-structure syntax-dictionary syntax-key syntax-json\"><span class=\"syntax-string syntax-quoted syntax-double syntax-json\"><span class=\"syntax-punctuation syntax-definition syntax-string syntax-begin syntax-json\">&quot;</span>name<span class=\"syntax-punctuation syntax-definition syntax-string syntax-end syntax-json\">&quot;</span></span></span><span class=\"syntax-meta syntax-structure syntax-dictionary syntax-value syntax-json\"><span class=\"syntax-punctuation syntax-separator syntax-dictionary syntax-key-value syntax-json\">:</span> <span class=\"syntax-string syntax-quoted syntax-double syntax-json\"><span class=\"syntax-punctuation syntax-definition syntax-string syntax-begin syntax-json\">&quot;</span>evaluation<span class=\"syntax-punctuation syntax-definition syntax-string syntax-end syntax-json\">&quot;</span></span><span class=\"syntax-punctuation syntax-separator syntax-dictionary syntax-pair syntax-json\">,</span></span> <span class=\"syntax-meta syntax-structure syntax-dictionary syntax-key syntax-json\"><span class=\"syntax-string syntax-quoted syntax-double syntax-json\"><span class=\"syntax-punctuation syntax-definition syntax-string syntax-begin syntax-json\">&quot;</span>probability<span class=\"syntax-punctuation syntax-definition syntax-string syntax-end syntax-json\">&quot;</span></span></span><span class=\"syntax-meta syntax-structure syntax-dictionary syntax-value syntax-json\"><span class=\"syntax-punctuation syntax-separator syntax-dictionary syntax-key-value syntax-json\">:</span> <span class=\"syntax-constant syntax-numeric syntax-json\">0.0</span></span><span class=\"syntax-punctuation syntax-section syntax-dictionary syntax-end syntax-json\">}</span></span>\n</span></span></code></pre>\n<p>Consult <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://github.com/simonw/llm-openai-decisions/blob/main/README.md\">the README</a> for full details of how to run the other types of questions.</p>\n",
  "content_markdown": "OpenAI released their new Jev-style [Decisions API](https://developers.openai.com/api/docs/guides/decisions), as previously announced at last week's DevDay.\n\nSince I already have an [llm-typesafe](https://github.com/simonw/llm-typesafe) plugin for talking to Jev, I had GPT-6 Astra read the new OpenAI API documentation and build an `llm-openai-decisions` plugin inspired by `llm-typesafe`.\n\nUnlike Jev, the new `gpt-6-luna` decision model supports image input in addition to text. Both models charge for input it and not for output: OpenAI's is 10 cents per million input tokens, Jev's is 4.2 cents per million.\n\nOtherwise the API shape is *very* similar to Jev, at least conceptually. Jev [supports three question types](https://simonwillison.net/2026/Sep/21/jev/#three-types) for yes/no, choices, or scores. OpenAI Decisions supports the same three types.\n\nInstall the plugin like this:\n\n```\nllm install llm-openai-decisions\n```\n\nHere's an example query against an image attachment:\n\n```shell\nllm -m openai-decisions/gpt-6-luna \\\n  -a https://static.simonwillison.net/static/2025/two-pelicans.jpg \\\n  -s 'Does this image contain any mammals?'\n```\n\nAnd example output:\n\n```json\n{\"type\": \"predicate\", \"name\": \"evaluation\", \"probability\": 0.0}\n```\n\nConsult [the README](https://github.com/simonw/llm-openai-decisions/blob/main/README.md) for full details of how to run the other types of questions.\n",
  "dateCreated": "2026-10-07T05:44:45.801061649+00:00",
  "date_created": "2026-10-06T23:04:13+00:00",
  "date_modified": "2026-10-06T23:04:13+00:00",
  "date_published": "2026-10-06T23:04:13+00:00",
  "description": "Release: llm-openai-decisions 0.1a0 OpenAI released their new Jev-style Decisions API, as previously announced at last week's DevDay. Since I already have an llm-typesafe plugin for talking to Jev, I had GPT-6 Astra read the new OpenAI API…",
  "external_url": "https://simonwillison.net/2026/Oct/6/llm-openai-decisions/",
  "git": {
    "commit": "ebb0941c5c06a2ab2377342d607535262a3e969e",
    "path": "items/simonwillison-net/2026/10/2026-10-06-llm-openai-decisions-0-1a0.md",
    "permalink": "https://github.com/aymericbeaumet/aggr-instance/blob/ebb0941c5c06a2ab2377342d607535262a3e969e/items/simonwillison-net/2026/10/2026-10-06-llm-openai-decisions-0-1a0.md"
  },
  "id": "urn:aggr:item:01ef68e6fc5aa2d876c0e732f845502157b7e98b",
  "isBasedOn": {
    "@id": "https://simonwillison.net/2026/Oct/6/llm-openai-decisions/"
  },
  "mainEntity": {
    "@id": "https://simonwillison.net/2026/Oct/6/llm-openai-decisions/",
    "@type": "CreativeWork",
    "archivedAt": {
      "@id": "https://aggr.aymericbeaumet.com/items/simonwillison-net/2026-10-06-llm-openai-decisions-0-1a0/#webpage"
    },
    "dateModified": "2026-10-06T23:04:13+00:00",
    "datePublished": "2026-10-06T23:04:13+00:00",
    "headline": "llm-openai-decisions 0.1a0",
    "timeRequired": "PT1M",
    "url": "https://simonwillison.net/2026/Oct/6/llm-openai-decisions/",
    "wordCount": 182
  },
  "name": "Archived snapshot: llm-openai-decisions 0.1a0",
  "preview": null,
  "reading_minutes": 1,
  "replicated_at": null,
  "source": "simonwillison-net",
  "source_name": "Simon Willison's Weblog",
  "summary": "Release: llm-openai-decisions 0.1a0 OpenAI released their new Jev-style Decisions API, as previously announced at last week's DevDay. Since I already have an llm-typesafe plugin for talking to Jev, I had GPT-6 Astra read the new OpenAI API documentation and build an llm-openai-decisions plugin inspired by llm-typesafe. Unlike Jev, the new gpt-6-luna decision model supports image input in addition to text. Both models charge for input it and not for output: OpenAI's is 10 cents per million input tokens, Jev's is 4.2 cents per million. Otherwise the API shape is very similar to Jev, at least conceptually. Jev supports three question types for yes/no, choices, or scores. OpenAI Decisions supports the same three types. Install the plugin like this: llm install llm-openai-decisions Here's an example query against an image attachment: llm -m openai-decisions/gpt-6-luna \\ -a https://static.simonwillison.net/static/2025/two-pelicans.jpg \\ -s 'Does this image contain any mammals?' And example output: {\"type\": \"predicate\", \"name\": \"evaluation\", \"probability\": 0.0} Consult the README for full details of how to run the other types of questions. Tags: openai, llm, coding-agents, jev",
  "tags": [
    "coding-agents",
    "jev",
    "llm",
    "openai"
  ],
  "temporalCoverage": "2026-10-07T05:44:45.801061649+00:00",
  "title": "llm-openai-decisions 0.1a0",
  "url": "https://aggr.aymericbeaumet.com/items/simonwillison-net/2026-10-06-llm-openai-decisions-0-1a0/",
  "word_count": 182
}