0.2.1 • Published 8 months ago
@re-ai/subtitle_translation v0.2.1
@re-ai/subtitle_translation
AI字幕翻译工具包,支持SRT字幕解析、AI大模型批量翻译、断点续传、双语/单语输出、任务管理等。
功能特性
- 支持SRT字幕文件解析,自动识别格式
- 基于OpenAI等大模型API进行高质量字幕翻译
- 支持批量翻译、断点续传、任务进度查询
- 支持双语/单语字幕输出,边翻译边写入文件
- 日志分级、彩色输出,便于调试
- 任务可清理,输出文件自动删除
安装
npm install @re-ai/subtitle_translation环境变量
OPENAI_API_KEY或REAI_SUBTITLE_TRANS_OPENAI_API_KEY:OpenAI API KeyOPENAI_BASE_URL或REAI_SUBTITLE_TRANS_OPENAI_BASE_URL:OpenAI API Base URL(如用代理)REAI_SUBTITLE_TRANS_LOG_LEVEL:日志等级(debug/info/warn/error)- 其他可选:
REAI_SUBTITLE_TRANS_OPENAI_MODEL、REAI_SUBTITLE_TRANS_OPENAI_TEMPERATURE、REAI_SUBTITLE_TRANS_OPENAI_TOP_P、REAI_SUBTITLE_TRANS_OPENAI_SYSTEM_PROMPT
快速使用
import { ReAISubtitleTranslator } from '@re-ai/subtitle_translation';
const translator = new ReAISubtitleTranslator({
defaultBatchSize: 50,
defaultBilingual: true,
aiLLMConfig: {
apiKey: process.env.OPENAI_API_KEY,
model: 'gpt-3.5-turbo',
systemPrompt: '',
// ...其他参数
}
});
// 创建翻译任务
const { taskId } = translator.createTranslateTask({
filePath: './example.srt',
to: 'zh',
outputFile: './example.zh.srt',
bilingual: true, // 输出双语
batchSize: 30, // 每批30条
introduction: '' // 影片介绍
});
// 执行翻译
await translator.executeTranslateTask(taskId);
// 查询进度
const progress = translator.getTranslateTaskProgress(taskId);
console.log(progress);
// 清理任务(会自动删除输出文件)
translator.clearTask(taskId);API 说明
Translator
constructor(options):初始化,支持默认批量大小、双语、AI参数createTranslateTask({ filePath, to, outputFile?, bilingual?, batchSize? }):创建翻译任务executeTranslateTask(taskId):执行翻译任务,自动分批、断点续传、边翻译边写入getTranslateTaskProgress(taskId):查询任务进度clearTask(taskId):清理任务及输出文件
AITranslator
- 支持自定义大模型API参数,结构化输出
测试
npm run testLicense
MIT