Connecting Luna Translator
Difficulty 🧩 Medium | API format OpenAI compatible | base_url
https://byesu.com/v1
https://byesu.com/v1gpt-5.5LunaTranslator is an open-source translator for GalGame / visual novels. It can extract text via HOOK, recognize text with OCR, and connect to large language models for AI translation. Point it at byesu — an AI API gateway with OpenAI-compatible and Anthropic-native endpoints — and one key lets you translate game text in real time with models such as gpt-5.5 and claude-opus-4-8, billed pay-as-you-go with no subscription.
Before you start
First go to Console → Tokens and create an API token (it looks like sk-xxxx). When creating it, be sure to pick the right group — the group determines which models you can call and how you are billed. See Choosing a group for details.
Step 1: Download and install Luna Translator
Go to the LunaTranslator official documentation to download the latest version. After extracting it, just run the main program (the Windows version is portable, no installation needed).
Step 2: Configure the large language model interface
LunaTranslator offers two methods, "one-click import" and "manual configuration". We recommend trying method one first.
Method one (fastest): one-click import from the console
- In the byesu console, open System Settings → Chat Settings and add the following chat jump link:
{ "LunaTranslator": "lunatranslator://llmapi/base64?data={cheryConfig}" }- Go to Console → Token management, find your token, click the dropdown arrow to the right of "Chat", and choose LunaTranslator. Your browser will automatically launch the client and write the configuration.
- In LunaTranslator, open Settings → Translation Settings → Large Model and find the interface configuration that was just added automatically.
- Click the "Refresh" button next to the model dropdown to pull the list of available models from byesu, select one (such as
gpt-5.5), and save. - Turn on the enable switch on the left side of that interface configuration.
Method two: manual configuration
- In Console → Token management, copy your API Key (
sk-xxxx). - In LunaTranslator, open Settings → Translation Settings → Large Model and click "Add".
- Copy a "Large Model General Interface" template.
- Fill in the following values in the new interface's fields:
| Field | Value to enter |
|---|---|
| API endpoint / base_url | https://byesu.com/v1 |
| API Key | sk-xxxx (your token) |
| model | gpt-5.5 (or select one after refreshing in the next step) |
- Click "Refresh" next to the model box and choose the model you want to use from the dropdown list.
Don't forget the /v1 in the address
LunaTranslator uses the OpenAI-compatible interface, so the base_url must be https://byesu.com/v1 (ending with /v1). If you enter https://byesu.com instead, the interface won't be recognized.
Luna Translator uses the OpenAI-compatible endpoint (
https://byesu.com/v1). byesu also exposes an Anthropic-native/v1/messagesendpoint for clients like Claude Code — see Claude Code CLI Setup.
Step 3: Enable and verify
- Turn on the enable switch on the left side of that interface configuration.
- Return to the main screen and, in the translation engine, check this LLM interface as the source of the translated text.
- Use HOOK or OCR to capture a piece of game text. If it returns the translated text correctly, the connection is successful.
Recommended models:
- Speed first, best value:
gpt-5.5 - More refined translation quality:
claude-opus-4-8 - Long text / multilingual:
gemini-3.1-pro-high
Stuck?
- 401 / authentication failed: The API Key is wrong or has extra spaces. Copy
sk-xxxxagain from Token management. See Common errors #auth. - No available channel / model does not exist: The current token's group does not include this model. Switch models or adjust the group. See Choosing a group and Common errors #no-channel.
- Insufficient quota / balance is 0: The token's quota is used up. Top up or check the token's quota limit. See Common errors #balance.
- Refreshing the model list returns nothing: Make sure the base_url ends with
/v1and that the token is valid.
For more troubleshooting, see Common errors.
