GPT-5.6 Luna and DeepSeek V4 Flash target the lower-cost end of agent work. Their input prices are close, but they differ in model design, output price, and weight availability.
GPT-5.6 Luna is OpenAI’s hosted reasoning model for cost-sensitive, high-volume work. OpenAI places it near the nano tier from earlier GPT-5 families. It supports text and image input, reasoning, function calling, MCP, computer use, and a 1.05M-token context window. OpenAI Docs
On the OpenRouter route used for this test, Luna costs $0.10 per 1M input tokens and $0.60 per 1M output tokens. Cache reads cost $0.01 per 1M tokens, and cache writes cost $0.125 per 1M tokens.
DeepSeek V4 Flash is an open-weight, text-only mixture-of-experts model from DeepSeek. It has 284B total parameters and activates 13B parameters per token. DeepSeek designed it for fast reasoning, long contexts, coding, and agent tasks. The weights are licensed under the MIT License, so teams can run and modify the model.
DeepSeek costs $0.0882 per 1M input tokens, $0.1764 per 1M output tokens, and $0.0176 per 1M cache-read tokens on the tested OpenRouter route. Its input price is only slightly lower than Luna’s, but its output price is about 3.4 times lower. Luna costs less for cache reads and supports image input, while DeepSeek offers published parameters and open weights.
We tested each model on 12 multi-step tasks in live SaaS accounts. A wrong ledger row, missed reply, or duplicate record failed a task. I used the same agent setup, tasks, accounts, and deterministic final-state checks for both models, then compared task success with token prices and parameter counts.
TL;DR
GPT 5.6 Luna passed 5 of 12 tasks, and DeepSeek V4 Flash passed 4 of 12. When creating six calendar meetings, Luna passed 10/10 checks and Flash passed 3/10.
Neither model passed the five tasks that updated records across apps. Both missed the exact ledger rows and Slack tallies in all five tasks.
At fresh-input list rates, Luna took about 51 minutes and cost about $0.72. Flash took 55 minutes and cost about $0.82.
Start with Luna for general SaaS agent work because it passed one more task and cost less. Choose Flash if you already use DeepSeek, or if completing 9 of 13 checks when updating a refund ledger and sending replies is more important than Luna's 8 of 13.
The two models
Spec | GPT 5.6 Luna | DeepSeek V4 Flash |
|---|---|---|
Vendor | OpenAI | DeepSeek |
Model ID |
|
|
Positioning | Fast, low-cost GPT-5.6 model for high-volume work | Fast, low-cost model in the DeepSeek V4 family |
Weights and license | Proprietary; closed weights; OpenAI API terms | Open weights; MIT License |
Parameters / size | 284B total, 13B active | |
Context window | 1,050,000 tokens | 1,048,576 tokens |
Max output tokens | 128,000 | 384K |
Input price per 1M | $0.10 | $0.0882 |
Cached input price per 1M | $0.01 | $0.0176 |
Cache write price per 1M | $0.125 | |
Output price per 1M | $0.60 | $0.1764 |
Long-context surcharge | Above 272K input tokens: 2x input and 1.5x output for the full request | |
Reasoning controls |
| Thinking on or off; |
Modality | Text input and output; image input | Text input and output |
How I ran it: Pi agents completed 12 tasks in live SaaS accounts, and API checks graded the final state

