SamuKata
dreamsavior
dreamsavior

patreon


AI Translation at half cost - OpenAI Batch API Improvements

Hello fellow translators,

Are you using OpenAI to translate your games?
Did you know that there's a way to translate using half the normal cost by utilizing the official OpenAI Batch API?

We’ve previously showcased this feature here, and it’s now been further enhanced.

Previously, this feature was bundled with the OpenAI Chat add-on, but I’ve decided to create a standalone add-on specifically for the Batch API. Why? Because OpenAI Chat is a versatile feature that can be used with any service that supports the OpenAI API. Many of us might already use Chat Completion for other platforms like LM Studio or DeepSeek.

On the other hand, the OpenAI Batch API is a feature specific to OpenAI (duh), so it makes sense to separate its configuration for better clarity and flexibility.

As usual, you can install the OpenAI Batch API add-on through the Add-on Installer:

The configuration for OpenAI Batch API is found under the add-on settings. You can use the search bar to locate it quickly:

Here you can enter your OpenAI API key.

You also have the option to enable a new setting: “Enable Jailbreak”, which attempts to prevent OpenAI from censoring your translations:

🛠️ Batch Manager

Within the Batch Manager window, you can monitor translation progress, apply completed batches, or cancel ongoing batches.
The Batch Manager has received several improvements in this version, including the ability to download error logs as a .jsonl file:

It also auto-refreshes to show the most up-to-date information without manual reloading.

⚠️ Important: Enabling Models for Batch API

OpenAI Batch API uses models with the -batch suffix.
For example, if you use gpt-4.1-mini, it will automatically use gpt-4.1-mini-batch.

However, these batch models aren’t enabled by default in your OpenAI account.
To enable them, follow these steps:

  1. Go to https://platform.openai.com

  2. Navigate to LimitsModel Usage → Click Edit

  3. Change the filter from Allow (whitelist) to Block (blacklist)

  4. Select any models you don’t plan to use (e.g., dall-e-2)

  5. Click Save

This practically enables all other models, including the ones with the -batch suffix.

I hope this feature helps make your translation workflow smoother and more affordable.

🔧 Anthropic and Google (Gemini) also offer Batch APIs with similar pricing and turnaround schemes. However, their implementations differ from OpenAI’s. While we already have tools like LiteLLM that standardize normal chat APIs across various services, unfortunately, no unified standard exists yet for batch APIs.

This means we’ll need separate, custom-built add-ons for each provider’s Batch API.

Currently, I’m working on a Gemini Batch API add-on.
If all goes well, we’ll be able to use Gemini—which is already cost-effective—at an additional 50% discount!


Stay tuned for this in a future update!

Lastly, Translator++ version 7.7.30 is now available for all patrons. Please make sure to update your Translator++ to the latest version.

Happy Translating,


Dreamsavior

Comments

Hi Bulk, I'm really sorry to hear about the trouble you're having with T++ and the unexpected increase in your costs. That's definitely not the experience I want for you, and I understand how frustrating it must be to see those charges jump up. To help me figure out what's going on, could you let me know if you're using Google Gemini through the LiteLLM add-on or the direct Gemini AI add-on in T++? I want to assure you that there is no default setting in Translator++ that would automatically switch or fall back to the Gemini 2.5 model. The program should be using the model you've selected. In the meantime, here are a couple of things you can check that might help us get to the bottom of this: - Double-check your active configuration profile: Please take a look at your current settings in T++ to make sure that Gemini 2.0 Flash is still selected as the model. It's possible that a different profile was activated by mistake. - Secure your API key: It might be a good idea to check if anyone else could be using your API key. If you suspect it might have been leaked, you may want to generate a new one and update it in T++. Also, ensure that no other applications are using the same API key, as that could lead to unexpected usage. I hope that helps. Thank you.

Dreamsavior

Bulk


More Creators