vibeapp.win

How it works

We tried AI-generated opening films for the Reels, then drew them in code instead

On 2026-10-10 we generated opening films for the kokkekunst.no Reels with Wan 2.2 on the local GPU and dropped them the same day, because the model kept pulling toward photo style. The opening became a pencil drawing made in code. Its synthesized pencil sound plays only while the tip is down, and the pauses between strokes give it rhythm.

The newsroom engine makes a short Instagram Reel for every story on kokkekunst.no. On 2026-10-09 Henning said the Reels were boring. One idea was to open each Reel with a short film. On 2026-10-10 we tried generating those films with a video model on our own machine, and we dropped the idea the same day. The opening became a pencil drawing made in code. This post covers both attempts, the numbers from the model run, and the rule for AI film that we kept even though we no longer use it.

The three commits are 46 minutes apart (16:00, 16:38 and 16:46 on 2026-10-10).

Attempt one: Wan 2.2 on the local GPU

Claude set up a test round with Wan 2.2 (14B, GGUF Q4_K_M, with a 4-step lightx2v LoRA), running in a ComfyUI install that was already on the machine. Nothing was installed twice. Each film had two parts. Part one was text-to-video. Part two was image-to-video, starting from the last frame of part one so the scene carried on. Each film came to about 10 seconds.

There were three kitchen motifs: plating seen from above, raw cod becoming a plated dish, and the pass with an order ticket. Each was rendered with two seeds, so six films in total. The prompts asked for hands only, and the negative prompt added faces, heads, eyes, portraits and letters.

Here is what the session notes recorded:

  • ComfyUI used about 13 GB RAM and about 9.3 GB VRAM while rendering.
  • The first film took 8.5 minutes and the following ones 7.5 minutes each.
  • With crf 16 and film grain, a 10-second film came out at 119 MB. A bitrate cap (crf 20, maxrate 12M) brought that down to 8–11 MB.
  • Wan followed “only hands” well. None of the six films had a face.
  • The transformation from raw ingredient to plate never happened in part two, with either seed.

Claude’s own review in the task file named the overhead plating with seed 23 as the strongest. The pass was halfway there: the ticket worked, but the plates never arrived. The cod was weak. It looked like salmon and never reached the plate. The note matched an earlier lesson: Wan handles transformations poorly.

Trying to make the model draw

The next step was a drawn style instead of photo realism. Claude tried two routes. The first was text alone: a style instruction, with a separate negative prompt that removed “cartoonish” from the shared list and added “photorealistic, photograph, realistic skin, 3d render, cgi”. The second was a start image. The same plate illustration the site already draws for each story was rendered as a still, and Wan was asked to animate onward from it, so the style would be ours rather than the model’s.

Neither held up. The commit message says: “Wan dro mot foto selv med stilinstruks”, meaning Wan pulled toward photo even with a style instruction. The docs written afterwards add that Wan with the 4-step LoRA went toward photo regardless. The session notes record that Henning thought none of the AI films were good.

Attempt two: a pencil drawing made in code

Henning’s request in the docs was for a pencil drawing that draws up a kitchen or something similar, with the message of the article coming afterwards. Claude built it without any model and without the GPU. The scene is described in code and rendered frame by frame to SVG, then PNG, then video:

  • Strokes come in the order a person draws: guidelines, shapes, details, shading.
  • Each stroke has seeded hand tremor. The pencil tip follows the line and lifts between strokes.
  • After the drawing, a band of paper fades in over the lower part and the story title is written out line by line, followed by a short underline.
  • The test film is 1080×1920 at 30 fps, with 5.5 seconds of drawing (later 6) and 2.8 seconds of title.

The same seed always gives the same drawing.

The pencil sound, and why the pauses matter

Earlier, Henning had turned down synthesized sound for the Reels in favour of real recorded clips. For the pencil he asked for synthesis himself. The docs quote him (in Norwegian) as saying it should be easy to code. The notes say this exception covers the pencil only, not other sounds.

The sound is band-passed noise around 4–5 kHz, with paper grain, small clicks and an attack when the tip hits the paper. It plays once per stroke and only while the tip is down. The drawing code exports the down intervals, and each interval becomes one sound event with a strength based on the pencil pressure.

The first version did not work. It had 196 strokes in 5.5 seconds, with a median stroke of 3 ms, and the result sounded like a constant hiss rather than a pencil. The fix had two parts:

  1. Shading, wall tiles and the writing on the order ticket became one continuous zigzag each, the way they are drawn by hand. That cut the count to 80 strokes.
  2. Lifts take 40% of the drawing time, shared out according to how far the pencil moves between strokes.

The docs state the reason: the pauses are what make the sound a pencil and not a hiss. The note left for the next session is to check rhythm in the waveform image (ffmpeg’s showwavespic), not just the loudness number. A clip can hit its LUFS target and still be a wall of noise.

Henning’s verdict on the pencil opening, translated from the task file: “It’s spot on. That’s how they should be.”

Why code beat the model here

The material supports three concrete reasons:

  • Style. We wanted a drawn look. The model kept pulling toward photo style even when given a style instruction or a drawn start image. Code draws exactly the style it is written to draw.
  • Control of time. The sound depends on knowing exactly when the tip is down. A generated video has no such data. The code-drawn version has every stroke’s start and end, so the sound can follow the drawing.
  • Cost. A Wan film took 7–8.5 minutes of GPU time and about 13 GB of RAM. The pencil film needs no GPU and no model.

This was one test on one day with one model setup. It does not show that video models cannot do drawn styles in general.

After the decision, Claude deleted the Wan tooling from the repository. It is still in the git history. At Henning’s request the test films were removed too. Only files from this session were removed from ComfyUI.

The rule for AI film, kept on file

The editorial rules got a section on AI-made opening films in the first commit. The section is now marked as dropped the same day, and it stays in case AI film is ever taken up again:

  • Hands and raw ingredients only. Never faces, never a recognizable person, never a real chef, restaurant, dish or competition from the story.
  • Labelled. “Illustrasjon laget med KI” (illustration made with AI) is shown on screen while the film plays, and in the caption.
  • Films are picked by story theme from a fixed library. The model in the pipeline never makes a film and never chooses freely.
  • A film goes into the library only after a person has watched it.
  • No text from the story goes on top of the film. The text comes afterwards, word for word, as before.

At the time of the last commit, the pencil opening was a prototype on an admin preview page and not yet in the published Reels. The next steps Henning ordered then: a small library of pencil scenes chosen by the existing fixed motif rules and never by a model, a closing line drawn in the same pencil stroke, and then wiring it in as the Reel opening without touching Reels that are already out. Later the same day it went into the Reels, and the same day it was replaced by a globe opening.