iTranslated by AI
Constraint Map for AI Slide Translation: Lessons from Experimenting with Google and DeepL APIs vs. Web UI (2026)
This article is the comparison edition of the following series.
- [Hub] Designing AI Slides for i18n/l10n: Making Magic Enhance Designs into Editable Localized Versions
- [Practical Edition] Separating Backgrounds and Text in AI Slides: Making Editable Localized Versions with Adobe Express + DeepL API
- [Comparison Edition] This article
- [Tool Edition] Streamlining PPTX Translation: A Workflow to Manage Copy in YAML/Excel and Refine with AI
What This Article Covers
When choosing translation tools, it is often impossible to know which ones work and which don't until you try them. This article is a record of that trial and error.
- Evaluations by combination of translation target (PNG image / PDF / PPTX) and method
- The biggest point of confusion: Clarifying whether "text within images" gets translated
- Details and reasons why PNG translation didn't work with the Google Cloud Translation API
- How to choose between DeepL API and Google Cloud Translation API
- Comparison of text removal tools (Adobe Express, Canva, Photoshop, IOPaint)
This article is structured to be readable on its own for the purpose of "understanding translation tool constraints," even if you haven't read the hub or practical editions.
What I Tested
File formats for translation: PNG image / PDF / PPTX
Translation methods:
| Category | Method |
|---|---|
| Web UI | Google Translate / DeepL |
| API (Python) | Google Cloud Translation API / DeepL API |
| Self-implementation | Vision API + Pillow |
Evaluation Table: Results by Combination
| Method | PNG Image | PDF/PPTX*1 | Automation | Cost |
|---|---|---|---|---|
| Google Translate Web UI (Image mode) | ○*2 | — | ❌ Manual | Free |
| Google Translate Web UI (Document mode) | — | ○ | ❌ Manual | Free |
| DeepL Web UI | ○ | ○ | ❌ Manual | 3 files/month free*3 |
| DeepL API (passing PNG) | ○*4 | — | ✅ | 500k characters/month free |
| DeepL API (passing PDF/PPTX) | — | ○ | ✅ | Same as above |
| Google Cloud Translation API (passing PNG) | ❌ 400 error | — | — | Pay-as-you-go |
| Google Cloud Translation API (passing PDF/PPTX) | — | ○ | ✅ | Pay-as-you-go*5 |
| Vision API + Pillow (Self-implementation) | △ Works but low quality | — | ✅ | Pay-as-you-go |
Notes
- *1 PDF/PPTX: Regardless of the method used, text embedded as images within the document is not translated.
- *2 Google Translate Web UI Image mode: Uses a proprietary engine that handles OCR, background completion, and redrawing in one go. Quality is high, but manual only.
- *3 DeepL Web UI (PDF/PPTX): While stated as 3 files per month, you might reach the monthly limit with a single file depending on file size and content.
- *4 DeepL API (PNG): May not process images containing mathematical formulas correctly.
- *5 Google Cloud Translation API (PPTX/PDF): Charged per page ($0.08/page). Although GCP has a free tier of 500k characters per month, it does not apply to PPTX/PDF.
The Most Important Clarification: Whether "Text Within Images" Is Translated
This is the biggest point of confusion. Even with the same "translation," the results vary drastically depending on the file format and how it is submitted.
Cases Where It Is Translated
✅ Passing PNG directly to Google Translate Web UI Image mode
✅ Passing PNG directly to translate_document in DeepL API
✅ Passing PNG directly to DeepL Web UI
Cases Where It Is Not Translated
❌ Text "embedded as an image" inside PPTX/PDF
(DeepL API, Google Cloud Translation API, and Google Translate Web UI all fail)
❌ Passing PNG to Google Cloud Translation API (Format not supported, 400 error)
Why this distinction is important is because as long as you treat slides generated by Magic Enhance as PPTX, the text inside the images within those slides cannot be automatically translated by any translation tool. This is the fundamental reason why the "separating backgrounds and text" approach introduced in the practical edition is necessary.
Details on Why PNG Translation Failed with Google Cloud Translation API
I initially ran into a wall when trying to translate PNG images using the Google Cloud Translation API.
Passing a PNG to translate_document returns the following error:
400 Conversion from input_mime_type: 'image/png'
and output_mime_type: 'image/png' is not supported
This API does not support PNG as an input/output format. (It supports .docx, .xlsx, .pptx, .pdf, .rtf, .html, and .txt)
Why does the Google Translate Web UI work?
The reason the Google Translate Web UI can "replace text within images with natural background completion" is that it uses an internal rendering engine that is not publicly available. Since this engine is not provided as an API, you cannot reproduce the same processing as the Web UI via API.
When self-implementing with Vision API + Pillow
I also tried an implementation that detects text using the Vision API and draws the translated text onto the background using a rectangle in Pillow. While it works, it simply paints over the background with a solid color, creating a "white block" effect that does not blend at all with the gradient backgrounds generated by Magic Enhance. Its practicality is low.
DeepL API vs. Google Cloud Translation API
Comparing the two for the purpose of PPTX/PDF translation reveals the following differences:
| Comparison Item | DeepL API | Google Cloud Translation API |
|---|---|---|
| Translation Quality (Japanese) | High | High |
| Number of Supported Languages | Approx. 30 languages | 100+ languages |
| PNG Image Translation | ◎ (Supported) | ❌ (Not supported) |
| Free Tier for PPTX/PDF | 500k characters/month | Not applicable (Pay-per-page) |
| Setup | Get API key (requires DeepL API Free/Pro contract) + pip install deepl
|
Requires GCP project creation, enabling API, getting Service Account JSON key, and setting environment variables |
| PPTX Pricing | Calculated by character count | $0.08/page |
If Japanese (or one of the ~30 languages) is the target, the DeepL API is advantageous. It eliminates the need for various GCP settings, supports PNG image translation, and allows for PPTX/PDF translation within the 500,000-character monthly free tier.
If you require minor languages that DeepL does not support, the Google Cloud Translation API might support them. However, please note that PPTX/PDF translation is charged per page.
For reference, in the case of Excel file translation, the 500,000-character monthly free tier applies to the Google Cloud Translation API, unlike PPTX/PDF translation. It can also be translated via the DeepL API.
Comparison of Text Removal Tools
In the pipeline introduced in the practical edition, there is a step to create a base image by erasing text from images generated by Magic Enhance. Here is a summary of available tools.
| Tool | Quality | Monthly Fee | Credits/Usage | Notes |
|---|---|---|---|---|
| Adobe Express (Free) | ◎ | 0 JPY | 25/month | 1 credit per slide |
| Adobe Express (Premium) | ◎ | 1,100 JPY | 250/month | Monthly contract/cancellable |
| Canva Pro | ○ | 1,500 JPY | Limited | If you are already using Canva |
| Photoshop (Photo Plan) | ◎ | 1,180 JPY~ | Limited | Yearly contract basic. Monthly pay is pricey |
| IOPaint (Local AI) | ○~◎ | 0 JPY | Unlimited | High quality for simple backgrounds. Adobe Express is better for complex backgrounds |
Points to note when spot-contracting the Adobe Express Premium plan
- Contracts via the App Store or Google Play are cumbersome to cancel, so contract directly from the official Adobe website.
- Set auto-renewal to off immediately after contracting.
- The "Start free trial" button is for the premium free trial; automatic billing begins after the period ends.
About IOPaint
pip install iopaint
iopaint start --model=lama --device=cpu --port=8080
Open http://localhost:8080 in your browser and use the brush to trace and erase text. For gradient or geometric pattern backgrounds, the quality is comparable to Adobe Express. Adobe Express is more stable for complex photo backgrounds. See the practical edition for details.
How to Register for DeepL API Free Correctly
As the most important practical note throughout this article, I will state the registration method for DeepL API Free.
- Access the DeepL API page.
- Select "DeepL API Free" from the plan comparison table.
- Credit card registration is required, but it is completely free as long as you stay within the 500,000 characters per month limit.
- After registration, copy the "DeepL API Authentication Key" at the bottom of the account settings.
Summary: Which Method to Choose?
Recommended uses by purpose are summarized below.
Want to translate text inside a PNG image (blend into the background)
→ Google Translate Web UI (Manual/Free) or DeepL API (Automated available).
Want to translate PPTX text boxes (keep editable)
→ Google Translate Web UI (Manual/Free, if there are few files), DeepL API (Automated/Recommended), or Google Cloud Translation API (if minor languages are needed). Note that text embedded as images within PPTX cannot be translated by any means.
Want to translate text inside images included in slides
→ Currently unsupported by automatic translation tools. The "separating backgrounds and text" approach introduced in the practical edition is necessary.
Want to erase text from slides generated by Magic Enhance
→ Adobe Express (Quality focus) or IOPaint (Free/Unlimited).
Series
This article is the comparison edition of the following series.
- [Hub] Designing AI Slides for i18n/l10n: Making Magic Enhance Designs into Editable Localized Versions
- [Practical Edition] Separating Backgrounds and Text in AI Slides: Making Editable Localized Versions with Adobe Express + DeepL API
- [Comparison Edition] This article
- [Tool Edition] Streamlining PPTX Translation: A Workflow to Manage Copy in YAML/Excel and Refine with AI
Correction
2026-04-08
Upon self-verification after publication, it was found that the following statement is incorrect:
The DeepL API does not support Excel translation
Actually, the DeepL API also supports translation of Excel files (.xlsx).
I apologize for the error and have corrected it.
Discussion