LiquidAI: d1-ultra vs OpenAI: GPT-6 Luna Decisions
A side-by-side comparison of LiquidAI: d1-ultra ($0.15 / 1M tokens) and OpenAI: GPT-6 Luna Decisions ($0.35 / 1M tokens) using current USD prices and capabilities from the api14 catalog. Both run through the same OpenAI-compatible API.
Specifications
| LiquidAI: d1-ultra | OpenAI: GPT-6 Luna Decisions | |
|---|---|---|
| Provider | LiquidAI | OpenAI |
| Input | $0.15 / 1M tokens | $0.35 / 1M tokens |
| Cache read | $0.15 / 1M tokens | - |
| Web search | - | $35.00 / 1K searches |
| Context window | 32,768 | 1,050,000 |
| Max output | 29,491 | 945,000 |
| Input | text, image | text, image |
| Output | decisions | decisions |
| Tool calling | ||
| Structured output | ||
| Reasoning control | ||
| Added | Oct 15, 2026 | Oct 6, 2026 |
Key differences
- LiquidAI: d1-ultra is 58% cheaper on input tokens.
- OpenAI: GPT-6 Luna Decisions reads 32.0× more context (1,050,000 tokens).
- A request with 1,000 input and 500 output tokens costs $0.000147 with LiquidAI: d1-ultra and $0.000350 with OpenAI: GPT-6 Luna Decisions.
In depth
LiquidAI: d1-ultra is a decisions model from LiquidAI, released on 2026-10-15. OpenAI: GPT-6 Luna Decisions is a decisions model from OpenAI, released on 2026-10-06. Both sit in the same category, so they are aimed at the same kind of job: taking an input and returning a decision rather than a free form block of prose. If you are wiring one of them into a pipeline, you are choosing between two vendors offering the same output shape, which makes the differences in context and price the practical deciding factors.
The two models agree on input and output modalities. Both accept text and image input, and both emit decisions as output, so neither gives you an extra input type the other lacks. The clear split is context length. GPT-6 Luna Decisions carries a context window of 1,050,000 tokens, while d1-ultra carries 32,768 tokens. That is a large gap, and it is the single biggest functional difference between them. On price, d1-ultra is the cheaper option for input. The qualitative data does not mark either model as cheaper on output, so treat output cost as about the same or unknown rather than assuming an advantage. Neither model is flagged as uniquely supporting tools, structured output, or reasoning, so do not pick one on the assumption that it alone unlocks those features.
For most tasks, the context window decides it. If your decision input is a long document, a large image set with accompanying text, a long conversation history, or anything that would blow past roughly thirty two thousand tokens, GPT-6 Luna Decisions is the one that can hold it in a single call. If your inputs are short and you are optimizing input spend, d1-ultra is the cheaper input choice and its 32,768 token window is likely more than enough for classification style decisions over compact inputs. A reasonable default is to start with d1-ultra for small, high volume decision calls and switch to GPT-6 Luna Decisions when the input grows beyond what d1-ultra can accept.
Calling either model through api14 uses the same OpenAI-compatible interface. You point your client at api14, authenticate the same way, and send the same request body. The only thing that changes between the two is the model id string. Use "liquid/d1-ultra" to route to LiquidAI's model and "openai/gpt-6-luna-decisions" to route to OpenAI's. Because the request and response shapes are identical, you can keep one code path and swap the id, or select between them at runtime based on input size or budget, without rewriting your integration.
There is one case where the cheaper model is still the better pick even when context is not the constraint. If your inputs are consistently short and you care most about input cost, d1-ultra wins on the qualitative price field, and there is no listed capability that GPT-6 Luna Decisions has and d1-ultra lacks. The larger context on GPT-6 Luna Decisions is only worth paying for when you actually need it. If you never approach the 32,768 token limit, the extra headroom buys you nothing, and the cheaper input model is the sensible default.
Switch with one string
Both models use the same endpoint and request shape. Change the model value from "liquid/d1-ultra" to "openai/gpt-6-luna-decisions" and prompts, streaming and tools keep working.
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api14.com/api/v1",
apiKey: process.env.API14_API_KEY,
});
const result = await client.post("/decisions", { body: {
"model": "openai/gpt-6-luna-decisions",
"state": "Customer: I was charged twice for my order and want my money back.",
"questions": {
"team": {
"type": "choice",
"instructions": "Which team should handle this message?",
"criteria": {
"billing": "Payments, refunds, invoices",
"support": "Product questions and bugs",
"sales": "Pricing and new purchases"
}
},
"urgent": {
"type": "noul",
"instructions": "Does this need a reply today?",
"criteria": {
"true": "Money, outage or legal risk",
"false": "Can wait"
}
}
}
} });
console.log(result.answers);
More comparisons
- LiquidAI: d1 Latest vs LiquidAI: d1-ultra Latest
- LiquidAI: d1 Latest vs Baseten: Joey 1
- LiquidAI: d1 Latest vs LiquidAI: d1.1
- LiquidAI: d1 Latest vs Morph: Reflex
- LiquidAI: d1-ultra Latest vs Baseten: Joey 1
- LiquidAI: d1-ultra Latest vs LiquidAI: d1.1
- LiquidAI: d1-ultra Latest vs Morph: Reflex
- Baseten: Joey 1 vs LiquidAI: d1.1