Tabletop Conflict · compétence Open Skill

Tabletop Conflict

Tabletop Conflict est une Open Skill publique sur Digen. Ouvrez-la pour voir ce que ce workflow crée.

@GG_Bone

Custom

0 0 1

https://d7qlwi7tl2u27.cloudfront.net/skill-covers/prod/4150474/2026-10-15/xtxuc5uu.jpg

# Tabletop Conflict (reference image → short video)

Rebuild a user-uploaded image as a "conflict on the table": the most prominent subject in the image is miniaturized into a physical prop on a tabletop, facing off, pushing and colliding with a rival, and the result is a short video. There is no structured project state; generated assets go to the canvas automatically.

## When to use

- The user uploads / references an image and asks for a "conflict on the table" or to "turn it into a short video".
- The user asks for changes to an already generated tabletop-conflict still frame or final video: "more intense", "change the rival", "make it landscape", "make another version".

## Inputs and outputs

- Input: the user's uploaded image (required; an `asset_id` or `s3://` reference is fine). If there is no image, ask the user for one first — do **not** generate from a text description alone.
- Output: 1 short video (`generate_video`, `entity_type='final_videos'`); first produce 1 intermediate tabletop-conflict still frame (`entity_type='storyboard_images'`), which is a normally displayed asset — do not hide it.

## Visual spec (must be followed at every step; no drift)

- **Camera**: macro, low angle close to the table surface (about a 40°–50° downward tilt), shallow depth of field, the front table edge slightly blurred.
- **Table**: one matte dark wooden tabletop occupying the lower ~2/3 of the frame; only this single table ever appears — no location change, no floor, no room, no furniture.
- **Background**: above the tabletop is a dark void (near-black / dark brown) with only one clean horizontal table-edge line; no environment elements and no text.
- **Light**: a single hard key light from the upper side (upper left or upper right), a clear glossy highlight band on the table, long sharp cast shadows from the subjects; no second light, no ambient bounce.
- **Palette**: only three color families — warm brown table + near-black background + the subject's own dominant color inherited from the original image; saturation kept consistent, no hues beyond the original image.
- **Materials**: the subject is rendered as a miniature practical prop (matte resin / plastic feel), clean surface, slight sheen, realistic contact shadow and tabletop reflection.
- **Subject**: keep the recognizable features of the original subject (silhouette, dominant color, pattern, main color blocks on clothing / packaging). It may be miniaturized and stylized, but it must be immediately recognizable as the thing in the original image.
- **Conflict**: the table must have "two sides" — the subject vs. a rival (the rival is the second element in the original image, or something matching the original image's semantics, in the same style and scale). The two sit on the left and right of the frame, facing each other, in an opposing pose (head-to-head, pushing, stand-off, collision).
- **Props**: 3–6 miniature props related to the theme scattered on the table (paper scraps, chips, matches, bottle caps, parts, etc.) hinting at what the conflict is about; props must not block the two main subjects.
- **Forbidden**: any on-screen text / subtitles / watermark / logo / border / split panels / collage; no gore or horror imagery; no scene changes.

## Steps

1. **Read the original image**. Call `recognize_image(image_url=<the user's image asset_id or s3:// uri>)` with a prompt asking for: what the subject is, its shape / color / material / key markings, what other elements are in the image, and the overall color tone of the original. If you can already see the image clearly and have enough information, you may skip this step. State in one sentence what you will use as the subject and what as the rival, **then get straight to work** (unless the user explicitly says "confirm first"). If the subject is unclear (pure landscape / pure abstract), pick the most prominent element in the frame as the subject and mention in your reply that the user can ask to replace it.
2. **Generat