Skip to content

Repository files navigation

post-cover

AI-Powered Editorial & Infographic Post Cover Engine with Google E-E-A-T Optimization, Dynamic Font-Fitting Typography, and Native Multilingual (ZH / EN / RU / JA) Rendering.
Transform generic stock photos into authoritative, high-CTR editorial covers with frosted-glass bottom banners, automated HD background retrieval, zero-token local rendering, and full Schema.org structured data automation.

English | 简体中文 | Русский


Table of Contents


Why We Built This Skill (The Core Problem)

In high-traffic content publishing, technical blogging, and interactive data sites (such as tier lists, hardware benchmarks, and competitive gaming analytics), cover images directly determine Google Discover visibility, SERP Click-Through Rates (CTR), and E-E-A-T quality scores.

However, standard publishing workflows face five major architectural and algorithmic bottlenecks:

1. The Google HCU & Perceptual Hash Stock Photo Trap

  • The Problem: Using raw stock photography or scraped wallpapers penalizes your site under Google's Helpful Content Update (HCU) and Information Gain algorithms. Search crawlers (such as Googlebot-Image) compute Perceptual Hashes (pHash) to detect image duplication across the web. If your cover matches identical instances on other domains, your page is classified as low-effort aggregator content.
  • Why Frontend CSS Overlays Fail: Many sites attempt to overlay titles dynamically via CSS on top of raw background images. However, Googlebot-Image, Google Discover crawlers, Twitter Card scrapers, and OpenGraph bots only download the raw binary .webp/.jpg file—they never execute the CSS layer. To search algorithms, your image remains an unmodified stock photo.
  • The Solution: post-cover physically composites the frosted-glass dock banner, typography, and theme accent lines directly into the pixel raster, producing a globally unique visual embedding.

2. The Multi-Modal Vision AI & OCR Ranking Edge

  • Modern search engines integrate multi-modal Vision AI encoders to evaluate rich media.
  • When Vision AI parses an image, it performs OCR character extraction. When the text extracted from the image pixels (for example, Top Earning FPS & Tactical Shooter Players Tier List 2026) 100% aligns with the article's <h1>, <title>, OpenGraph tags, and Schema.org ImageObject, Google awards high-confidence editorial authenticity, unlocking Google Discover placement and prominent SERP thumbnails.

3. The AI Image Generation (DALL-E / Midjourney) Cost & Typo Trap

  • Commercial generative models (DALL-E 3, Midjourney, Flux) cost $0.02 – $0.08 per image, introduce significant API latency (5–15 seconds), and frequently hallucinate garbled characters or spelling mistakes on complex titles.
  • post-cover uses programmatic Python PIL compositing:
    • Cost: $0.00 / Zero LLM token consumption.
    • Speed: ~0.03 seconds per image.
    • Reliability: 100% deterministic, razor-sharp typography with zero typos.

4. The Multilingual (i18n) Scale Problem

  • Global websites targeting American, European, Chinese, and Russian markets often underperform in non-English locales because their graphic assets remain unlocalized.
  • post-cover enables synchronous generation of native localized covers (_en.webp, _zh.webp, _ru.webp), providing localized visual relevance that drives higher regional CTR in Google US, Google RU, and Baidu.

5. Algorithmic Dynamic Font-Fitting & Anti-Overflow Safety

  • Languages vary substantially in text length and character density: Russian compound nouns are notoriously long, English technical titles span multiple words, and Chinese characters are dense and compact.
  • Fixed-size templates inevitably break or clip text. post-cover implements Dynamic Font-Fitting: it calculates physical pixel bounding boxes in real time, automatically scaling font sizes (52px -> 36px) and applying clean ellipsis truncation (...) so no title ever overflows or overlaps.

Showcase & Real-World Case Studies

Below are production editorial covers generated by post-cover demonstrating the Dock Banner frosted-glass treatment, theme accent styling, and multilingual dynamic typography.


Case 1: Tactical Shooter & FPS Esports Prize Pool Ranking

Theme: sky_blue / Cyan Accent | Category: Tactical Esports & Pro Player Analytics

Chinese Edition (_zh.webp)

Tactical Shooter Prize Pool Chinese Cover

English Edition (_en.webp)

Tactical Shooter Prize Pool English Cover

Russian Edition (_ru.webp)

Tactical Shooter Prize Pool Russian Cover


Case 2: Global Fighting Game Tournaments Viewership & Entrants Ranking

Theme: orange_esports / Vibrant Orange Accent | Category: Fighting Games (EVO / Capcom Cup / Tekken)

Chinese Edition (_zh.webp)

Fighting Game Tournaments Chinese Cover

English Edition (_en.webp)

Fighting Game Tournaments English Cover

Russian Edition (_ru.webp)

Fighting Game Tournaments Russian Cover


