Files
OpenMontage/skills/creative/image-provider-usage.md
T
calesthio a3e735cc7a Initial release — OpenMontage: the first open-source agentic video production system
11 production pipelines, 47 tools, 124 agent skills.
Supports cloud APIs (fal.ai, OpenAI, ElevenLabs, Suno, HeyGen, Runway) and
free local providers (diffusers, Piper TTS, WAN 2.1, Hunyuan, CogVideo).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-29 08:25:17 -07:00

4.7 KiB

Image Provider Usage for OpenMontage

How to choose between image generation and stock providers, and how to use each effectively. Supplements the existing image-gen-usage.md (which covers FLUX prompting in depth).

Provider Landscape

Generation Providers (AI creates the image)

Tool Provider Cost Speed Best For
flux_image FLUX 2 Pro via fal.ai ~$0.03-0.05 ~5-10s Photorealism, general purpose, workhorse
openai_image GPT Image 1 (OpenAI) ~$0.01-0.17 ~5-15s Complex instructions, text in images, multi-element
recraft_image Recraft V4 via fal.ai ~$0.04-0.25 ~5-10s Logos, SVG vectors, brand assets, text rendering
local_diffusion Stable Diffusion (local) Free ~30s+ Offline, privacy, free
image_gen Multi (legacy, deprecated) Varies Varies Deprecated — use image_selector or per-provider tools

Stock Providers (search and download existing images)

Tool Provider Cost Speed Best For
pexels_image Pexels Free ~2-5s High-quality photography, color filtering
pixabay_image Pixabay Free ~2-5s Large library, category filtering, illustrations

Selector

Tool Purpose
image_selector Routes to the best available provider based on preference and availability

Provider Selection by Scene Type

Scene Type Primary Provider Why Fallback
Real-world photo (city, nature, people) pexels_image Real photos > AI for realism pixabay_imageflux_image
Technical diagram diagram_gen Structured, editable flux_image with diagram prompt
Abstract/conceptual illustration flux_image AI excels at custom concepts openai_image
Logo or brand asset recraft_image SVG support, text accuracy openai_image
Image with text/labels openai_image Best text rendering (GPT Image 1) recraft_image
Complex multi-element composition openai_image Best instruction following flux_image
Hero image (key visual) flux_image Highest visual quality openai_image
Thumbnail flux_image or recraft_image Needs to be eye-catching
Budget/free project pexels_image or pixabay_image Free, immediate local_diffusion
Offline/air-gapped local_diffusion No network needed

Cost-Quality Tradeoff

PRODUCTION PATH: Premium
├── Hero images: flux_image ($0.05/img)
├── Supporting visuals: flux_image ($0.03/img)
├── Text overlays: openai_image ($0.04/img)
├── B-roll stills: pexels_image ($0.00)
└── Total for 10 images: ~$0.35

PRODUCTION PATH: Standard
├── All generated: flux_image ($0.03/img)
├── B-roll stills: pexels_image ($0.00)
└── Total for 10 images: ~$0.25

PRODUCTION PATH: Budget
├── All stock: pexels_image + pixabay_image ($0.00)
├── Diagrams: diagram_gen ($0.00)
└── Total: $0.00

PRODUCTION PATH: Offline
├── All generated: local_diffusion ($0.00)
├── Diagrams: diagram_gen ($0.00)
└── Total: $0.00 (but slower, lower quality)

Using the Image Selector

For most cases, use image_selector and let it route:

# The selector finds the best available provider
result = image_selector.execute({
    "prompt": "aerial view of a modern data center",
    "preferred_provider": "auto",  # or "flux", "pexels", etc.
    "output_path": "assets/images/scene-3.png"
})

Override with preferred_provider when you know which provider is best for the scene type. Use allowed_providers to restrict to free or local options:

# Budget mode: only free providers
result = image_selector.execute({
    "prompt": "server room interior",
    "allowed_providers": ["pexels", "pixabay", "local_diffusion"],
    "output_path": "assets/images/scene-3.jpg"
})

Consistency Across Mixed Sources

When mixing stock and generated images in the same video, visual consistency is the challenge.

Strategy: Color Grade Everything

Apply the playbook's color grading LUT to both stock and generated images in the compose stage. This unifies the look. The color_grade enhancement tool handles this.

Strategy: Match Playbook Style in Prompts

When generating images, always prepend the playbook's image_prompt_prefix. When searching stock, use the playbook's color names in search filters (Pexels supports color filtering).

Strategy: Avoid Mixing Styles Within a Scene

Don't use a stock photo for one element and an AI illustration for another in the same scene. Keep each scene internally consistent — all stock or all generated.