Skip to content

content-images

content-images generates the visual assets that go with published content β€” blog covers, Instagram feed posts, carousels β€” in a way that stays on-brand, because it reads your brand context instead of guessing.

What it solves

Hand-making a cover or a carousel for every post is slow, and ad-hoc AI generation drifts off-brand β€” wrong palette, wrong tone, inconsistent from one post to the next. You want images that look like yours, generated on demand, without re-describing the brand every time.

How it works

  • Brand-aware prompts β€” it reads .octopus/content-images.json for your brand context (palette, style, format specs) and folds that into every generation, so output is consistent across posts.
  • AI generation with fallback β€” it uses Gemini Imagen as the primary generator and falls back to Pollinations.ai if that’s unavailable, so a missing key or outage doesn’t block you.
  • Path-based cache β€” output is keyed by file path; an image that already exists is left alone unless you pass --force, so re-running is cheap and idempotent.

Usage

Reads GEMINI_API_KEY from .env.octopus. Key flag:

  • --force β€” regenerate even when the output file already exists (default: skip existing files).

When to use

When you’re shipping content that needs a cover or feed image and want it to match your brand automatically β€” covers, feed posts, and carousels β€” without re-specifying the look each time.