Key Features

  • Dock Banner Design Paradigm: Crisp 16:9 (1920×1080) canvas with a frosted glass dock (GaussianBlur(radius=24) + midnight dark tint + glowing 3px theme accent line).
  • Dynamic Font Fitting (Anti-Overflow): Dynamically scales font size to fit within the 1220px maximum title container, with graceful ellipsis truncation to prevent text overflow.
  • Native Multilingual Matrix: Zero-cost batch rendering for Chinese (zh), English (en), Russian (ru), Japanese (ja), and more with cross-platform font resolution.
  • Zero-API & Multi-Source Image Retrieval: 4-tier resilient background acquisition (Local offline images, 100% free DuckDuckGo web search, procedural dark ambient gradient, and optional Firecrawl/Unsplash enterprise APIs).
  • Schema.org & SEO Generator: Automatically outputs Schema.org ImageObject JSON-LD, Next.js App Router metadata snippets, and standard OpenGraph/Twitter <meta> tags.
  • Turnkey Cursor / Claude Agent Skill: Drop .cursor/skills/post-cover/ directly into any codebase for autonomous agent workflows.

Background Image Sourcing & Zero-API Architecture

post-cover is built with a Zero-API & Zero-Cost First design philosophy. You do not need any paid subscription or API key to generate stunning covers.

                                 [ Background Sourcing Pipeline ]
                                                │
                ┌───────────────────────────────┼──────────────────────────────┐
                ▼                               ▼                              ▼
        [ Tier 1: Local File ]        [ Tier 2: Free Web Search ]    [ Tier 3: Optional APIs ]
         --image local.jpg             Zero API Key / Zero Signup     FIRECRAWL_API_KEY / UNSPLASH
         100% Offline & Instant        DuckDuckGo 16:9 HD Filter      Curated Stock & Deep Crawl
                │                               │                              │
                └───────────────────────────────┬──────────────────────────────┘
                                                ▼
                                   [ Tier 4: Offline Fallback ]
                                    Procedural Ambient Gradient
                                                │
                                                ▼
                                    [ 1920x1080 WebP Dock Cover ]

1. What If You Don't Have a Firecrawl API Key?

You have three out-of-the-box options:

  • Option A: Use Local Images (100% Offline / No Network Needed) Provide any local screenshot, wallpaper, or product photo. The engine automatically handles focal-center cropping and frosted-glass compositing:

    python3 -m post_cover.cli generate --image my_photo.jpg --title "My Article Title" --theme emerald
  • Option B: Use Built-in Automated Web Search (100% Free / Zero API Key / No Registration) post-cover includes a built-in DuckDuckGo / Bing image scraping engine. Simply run search-and-generate without setting any keys:

    python3 -m post_cover.cli search-and-generate --query "cyberpunk gaming setup" --title "2026 Gaming Gear Tier List" --theme cyber_purple
  • Option C: Procedural Ambient Gradient (Offline Network Failure Fallback) If your machine is offline or search queries return no matches, post-cover automatically synthesizes a high-end dark procedural gradient with ambient glow spheres matching your color theme.

2. Optional Enterprise API Enhancement

If you possess commercial API credentials, simply export them as environment variables (the engine detects them automatically):

# Optional: Deep web search via Firecrawl
export FIRECRAWL_API_KEY="fc-your-api-key"

# Optional: Curated royalty-free photography via Unsplash
export UNSPLASH_ACCESS_KEY="your-unsplash-key"

Security Guarantee: The repository contains 0 hardcoded credentials or API keys. All API integrations strictly read from runtime environment variables.


Installation

# Clone the repository
git clone https://github.com/chainepic/post-cover.git
cd post-cover

# Install lightweight dependencies (Pillow + requests)
pip install -r requirements.txt

# (Optional) Install CLI globally in editable mode
pip install -e .

Using as a Cursor / Claude Code Agent Skill

You can integrate this skill into any existing or new project:

Step 1: Copy Skill Folder

Copy .cursor/skills/post-cover/ into your target project:

cp -r .cursor/skills/post-cover /path/to/your-project/.cursor/skills/

Step 2: Prompt Your Agent

When writing or updating blog posts, prompt your AI coding agent:

"Use post-cover to generate high-resolution localized covers (ZH, EN, RU) for my latest article about Next.js 15 performance benchmarks, search for relevant background images automatically, and inject the Schema.org metadata."

The agent will autonomously:

  1. Extract title, subtitle, evaluation metrics, and tag entities from the article.
  2. Search and download high-resolution 4K background photography.
  3. Render pristine _zh.webp, _en.webp, and _ru.webp covers.
  4. Update your CMS / JSON stores and inject structured SEO data.

Command Line Interface (CLI)

1. Automatic Search & Generate

