🌐 TranslateGemma Translate

API 文档 — v1.2.3

文本翻译 API

GET POST /transapi/

兼容 translate-api 接口格式的文本翻译。

请求参数

参数类型说明
textstring要翻译的文本
source_languagestring源语言代码(如 en, zh, ja
target_languagestring目标语言代码
secretstring访问密钥 (如果服务端配置了密钥)

GET 请求使用 URL 查询参数,POST 请求支持 JSON body 或 Form 表单。

示例

GET /transapi/?text=Hello&source_language=en&target_language=zh

响应

{"code": 0, "msg": "ok", "text": "你好"}

图片翻译 API

POST /transapi/image/

上传图片进行翻译。支持两种模式:直接视觉翻译(翻译模型直接读图)或 OCR 前置(先识别文字再翻译)。

请求参数(multipart/form-data)

参数类型说明
imagefile图片文件(JPG/PNG/GIF/WebP)
source_languagestring源语言代码
target_languagestring目标语言代码
use_ocrstringtrue/false — 是否启用 OCR 前置识别 (默认 false)
secretstring访问密钥 (可选)

请求参数(JSON,使用 base64)

参数类型说明
image_base64string图片的 Base64 编码
source_languagestring源语言代码
target_languagestring目标语言代码
use_ocrstringtrue/false (可选)
secretstring(可选)
OCR 前置模式:当 use_ocr=true 时,系统先调用 OCR 模型(如 glm-ocr)识别图片中的文字,再将文字交给翻译模型翻译。适合文字量大、排版复杂的图片。

响应

{"code": 0, "msg": "ok", "text": "翻译结果"}

PDF 翻译

1. 上传 PDF

POST /upload/pdf/

上传 PDF 文件,系统自动拆分为逐页图片。

参数类型说明
pdffilePDF 文件
secretstring(可选)

响应

{"code": 0, "msg": "ok", "pdf_id": "abc123", "total_pages": 10}

2. 获取页面图片

GET /api/pdf/{pdf_id}/page/{page_num}

返回指定页面的 PNG 图片。页码从 1 开始。

3. 翻译指定页面

POST /api/pdf/{pdf_id}/translate/{page_num}
参数类型说明
source_languagestring源语言代码
target_languagestring目标语言代码
use_ocrstringtrue/false (可选)
secretstring(可选)

4. Web 浏览器

GET /pdf/{pdf_id}

打开 PDF 翻译浏览器页面,左右对照原文和译文,支持翻页和 OCR 切换。

语言列表

GET /languages

获取所有支持的语言列表。

响应

{"code": 0, "msg": "ok", "languages": [{"code": "en", "name": "English", "tg_code": "en"}, ...]}

响应状态码

code含义说明
0成功翻译成功,结果在 text 字段
1无权访问密钥错误或未提供
2参数缺失缺少必要的请求参数
3语言不支持提供的语言代码无法识别
4结果为空模型返回了空翻译
5服务错误Ollama 连接失败、超时等

配置说明

配置文件位于 data/config.json,首次启动时自动从 config.example.json 生成。修改后需重启服务。

{ "ollama_base_url": "http://localhost:11434", "ollama_secret": "", "model_name": "translategemma:latest", "host": "0.0.0.0", "port": 9911, "secret": "", "request_timeout": 120, "ocr_model": { "ollama_base_url": "", "ollama_secret": "", "model_name": "glm-ocr:latest", "model_prompt": "Text Recognition", "request_timeout": 120, "default_enabled": true } }
字段说明
ollama_base_urlOllama 服务地址。Docker 部署时改为 http://host.docker.internal:11434
ollama_secretOllama API 密钥(Bearer Token),留空表示无需认证
model_name翻译模型名称,必须与 ollama list 完全一致
host / port监听地址和端口,默认 0.0.0.0:9911
secret翻译服务的访问密钥,留空表示无需密钥
request_timeoutOllama 请求超时时间(秒)

OCR 模型配置 (ocr_model)

用于图片/PDF 翻译的 OCR 前置识别模型。可以使用独立的 Ollama 实例。

字段说明
ollama_base_urlOCR 模型的 Ollama 地址,留空则使用主地址
ollama_secretOCR 模型的 Ollama 密钥,留空则使用主密钥
model_nameOCR 模型名称,默认 glm-ocr:latest
model_promptOCR 识别提示词,默认 Text Recognition
request_timeoutOCR 请求超时时间(秒)
default_enabled网页端 OCR 前置复选框是否默认勾选(true/false)。若 model_name 为空则 OCR 不可用
提示:删除 data/config.json 后重启服务,将自动从 config.example.json 重新生成包含所有新字段的配置。