#4778 Could not parse response content as the length limit was reached - CompletionUsage(completion_tokens=8192, prompt_tokens

2409:8a55* Posted at: 11 hours ago

Could not parse response content as the length limit was reached - CompletionUsage(completion_tokens=8192, prompt_tokens=14905, total_tokens=23097, completion_tokens_details=None, prompt_tokens_details=PromptTokensDetails(audio_tokens=None, cached_tokens=512), prompt_cache_hit_tokens=512, prompt_cache_miss_tokens=14393)
Traceback (most recent call last):
File "videotrans\task\only_one.py", line 68, in run
File "videotrans\task\trans_create.py", line 583, in trans
File "videotrans\translator\__init__.py", line 858, in run
File "videotrans\translator\_base.py", line 72, in run
File "videotrans\translator\_base.py", line 142, in _run_srt
File "tenacity\__init__.py", line 338, in wrapped_f
File "tenacity\__init__.py", line 477, in call
File "tenacity\__init__.py", line 378, in iter
File "tenacity\__init__.py", line 400, in
File "concurrent\futures\_base.py", line 451, in result
File "concurrent\futures\_base.py", line 403, in __get_result
File "tenacity\__init__.py", line 480, in call
File "videotrans\translator\_openaicompat.py", line 82, in _item_task
openai.LengthFinishReasonError: Could not parse response content as the length limit was reached - CompletionUsage(completion_tokens=8192, prompt_tokens=14905, total_tokens=23097, completion_tokens_details=None, prompt_tokens_details=PromptTokensDetails(audio_tokens=None, cached_tokens=512), prompt_cache_hit_tokens=512, prompt_cache_miss_tokens=14393)
TaskCfgVTT(uuid='7ce8d2dd0a', name='E:/0DayDown/教程_Tutorials/Unreal/Unreal Generalist- Houdini Procedural Environment/video/1 - Landscape/1. Starting our landscape in Gaea.mp4', dirname='E:/0DayDown/教程_Tutorials/Unreal/Unreal Generalist- Houdini Procedural Environment/video/1 - Landscape', noextname='1. Starting our landscape in Gaea', basename='1. Starting our landscape in Gaea.mp4', ext='mp4', target_dir='E:/0DayDown/教程_Tutorials/Unreal/Unreal Generalist- Houdini Procedural Environment/video/1 - Landscape/_video_out/1. Starting our landscape in Gaea-mp4', cache_folder='D:/win-pyvideotrans-v4.00-528/tmp/9732/7ce8d2dd0a', is_cuda=True, source_language='英语', source_language_code='en', source_sub='E:/0DayDown/教程_Tutorials/Unreal/Unreal Generalist- Houdini Procedural Environment/video/1 - Landscape/_video_out/1. Starting our landscape in Gaea-mp4/en.srt', source_wav='D:/win-pyvideotrans-v4.00-528/tmp/9732/7ce8d2dd0a/en.wav', source_wav_output='E:/0DayDown/教程_Tutorials/Unreal/Unreal Generalist- Houdini Procedural Environment/video/1 - Landscape/_video_out/1. Starting our landscape in Gaea-mp4/en.m4a', target_language='简体中文', target_language_code='zh-cn', target_sub='E:/0DayDown/教程_Tutorials/Unreal/Unreal Generalist- Houdini Procedural Environment/video/1 - Landscape/_video_out/1. Starting our landscape in Gaea-mp4/zh-cn.srt', target_wav='D:/win-pyvideotrans-v4.00-528/tmp/9732/7ce8d2dd0a/target.wav', target_wav_output='E:/0DayDown/教程_Tutorials/Unreal/Unreal Generalist- Houdini Procedural Environment/video/1 - Landscape/_video_out/1. Starting our landscape in Gaea-mp4/zh-cn.m4a', translate_type=4, tts_type=9, volume='+0%', pitch='+0Hz', voice_rate='+0%', voice_role='Sound_005_90.wav', voice_autorate=True, video_autorate=False, remove_silent_mid=False, align_sub_audio=True, detect_language='en', recogn_type=0, model_name='large-v3-turbo', shibie_audio=None, remove_noise=False, enable_diariz=False, nums_diariz=0, rephrase=1, fix_punc=True, subtitle_language=None, app_mode='biaozhun', subtitles='', targetdir_mp4='E:/0DayDown/教程_Tutorials/Unreal/Unreal Generalist- Houdini Procedural Environment/video/1 - Landscape/_video_out/1. Starting our landscape in Gaea-mp4/1. Starting our landscape in Gaea.mp4', novoice_mp4='D:/win-pyvideotrans-v4.00-528/tmp/9732/7ce8d2dd0a/novoice.mp4', is_separate=False, embed_bgm=False, instrument=None, vocal='D:/win-pyvideotrans-v4.00-528/tmp/9732/7ce8d2dd0a/vocal.wav', clear_cache=False, background_music='', subtitle_type=3, only_out_mp4=False, recogn2pass=False, output_srt=2, copysrt_rawvideo=False, loop_backaudio=1, backaudio_volume=0.8)

3 Replies

这是由于 DeepSeek 模型的输出长度达到了上限(8192 tokens),导致翻译结果不完整而报错。通常是因为一次性发送了太多字幕行(或启用了 发送完整字幕 且字幕总量过大),超出了模型的输出限制。

解决方法

  1. 减少每批字幕行数
    打开菜单 工具/选项 -> 高级选项,找到 AI翻译渠道每批字幕行数,将当前值调低(如设为 510),保存后重新执行。
  2. 取消 发送完整字幕
    在翻译视频的主界面,取消勾选 发送完整字幕(即不附带行号和时间轴),改为纯文本按行发送,能显著降低 prompt 长度。
  3. 增大 DeepSeek 的 max tokens
    菜单 -> 翻译设置 -> DeepSeek 中,检查 最大输出 Token 设置,将其值设为更大(如 819216384),但需注意 DeepSeek 实际支持的上限。
  4. 若仍无效:改用 AI翻译一次性翻译所有字幕行 需谨慎,建议先关闭该选项。

请查阅相关文档:

deepseek默认最大上限值

DeepSeek 官方 API 的默认最大输出 token 为 4096。软件中 DeepSeek 设置界面的“最大输出 Token”字段若留空或设为 0,则使用此默认值。

由于你的报错信息显示 completion_tokens=8192,说明实际输出已超过默认上限被强制截断。解决方法:

  1. 菜单 → 翻译设置 → DeepSeek 中,将“最大输出 Token”设为 16384(需确认你的 DeepSeek 账户支持该长度)或更大的合法值。
  2. 同时调低 菜单 → 工具/选项 → 高级选项 中的 AI翻译渠道每批字幕行数(例如设为 5~10),或关闭“发送完整字幕”以缩短单次请求内容。
Post Your Reply
Open source and free maintenance is not easy. If this project is helpful to you, please consider making a small donation to help the project continue to maintain and update.

Related resource

Similar issues already exist