Type "Kodak Vision3 500T" into Runway Gen-4 and you will get something that looks vaguely tungsten-balanced with visible grain. Type it into Sora and you will get something that looks like Sora. Type it into Veo and you will get a slightly warmer image, maybe. The film stock name is doing different amounts of work depending on who is listening, and in most cases it is doing less than you think.

This is the color science problem in AI video generation. You have a century of precise color language developed by cinematographers, colorists, and film chemists. And you have models that absorbed millions of hours of footage without anyone labeling the color pipeline that produced it.

What the models actually learned

Here is the uncomfortable truth: AI video models did not learn color science. They learned what images look like. That sounds like the same thing. It is not. A colorist knows that Kodak Vision3 500T is a tungsten-balanced 500 ASA negative stock with specific spectral sensitivity curves, distinct grain structure, and characteristic highlight rolloff. A model knows that images tagged or associated with "Kodak" tend to have warmer midtones and more visible grain than images tagged "digital." One is chemistry. The other is statistics.

This means film stock references work as vibes, not specifications. "Shot on Kodak Vision3 500T" does not give you the actual spectral response of that emulsion. It gives you the model's statistical average of what images associated with those words look like. Sometimes that is close enough. Sometimes it is not close at all.

Color words that reliably move dials

Not everything is a coin flip. Some color language produces consistent, visible results across most models.

Color temperature works. "Warm" and "cool" are among the most reliable color modifiers in any prompt. "Warm golden tones" biases toward amber, honey, sunset. "Cool blue tones" biases toward steel, winter, fluorescent. These are broad strokes, but the models execute them. If you need finer control, Kelvin references help with some models: "5600K daylight" versus "3200K tungsten" will shift the overall cast in Runway and Kling. Veo and Sora respond to the descriptive version better than the numeric one.

Contrast descriptors work. "High contrast, deep blacks, bright highlights" produces visibly punchier output than "low contrast, lifted shadows, soft highlights." Every model understands this spectrum. The words are doing exactly what they say. No translation needed.

Saturation responds. "Desaturated" pulls color out. "Vibrant" or "highly saturated" pushes it in. "Muted tones" sits in between. Runway is the most responsive to saturation modifiers. Kling follows closely. Sora tends toward a slightly desaturated default and responds well when you push toward either extreme. Veo has the most "polished" default color and sometimes resists heavy desaturation.

Specific color palettes work well. "Teal and orange color grade" is so well represented in the training data (every blockbuster poster since 2008) that it functions almost like a preset. "Earth tones" pulls toward browns, greens, muted yellows. "Neon" pushes toward magentas, cyans, electric blues. The more specific your palette, the more the model differentiates. "Red and gold" is better than "warm." "Ice blue and silver" is better than "cool."

Color words that mostly float

This is where the gap between cinematography knowledge and prompt utility gets wide.

Specific film stocks are unreliable. "Kodak Portra 400" should give you pastel skin tones, muted greens, and soft contrast. Sometimes it does. More often it gives you "warm with grain" which could be anything. "Fuji Pro 400H" should give you cooler shadows and slightly green-shifted skin. Good luck. The models cannot distinguish between these two stocks because the training data rarely labels footage at the emulsion level. What you get is "film look" with varying degrees of warmth.

The exceptions: "CineStill 800T" actually works reasonably well across Runway and Kling, probably because its distinctive halation (the red glow around highlights from the removed remjet layer) is so visually specific that the training data association is strong. If you want that one specific look, the name does something. For everything else, describe the result instead of naming the stock.

Print stock references do nothing useful. "Kodak 2383 print stock" is meaningful to a colorist. It describes a specific contrast curve and color response used in theatrical printing. To an AI model, these words are noise. Nobody captions their Instagram post with "finished on 2383." The association does not exist in the data.

LUT names are meaningless. "ARRI LogC to Rec.709" describes a specific color transform. Models have no concept of color space transforms. They do not know what log footage looks like before grading. Typing LUT names or color space references is like speaking French to someone who only reads French cookbooks. Adjacent. Not useful.

Camera body references are hit or miss. "Shot on ARRI Alexa" sometimes produces a slightly filmic quality with natural skin tones. "Shot on RED Komodo" sometimes produces a slightly sharper, more digital look. But these are weak signals at best. The model is not simulating sensor characteristics. It is pattern-matching against whatever metadata or captions happened to mention the camera.

What to say instead

The pattern from the previous articles holds: describe the visual result, not the tool that created it.

Instead of "Kodak Portra 400," try: "Soft pastel tones, muted greens, warm skin highlights, gentle film grain, slightly lifted shadows." That is five specific visual instructions. Each one moves a dial. The film stock name moves zero or one.

Instead of "bleach bypass process," try: "Desaturated, high contrast, silver-metallic highlights, crushed blacks, gritty texture." You are describing what bleach bypass looks like, not naming the chemical process. The model does not own a darkroom.

Instead of "cross-processed Ektachrome," try: "Shifted greens in shadows, heavy cyan cast, blown highlights with magenta tint, oversaturated primary colors." Four visual results that the model can actually render, versus one lab technique it has never performed.

The model differences matter here too

Runway Gen-4 is the most responsive to detailed color direction. It will actually attempt to separate shadow color from highlight color if you specify them differently. "Teal shadows, warm amber highlights" produces visible split toning. Kling 3.0 follows similar instructions well, though with slightly less nuance in the midtones.

Veo has the strongest default "look." Google trained it on high-end footage and the baseline output is already well-graded. This is a double-edged sword: vague color prompts produce attractive results, but specific color direction sometimes fights with Veo's built-in aesthetic. You have to push harder to move Veo away from its defaults.

Sora tends to respect color temperature and contrast well but flattens specific palette requests into a more neutral space. "Neon-soaked cyberpunk" works. "Subtle split tone with cool shadows and warm highlights" gets interpreted as "slightly warm." Sora's color sensitivity is more binary than gradient.

Seedance 2.0 handles color well when paired with reference images. Its text-only color interpretation is middle of the road, but its image-to-video pipeline preserves the color science of your input frame, which is arguably more useful than trying to describe color in words.

The actual unlock

Color consistency across shots matters more than color accuracy in any single shot. You can grade generated footage in post. You cannot grade away inconsistency between five clips that each decided "warm" means something different.

This is where CinePrompt's Multi-Shot mode earns its keep. Global color settings that carry across every shot in a sequence. You define the palette once, and every prompt inherits it. Because the real problem was never "how do I make this look like Portra." It was "how do I make these four shots look like they belong together."

Until these models learn actual color science (and that day is probably closer than we think), your job is to be specific enough that the statistical guesswork lands in the same neighborhood every time. Name the colors. Describe the contrast. Specify the temperature. Skip the film stock names unless you are going for CineStill halation.

The vocabulary still works. You just have to translate it into words the machine actually learned.


Bruce Belafonte is an AI filmmaker at Light Owl. He keeps a drawer full of expired Portra 400 that he will never shoot and never throw away.