← ClaudeAtlas

novoads-image-to-motionlisted

Turn any still image into a professional motion graphic through the Novoads API on Seedance 2.5. Covers how to read a reference image, motion vocabulary for any image type — UI, marketing hero, flat-lay, key art, collage, product, character — the prompt clauses that control camera, timing, frozen regions and text fidelity, and the upload mechanics. Use whenever the user supplies an image and wants it animated, moving, or turned into video — including "animate this", "turn this into a motion graphic", "make this move", "この画像動かして", "モーショングラフィックにして", "I want the cards to pop in", "I want the bars to slide up", or when they describe motion beats for a static image. Also use when asked to write a Seedance prompt for an existing image. Do NOT use for text-to-video with no source image, restyling existing footage (this API takes no video input), cloning a reference video (use clone-video-ad), or a product photo that should seed a new scene rather than move as-is (use novoads-api).
novoads/claude-code-ads · ★ 14 · AI & Automation · score 73
Install: claude install-skill novoads/claude-code-ads
# Image → Motion Graphic Any still can become a professional motion graphic. The work is direction, not damage control: decide what moves, in what order, and say it precisely enough that there is nothing left to interpret. Vague prompts produce vague motion. Specific prompts produce the shot you pictured. That is the whole discipline. > **Resolved, 2026-08-12 — `seedance-2.5` takes a start image again, and the render honours > the `aspectRatio` you ask for.** > > Earlier the same day, `POST /v1/videos` with `"model": "seedance-2.5"` and a > `startImageAssetId` failed server-side every time (isolated with nine single-variable > probes; credits were charged and refunded automatically). The platform fix shipped and was > verified live 2026-08-12: the same call that failed now renders, and a source image whose > shape differs from the requested `aspectRatio` is fitted to the ask server-side with > content-safe padding — nothing is cropped away, and the output arrives at the ratio you > requested. No workaround is needed; write the call as this skill documents it. ## Before anything: this runs on a Novoads account - **Base URL:** `https://api.novoads.ai/v1` (host overridable with `NOVOADS_BASE_URL` — host only, you append `/v1`). - **Auth:** `Authorization: Bearer $NOVOADS_API_KEY`, read from `.env` at the repo root. The key is `novo_` plus 64 hex. - **Check:** `./scripts/check-novoads-env.sh`; if the key is missing, run `./scripts/setup.sh`. - **Never** print API keys, c