Bright Paper Collage Design Skill
Turn each information item into exactly one generation prompt for the asset the caller actually requested. Apply the same recognizable collage language across still images, video, code-authored layouts, and custom media without forcing one ratio, palette, subject type, or motion pattern.
Non-negotiable output rule
- Return one
generation_promptper ordered item. - Compile only for the resolved
generation_mode. - Never add a still prompt to a video request, a motion prompt to an image request, or any other companion prompt.
- Never invoke ImageGen, Grok, FFmpeg, a renderer, or another asset generator.
- Do not expose the internal recipe unless
include_recipe: true.
Accepted request
Accept natural language or an ordered object containing items. Each item may contain:
id: optional stable identifier.information: required source information and the only authority for factual claims.asset_spec: optionalasset_type,generation_mode,aspect_ratio,duration_seconds,delivery_context, generator, medium, dimensions, timing, and delivery constraints.exact_text: optional display copy to preserve verbatim.text_policy:auto,none,preserve-reference, or an explicit caller-defined policy.reference_paths: local references whose factual and visual identity must be preserved.must_include,must_avoid, anddesign_overrides.
The supported generation modes are text-to-image, image-to-image, text-to-video, image-to-video, layout-or-code, and custom. asset_type is descriptive, not a closed enum.
Resolve the request in this order:
- Explicit
asset_specvalues. - The caller's wording and delivery context.
- Built-in defaults from formats.json.
- If the target still cannot be inferred, use a
3:4editorial poster and disclose that default.
Preserve item order. Never silently discard an item.
Design process
For each item:
- Identify the message, factual anchors, audience, requested asset, and generation mode.
- Derive one legible visual metaphor. Symbolic imagery may interpret the source but must not imply unsupported facts.
- Resolve an internal recipe using explicit overrides, semantic routing, and a stable seed. Use resolve_recipe.py for structured workflows.
- Generate or preserve display copy under the text rules below.
- Compile only the prompt contract for the resolved mode.
- Run the quality gate before returning or writing the package.
For direct natural-language work, read only the catalogs needed for the request. The structured resolver loads and cross-validates the full catalog set so mixed-mode arrays share one consistent version. Core routing uses:
- formats.json for target defaults.
- colors.json, materials.json, and imperfections.json for the physical print language.
- compositions.json, subjects.json, typography.json, and rhythm.json for spatial decisions.
- motion.json only for video-generation requests.
- routing.json and prompt-contract.json for deterministic selection and compilation order.
Visual identity
Every prompt must preserve these invariants:
- Premium high-key editorial stop-motion paper collage.
- Flat physical paper construction, not a glossy or volumetric 3D scene.
- Black-and-white photographic halftone may mix with controlled colored cardstock.
- Crisp machine-cut edges, restrained warm-cream keylines, shallow physical shadows, and visible uncoated paper texture.
- One clear visual metaphor and one focal event.
- Generous negative space, readable hierarchy, and controlled information density.
- No cinematic environment, scrapbook clutter, decorative craft overload, unsupported facts, fake branding, unsolicited UI, or watermark.
Klein Blue #002FA7 with golden-orange #FF9F00 is the signature default only when the request gives no palette direction. Other catalog palettes remain equally valid when routed or explicitly selected.
Humans are optional. Choose a human, object, spatial, symbolic, data, mixed-media, or abstract subject mode according to the source and target. Never add a person merely to satisfy a style habit.
Text rules
- Preserve
exact_textverbatim when supplied. - For a text-bearing asset without supplied copy, write one concise Taiwan Traditional Chinese headline grounded in
information. - Permit at most one
/as a non-rendering line-break marker; instruct the generator to render the two lines without the slash. - With
text_policy: none, forbid readable text. - With
text_policy: preserve-reference, keep all accepted reference text unchanged in content, placement, spelling, and legibility. - Never introduce additional readable copy unless the asset specification explicitly requests it.
Mode compilers
text-to-image
Describe the complete canvas in this order: asset and ratio, source-grounded visual metaphor, composition and focal event, subjects and material treatment, exact typography behavior, palette and lighting, then shared and caller negatives. Do not describe motion or seconds.
image-to-image
Treat supplied references as factual and identity authority. State exactly what must remain unchanged, then transform only the collage treatment, hierarchy, crop, and composition requested by the caller. Do not invent details hidden by or absent from the source.
text-to-video
Describe duration, ratio, initial state, object-specific temporal action, typography timing, locked or explicitly requested camera behavior, final state, and hold. Use the motion catalog. Do not create a separate keyframe prompt.
image-to-video
Treat the supplied image as visual authority. Preserve design, layout, identity, crop, color, material, and accepted text. Describe only the permitted movement of existing non-text groups, camera behavior, duration, and final hold. Do not redesign the frame.
layout-or-code
Write deterministic implementation instructions rather than image-model prose: exact canvas geometry, safe zones, grid, CSS-ready spacing, layer order, typography metrics, colors, paper textures, and any requested animation states or timings.
custom
Honor the caller's generator, medium, dimensions, timing, and delivery constraints. Retain the visual identity and one-prompt-only rule unless a constraint is technically incompatible; disclose any incompatibility rather than silently changing it.
Internal recipe
The internal recipe records the stable seed, resolved asset specification, selected palette, composition, subject mode, typography, rhythm, imperfections, optional motion profile, factual anchors, visual metaphor, copy policy, and defaults used. Keep it private by default. Include it in structured output only when explicitly requested.
Stable tie-breaking uses the SHA-256 of normalized item information plus the resolved asset specification. Explicit valid overrides always win.
Quality gate
Before returning a prompt, verify:
- The asset, generation mode, ratio, duration, and delivery context match the request.
- There is exactly one prompt and no unused companion prompt.
- The visual metaphor is understandable and grounded in supplied information.
- The composition is physically plausible as flat paper collage and compatible with the target.
- Text obeys the selected policy and contains no extra readable copy.
- Motion language occurs only in video modes; image-to-video preserves the supplied frame.
- Layout/code prompts use deterministic geometry instead of vague image-model prose.
- No unresolved placeholders, fake facts, branding, UI, watermark, glossy 3D, or scrapbook clutter remain.
Response contract
For one interactive item, return only:
**Asset:** Poster · 3:4 · text-to-image
**Generation Prompt**
```text
[the single required asset-generation prompt]
For structured workflows, return `bright_paper_collage_prompt_package_v1` with ordered items containing `id`, `index`, resolved `asset_spec`, one `generation_prompt`, and QA status. Include `recipe` only when requested.
When an absolute `output_dir` is supplied, create a collision-safe package directory and write:
- `prompt-package.json`
- `prompt-package.md`
- `<index>-<id>/generation-prompt.txt` for every item
Never overwrite an existing package.