python3 -m post_cover.cli search-and-generate \
  --query "flagship smartphone processor silicon chip" \
  --title "2026 Flagship Smartphone Processor Tier List" \
  --subtitle "Snapdragon 8 Elite, Dimensity 9400 & Apple A18 Pro" \
  --note "Tested on sustained 3D gaming, thermal curves & efficiency" \
  --tags "Includes: Snapdragon · Dimensity · Apple A-Series" \
  --cta "Interactive Drag & Drop Tier Maker" \
  --theme emerald \
  --lang en \
  --out "soc_tier_list_en.webp"

2. Generate from Local Background Image

python3 -m post_cover.cli generate \
  --image "path/to/background.jpg" \
  --title "2026 Modern Web Frameworks Architecture Tier List" \
  --subtitle "Next.js 15, Astro 5, Remix & Nuxt 3 Comprehensive Evaluation" \
  --note "Benchmarked on SSR TTFB, bundle payload, and edge runtime support" \
  --tags "Includes: Next.js · Astro · Remix · Nuxt · SvelteKit" \
  --cta "Interactive Drag & Drop Tier Maker" \
  --theme sky_blue \
  --lang en \
  --out "cover_en.webp"

3. Generate SEO & Schema.org Snippets

python3 -m post_cover.cli seo \
  --url "https://yourdomain.com/uploads/covers/soc_tier_list_en.webp" \
  --title "2026 Flagship Smartphone Processor Tier List" \
  --description "Comprehensive benchmarks of Snapdragon 8 Elite, Dimensity 9400 and A18 Pro."

Python API Integration

from post_cover import render_dock_cover, find_background_image

# 1. Automatically retrieve contextual background
bg_path = "temp_bg.webp"
find_background_image("gaming keyboard mechanical rgb", bg_path)

# 2. Render localized cover with frosted glass dock
render_dock_cover(
    src_image_path=bg_path,
    title="2026 全球顶级机械键盘与磁轴键盘性能天梯榜",
    subtitle="Wooting 60HE · 雷蛇猎魂光蛛 · 8000Hz 快速触发排行",
    note="基于 0.1mm 急速断触、RT 调节精度与 8K 回报率全链路实测",
    tags="评测维度:急停精度 · 驱动算法 · 轴体手感 · 延迟表现",
    cta_text="全平台在线拖拽 · 免费生成排位",
    brand_text="TECH INSIGHTS · 权威开放式天梯图数据库",
    theme_name="crimson_red",
    lang="zh",
    out_path="keyboard_cover_zh.webp"
)

Color Theme Presets

Theme Name Accent Color Vibe / Recommended Category
emerald #34d399 (Emerald) Hardware benchmarks, power efficiency, mobile chips, clean tech
sky_blue #38bdf8 (Sky Blue) Tactical shooters, CS2/Valorant, cloud architecture, web dev
amber_gold #fbbf24 (Amber Gold) Prize pool rankings, financial analytics, champion trophies, luxury
crimson_red #f43f5e (Crimson) Gaming peripherals, mechanical keyboards, Dota 2, breaking news
cyber_purple #a855f7 (Cyber Purple) AI models, LLMs, neural networks, futurism, mobile esports
orange_esports #f97316 (Vibrant Orange) Fighting games (EVO/Capcom Cup), extreme sports, DIY tech
slate_minimal #94a3b8 (Slate Gray) Developer tools, open-source utilities, minimalist editorial

Project Structure

post-cover/
├── .cursor/
│   └── skills/
│       └── post-cover/
│           └── SKILL.md         # Cursor / Claude Agent Skill definition
├── assets/
│   └── showcase/                # High-res sample images across 3 languages
│       ├── fps_players_cover_zh.webp
│       ├── fps_players_cover_en.webp
│       ├── fps_players_cover_ru.webp
│       ├── fighting_games_cover_zh.webp
│       ├── fighting_games_cover_en.webp
│       └── fighting_games_cover_ru.webp
├── post_cover/
│   ├── __init__.py              # Package exports
│   ├── cli.py                   # Unified command-line runner
│   ├── config.py                # Preset dimensions & color palettes
│   ├── core.py                  # Core PIL rendering & font-fitting engine
│   ├── fonts.py                 # Cross-platform font resolver (Linux/macOS/Windows)
│   ├── search.py                # Firecrawl / Unsplash / Web search provider
│   └── seo.py                   # Schema.org & Next.js metadata generator
├── examples/
│   ├── generate_single.py       # Single cover code example
│   ├── generate_multilingual.py # 3-language generation example
│   └── batch_config.json        # Batch configuration template
├── requirements.txt
├── pyproject.toml
├── LICENSE
└── README.md

License

MIT License (c) 2026 Chainepic.

About

AI-powered editorial post cover & infographic engine with Google E-E-A-T optimization, dynamic font fitting, and native multilingual (ZH/EN/RU) rendering.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages