novoads-image-to-motionlisted
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