From Article to YouTube: Making the Process Repeatable
🇮🇹 Leggi in italiano

Part 3 of three articles on building my video factory. The first covers the CDP pilot, and the second the collaboration between Codex, Claude Cowork and me. This one follows the production through to YouTube and back to the site.

On 3 September, the factory had three FullHD masters with approved visuals and narration. The launch audit still found work to do: the audio needed a more suitable listening level, and the jobs had no finished set of descriptions, thumbnails, subtitles or chapters. There were no uploaded video IDs in the production records, so the files were real while a viewer could not yet find them, understand why to watch them or move from them to the original argument.

A repeatable video process has to account for the whole route from an article to something a reader can discover and watch. For this project, that route now combines automated production and packaging with review decisions and steps in YouTube Studio. The distinction matters because it describes both what we achieved and what the next episode will still require.

A finished render was still short of a publication

The launch audit made the remaining work visible by looking at the videos as a set. CDP established the trusted-profile question, DMP supplied the story of a category whose work had moved elsewhere, and CEP brought the argument into engagement and decisioning. The scripts and visual language belonged together, and their seven-to-eight-minute runtimes made a coherent opening group.

Their sound also belonged together, but at an integrated level of roughly minus 24 LUFS, it was quieter than I wanted for the launch. LUFS is a measure of perceived loudness over time, and a file can avoid clipping and still feel too quiet. We chose a treatment targeting approximately minus 16 LUFS as our own production standard, then checked and reviewed the resulting audio.

The other omissions were editorial. A video title had to work outside the context of my website, a description needed to introduce the argument and make the source article easy to reach, and a thumbnail had to communicate at the size someone would encounter while browsing. Those assets needed to form part of the job, otherwise every upload would begin another round of assembly from scattered notes.

The production stages we could repeat

We collected the workflow into a reusable skill called produce-article-video: instructions and supporting tools that a collaborator could follow for a new or resumed job. It began with a source article and a creative brief covering the title, hook, narrative and visual direction. My approval allowed the script and storyboard to develop; their approval allowed us to proceed with the voice work.

Narration used the local Chatterbox Nano setup and the balanced profile established during the CDP pilot. A short preview gave me something to listen to before the full generation, scene clips were checked for likely omissions, and the storyboard was retimed to their actual duration so that speech-derived timing could help the diagrams follow the explanation.

The visual implementation started from the reusable editorial kit, with scene-specific work added around it. We could reuse the palette, typography, layout regions and motion helpers without pretending that the same animation explained every architectural concept. The DMP’s disappearing layer and the CEP’s competing ownership boundaries still needed their own visual treatment.

After the cheaper checks came a review video, then the authorised FullHD master and inspection of the encoded result. Sound finishing and the publication package followed, with the current state and files recorded so another session could resume the work.

The workflow distinguished a script waiting for approval from a render waiting for visual review or a completed master waiting for publication. Restarting a session did not require regenerating everything that already worked.

It is a concrete version of the state-management problem I described in Agents in Production: the next action depends on what has already happened and what is still valid, not simply on the existence of a file with a promising name.

Making quality checks cheaper than another full render

A label that overflows its container is visible in a still, and a confusing transition can be inspected where the states change. The early productions taught us to use those checks before generating another seven-minute master.

We therefore moved checks earlier. Static checks could catch known transition patterns, and text could be measured after the actual fonts loaded, because fitting a label into a box depends on the rendered glyphs and the available space. Representative frames could be inspected before a review proxy, and the proxy could be judged before the more expensive final render.

The kit also gained a guard for primary claims that exceeded the allowed number of lines. A heading that expands by one line can crowd the diagram below it; making the rule explicit let the factory check it before I had to spot the consequence.

Final-file inspection remained necessary. We checked dimensions, frame counts, audio properties and whether the entire file decoded successfully, and compared selected encoded frames with their source renders. Renderer smoke checks produced the same sample frames twice to establish that the rendering setup behaved consistently before committing to a master.

FFmpeg and its companion inspection tool, ffprobe, did much of the media work around the Remotion compositions: examining streams, extracting frames, processing audio and assembling delivery files. Where a change affected only sound, the approved video stream could be copied without encoding the picture again. Where a later picture correction reused approved sound, we checked that the audio remained unchanged.

None of this removed the need to watch the explanation. It reduced the amount of human review spent discovering mechanical problems that the workflow could identify earlier, and it gave a correction a clear scope that we could check afterwards.

Preparing the video for YouTube

The audio pass used two-pass loudness normalisation with FFmpeg’s loudnorm filter. The resulting masters measured approximately minus 16.1 to minus 16.2 LUFS, with no clipped samples in the checks, and their approved picture streams remained identical to the earlier versions. After listening approval, that sound became something to preserve through subsequent finishing work.

The closing seconds needed attention too. The original masters ended shortly after the last words, leaving little room for a next-step card. We eventually added a ten-second outro through a separate finishing operation that preserved the approved programme streams, which gave the delivery a tail without sending every scene through another full render. The clickable end-screen elements remained a Studio task.

Subtitles were a different problem, because we already had the wording in the approved script and there was no reason to let a fresh transcription decide what I had intended to say. The challenge was locating those words in the audio accurately enough for readable captions.

The first subtitle packages used estimated timings. We subsequently used Faster Whisper word timestamps, mapped the approved narration onto those anchors and interpolated unmatched passages within the scene boundaries. The saved retiming reports confirmed that the wording stayed unchanged. In the CEP video, eighteen cues shifted by more than a second, which gives some indication of why the timing pass mattered. Playback review still had a role, particularly where the alignment relied on interpolation.

