# 沉浸式翻译 自定义 API 教程：地址、模型与网页双语验收

用原创网页逐段验收沉浸式翻译：在官方支持的自定义 API 字段填真实地址和模型，区分原文、译文与配置测试。

运行范围：原创 PDF/CSV/EPUB/HTML 材料与本地验收已实际执行。没有调用翻译模型、没有连接 Zotero 库、没有填写凭证。官方截图为官方项目示例，不是本练习运行输出。

依赖：Python 3.11+；PDF 验收需 Poppler 的 pdfinfo/pdftotext；OCR 复现需 tesseract 英文语言数据。安装翻译工具时遵循各自官方 Python 要求。

## 1. 先打开原创网页

包内 article.html 含四个独立段落与明确段落 ID。用本地 HTTP 服务打开，避免浏览器对 file:// 的扩展权限差异；本页截图就是未翻译的真实输入。

```sh
python3 -m http.server 8048 --bind 127.0.0.1
```

## 2. 选择官方支持的服务入口

在沉浸式翻译设置中选择 OpenAI 或对应自定义兼容服务，展开更多设置。官方图是历史设置参考，字段与套餐以当前插件为准；不沿用该文档中的旧模型价格。

## 3. 复制实际服务地址

从自己的服务后台复制 API 地址。注意字段要求完整请求 URL 还是 Base URL：若要求完整端点才填写 /v1/chat/completions，不要盲目补两次 /v1。settings.example.json 只有占位符。

## 4. 选择实际可用模型并测试

填本机 API Key 和后台列出的模型 ID，先点连接/服务测试。401、404 与 429 分别排查凭证、地址/模型、额度/频率；测试成功仍不等于四段网页已完整翻译。

## 5. 翻译这四段原文

打开 http://127.0.0.1:8048/article.html，触发网页翻译。保留原文显示，逐段检查译文是否紧随正确段落；菜单和快捷键以实际版本为准。

## 6. 逐段填验收表

在 paragraph-check.csv 写入每段实际译文，复查 temporary queue 与 permanent failure 没有混淆。HTML 验证脚本只检查原文段落 ID 与格式，不调用模型。

```sh
python3 verify.py
```

## 7. 保存脱敏配置

只分享服务域名、端点形态、模型与测试状态，删掉密钥与账号信息。使用 apizt 等兼容服务时仅在官方支持的自定义地址字段配置；插件账号功能仍受其自身规则约束。

## 来源

- https://immersivetranslate.com/en/docs/services/openai/

## 教材

原创输入材料可用于学习练习。官方图片版权归原作者，网页中保留来源；ZIP 不打包这些官方图片。
