| name | genai-media-optimizer |
| description | Optimize generative image/video/audio workloads — inference step counts, distilled/turbo model variants, generate-small-then-upscale strategies, batching, seed reuse, and cache-vs-regenerate policy for repeated assets. Use this skill whenever the user runs diffusion or generative media models (Stable Diffusion, image/video/audio generation APIs), shares generation configs, or asks how to cut the cost or footprint of AI-generated media. Part of Lean Agentic AI Skills; emits lean-findings.json. |
GenAI Media Optimizer
Producer/advisor skill. Input: generation configs (model, steps, resolution, scheduler, batch settings), usage patterns (volumes, repeat rates), quality bar. Output: lean-findings.json + a generation-pipeline design when asked.
Text models meter in tokens; media models meter in denoising steps × pixels. The dials are different from the LLM family and usually left at tutorial defaults.
Subject type: emit subject.type: "ai-inference" in findings.
Signatures
- Step-count defaults — 50-step sampling where modern schedulers hold quality at a fraction of the steps; per-asset-class step tuning absent. High: compute scales ~linearly with steps. Fix: scheduler upgrade + stepped-down A/B on the user's own quality bar.
- Full-size generation for small display — generating at maximum resolution for thumbnails, previews, or mobile-only surfaces. High: cost scales super-linearly with resolution. Fix: generate at display size; generate-small-then-upscale (a cheap upscaler pass) for the subset needing large output.
- Foundation model where distilled serves — full-size models for high-volume, style-consistent production work where distilled/turbo/LCM variants hold the bar. High at volume; validate on the user's eval set (route the tiering method to model-right-sizer patterns; record the media finding here).
- Regenerating the repeatable — same prompt+params generating fresh assets on every request (avatars, backgrounds, product variants). High. Fix: content-addressed cache keyed on (model, prompt, params, seed); pairs with llm-cache-designer mechanics.
- No draft-vs-final tiers — iteration/preview loops running at final quality; users burning full-cost generations to explore. Medium-high. Fix: low-step draft mode for exploration, full quality only on commit.
- Unbatched generation — sequential single-image calls where batching amortizes model load/warm state (self-hosted). Medium.
- Video where image serves — animated outputs for surfaces a still would serve; frame counts/fps beyond display need. Medium.
- Abandoned outputs stored hot — generation history retained forever in premium storage; route lifecycle to storage-lifecycle-audit, record the generation-policy finding here.
Honesty rules
Step counts, resolutions, and generation volumes are countable — report them. Quality is the user's judgment: every reduction ships with an eval instruction on their own content, never a blanket "quality is unaffected". Per-generation energy varies by hardware and model — directional language only; measurement pointer: CodeCarbon around the generation loop for self-hosted setups.
Cost signal (countable)
Cost drivers: denoising-steps × resolution × generation volume. All three are countable from configs and usage stats. cost_signal.observed names them; direction stays qualitative because per-step energy varies by hardware.
Not this skill's job
Text/LLM optimization (model-right-sizer, prompt-carbon-optimizer), where generation runs (inference-placement-advisor), delivery of the generated media (video-streaming-optimizer, web-carbon-audit).