Customers / TransVirtual
Code review on every pull request.
TransVirtual, an Australian transport and logistics software company, reviews every pull request into main on Xinference Model API.
How we worked these out
Cost compares list prices per million tokens. DeepSeek V4.1 Flash is $0.30 input and $1.20 output, Claude Sonnet 5.5 is $2 input and $10 output, so 85% less on input and 88% less on output.
Output speed is from Xinference testing of DeepSeek V4.1 Flash at 10K input tokens using the Artificial Analysis method, against 205 tokens/s for DeepSeek’s own API.
Review time is as reported by TransVirtual.
Model prices are list prices in US dollars, as of November 2026.
- Company
- TransVirtual
- Industry
- Transport and logistics software
- Product
- Model API
- Model
- DeepSeek V4.1 Flash, thinking off
- Workload
- Code review in CI
The challenge
TransVirtual reviews every pull request into main each time a developer pushes. Those reviews ran on a closed-model API. To run on every push, a review has to come back in seconds, not minutes.
What they built
A review bot now runs on Xinference Model API. Each review posts comments on the exact lines plus a summary, and a posted review is a required check before merging.
- 1A developer pushes to a pull request into main.
- 2The change goes to Xinference Model API for review.
- 3The bot comments on the exact lines and adds a summary.
- 4The posted review becomes a required check before merging.
client = OpenAI(
base_url=XINFERENCE_BASE_URL,
api_key="XINFERENCE_API_KEY",
)
The result
With DeepSeek V4.1 Flash and thinking off, TransVirtual reports about 10 seconds per review, fast enough to run on every push. The team no longer depends on the closed model for reviews, and can switch models with a settings change.
Before and after
Cost
Up to 88% less cost
per token than Claude Sonnet 5.5, at list prices as of November 2026
Speed
About 16% faster
output than DeepSeek’s own API, on DeepSeek V4.1 Flash.
We needed a review that keeps up with every push. With DeepSeek V4.1 Flash and thinking turned off, it's back in about ten seconds, so we made it a required check on main. And we're not tied to a closed model anymore.
Senior Software Engineer, TransVirtualMore customer stories
Try it on your own workflow.
Point an OpenAI-compatible client at Model API and pick a model.


