| name | editorial-card-video |
| description | Build paper editorial-card videos from a content-spec: Swiss editorial layout, warm paper ground, Guizang-style live media cards, real BGM, HyperFrames render, and QC gates. Use for 纸感信息卡, 编辑风视频, 归藏风视频, editorial card video, or content-spec to 20-24s card video tasks. |
Editorial Card Video
Use this skill to turn a structured content-spec.json into a 20-24s "归藏纸感编辑风信息卡视频": warm paper background, Swiss editorial typography, dense magazine cards, right-side live media wells, real BGM, and QC evidence.
When To Use
Use this skill when the request asks for:
- 纸感信息卡, 编辑风视频, 归藏风视频, editorial card video, or magazine-style infographic video.
- A content table/spec becoming a short motion video.
- Reusing the accepted editorial-card-infographic pipeline with live card media.
- Producing or updating a HyperFrames project with paper editorial cards plus BGM and QC artifacts.
Do not use this skill for:
- Talking-head overlay cards on top of an existing speaker video. Use
talking-head-recut.
- Pure kinetic typography or lower-thirds. Use
motion-graphics.
- General long-form video authoring without this paper editorial card language. Use
general-video.
- Building a new Guizang card language from scratch. This skill packages the accepted paper-card production pipeline; read
guizang-social-card-skill only as design provenance when extending card forms.
Inputs
Required:
- A
content-spec.json that follows references/content-spec.schema.json.
Recommended:
- Real BGM source or
meta.bgm.mode = "external-window".
- Card media clips already prepared as dense-keyframe MP4s.
- A clear topic with six beats that map to the six scene blueprints.
Portable defaults are included:
examples/family-ai-assistant.content-spec.json
examples/template-library.content-spec.json
assets/card_media_pack/
assets/components/
Workflow
- Read the request and choose the content-spec.
- Validate text against
references/content-spec-guide.md.
- Map the six scenes to
references/scene-blueprints.md.
- Generate Guizang live cards:
node scripts/generate_guizang_live_cards.mjs \
--out-dir "$OUT/guizang_cards" \
--live-media-dir assets/card_media_pack
- Generate the editorial-card HyperFrames project:
node scripts/generate_editorial_card_video.mjs \
--spec content-spec.json \
--out-dir "$OUT" \
--project "$OUT/project" \
--output "$OUT/final/editorial_card_video_1920x1080.mp4" \
--live-cards-dir "$OUT/guizang_cards/output" \
--render
- If using a real music bed, set
meta.bgm.mode = "external-window" and pass a valid meta.bgm.file. The script normalizes the window and muxes it into the final.
- Run QC gates from
references/qc-checklist.md.
- Deliver the final MP4, MD5, ffprobe, contact sheets, MAD metrics, and any known residual risk.
Gate Discipline
A render is not complete until these are checked:
- Card live media is actually moving; static poster contact is not enough.
- Right-side card-region MAD should land around the accepted reference band, about
14 for the live media card region, unless the content deliberately uses quiet footage.
- Faces in live wells are complete; use
face-top or another focus mode instead of center-cover when needed.
- Video wells have dense keyframes; use GOP around
12 for seekable media.
- Wells sit inside the intended paper/card bounds with no placeholder blocks.
- Scene dwell and entry rhythm match the current recipe values. Treat these as "current values" because active recipe tuning may update them.
- BGM is real or explicitly accepted fallback; lavfi fallback is only for smoke tests.
Key References
Load these when doing production work:
references/style-language.md for measured colors, type sizes, spacing, and paper texture language.
references/scene-blueprints.md for the six-scene flow.
references/card-anatomy.md for the three Guizang live-card shapes.
references/content-spec-guide.md for schema and copy-length boundaries.
references/live-media-rules.md for focus, dense-keyframe, and well-alignment rules.
references/qc-checklist.md for quantitative gates.
references/lessons.md for known failure modes and fixes.
Scripts
scripts/generate_guizang_live_cards.mjs: renders the six reusable Guizang live-card MP4s and keyframes from skill-local media.
scripts/generate_editorial_card_video.mjs: builds the HyperFrames project, renders the full editorial-card video, prepares BGM, and muxes audio.
scripts/build_live_media_qc.py: compares moving card regions against a reference crop.
scripts/build_stage_c_qc.py: builds source-vs-sample scene contact sheets.
scripts/build_guizang_card_midframe_contact.py: checks live-card focus and subject crop.
scripts/build_guizang_layout_density_contact.py: compares card layout density against reference crops.
scripts/build_dwell_well_tuning_qc.py: measures accepted video-well ratios and dwell timing.
scripts/build_stackfix_qc.py: verifies stack settle-vs-end position and bounded anchor drift.
scripts/build_cardface_integrity_qc.py: verifies edge typography, top-title zones, and fallback/video layer consistency.
scripts/build_croute_threeway_contact.py: compares native Guizang, script C-route, and reference crops.
All scripts accept explicit input/output directories. Do not hardcode (internal evidence) or user-home paths in production calls.
Dependencies
Required:
- HyperFrames CLI available through
npx hyperframes.
ffmpeg in PATH.
- Node.js ESM runtime.
- Python 3 with
Pillow and numpy for QC scripts.
Design provenance:
guizang-social-card-skill supplied the accepted visual language for the live-card subsystem. It is not a runtime dependency for this skill snapshot; read it when extending or inventing new card forms, not for ordinary production renders.
Worked Examples
See examples/README.md for accepted sample paths, MD5s, and the two portable content-spec files. The sample videos are indexed by path instead of copied into the skill because they are large binary deliverables.