Yes, the specific steps have changed a little bit since I made the wiki, even though the overall process is still the same.
Yes, .final-ai.srt is the final AI product (but I usually do some manual adjustments before release).
Yes, there is a bug that I need to fix where, if the refined step stops for any reason (ex. the API returns an error), the other steps will run ‘too soon’.
To fix it, for now, look at my comment on January 17. Besides deleting the .final-ai.srt, you’ll need to change the .wipsubtitle file.
I’ll try to create a new version this weekend to fix the dependencies between the steps.
Alright, thank you for the explanation. It makes sense. I actually already read your comments from earlier and most of the comments in this thread, but I guess I wasn’t sure if it applied to me. I’m trying it now, and it seems to be working on finishing up stuff like translated_text_maverick that it must have skipped over. I’ll let you know how it goes.
It’ll definitely help avoid confusion for others if you can get around to making the new version with the fixes. I find that when I use the Google API, it virtually always runs into a Prohibated Content or Internal Server Error at some point. I’ve gone through about 10 videos, and it’s happened on all of them, so it’s almost inevitable. Fortunately, I started saving all the files created by the tool starting after the third video when I realized the issue, so I’ll only need to completely redo the first three.
Another thing that you might want to add to the Wiki is that the free tier for Google now only seems to allow the Gemini 2.5 Flash model, and it’s a very limited usage. It seems to only let you do about 20 requests before it throws Error 429 Too Many Requests, and the limit does not seem to refresh indefinitely. At least it didn’t for me over many days when I was first trying to test the tool. When I was googled the issue, it seems that they’ve severely cut back on free tier usage limits in the last few months. What I ended up doing was starting the free trial that gives $300 worth of credits for 90 days, which has allowed me to use all the models effectively without limits. The 10 videos I did cost me about $44 of those credits so far.
Created a new version 2.1.2. It should fix the dependencies, but I didn’t have the time to test the different paths (i.e. manual, automatic).
I added a section in the release notes to explain what to change/keep in your existing config file. I’ll try to do that in the future.
Did you use the version 2.1.1+ application and default config for all of those? Because that version included some changes to greatly reduce Google’s censorship. I hardly get any Prohibited now, for the kind of video I make. For an internal server error, usually, you can just retry, and it will work.
Well, if there is any information in the Wiki about AI providers, I’ll just remove it. It changes too often. Right now, I’m using a paid account on Google and Poe. I use GPT5 on Poe for the translated_text_maverick step.
And, yes, using the credits from the free trial is nice. I did that when I worked on the application from August to November. I almost used all the credits during that time.
Okay, I finished running everything after the fix to my wipsubtitle file and I think it did the trick. There’s a noticeable change/improvement in my new final-ai.srt from before. Thanks for the help! I’m really glad I asked before doing more videos.
Did you use the version 2.1.1+ application and default config for all of those? Because that version included some changes to greatly reduce Google’s censorship. I hardly get any Prohibited now, for the kind of video I make. For an internal server error, usually, you can just retry, and it will work.
Yes, I was using the latest version at the time, 2.1.1 with the default configs*. I don’t think the kinds of videos I’m doing would be particularly prone to triggering the Prohibited Content warning. I also ran into the “EndTime not received and StartTime ‘(timestamp)’ cannot be matched to an existing item…” error quite a bit. In any case, it felt quite unlikely to get through an entire run without any kind of error ever. I’ll try the new 2.1.2 release and see how that goes.
*Er, actually I did change one thing, which was to set batch mode to false, because I was getting very long wait times and I didn’t care too much about wasting extra money while I was on the free trial. I wonder if that had something to do with it.
I’m assuming you are talking about the UI to select the speaker for each subtitles.
It’s enabled by default in the ‘ManualHQWorkflow’ but you have to put something like {OngoingSpeakers:Mayuki Ito,Momo,etc} somewhere in your .manual-input.srt file. It’s the fact that there is multiple speakers at some point in the scene that activate it.
Do not forget to generate .mp4.FAST.mp4 files, this will speed up the process (see the first post for more details/batch file).
So Gemini 3.0 Pro got deprecated on March 9. I tried switching to Gemini 3.1 Pro, but I’m getting indefinite batch response times for two days straight now. Is anyone also having this issue? I’m using the free trial on Google AI Studio, I assumed they would let you use 3.1.
There is a lot of topics on gemini forum about it. For example:
Hopefully, they’ll fix it soon.
If you don’t mind paying twice as much (I guess it wouldn’t make a difference with the free trial), set UseBatchMode to false in --FSTB-SubtitleGenerator.override.config:
{
"$type": "AIEngineAPIGoogle",
"$id": "AIEngineGemini3ProOnGoogle",
"BaseAddress": "https://generativelanguage.googleapis.com/v1beta",
"Model": "gemini-3.1-pro-preview",
"APIKeyName": "APIKeyGemini",
// [OPTION] Set BatchMode to false to remove wait time (but without the saving).
"UseBatchMode": false,
Or, use 2.5 pro instead, I think it still works in batch mode and it’s not deprecated.
I thought there was a feature where I could describe the position of the girls to make the AI figure out the speakers itself in the VisualTraining section of the manual-input. So that I only need to select the speakers of each subtitle for the subtitles that could not be matched by the AI. Maybe I misunderstood that.
No, there isn’t a ‘supported’ way to do a AI selection first, then finishing it up manually. I though about doing it when I did some test on “Speaker diarisation” but the AI was too inconsistent.
That been said, I never tried it myself, but if you have something like {OngoingSpeakers:multiple} then you add {VisualTraining:Hana on the left, Ena on the right} on some subtitles of your manual-input.
And add an explicit note in the first subtitle of your manual-input file. Something like this: {OngoingNoteToRefiner:Please generate the Speaker tag with the most likely speaker based on audio and image}.
I’m pretty sure the singlevad-ai-refined step will add Speaker on its own.
Technical Note: Any tag starting with Ongoing will be repeated in every request. I sometimes use that to give a ‘hint’ to one of the AI.
It’s already implemented. There is an ‘AIEngineLocalAPI’ defined in --FSTB-SubtitleGenerator.override.config that uses mistral-small-3.2 locally (or other model if you change it), if you have LMStudio or other local software running on your machine.
I use it when creating ‘subtitles draft’ (i.e. whisper + mistral-small-3.2 translation), to see if a scene looks interesting enough to run the manual process with better AI.
The quality is not comparable to what I get when I’m using my favorite combo right now:
“Gemini Pro” for audio/image transcription & analysis
I have an issue with the translated-texts_maverick txt file.
EndTime not received and StartTime ‘00:03:58.022’ cannot be matched to an existing item (closest time found:00:03:50.974). Error is segment starting at line 90, position 3.
Error is segment starting at line 90, position 3.
This is weird as there are a lot more subtitles before the ‘00:03:58.022’ starting time as claimed in the error message. How can I change the Starting and Ending timings so it can be processed correctly?
This can happen when the AI ‘misbehaves’ and includes invalid nodes in the response. If there is only a single node/subtitle and you are sure to which original node/subtitles it’s linked to, you can change to the correct timing in the TODO_ file and rerun. Or you can delete the invalid node/subtitle or delete the whole TODO_ file.
As for your old question, batch mode in Google/Gemini is often really slow. I’m not sure if we can do much about that. Sometimes, when it’s really bad, I switch to Gemini-Pro-2.5 instead of 3.1. The wait time for 2.5 seems a little bit better than 3.1.
I fixed it by deleting the TODO file, luckily it was at the beginning of the ~1100 subtitles lol. Today I got lucky and it was really quick. Kinda annoying that it’s so slow sometimes, I guess they need some more (V)RAM
Something very weird happened to my translations. They have the words “completely” and “absolutely” in almost every sentence. What could have went wrong? URVRSP-332-E.srt (31.7 KB)