I Verified Sakura AI Engine's Free Tier: 3 Models, 3 Tasks, Honest Results
1. Introduction When I evaluate an LLM API for work, two worries come first. Will I get billed without noticing while "just trying" the free tier? Will my input text be stored or used for training? Sakura AI Engi
1. Introduction
When I evaluate an LLM API for work, two worries come first.
- Will I get billed without noticing while "just trying" the free tier?
- Will my input text be stored or used for training?
Sakura AI Engine, a Japanese cloud service by Sakura Internet, answers both on its official pages. It states a zero data retention (ZDR) policy — inputs are neither stored nor used for training — and offers a free plan with 3,000 chat requests per month.
On November 6, 2026, I ran three models from the free plan through the same three tasks in the web Playground, then checked every answer by eye and by independent calculation. Here is what I found.
2. What the free plan actually includes
From the official product page:
- Chat Completions: free up to 3,000 requests per month. Past that, requests are rate-limited — there is no automatic billing
- ZDR: input data is not stored and not used for training. Processing runs in data centers in Japan
- The Chat Completions catalog lists 10 models. One of them (a medical model) is outside the free tier, so 9 models are free to try
- RAG is outside the free tier and billed by usage (3 JPY per 100 chunks)
A common misconception
A "free plan" does not mean everything is free. RAG and the medical model are excluded. Check the scope before you build on it.
3. How I verified
I used the Playground with a fresh conversation for each trial, one submission per model per task, and no retries.
Models: gpt-oss-120b / llm-jp-3.1-8x13b-instruct4 / preview/Kimi-K2.6
Task 1 (explanation): explain RAG for non-experts in 450 characters or fewer
Task 2 (code): a Python moving_average(values, window) function plus unittest cases.
Expected values for [2,4,6,8,10] with window=4 and 5 had to be
derived independently from the sublists
Task 3 (summary): summarize a municipal energy-saving text in exactly 3 bullets,
without adding numbers that are not in the source
Settings: Playground defaults (temperature and token limits not verified)
I did not execute any generated code. I checked the test expectations with my own arithmetic, independently of the models. I did not measure time to first token or token counts.
A common misconception
A model's own "reasoning" is not verification. In this run, one model confidently explained wrong expected values as if they were correct. Always cross-check with an independent method.
4. Results
4.1 Explanation (RAG)
All three models separated the roles of retrieval and generation, and noted that having sources does not guarantee correctness.
Kimi-K2.6 was concise and split its caveats into two kinds: the source documents themselves can be wrong, and the AI can misinterpret or miscombine them. gpt-oss-120b also covered how to check sources, although one claim — that real-time intake makes answers comprehensive — was stronger than the conditions justify.
llm-jp-3.1-8x13b-instruct4 ignored the 450-character limit and answered in long paragraphs. The content was not far off, but the requested form and length were not followed.
4.2 Code generation
The correct expected values, from my own calculation:
[2,4,6,8,10], window=4 -> [5, 7] ((2+4+6+8)/4=5, (4+6+8+10)/4=7)
[2,4,6,8,10], window=5 -> [6]
gpt-oss-120b and Kimi-K2.6 produced functions, tests, and expected values that all matched the independent calculation. Kimi-K2.6 provided 10 tests, including one that the input list is not modified.
llm-jp-3.1-8x13b-instruct4 wrote a function that visually matched the spec, but several expected values in its tests were wrong:
- window=4 expected 5, 6, 7, 8, 9
- window=5 expected [4, 6, 8, 10], and [6, 8, 10] on another line (correct: [6])
- [2,4,6] with window=4 expected 4, 6
- Its explanation then justified the wrong values, and the input-immutability test was missing
Since I did not execute the code, this only establishes whether the expected values were right — not whether the code runs.
4.3 Summarization
I scored the summaries against nine elements of the source text: 20 facilities in 2024, 1.2M kWh total with the 55/30/15 split, LED and air-conditioning measures, a 12% year-over-year decrease, the hot-day room-temperature problem, continued measurement, the 24M JPY cost, payback period undetermined due to electricity price fluctuation, and the caution against generalizing single-year numbers.
Kimi-K2.6 returned exactly three bullets, kept all nine elements, and added no numbers of its own.
gpt-oss-120b kept all nine elements but added figures that are not in the source: 660k / 360k / 180k kWh. The arithmetic behind them is correct, but the instruction was to add nothing.
llm-jp-3.1-8x13b-instruct4 answered in a single paragraph instead of three bullets and dropped a few points, including the hot-day condition.
A common misconception
Each model ran each task exactly once. These results are not a ranking. Read them as concrete examples of each model's habits.
5. What the earlier round showed
In past records from an earlier round on the same day (9 models × 3 tasks, 27 trials), similar habits appeared:
- One model reversed "do not generalize" into "generalize" in its summary
- One model swapped the facility ratios
- One small model's generated tests had every expected value wrong (the only execution evidence in those records is a single input run of an older Qwen function)
Combining both rounds, the weak point is not fluency. It is faithfulness to numbers and meaning. Expected values and summaries only become usable after an independent check.
6. Limitations
- I have not verified the APIs yet. OpenAI-compatible and Anthropic-compatible endpoint checks, and Claude Code integration, are still to come
- I did not execute the generated code, so I cannot claim it works or that any test passes
- I did not measure TTFT or token counts, and I am not comparing speed
- After the trials, the usage display showed 37 requests and 0 JPY. That is 7 more than the 9 submissions I recorded, so treat the 0 JPY as a display observation, not a confirmed final bill
- One tested model is a preview offering and may be discontinued or changed without notice
7. Summary
Within the free plan, you can try 9 models with no billing risk, and the ZDR policy is stated in writing. As an evaluation entry point, the conditions are solid.
Quality, however, varies by task and by model. In this run, skipping the cross-check on expected values and summary details would have carried errors straight into real work.
Next, I will verify the API endpoints and the Claude Code integration, and update this post with the results.
8. References
- Sakura AI Engine official site (free plan terms, model list, and the "input data is not used for training or stored" policy): https://ai.sakura.ad.jp/sakura-ai/ai-engine/
- Zennfes Autumn 2026, Sakura division (the contest this post is entered in): https://zenn.dev/contests/zennfes-autumn-2026-sakura
- Sakura Internet official announcement (2026-11-02): https://www.sakura.ad.jp/corporate/information/announcements/2026/11/02/1968226190/
Originally published by Dev.to AI. Aggregated on AIWithGhost for educational purposes — full credit and traffic to the original publisher.