Skip to main content
Glama

πŸ₯’ macro-pickle

TypeScript Gemini Imagen fal.ai MCP License

PRSMTECH MrJPTech

πŸ₯’ Local, database-free AI creative tooling β€” image & video generation plus a typed, brand-aware Prompt Engine, driven through Claude. No database, no web app. Big dill. 🌢️

πŸ‘€ What it is

macro-pickle is a command-line + MCP toolkit for generating brand-aware imagery and video and for engineering the prompts behind them. There is no database and no web app β€” every rail writes files to disk, and finalized prompts are exported as copy-paste markdown you can drop into any notes vault.

It runs through Claude β€” CLI scripts via tsx, a desktop MCP server, and Claude Code skills/commands β€” with Google (Gemini vision, Imagen, Veo, Nano Banana) and fal.ai (FLUX et al., Kling video) as the generation backends.

Related MCP server: local_ai_gen

🚦 Quick start (0 to pickle in 60 seconds πŸƒπŸ’¨)

Prerequisites: Node 20+, pnpm, and at least one API key.

git clone https://github.com/MrJPTech/macro-pickle.git
cd macro-pickle
pnpm install

cp .env.example .env.local        # then add your keys (see below)
pnpm lint                         # tsc --noEmit β€” verifies the install
pnpm prompt --brands              # list the installed brand profiles
pnpm img "a neon pickle mascot, dark studio bg"     # Imagen β†’ PNG on disk

πŸ”‘ Keys

Everything is optional except the backend you actually use β€” nothing is required to build prompts, only to render pixels.

Variable

Needed for

Get one

GOOGLE_API_KEY

Gemini vision/OCR, Imagen, Veo, Nano Banana, Omni Flash

ai.google.dev

FAL_KEY

Kling video + FLUX / Recraft / Ideogram / SD3.5 images

fal.ai

BYTEPLUS_API_KEY Β· RUNWAY_API_KEY Β· REPLICATE_API_TOKEN

Optional extra video providers via the model registry

see .env.example

πŸ“ Where output goes

All paths are yours to set β€” the defaults are all repo-relative, so a fresh clone works with no configuration.

Variable

Default

What it controls

MACRO_PICKLE_EXPORT_DIR

./generated-images

Where rendered images/clips land. Point it at a synced folder (iCloud/Drive/Dropbox) to review on your phone.

MACRO_PICKLE_PROMPT_VAULT

./exported-prompts

Where --save writes finalized prompt notes. Point it at an Obsidian/Logseq vault to collect them there.

MACRO_PICKLE_OMNI_DIR

falls back to export dir

Default output for pnpm omni video edits.

MACRO_PICKLE_BRANDS_DIR

content/brands

Where brand profiles are loaded from β€” keep private brands outside the repo.

Command

What it does

pnpm prompt

Build image/video prompts via the Prompt Engine (--image/--video, --brand, --json, --save, --gen)

pnpm img

Imagen 4.0 reference-image generation β†’ MACRO_PICKLE_EXPORT_DIR

pnpm fal

fal.ai image models (FLUX / Recraft / Ideogram / SD3.5) β€” Prompt Engine parity

pnpm nano

Nano Banana face-lock generation from reference photos (likenesses you have rights to)

pnpm veo

Google Veo video β€” text-to-video, image-to-video, and --refs ASSET identity lock

pnpm kling

Kling video via fal.ai β€” i2v / t2v / start+end interpolation

pnpm describe

Gemini vision: product OCR + in-use scene recommendation (UGC rail); --paddle for the local OCR sidecar

pnpm ocr

Optional local PaddleOCR sidecar (high-recall small/CJK text + geometry)

pnpm analyze-video

Describe a reference/competitor clip for mirroring

pnpm scene:new/refs/select/analyze/video

Media pipeline β€” two-stage: text β†’ reference frames β†’ curate β†’ re-prompt to video (docs/media-pipeline.md)

pnpm rank-skus Β· pnpm gen-clips

Store batch clips — rank a store's SKUs by sales → generic reference→video batch (Veo free + Kling paid), spend-gated

pnpm omni Β· pnpm seedance Β· pnpm wan

Gemini Omni Flash conversational video editing Β· Seedance Β· Wan video rails

pnpm models

Browse / select across the cross-provider video-model registry

pnpm mcp:image

Run the macro-pickle-images desktop MCP server

pnpm lint

Type-check the whole toolkit (tsc --noEmit)

scripts/lib/prompts/ turns the methodology in content/knowledge/PROMPT-COOKBOOK.md (synthesized from a fleet of reference repos) into typed, deterministic builders β€” no DB required:

Piece

What it does

buildImagePrompt

Nano Banana "Perfect Prompt" formula β€” Subject + Action + Context + Composition + Lighting + Style

buildVideoPrompt

Seedance/Veo "Director Brief" β€” Scene Β· Subject Β· Camera Β· Action Β· Audio Β· Pacing + time-segmented beats + on-screen captions

Brand profiles

