Media gen core
Shared reference for the media-gen cluster: the backend-routing decision (access/billing model × modality), the generate→transform→assemble pipeline, output-format conventions, and the cross-tool guardrails. USE WHEN choosing an image/video/3D/GIF backend, planning a multi-stage media pipeline, or reasoning about cost, format, or provider policy.From its SKILL.md
npx -y skills add Sheshiyer/skill-clusters --skill media-gen-coreAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
5.5 KB, ~1.5k tokens by cl100k_base, as published. Nobody here has run it
Media-Gen Core
Shared model for the media-gen cluster. The generators and processors all hang off one
decision and one pipeline — keep them consistent here so no spoke contradicts another.
1. The routing decision (this cluster's defining choice)
Every generative request resolves on two axes: modality (what asset) × access model (what it costs / what it needs to run). Pick the cell, then the spoke.
Request ──> [ modality: image | 3D | video | GIF ]
──> [ access: subscription-CLI | API-key+billing | local/hosted-GPU | free-search ]
──> spoke
- Subscription-CLI — runs through an existing consumer plan, no per-asset billing.
gpt-image-2(your ChatGPT Plus/Pro via the Codex CLI). Cheapest marginal cost; rate-limited by the plan. - API-key + billing — a provider key, billed per image/call.
openai-image-gen(OpenAI Images API,OPENAI_API_KEY), and paid image/video APIs in general. Predictable, scalable, costs money per call — state batch size before running. - Local / hosted-GPU — model runs on a GPU you reach, not a metered text-prompt API.
hunyuan3d(Tencent Hunyuan3D-2.1 via a Hugging Face Gradio endpoint). No per-call billing, but subject to the endpoint's availability/queue. - CLI-inference / grounded —
nano-banana-2(Gemini 3.1 Flash Image via theinfshCLI; multi-image input up to 14, Google-Search grounding) sits between subscription and API depending on how it's keyed. - Free-search / processing — no generation at all:
gifgrep(search & download),ffmpeg/video-frames(deterministic local transforms),image-enhancer(upscale). Zero model cost.
Rule: confirm the chosen backend's prerequisite (plan / key / GPU endpoint) is present before generating; never silently swap one access model for another — a failed or mis-billed call is the failure mode this cluster exists to prevent.
2. The pipeline (how spokes compose)
GENERATE ──> TRANSFORM ──> ASSEMBLE/DELIVER
image/3D/video enhance · restyle · extract encode · size-fit · gallery
Generators emit raw assets; processors refine and package them. A request that needs motion or a
final container almost always ends in ffmpeg. Examples:
- Still → upscaled still:
gpt-image-2/nano-banana-2/openai-image-gen→image-enhancer. - Photo → 3D: reference image (any image spoke) →
hunyuan3d→ GLB. - Concept → clip:
ai-video-director(shots) →ffmpeg(encode/resize) ; pull stills withvideo-frames. - Reaction GIF:
gifgrep(find/extract) orslack-gif-creator(author) →ffmpeg(GIF↔MP4, size fit).
3. Backend / modality matrix
| Modality | Spoke | Backend | Access model | Output |
|---|---|---|---|---|
| Image (gen) | gpt-image-2 | GPT Image 2 (ChatGPT Images 2.0) | subscription-CLI (ChatGPT Plus/Pro) | PNG, edits, refs |
| Image (gen) | nano-banana-2 | Gemini 3.1 Flash Image | infsh CLI (multi-image, grounded) | images, multi-input edits |
| Image (gen, batch) | openai-image-gen | OpenAI Images API | API key + billing | PNG + index.html gallery |
| Image (system) | art | mixed (icons, diagrams, mermaid) | provider keys in agent .env | headers, icons, diagrams |
| Image (transform) | image-enhancer | upscaler | local / no model cost | sharpened/upscaled image |
| 3D | hunyuan3d | Hunyuan3D-2.1 | hosted GPU (HF Gradio) | GLB / OBJ / PLY / STL |
| Video (gen) | ai-video-director | Kling 3.0 · Sora · Grok | per-tool (key/plan) | shot-by-shot prompts → clips |
| Video (process) | ffmpeg | FFmpeg | local CLI | convert/resize/compress/audio |
| Video (extract) | video-frames | FFmpeg | local CLI | frames / short clips |
| GIF (find) | gifgrep | GIF providers | free search/download | GIFs, stills, sheets |
| GIF (author) | slack-gif-creator | composable primitives | local | Slack-size-validated GIF |
4. Output & convention notes
- Formats: 3D → GLB is the portable default (OBJ/PLY/STL on request). Video masters stay in a
lossless/high-bitrate container; only down-encode at the delivery step. GIF for Slack must pass
the size validators in
slack-gif-creator. - Determinism:
ffmpeg,video-frames,image-enhancer,gifgrepare reproducible; the generative spokes are not — same prompt ≠ same output. Capture the prompt/seed when one matters. - Reference images (image-to-image / multi-ref / image-to-3D) are first-class inputs across
gpt-image-2,nano-banana-2, andhunyuan3d— feed an asset from an earlier stage rather than re-describing it.
5. Shared guardrails
- Prerequisite before spend: verify plan/key/GPU endpoint exists before a generative call.
- State the cost/quota of any batch or paid API run up front.
- Don't swap access models silently — subscription, API-billing, and local are not equivalent.
- Respect provider content policy and the license/attribution of downloaded GIFs and reference images.
- Preserve masters: re-encode lossless-aware; never transcode the source in place.
- Generative output is non-deterministic — record prompt/seed when reproducibility matters.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.
Gives 0 of the 12 instructions most media documents skills give in ~1.5k tokens
Counted across 157 of the 158 authors here whose files we hold, read 2026-08-07
- Provide posting time recommendationsin 7 of 157, across 5 files
- Track metrics over time to identify trendsin 6 of 157, across 2 files
- Read marketing context file before startingin 6 of 157, across 5 files
- Choose platforms based on audience presencein 6 of 157, across 4 files
- Adapt tone for each platformin 6 of 157, across 4 files
- Ensure data completeness before analysisin 5 of 157, across 1 file
- Compare metrics within same time periodsin 5 of 157, across 1 file
- Account for platform-specific benchmarksin 5 of 157, across 1 file
- Separate organic and paid metricsin 5 of 157, across 1 file
- Include context when interpreting resultsin 5 of 157, across 1 file
- Keep tweets under 280 charactersin 5 of 157, across 3 files
- Download top-K results with an attribution sidecarin 5 of 157, across 2 files
Said here and by no other author read
- resolve modality and access model before choosing a backend
- confirm prerequisites exist before any generative call
- state cost or quota up front for paid API runs
- follow the generate transform assemble pipeline
- use reference images as first-class inputs
- use GLB as the default format for 3D assets
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.