CtrlK
BlogDocsLog inGet started
Tessl Logo

title-card-image

Render a static title / ending card PNG with Pillow. Centered headline + optional subtitle on a solid-colour background. Uses managed or platform CJK fonts with glyph verification and fails actionably instead of rendering tofu. Pure deterministic, no LLM, no network. Used by meta-short-drama for opening and closing cards.

68

Quality

83%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

title-card-image

Renders a centered-text PNG suitable for a cover / ending card before animating into a clip with video-still-animator.

Inputs (with:)

keyrequireddefaultnotes
textyesHeadline text. Auto-wraps at ~10 chars per line for CJK.
outputyesOutput .png path.
subtitleno""Smaller line beneath the headline.
backgroundno#101018Hex color #RRGGBB.
text_colorno#ffffffHeadline color.
font_sizeno96Headline font size in pixels.
subtitle_sizeno36Subtitle font size in pixels.
widthno720Output width in pixels. Match the merge pipeline.
heightno1280Output height. 720x1280 = 9:16.
fontno""Optional .ttf, .otf, or .ttc path. Must contain the requested CJK glyphs.

Output

Prints the absolute path of the written PNG on stdout. The PNG is RGB (no alpha), JPEG-quality-equivalent file ~30-80 KB depending on text length.

Font fallback

Resolution order is --font, the managed media directory from OPENSQUILLA_MEDIA_FONTS_DIR, user font directories, then platform defaults: Microsoft YaHei / SimHei / DengXian on Windows; PingFang / Hiragino Sans GB / STHeiti / Songti on macOS; Noto CJK / Source Han / WenQuanYi on Linux. Font collection files (.ttc/.otc) are supported. Before drawing, the renderer compares requested non-ASCII glyphs with the font's missing-glyph signature. A font that would produce tofu is skipped. If no compatible scalable font exists, the step fails with an actionable --font / OPENSQUILLA_MEDIA_FONTS_DIR message for CJK or other non-ASCII text; it never silently emits tiny bitmap squares. Pure ASCII cards remain available on minimal systems through Pillow's built-in font when no scalable font is installed.

Limits

  • No alpha / transparency.
  • No rich text styling (italic / drop-shadow / gradient). For richer cards, generate a real image via nano-banana-pro instead.
  • Headline wrap is character-count-based for CJK and whitespace-based for ASCII; mixed strings break at the CJK character count.
Repository
TokenRhythm/opensquilla
Last updated
First committed

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.