content/brands/*.json β€” style, palette, prefer/avoid, suffix, IP-safe cast proxies; auto-applied via --brand

UGC layer

scripts/lib/prompts/ugc.ts β€” faceless short-form selling formats (hero still β†’ lifestyle still β†’ 9:16 spot)

lintScene

Continuity & IP-safety linter β€” single-beat, fixed-camera, stationary-cycle, atmospherics

πŸ““ Export convention: finalized prompts are written as copy-paste markdown β€” pnpm prompt … --save, or save: true on the MCP build tools. They land in ./exported-prompts/ unless you point MACRO_PICKLE_PROMPT_VAULT at a notes vault.

The two-stage workflow at the heart of the toolkit: turn an idea into reference images, curate the winners, then re-prompt them into video β€” across Nano Banana / Imagen / Veo / Kling / Gemini. A local scene.json manifest tracks every prompt, frame, and clip (full walkthrough).

pnpm scene:new    my-scene        # scaffold scene.json (reference + video prompts)
pnpm scene:refs   my-scene        # Stage 1 β€” generate reference-frame candidates
pnpm scene:select my-scene <ids>  # curate the keepers
pnpm scene:analyze my-scene       # (optional) Gemini grounding of the picks
pnpm scene:video  my-scene        # Stage 2 β€” selected frames β†’ Veo clip

Piece

What it does

scene-store

Local JSON manifest β€” prompts, frames, selections, clips per scene

PromptEnhancer

Gemini chain-of-thought prompt rewriter (+ exemplar banks) that directs your idea

groundFrames

Image β†’ understanding feedback loop β€” keeps Stage 2 on-subject / on-brand

Veo modes

ingredients (ASSET refs) · firstLast (first→last frame) · firstFrame (i2v)

Built on the same scripts/lib/ clients as the rest of the toolkit β€” one set of model clients, no duplication.

  • MCP (macro-pickle-images, pnpm mcp:image) β€” exposes build_image_prompt, build_video_prompt, describe_product, build_ugc_spot, analyze_reference_video, lint_scene, generate_image, generate_video to Claude Desktop.

  • Skills (.claude/skills/) β€” openmontage-video-prompting (cinematography), ugc-shortform-prompting (selling layer), character-lock (identity / face lock).

  • Commands (.claude/commands/) β€” /pickle-prompt Β· /pickle-ugc Β· /pickle-pipeline (scene:*) Β· /pickle-winners β†’ /pickle-clips (rank winners β†’ batch clips) Β· /pickle-ref (clean references) Β· /pickle-describe (OCR + scene rec) Β· /pickle-character (face-lock) Β· /pickle-brand (new brand profile).

Layer

Technology

Language / runtime

TypeScript (strict, ESM) on Node via tsx

Image / video

@google/genai (Gemini Β· Imagen Β· Veo Β· Nano Banana) Β· @fal-ai/client (FLUX Β· Kling)

MCP

@modelcontextprotocol/sdk

Validation

zod

Optional OCR sidecar

Python + PaddleOCR (scripts/py/, opt-in)

macro-pickle/
β”œβ”€β”€ scripts/
β”‚   β”œβ”€β”€ lib/                # generation cores: imagen, fal, veo, kling, nano-banana, vision, paddleocr
β”‚   β”‚   β”œβ”€β”€ prompts/        # the Prompt Engine (builders, brand, scene, export, ugc, lint)
β”‚   β”‚   └── pipeline/       # scene-store + prompt-enhancer + exemplars + presets
β”‚   β”œβ”€β”€ pipeline/           # scene:new/refs/select/analyze/video CLI
β”‚   β”œβ”€β”€ generate-*.ts       # pnpm img / fal / nano / veo / kling
β”‚   β”œβ”€β”€ build-prompt.ts     # pnpm prompt
β”‚   β”œβ”€β”€ describe-product.ts Β· ocr.ts Β· analyze-video.ts   # vision / OCR rails
β”‚   β”œβ”€β”€ gen-clips.ts Β· rank-skus.ts   # store batch-clip rails
β”‚   └── py/                 # optional PaddleOCR sidecar
β”œβ”€β”€ mcp/image-server/       # macro-pickle-images desktop MCP
β”œβ”€β”€ content/
β”‚   β”œβ”€β”€ brands/             # brand profiles (*.json) β€” `quiet-desk` is the worked example
β”‚   β”œβ”€β”€ briefs/             # scene briefs β€” `example-logo/` shows the format
β”‚   β”œβ”€β”€ clip-scenes/        # per-store batch-clip scene configs (`example-store.json`)
β”‚   └── knowledge/          # PROMPT-COOKBOOK.md methodology
└── .claude/                # skills + slash commands

πŸ“œ License

MIT β€” see LICENSE. Free as a pickle at a deli counter. πŸ₯ͺ

πŸ§‘β€πŸ³ Lovingly brined by MrJPTech Β· a PRSMTECH project

πŸ“… Last Updated: July 2026 Β· Status: 🎨 Local database-free creative toolkit β€” image + video gen, Prompt Engine, MCP Β· Vibe: kind of a big dill πŸ₯’

Back to top

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

–Maintainers
–Response time
–Release cycle
–Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/MrJPTech/macro-pickle'

If you have feedback or need assistance with the MCP directory API, please join our Discord server