When it comes to local image generation, Flux is currently the heavyweight champion. Specifically, the x/flux2-klein model (5.7GB) on Ollama has become my go-to “creative engine.” It’s an open-source powerhouse with no commercial restrictions on what you generate, and it runs beautifully on local hardware.

But here is the thing: if you just type “a cat” into a raw image model, you’ll get a generic cat.

To get cinematic results, you need to steer the aesthetic. You need to anchor the model in a specific visual language. And for that, there is no better “state-anchor” than the symmetrical, color-coded world of Wes Anderson.

In this post, I’ll show you how to wrap Flux in a simple Bash function that lets you generate three distinct styles—Chibi, Realistic, and Cartoon—using iconic Wes Anderson color palettes.

The Concept: The Stylistic Wrapper

Instead of manually typing long prompts every time, we can create a “wrapper” that handles the heavy lifting of color theory and composition. We’re essentially building a “Cinema Edition” of Flux on our command line.

We’ve mapped out three iconic film palettes:

  • The Grand Budapest (Pinks, Purples, Gold)
  • The Life Aquatic (Zissou Blue, Bold Red, Yellow)
  • Moonrise Kingdom (Khaki, Burnt Orange, Sage)

The Tool: flux_cinema

Copy this function into your .zshrc or .bashrc file. It uses expect to automate the Ollama interactive shell, setting the dimensions and injecting the stylistic constraints for you.

# Local Flux Cinema Wrapper
# Usage: flux_cinema [-g|-a|-k] [-c|-r|-f] "Your scene description"
flux_cinema() {
  local width=960
  local height=544
  local palette="grand"   # Default: Grand Budapest
  local style="cartoon"   # Default: Flat 2D

  # --- Flag Logic ---
  while [[ "$1" == -* ]]; do
    case "$1" in
      -g) palette="grand" ;;    # Grand Budapest (Pink/Purple/Gold)
      -a) palette="aquatic" ;;  # Life Aquatic (Blue/Red/Yellow)
      -k) palette="kingdom" ;;  # Moonrise Kingdom (Khaki/Orange/Sage)
      -c) style="chibi" ;;      # Style: Whimsical Chibi
      -r) style="realistic" ;;  # Style: Cinematic Photo (35mm)
      -f) style="cartoon" ;;    # Style: Flat 2D Vector
    esac
    shift
  done

  local scene="$*"

  # --- Palette & Style Mapping ---
  case "$palette" in
    grand)   colors="#FDE8EF pink, #784283 purple, #DDD690 gold"; bg="#FDE8EF" ;;
    aquatic) colors="#0097C3 blue, #C22426 red, #FAF111 yellow"; bg="#0097C3" ;;
    kingdom) colors="#F2D649 khaki, #C76734 burnt orange, #C9CD9B sage"; bg="#F2D649" ;;
  esac

  case "$style" in
    chibi)     s_prompt="chibi style illustration, adorable proportions, diorama feel" ;;
    realistic) s_prompt="cinematic photography, 35mm lens, Kodachrome film grain" ;;
    cartoon)   s_prompt="flat 2D vector illustration, clean minimalist lines, storybook" ;;
  esac

  local final_prompt="background: solid ${bg}, style: Wes Anderson aesthetic, ${s_prompt}, colors: ${colors}, scene: ${scene}, constraints: perfectly symmetrical, centered subject, deadpan expression, No Text"

  echo "🎥 Rolling: $scene [$palette palette | $style style]..."

  /usr/bin/expect <<EOD
    spawn ollama run x/flux2-klein
    expect ">>>"
    send "/set width $width\r"
    expect ">>>"
    send "/set height $height\r"
    expect ">>>"
    send "$final_prompt\r"
    set timeout 600
    expect ">>>"
    send "/bye\r"
    expect eof
EOD
}

Choose Your Film, Choose Your Style

The power of this setup is in the flags. You no longer have to worry about color codes or aspect ratios; you just choose the “vibe.”

1. The Whimsical Chibi (-c)

Perfect for character concepts that feel like high-end dioramas.

flux_cinema -g -c "A small fox in a concierge uniform"

2. The Cinematic Realistic (-r)

Uses 35mm lens constraints and film grain to make the local generation look like a lost frame from a 1970s indie movie.

flux_cinema -a -r "An interior view of a research submarine"

3. The Minimalist Cartoon (-f)

A clean, flat vector look inspired by vintage storybooks.

flux_cinema -k -f "A lone tent in a vast grassy field"

Why Local Matters

Running x/flux2-klein locally isn’t just about saving credits. It’s about intent. When you own the hardware and the model, you can build these specific workflows that turn a general AI into a specialized tool.

By wrapping the model in a stylistic “wrapper,” you’re not just generating images—you’re directing a digital set.

Your hardware. Your rules. Your cinema.

System Update: Thinking Modes

Explore the Framework

These concepts are part of a broader framework for building intent-aware AI systems. I've distilled these strategies into a short, practical guide called Thinking Modes.

View the Book →