I used the Pi agent harness to run each model on 12 multi-step SaaS tasks. The agents used tools through the hosted Composio MCP router and worked in live accounts.
I graded the final account state with API checks, and the transcript did not affect the grade. Each write used a unique tag, which the test runner removed after grading.
The test included seven tasks that read, joined, or audited records and five tasks that updated records across apps. Each update task required the agent to find the exact items, add the correct rows to a Sheet, send every reply, and post an exact Slack tally. One extra row or one missing reply failed the task.
Each model ran the same 12 tasks, with one trial per task. I used the same live accounts, deterministic verifiers, Composio MCP router, and OpenRouter path. A task passed only when every check reached the required final state, and partial checks earned no points
Related: DeepSeek v4 flash vs Muse Spark
What happened: Luna passed 5 of 12 tasks, and both models failed all five tasks that updated records across multiple apps
Task | Task type | GPT 5.6 Luna | DeepSeek V4 Flash |
|---|---|---|---|
Deduplicate CRM identities | Read, join, or audit | ✅ | ✅ |
Create six calendar meetings | Read, join, or audit | ✅ | ❌ 3/10 |
Apply Gmail labels | Read, join, or audit | ✅ | ✅ |
Repair recurring calendar events | Read, join, or audit | ✅ | ✅ |
Audit external Google Drive shares | Read, join, or audit | ✅ | ✅ |
Process Airtable formulas | Read, join, or audit | ❌ 4/6 | ❌ 4/6 |
Audit GitHub access | Read, join, or audit | ❌ 1/2 | ❌ 1/2 |
Update an invoice ledger and send replies | Update records across apps | ❌ 8/13 | ❌ 8/13 |
Update a refund ledger and send replies | Update records across apps | ❌ 8/13 | ❌ 9/13 |
Update a staffing roster and apply exclusions | Update records across apps | ❌ 8/13 | ❌ 8/13 |
Route tickets to a ledger and send replies | Update records across apps | ❌ 20/24 | ❌ 8/24 |
Update a vendor directory | Update records across apps | ❌ 9/13 | ❌ 7/13 |
Solved | 5/12 | 4/12 |
Both models failed the checks for exact ledger rows and the exact Slack tally in all five tasks that updated records across apps. When routing support tickets, Luna completed 20/24 checks but did not send the reply emails. Flash completed 8/24 because it included most disqualified tickets.
Across all 12 tasks, Luna used about 6.70 million input tokens and 76,000 output tokens. It made 129 tool calls and took 51 minutes. Flash used about 9.07 million input tokens and 111,000 output tokens, made 154 tool calls, and took 55 minutes.

Luna used these resources on the five tasks that updated records across apps:
Task | Checks | Tool calls | Input tokens | Agent time |
|---|---|---|---|---|
Update invoice ledger and send replies | 8/13 | 20 | 1,339,856 | 566.1s |
Update refund ledger and send replies | 8/13 | 13 | 843,661 | 341.3s |
Update staffing roster and apply exclusions | 8/13 | 20 | 1,453,668 | 374.5s |
Route tickets to ledger and send replies | 20/24 | 15 | 759,421 | 512.8s |
Update vendor directory | 9/13 | 23 | 1,343,443 | 494.5s |
DeepSeek V4 Flash used these resources on the same five tasks:
Task | Checks | Tool calls | Input tokens | Agent time |
|---|---|---|---|---|
Update invoice ledger and send replies | 8/13 | 31 | 2,644,436 | 517.1s |
Update refund ledger and send replies | 9/13 | 19 | 1,261,697 | 360.7s |
Update staffing roster and apply exclusions | 8/13 | 24 | 1,623,385 | 434.1s |
Route tickets to ledger and send replies | 8/24 | 20 | 1,360,608 | 663.0s |
Update vendor directory | 7/13 | 17 | 976,424 | 486.7s |

What it costs: Luna used fewer tokens and cost about 12% less
These estimates treat all input tokens as fresh input at list prices. Prompt cache reads can lower the actual cost.
Model | Total tokens | Estimated cost for 12 tasks | Estimated cost per task |
|---|---|---|---|
GPT 5.6 Luna | ~6.78M | $0.72 | $0.06 |
DeepSeek V4 Flash | ~9.18M | $0.82 | $0.07 |
DeepSeek V4 Flash cost 1.14 times as much as Luna because it used more tokens.
Which to use: Luna passed one more task and used fewer tokens, and Flash has lower input and output prices
Choose Luna for SaaS agents that must create exact calendar events or route support tickets while excluding disqualified tickets. It scored 10/10 versus 3/10 when creating six calendar meetings and 20/24 versus 8/24 when routing support tickets.
Choose Flash if you already use DeepSeek or need lower input and output prices. It completed 9/13 checks when updating a refund ledger and sending replies, compared with 8/13 for Luna. Its higher token use made its total cost higher in this test.
These results come from one run of 12 tasks, and Luna passed one more task. Neither model passed any of the five tasks that updated records across apps. Neither model had a task pass rate in the mid-90% range in this run.
For general SaaS work, I would start with Luna. Check that it excludes the correct records and writes the exact final ledger rows and Slack totals.
Test Flash on your workload before choosing it. Its lower token prices produced a higher total cost in this 12-task run.