{"id":55392,"plugin_id":"plugin_asdk_app_6aa01081c414819196e58fc42ab585a6","kind":"skill","collection_source":"plugin_package","comparison_source":null,"observed_at":"2026-10-26T12:07:05.542Z","digest":"c25edde8cbdf09b578921c88ce39e5c334e7fa66118ba7ec40ec2124e08d0e9f","against":null,"payload":{"description":"End-to-end Arcads-native pipeline for halftone paper-collage and stop-motion-graphic ads. Decodes a reference image into a field-editable JSON spec, generates on-brand stills with nano-banana-2, then animates them into assemble-from-empty motion with Seedance 2.0, all on the Arcads MCP connector. Trigger whenever the user pastes a reference to decode, replicate, or make \"similar\"; asks for a halftone, paper-cut, paper-collage, editorial-collage, or stop-motion-graphic look; wants a still or product turned into an animated ad, explainer, or motion graphic on Arcads; or says \"analyze this\", \"break this down\", \"reverse-engineer this look\", \"animate this\", \"assemble it in\", \"make a collage ad\", or \"Seedance this\". Use even when the user does not say \"skill\" or \"Arcads\" but the visual is clearly the halftone-collage look or the request is decode-then-animate on Arcads. Default image nano-banana-2, default video Seedance 2.0; never use arcads_add_text_overlay.","included_files":[{"relative_path":"references/collage-dimensions.md","size_in_bytes":10109}],"name":"collage-motion","skill_md_contents":"---\nname: collage-motion\ndescription: End-to-end Arcads-native pipeline for halftone paper-collage and stop-motion-graphic ads. Decodes a reference image into a field-editable JSON spec, generates on-brand stills with nano-banana-2, then animates them into assemble-from-empty motion with Seedance 2.0, all on the Arcads MCP connector. Trigger whenever the user pastes a reference to decode, replicate, or make \"similar\"; asks for a halftone, paper-cut, paper-collage, editorial-collage, or stop-motion-graphic look; wants a still or product turned into an animated ad, explainer, or motion graphic on Arcads; or says \"analyze this\", \"break this down\", \"reverse-engineer this look\", \"animate this\", \"assemble it in\", \"make a collage ad\", or \"Seedance this\". Use even when the user does not say \"skill\" or \"Arcads\" but the visual is clearly the halftone-collage look or the request is decode-then-animate on Arcads. Default image nano-banana-2, default video Seedance 2.0; never use arcads_add_text_overlay.\n---\n\n# Arcads Collage Motion\n\nOne pipeline, two halves: **analyze** a reference into an editable spec, then **build** on-brand stills and assemble-from-empty motion. Everything runs on the Arcads MCP connector. The creator works in the halftone paper-collage / stop-motion-graphic editorial style: flat bold color field, halftone (printed-dot) elements, clean cut edges with a soft drop shadow between layers, one sharp idea per scene, and motion that builds the scene piece by piece instead of wobbling a finished frame.\n\nSpeak in the user's language. No em dashes anywhere in output; use periods or line breaks. Keep labels and copy free of emoji unless asked.\n\n## Hard defaults (do not drift)\n\n- **Image model:** `arcads_generate_image_nano_banana` with `model: \"nano-banana-2\"`. nano-banana-2 holds the paper-craft texture (dot pattern, cut edge, layer shadow, flat color) better than gpt-image, and takes up to 14 reference images.\n- **Video model:** `arcads_generate_video_seedance_20` (max 15s per clip). Assembly is **prompt-driven**: pass the finished still as a reference and describe the build in words. Seedance 2.0 has no start/end frame, so it cannot interpolate empty to finished mechanically.\n- **Frame-interpolation escape hatch:** when a clip genuinely needs a guaranteed empty-to-finished build, switch that clip to `arcads_generate_video_kling_30_pro` with `startFrame` = an empty-background still and `endFrame` = the finished still. Use this only for the clips that need it, never mix models within a single delivered set unless the user accepts the consistency cost.\n- **Never call `arcads_add_text_overlay`.** Scene labels are burned in at image generation by nano-banana-2. If a label keeps degrading, reroll with `nbGenerations` or hand off labels to an external tool the user already runs (Figma, Canva); do not reach for the overlay tool.\n- **Tools are deferred.** Load the exact Arcads tool schemas with `tool_search` before the first call each session (search \"arcads image\", \"arcads seedance video\", \"arcads upload asset\"). Confirm parameter names against what loads rather than assuming.\n\n## The Arcads asset workflow (memorize)\n\nStills you want to reuse as video references must live in Arcads first. The canonical loop:\n\n1. `arcads_get_upload_url` to get a presigned S3 URL.\n2. `PUT` the local file bytes to that URL.\n3. `arcads_register_image` to register it, which returns an asset id.\n4. Reference it downstream as `videoassets/{id}.png`.\n\nLocal paths passed directly to generation tools are also auto-uploaded, but for an image generated by Arcads that you then animate, reuse its returned asset path directly. **Pass the product or brand reference image in every generation call** so subject and palette stay locked across the set.\n\n---\n\n## PHASE A: ANALYZE (decode a reference into an editable spec)\n\nRun this whenever a reference is in play. If the user refers to an image but none is attached, ask for it rather than guessing.\n\n### Mindset\n\nThe driving question is: \"If I had to regenerate this exact frame from scratch on nano-banana-2, what would I need to specify?\" Over-analyze on purpose, because the next request is almost always a variation (\"same look, change the color field\", \"same style, different idea\"), and that only works if every attribute is independently swappable. For every observation, name the technique and the why, not just a label. \"Has texture\" is nothing. \"Visible halftone dot pattern on the black-and-white elements, dense at 45 lpi, which reads as printed-magazine craft instead of flat digital\" is reproducible.\n\n### Look in passes before writing\n\n- The medium first: is this paper-cut, layered collage, halftone print, stop-motion frame, or a flat vector pretending to be paper. This decides everything downstream.\n- The color field: the single flat background color, exact hex, evenness, any subtle paper grain on it.\n- The elements: each cut-out piece, its outline crispness, the dot pattern inside it, its drop shadow (offset, softness, opacity) that lifts it off the field.\n- The idea: the concept or visual pun the scene carries. This is the part worth protecting in any variation.\n- The composition and depth layers: foreground pieces over midground over the flat field.\n- Any burned-in label: content, font character, weight, placement, treatment.\n\n### Output for each reference, in this exact structure\n\n```\n## [Short title describing the frame]\n\n### Breakdown\nA walk through the dimensions below under clear subheadings (Medium and craft, Color field, Elements and cut, Composition and depth, Idea, Label, Mood). Every element carries its technique and why.\n\n### Generic prompt\nOne self-contained natural-language paragraph that names medium, color field, every element with its halftone and cut treatment, composition, label, and mood, ready to paste into nano-banana-2. No reference to \"the image above\".\n\n### JSON spec\nThe field-by-field collage spec (schema below) as valid JSON.\n```\n\n### The collage JSON spec\n\nThis is the centerpiece. Valid JSON, no comments, no trailing commas, every field concrete. Each field is independently editable so a later \"change only the color field\" means rewriting one block and re-emitting the whole thing. **Always self-contained.** Never write \"same as previous\"; each generation has zero memory of any other.\n\n`style_signature` is one compact liftable line (for example \"flat cobalt field, halftone cut-outs, crisp edges with soft drop shadow, single editorial idea, premium print-craft\") so the user can anchor other prompts to the look without carrying the whole object.\n\n```json\n{\n  \"medium\": \"\",\n  \"craft_style\": \"\",\n  \"aspect_ratio\": \"\",\n  \"style_signature\": \"\",\n  \"color_field\": {\n    \"background_hex\": \"\",\n    \"evenness\": \"\",\n    \"paper_grain\": \"\"\n  },\n  \"elements\": [\n    {\n      \"what\": \"\",\n      \"role\": \"\",\n      \"halftone\": \"\",\n      \"cut_edge\": \"\",\n      \"drop_shadow\": \"\",\n      \"color_treatment\": \"\",\n      \"placement\": \"\"\n    }\n  ],\n  \"palette_hex\": [],\n  \"composition\": {\n    \"layout\": \"\",\n    \"depth_layers\": \"\",\n    \"negative_space\": \"\",\n    \"balance\": \"\"\n  },\n  \"idea\": \"\",\n  \"label\": {\n    \"present\": \"\",\n    \"content\": \"\",\n    \"font_character\": \"\",\n    \"weight\": \"\",\n    \"placement\": \"\",\n    \"treatment\": \"\"\n  },\n  \"mood\": \"\",\n  \"references_era\": \"\",\n  \"negative_prompt\": \"\"\n}\n```\n\n`references/collage-dimensions.md` holds precise vocabulary for halftone, cut, layer, color-field, and label treatments, plus a fully worked example. Read it the first time you produce a spec so the specificity is calibrated.\n\n### Multiple references\n\nDecode each fully and separately. Then add one `## Shared style summary` capturing the common system: the color-field logic, the halftone density, the cut and shadow convention, the label treatment, and the idea-density. Make it specific enough to seed a fresh on-brand frame.\n\n### Follow-ups\n\n- \"Replicate it\": deliver the JSON spec as is, then go to Phase B to generate.\n- \"Make similar\": keep structural fields (medium, craft_style, halftone, cut, color logic, composition) and vary surface ones (elements, idea, label) so it shares the look without copying.\n- \"Keep everything, change only X\": rewrite only that block, re-emit the entire JSON.\n\n---\n\n## PHASE B: BUILD (stills then assemble-from-empty motion)\n\n### B0: Pick the flow\n\nIf a reference was decoded in Phase A, the spec is your blueprint. If the user has only a brief or a product, draft the spec fields from the brief first (color field, idea, label), then proceed. If the user just wants stills and no motion, stop after B2.\n\n### B1: Brief intake (one message, only if needed)\n\nIf the spec and the user's ask already answer these, skip and proceed. Otherwise ask all at once with `ask_user_input_v0`:\n\n1. Assets to lock to? (upload a product photo or logo, or generate fresh)\n2. Clip duration: 5s teaser, 10s standard, 15s full.\n3. Format: 9:16 vertical, 1:1 square, 16:9 horizontal. (Seedance 2.0 supports 16:9 and 9:16; for 1:1 deliver square stills and animate on Kling.)\n4. How many scenes in the set?\n5. The idea per scene, or \"you propose them\".\n\n### B2: Generate the stills\n\nFor each scene, call `arcads_generate_image_nano_banana` once with `model: \"nano-banana-2\"`, the spec turned into a prompt, the locked product/brand image in `referenceImages`, and the chosen `aspectRatio`. Burn the 2 to 4 word scene label into the prompt; do not plan to overlay it later.\n\nTwo stills matter per animated scene:\n\n- **The finished still:** the full composition with all elements in place. This is the Seedance reference and the visual target.\n- **The empty-field still (only if animating that scene on Kling):** the identical frame with the bare color field and no elements, used as `startFrame`. Generate it from the same spec with the elements removed so the field, grain, and label-less background match exactly.\n\nDisplay each still. Ask \"does this work or change it?\" Reroll with an adjusted prompt or `nbGenerations` until approved. Keep one model across the set.\n\n### B3: Assemble-from-empty motion\n\nThe signature is that the frame builds itself: it opens on the empty color field and the cut-out elements slide in from the edges and snap into place. Two routes.\n\n**Default route, Seedance 2.0 (prompt-driven):**\n\nCall `arcads_generate_video_seedance_20` with the finished still in `referenceImages`, the duration and aspect ratio from B1, and a prompt that explicitly describes the build. Seedance infers the assembly from the words plus the target frame.\n\nPrompt shape:\n```\nPaper-collage stop-motion assembly. Open on an empty flat [color] field, no elements. One by one the cut-out halftone pieces slide in from the frame edges and snap into place with a crisp stop-motion cadence, soft drop shadows settling under each piece as it lands, until the full composition is assembled: [list the elements and final layout]. Burned-in label \"[label]\" appears last. Flat even lighting, premium print-craft texture, slight paper grain, no camera wobble, no zoom drift. [duration]s, [aspect ratio].\n```\n\n**Guaranteed route, Kling 3.0 Pro (frame interpolation):**\n\nWhen the build must be exact, call `arcads_generate_video_kling_30_pro` with `startFrame` = the empty-field still from B2, `endFrame` = the finished still, and a prompt describing the element-by-element slide-in between them. This mechanically forces empty to finished. Use per-clip; do not silently mix Seedance and Kling across a set the user expects to look uniform.\n\nDisplay the result. Offer: keep it, re-edit (same still, adjusted prompt), or render a variant (`nbGenerations` if supported).\n\n### B4: Scale\n\nLock the look once (color field, halftone and cut convention, label treatment), then vary only the idea per scene. Batch the set the same way. Consistency across scenes is what makes it read as a brand rather than one-offs.\n\n---\n\n## Notes and rules\n\n- **One model per delivered set.** Mixing nano/gpt for stills or Seedance/Kling for clips breaks the paper-texture and color consistency that makes the set look intentional.\n- **Self-contained prompts always.** Every image and video prompt stands alone; generators have no memory of earlier calls.\n- **Reference image in every call.** Keeps subject, palette, and craft locked.\n- **Labels are burned in at generation,** never via `arcads_add_text_overlay`.\n- **Confirm tool names and params with `tool_search`** each session; Arcads tool and model IDs change.\n- **No em dashes, minimal emoji** in any drafted copy or label.\n- **On failure:** explain briefly, reroll with adjusted params, or offer the Kling route for a stubborn assembly.\n\n## Reference files\n\n- `references/collage-dimensions.md`: vocabulary and taxonomies for halftone, cut and edge, drop shadow, color field, paper grain, composition, label treatment, and named collage looks, plus one fully worked decode-and-spec example. Consult it when decoding a reference or calibrating a spec.\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}