0.2.1 • Published 10 months ago

@re-ai/subtitle_translation v0.2.1

Weekly downloads
-
License
MIT
Repository
github
Last release
10 months ago

@re-ai/subtitle_translation

AI字幕翻译工具包,支持SRT字幕解析、AI大模型批量翻译、断点续传、双语/单语输出、任务管理等。

功能特性

  • 支持SRT字幕文件解析,自动识别格式
  • 基于OpenAI等大模型API进行高质量字幕翻译
  • 支持批量翻译、断点续传、任务进度查询
  • 支持双语/单语字幕输出,边翻译边写入文件
  • 日志分级、彩色输出,便于调试
  • 任务可清理,输出文件自动删除

安装

npm install @re-ai/subtitle_translation

环境变量

  • OPENAI_API_KEYREAI_SUBTITLE_TRANS_OPENAI_API_KEY:OpenAI API Key
  • OPENAI_BASE_URLREAI_SUBTITLE_TRANS_OPENAI_BASE_URL:OpenAI API Base URL(如用代理)
  • REAI_SUBTITLE_TRANS_LOG_LEVEL:日志等级(debug/info/warn/error)
  • 其他可选:REAI_SUBTITLE_TRANS_OPENAI_MODELREAI_SUBTITLE_TRANS_OPENAI_TEMPERATUREREAI_SUBTITLE_TRANS_OPENAI_TOP_PREAI_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 test

License

MIT

0.2.1

10 months ago

0.2.0

10 months ago

0.1.4

10 months ago

0.1.3

10 months ago

0.1.2

10 months ago

0.1.1

10 months ago

0.1.0

10 months ago