
The Making of India (@themakingofindia) is the YouTube channel for How India Built Itself, an animated documentary series about the people who built modern India: the scientists, engineers, officials and founders behind its computers, rockets, reforms and companies. The channel opened on 5 September 2026. On 17 September it held 130 public videos: 114 episodes across three seasons, 15 trailers and one standalone film. Two more finished episodes are waiting to go up.
Every picture, clip and voice in those videos was generated with open models on our own GPUs. No cloud image, video or speech service was used. The research and the scripts were written with Claude, Anthropic’s AI model, from published sources, and so was the pipeline’s code.
This post walks through how an episode is made, what each model does, and what we learned about making the models behave. A second post covers the checks every episode passes before release, and how we measured them.
What we made
| Season | Years | Episodes | Shots | Running time |
|---|---|---|---|---|
| Season 1 | 1944 to 1991 | 30 | 360 | 47 min |
| Season 2 | 1991 to 2008 | 50 | 600 | 89 min |
| Season 3 | 2009 to 2026 | 36 (34 on YouTube) | 432 | 84 min |
| Trailers | 15 | 24 min | ||
| Film | 1 | 12 min | ||
| Total | 1,392 | 4 h 15 min |
The shot count is for the episodes only. The first 30-episode build is dated 4 September 2026. Season 1 went up on 9 September, Season 2 between 14 and 16 September, and the film, the Season 3 trailers and Season 3 Episodes 1 to 34 on 17 September.
The shape of an episode
Every episode has the same structure: a three-second title card, twelve shots, and a seven-second sources card. Each shot carries one line. The line is either narration or spoken by one named person, and that person is the only one on screen. Episodes run from about 78 seconds to just under three minutes.
The series is drawn, not photographic, in one anime style across all three seasons. That was a deliberate choice. It keeps a long series uniform, and many of the people in Seasons 2 and 3 are alive: a drawn figure speaking a written line reads as dramatisation in a way a photoreal face would not.
1. Research and writing: the facts are verified, the words are written
The rule for every script is that the facts are documented and the dialogue is written. Every event, date and figure must come from a published source, and no event is invented. The words people say on screen are written for the screen, unless a real quotation exists. Each line carries a tag, and code enforces what the tag promises:
- Narration states facts in the series’ own voice.
- A documented quote must be in its source. It may be trimmed but never reworded, which we test by checking that the line is a subsequence of the source text, and it must belong to the person saying it. That second test once caught a scientist being given a colleague’s recorded words.
- A written line may not put a position in someone’s mouth that the record shows they opposed.
The checking found the kind of error that looks right on a first read:
- A superlative needs its qualifier. The sources call Jamnagar the largest grassroots refinery. Dropping that one word made a true claim false.
- A launch just after midnight has two dates. LVM3-M2 lifted off at 00:07 IST on 23 October 2022, which was still 22 October in UTC.
- A name card is a claim too. Season 3’s 83 name cards give each speaker’s name and the post they held on the day the line is set. Three independent fact-checks confirmed 73 and corrected 10.
Every episode ends on its sources card, and every YouTube description lists the sources.
2. Voices come first, because the line sets the length of the shot
Voices are made before any picture. The episodes use Kokoro, an open text-to-speech model of 82 million parameters, with its English voices and English pronunciation rules. Its Hindi voices, without a Hindi pronunciation module behind them, did not sound right to Indian ears. Each speaking character is cast to a voice by ear, no two speakers in one episode share a voice, and the narrator’s voice is kept for narration. The trailers have their own narrator: Chatterbox, prompted with a 12-second reference voice that we generated with Kokoro, so no real person’s voice is copied.
Each line is synthesised and measured, and its shot gets the smallest legal frame count that holds the speech plus a breath: 8n+1 frames at 24 fps, up to about 13 seconds for a speaking shot and 14 for narration. On the first build, 252 of 360 lines (70%) would not have fitted a fixed five-second shot.
Two lessons from the voice stage:
- A missing voice must be an error, not a fallback. Season 2’s first render put 582 of its 600 lines in the narrator’s voice, because a lookup quietly returned the narrator for every character who had not been cast. Nothing failed and every clip rendered. The voice stage now refuses to run while any speaker is uncast, and Season 2 was re-voiced, with its speaking shots rendered again, before release.
- A number is not how it sounds. Chatterbox read the year 2014 as “two thousand four”, and Kokoro read the abbreviation “Rs” as the letters R S. Scripts now spell numbers the way they should be spoken, and amounts are rewritten as rupees for the voice while the subtitle keeps the printed form.
3. Stills: FLUX.1 [schnell]
Each shot starts as a still drawn by FLUX.1 [schnell] (FP8) at 1024×576 in six steps. The prompt joins three things: the shot’s own text, one fixed style block, and a character block for the person in the shot.
A character’s identity comes from the image stage. Each real person has a written block (age at the time, face, hair, glasses, dress) and a fixed seed, used in every shot they appear in. There is no per-person fine-tuning. Season 2’s blocks for real people were corrected against dated photographs from the period, and the bar for a likeness is presence, not style: it fails when a documented feature such as glasses, a beard or a turban is missing, or when one the person never had is added, not when a moustache comes out the wrong shape.
What we learned about prompting it:
- Name the medium, not the technique. “2D anime, cel shaded” gave Western feature animation. “Anime screencap” gave anime.
- A style block carries its nationality. The word “Japanese” in ours lettered Indian shop signs in kanji until it was taken out.
- An unnamed building becomes a landmark. The model once put the Taj Mahal at the base of a rocket plume.
- Every shot needs its year. “A cargo ship at a dock” with no year came back as an 1880s square-rigger under a line set in 1966. And a year attached to an object gets printed on it: “a hardback book from 2014” carries the digits. The year goes at the front of the prompt, not on the object.
- Anything you name gets drawn. “Money hidden between palms” drew a banknote. To keep something out of the picture, don’t name it; say where the frame ends.
- Scenery fills with people. A shared suffix added “Indian characters in period dress” to every scenery prompt, so close-ups of objects came back with faces staring into the lens. Shots with no character now use an objects-only form. Traffic brings drivers too, so a redraw says “parked”, not “passing”.
- Hands are a lottery. 20 of 24 blocked character shots had asked for a gesture. The face now carries the moment, and the framing leaves the hands out.
4. Clips: LTX-2.5
Each still is animated by LTX-2.5, a 22-billion-parameter video model, in its distilled NVFP4 build, at 1920×1088 and 24 fps, with a Gemma-based text encoder. The clip is exactly as long as the voice stage planned. Measured on an NVIDIA GeForce RTX 5090 (32 GB VRAM) with the model already loaded, it renders at about 1.45 seconds a frame, so a five-second clip takes about three minutes. In the same kind of test, HunyuanVideo 1.5 took 29.7 minutes for a five-second clip at 720p on the same card, so per second of video LTX-2.5 at full HD cost about a tenth as much.
What we learned:
- A tiled decode has to actually tile. Our graph used ComfyUI’s tiled VAE decode with a temporal tile size of 4,096 frames, so it never tiled, and clips over 265 frames spilled out of the RTX 5090’s 32 GB. With the default of 64, the RTX 5090s render 297- to 337-frame clips in about 740 to 1,000 seconds.
- Don’t keep the audio the video model hands back. LTX-2.5 returns the voice track it was given, and a speech recogniser could read 2.7% of the returned audio against 100% of what went in. The cut uses the original voice file.
- One speaker, one face. The model moves whichever mouth it likes, so a speaking shot has exactly one person in it.
5. Lettering, bars and the cut
Image models write nonsense on signs, screens and paper. EasyOCR reads every frame of every clip, and where it finds solid garbled lettering, a fill follows the text frame by frame. If a fill would cover more than 15% of the frame, the shot is redrawn instead, because a heavy fill paints the picture out. Real lettering that belongs in the shot, such as Cyrillic stencils on crates from the Soviet Union, is exempt.
Some stills come back letterboxed, with black bars drawn into the picture, and the clip inherits them. Every clip is measured, and recorded bars are cropped out in the cut.
The cut itself is ffmpeg: the title card, the twelve shots with subtitles and a name card on each speaker’s first line, then the sources card, at 1920×1088 with sound.
6. The render farm
Four render GPUs did the work: three NVIDIA GeForce RTX 5090 (32 GB VRAM) cards and one NVIDIA RTX PRO 6000 Blackwell (96 GB VRAM), in India and the UAE. A fifth RTX 5090 rendered with them until 15 September. An NVIDIA RTX A5000 (24 GB VRAM) draws stills and serves the vision model that the checks use, Qwen3-VL-8B, through vLLM.
- Parallel lanes. Each lane works one episode at a time on its own card. A lane claims an episode by creating a claim file that only one process can create, so two lanes never take the same episode. Steps that write shared files (the cut, the gate, the records) take turns under one lock; renders run in parallel.
- A render gate. Every GPU job needs a recorded approval for the exact still it animates, or the exact prompt it draws, and the farm refuses anything else. Before the gate, a QA pass’s verdicts queued 166 re-renders and redraws in one day. Checked by eye, 24 were needed.
- Watch power, not utilisation. A card at 100% utilisation drawing a quarter of its power limit is stalled, not busy. Two workers sharing one RTX PRO 6000 took 30 minutes for a clip that a healthy RTX 5090 rendered in 166 seconds.
7. Checks, then release
Today an episode reaches the release folder only through the episode loop, after every still has been screened, every clip’s lettering read, the audio transcribed shot by shot, and every second of the finished cut looked at by the vision model. The loop grew check by check while Seasons 2 and 3 were made. The second post covers those checks and what they got wrong.
8. Publishing
Uploading is the one step that cannot be undone. YouTube cannot replace a video’s file, and a video that was public for ten minutes has been seen. So nothing is uploaded unless a person has typed the instruction, and the uploader stops at its first refusal instead of retrying.
- YouTube limits uploads per channel, and the limit is not published. Ours took 40 videos in about eight hours on 14 September and refused the 41st. Two tries the next evening were refused, and a batch just after midnight took exactly ten.
- Custom thumbnails have their own limit. Ten were accepted back to back, then YouTube refused thumbnails for about 13 hours. After every pass we compare the image YouTube serves with our own card, because a script can report success when nothing changed.
- The copy comes from the same records as the episode. Titles, descriptions and source lists are generated from each episode’s shot list and sources, and each thumbnail is a still from the episode with its title set over it.
Watch
Start from the beginning: Season 1, Season 2 and Season 3, the trailers for Season 1, Season 2 and Season 3, and the film, How India Built a Supercomputer After America Refused. Or browse the channel.
What comes next
The pipeline is becoming a framework for other films and series. It has already made the standalone film, and the same render farm is now making an animated pilot in Arabic and English. We are writing that one up as we go: the image model test, the voice model test and the first full draft.
Want to run open models like these without buying the cards? OptraCloud is a GPU cloud in India and the UAE.













