Match the model to the job.
Use the task type to decide what a model must handle before comparing its rate.
| Task | Prioritize | Acceptance check |
|---|---|---|
| Small, well-scoped edits | Accurate instructions and low task cost | The intended change passes its test |
| Debugging | Useful tool calls and evidence-based diagnosis | The failing case is reproduced and fixed |
| Large refactors | Context handling and consistent edits | The change preserves behavior across files |
Use specifications to narrow the list, then test the client.
For a small edit, start with the smallest context that includes the relevant function and its test. For a repository-wide refactor, check the publisher context and output limits, then try a multi-file edit using your chosen OpenCode adapter. A large context window alone does not establish reliable editing or tool use.
| Keep with your result | Record |
|---|---|
| Client and configuration | Client version, exact model ID and API adapter |
| Acceptance | Patch review and the relevant test result |
| Cost | All requests, retries and billed token categories |
| Reproducibility | Test date, instructions and sanitized failure details |
Build a shortlist from available models.
Filter by publisher and image input, then compare context limits and the recommended agent API. Open each candidate for its current Codimixa rates.
Input types and context limits describe the publisher’s model. The agent API column gives the recommended request format. Open a model for its configuration and source links.
Codimixa rates checked: 2026-10-31T15:06:07.868Z. Publisher references checked: October 20, 2026.
Use three tasks with explicit pass conditions.
Start from the same repository revision for each candidate. Set a spend limit before running the task and keep every attempt in the cost total. The table is a test plan you can apply to your repository.
| Task | Fixed input | Pass condition |
|---|---|---|
| Small edit | One function, its test and a specific behavior change | The new case and existing relevant tests pass. |
| Bug fix | A reproducible failing test and the relevant files | The original failure is fixed without weakening the test. |
| Multi-file change | A defined interface change and its callers | All intended callers are updated and the relevant suite passes. |
Set a default after the comparison.
Once a model fits your everyday work, use its exact ID as your OpenCode default. Keep a separate choice for tasks with different requirements, and compare again when your workflow changes.
A FEW DETAILS
Before you continue
Should I always use the most capable model?
Use the model that meets the task’s acceptance criteria at an acceptable total cost. A complex refactor and a small formatting fix can justify different choices.
Can a model generate code but still fail in OpenCode?
An agent also depends on tool behavior, the chosen API format and context handling. Include a tool-using task in your evaluation.