Bar chart titled Moving the Approved Script onto the Speech, showing how far the start of each of the 105 caption cues in the CEP video moved after alignment, plotted against its position in the video from 0:00 to about 7:20. Most bars stay within one second of zero; 18 cues, highlighted in amber, moved more than one second, with a cluster after 6:00 and the largest shift, +3.9 seconds, at 6:19. The median shift across all cues is 0.4 seconds. Closing line: the wording never changed, only the moment each caption appears moved.

Figure 1. How far each caption cue in the CEP video moved when the approved script was aligned to Faster Whisper word timestamps, from the saved retiming report.

The thumbnail review used a contact sheet with each image displayed at 320 by 180 pixels. That was a more useful test of the headline and diagram than looking only at the full artwork. Chapters came from the actual timeline, with chapter groupings adjusted where a scene boundary was too short to serve as a useful standalone section.

Three thumbnails side by side at browsing size, each under the eyebrow The Architecture Behind the Acronyms: DMP, The Layer That Lost, in pink with a dashed box; CDP, The Layer That Won, in green with a central circle linked to four boxes; CEP, The Whole Stack, in cyan with three stacked bars.

Figure 2. The 8 September contact sheet used to judge the first three thumbnails at the size a viewer meets them, before upload.

Descriptions needed iteration after upload as well. The first version put the source URL on the opening line, which in the collapsed description spent that valuable space on a truncated address. The revised DMP and CEP descriptions led with a hook, kept the article link near the top and added relevant routes into the site. The code check changed with that decision: require the canonical article link near the beginning, without insisting that it be the first thing a viewer reads.

Where YouTube Studio and the API share the work

The last mile has a specific division of responsibilities. We upload the video file through YouTube Studio, and the factory’s publication script then takes the existing video ID and applies the title, description, thumbnail, English captions and series playlist membership through the YouTube Data API. It preserves the video’s visibility setting.

Infographic titled Studio Uploads, the API Packages, I Release, with three cards linked by arrows. YouTube Studio, the upload: media file uploaded by hand, end screens and cards. Data API script, the package: title, description, thumbnail, English captions and playlist, with visibility unchanged. Me in Studio, the release: public or scheduled, always a separate decision. Closing line: API uploads from unverified projects stay private, so the media goes up through Studio.

Figure 3. Who does what between an approved master and a public video.

That design responds to a platform constraint. YouTube’s upload documentation says that uploads through unverified API projects created after 28 July 2020 are restricted to private viewing until the project passes an audit. For this project, we used Studio for the media upload and the API for the repeatable work around an existing video.

The publication package therefore exists before application. It can be reviewed locally, checked for missing pieces and applied once the uploaded video has an ID. The script looks for an existing English caption track so it can update it, and checks whether the video already belongs to the playlist before adding it again. Those details matter when a description or subtitle file needs another pass after the first application.

On 9 September, the revised descriptions were applied to the private DMP and CEP videos. A separate read of the platform data confirmed that the descriptions matched the local files and that both videos remained private. The successful metadata update did not silently become a release decision.

My decision to make a video public or schedule it stays separate, as does the Studio work on end screens, and that is the operational boundary we reached. Calling it fully unattended article-to-public-YouTube publishing would describe a different system from the one we built.

Bringing the video back to the article

The source article remains the place where the full argument, references and connections to other pieces live. The video gives that argument another entrance, so the relationship needs to work in both directions.

The descriptions point back to the relevant article and offer further reading appropriate to the episode. The site can embed the companion video through a YouTube ID attached to the article. That makes the CDP explanation readable and watchable from the same page, while preserving the longer written treatment.

We also added channel links around the site and video-specific structured data to the article template. The details required care: an article written in June should not imply that its September video was uploaded in June. We added explicit video dates and durations, and used the video’s own thumbnail rather than the article cover to describe the video. The narrated language remained English even when the embed appeared on the Italian article page.

Those fields follow Google’s VideoObject documentation. They describe the material accurately without establishing that search visibility has improved. The video and its written source now carry enough information to identify each other.

What is working, and what remains deliberate

The CDP video went public on YouTube on 8 September 2026, and by the first week of October the same route had carried the DMP, CEP, CMS, DXP, CRM and DAM episodes and the first three MarTech Watch recaps to public release, with each release still a separate decision I made in Studio. The MAP episode and the week 41 Watch were uploaded privately on 10 October with their packages applied, and I made them public on 11 and 12 October, which brought the total to twelve public videos.

The next acronym video can begin with a known voice profile, an editorial kit, a saved workflow and checks developed from real productions, and it will still need an adapted script, scene-specific explanation and review. The process has become repeatable without making the editorial work interchangeable.

I do not yet have a long enough run of public episodes to claim an audience result or a reliable production-time average. What I have is a completed route from an existing article to a public video, and the components needed to repeat that route with fewer decisions rediscovered along the way.

The 3 September audit was useful precisely because it looked beyond the finished render. It forced the factory to include the things that make a video usable as a publication: consistent sound, readable captions, a reason to click and a route back to the source. The useful automation is the work we can now repeat while keeping responsibility for the explanation and its release.


This closes the set of three. Part 1 covers the CDP pilot and Part 2 the handoffs between Codex, Claude Cowork and me, and every finished episode is on my YouTube channel.

Sources

Published context



Media processing

  • FFmpeg, Loudnorm filter. Documents the loudness normalisation used in the audio finishing stage.
  • SYSTRAN, Faster Whisper. The transcription implementation used to derive timing anchors.



YouTube publication



Website integration

  • Google Search Central, Video structured data. Reference for describing a companion video on the article page.
Open full size