These three models occupy different points in GetVibe’s GPT-6 catalog. A useful choice depends on task difficulty, how much reasoning you request, and output length. This comparison uses public model pages checked on October 3, 2026; the displayed prices are live-rendered catalog values, not a benchmark claim.
Current catalog snapshot
| Model ID | Input / output per 1M tokens | Useful starting role |
|---|---|---|
| gpt-6-luna | $0.0055 input · $0.0274 output per 1M tokens | Lower-cost baseline and short tasks |
| gpt-6-sol | $0.1096 input · $0.548 output per 1M tokens | General reasoning and code work |
| gpt-6.1-sol | $0.1096 input · $0.548 output per 1M tokens | Compare on multi-step agent work |
The catalog snapshot date is October 3, 2026. Check each linked page when you deploy because the active USD rate can change.
Do not treat the model suffix as a benchmark
A model name alone does not tell you how well it handles your repository, tool schema, or output constraint. Use one evaluation set containing a bug with a failing test, a small multi-file feature, and an explanation task where no edit should occur. Freeze the prompt, commit, permission settings, and test command. Record correctness, test result, latency, input/output usage, and repair turns. We have not run a public benchmark for this article, so the table is a price and setup comparison, not a quality ranking.
Reasoning changes both behavior and cost
Each model exposes a set of reasoning settings documented on its model page. Use the lowest setting that passes the task’s correctness bar, then raise it for the cases that fail. Reasoning tokens contribute to output usage, so compare total task cost rather than assuming the same output size. Keep max_tokens high enough for the requested answer but not unlimited. If your prompt requests code plus an explanation plus tests, budget those outputs deliberately.
For a first test with the OpenAI SDK, use the model ID as configuration rather than baking it into multiple call sites:
export GETVIBE_API_KEY="your-dashboard-key"
export GETVIBE_MODEL="gpt-6.1-sol"
python - <<'PY'
import os
from openai import OpenAI
client = OpenAI(base_url="https://getvibeapi.com/v1", api_key=os.environ["GETVIBE_API_KEY"])
response = client.chat.completions.create(
model=os.getenv("GETVIBE_MODEL", "gpt-6-luna"),
reasoning_effort="medium",
messages=[{"role":"user", "content":"Explain this failing test and propose the smallest fix."}],
max_tokens=1200,
)
print(response.choices[0].message.content)
PYThe environment variable is the model setting; it is not derived from the model name. Keep your API key in a secret manager.
Which one should you try first?
- Luna: begin here for short, bounded changes and tasks with easy validation. Its lower catalog rate makes it a good baseline, but verify that its context and tools fit your client.
- Sol: keep as a candidate for work where the Luna baseline misses the quality threshold. Compare on the same test rather than upgrading every request by default.
- 6.1 Sol: test where multi-step planning or repeated tool use matters. Measure whether it reduces correction turns enough to offset the per-token difference.
Use the coding-agent cost comparison for a test harness and the reasoning effort guide for parameter behavior. To run these with a coding agent, see Codex CLI configuration; Claude Code uses a different Messages protocol.
Make a fair cost comparison
Record input and output usage from every attempt, including failed patches and retries. Divide total spend by the number of changes that pass your test and review criteria. Repeat a task to account for variation. Do not use a vendor benchmark or a single appealing response as a proxy for your own repository. Re-run the same set after a catalog price change, a CLI upgrade, or a material prompt change.
Keep the chosen model in one environment or project setting so it can be changed and rolled back without code edits. Publish a short internal note with the date, model IDs, test results, and live model-page links. This is more useful than treating a comparison article as a permanent ranking.
Know which settings vary by model
Reasoning levels and context limits are model-specific. Do not reuse a setting simply because two IDs share “Sol” in the name. Check the current GPT-6.1 Sol, GPT-6 Sol, and GPT-6 Luna pages for supported levels and maximum context. If a request receives a parameter validation error, remove optional fields one at a time; do not add automatic retries around an invalid parameter.
Also compare the output cap to the actual task. A coding agent may need space for a patch and a concise explanation, but an unbounded output request can create unnecessary spend. Keep a separate profile for short questions if your client makes model and output configuration easy to switch.
Use the protocol your client expects
All three models appear in the GetVibe text catalog, but an agent client may speak only one API protocol. Codex CLI is configured for the Responses API; use its dedicated setup. Claude Code speaks Anthropic Messages and cannot call these GPT-6 models through that endpoint. An OpenAI-compatible SDK can use Chat Completions if the model and parameters are supported. Protocol support is not implied by a model’s presence in the general catalog.
Keep a dated result sheet
Record the snapshot date, model ID, linked model page, input/output usage, reasoning effort, total time, and test result. Repeat several tasks from a clean checkout. If the catalog price changes, the live table on this page updates but your historical benchmark does not; retain the dated observation so a later comparison remains understandable.
