moda-social-tiktok
PREREQUISITE — load moda-core once per session (step-0, write contract,
free/metered map). Already loaded? Skip ahead. If you cannot load it, the
non-negotiables: run moda doctor --json before anything; moda brand list
before creating; writes that pin a revision use your last read's — on
stale_revision, re-read and retry once (it heals); send the canvas link the
moment it exists; stuck or failed? moda ask "<question>" — free and fast,
never guess.
Sizes and defaults
| Format |
Size |
--category |
Notes |
| Cover frame / photo-mode page |
1080×1920 |
social |
9:16 — everything on TikTok is this size |
| Photo-mode set |
1080×1920 × N |
carousel |
one page per photo; ships as a zip of pngs |
Safe areas — design full-bleed; only text, logos, CTAs, and focal points stay
inside:
- Post: UI covers top y 0–190, the right icon rail x 900–1080 (y 190–1780),
and the caption band y 1780–1920. Safe zone x 120–840, y 252–1742.
- Ad: extra CTA chrome — bottom reserved from y 1400. Safe zone x 120–840,
y 252–1280. Assume a normal post unless the user says ad.
- Cover frames are also shown as a small grid tile on the profile: the subject
and any title must survive at ~1/6 scale.
- Type: body ≈ 48px at 1080 wide, floor 32px — vertical video is read in motion.
This skill owns the STILL: the cover frame and photo-mode pages. An actual
TikTok video is moda-video (render format wins over platform).
Recipe — cover frame or single photo-mode page
moda canvas create --name "[Topic] — TikTok" --intent "[one-line brief]" --size 1080x1920 --category social --brand [KIT] — send the link immediately.
- Image-led?
moda media generate-image --prompt "[subject, brand palette]" --model [MODEL] for the backdrop; type-led is equally strong.
- Author in ONE apply:
moda canvas markup [CANVAS_REF] --file - --page [PAGE_ID] — title inside x 120–840, y 252–1742 (references/markup.md).
moda canvas screenshot [CANVAS_REF] — check the right rail and caption band are clear, then judge the title at tile scale; fix and re-screenshot.
moda export [CANVAS_REF] --format png --pixel-ratio 2 -o [topic]-tiktok.png.
Recipe — photo-mode set
moda canvas create --name "[Topic] — photo set" --size 1080x1920 --category carousel --brand [KIT] — link immediately.
- Prove page 1 alone (author → screenshot → fix) before adding pages: it sets
the system every later page repeats — 2–4 colors, two fonts, one motif.
moda canvas add-pages [CANVAS_REF] --count [N-1], then one markup apply per
page, serial on the one canvas; vary composition so neighbours differ.
moda canvas screenshot [CANVAS_REF] in ≤3-page batches; judge as a set.
moda export [CANVAS_REF] --format png --pixel-ratio 2 -o [topic]-tiktok.zip
— the zip of page images IS the photo-mode deliverable.
Examples
- "a cover for our new TikTok" → cover recipe at 1080×1920.
- "a 5-photo TikTok post about [Topic]" → photo-mode set, 5 pages, zip.
- "a TikTok ad still" → cover recipe with the ad safe zone (bottom clear from y 1400).
- "make the TikTok video itself" → not this skill: load moda-video.
Errors
Any typed error → load moda-core and read its recovery reference.
Most likely here: text drifting under the right rail — re-screenshot after every
fix. stale_revision heals — re-read and retry once.
Make it recurring
A cover-frame series on a posting cadence → moda-automate; the proven cover
layout → moda-templates, so every upload starts from the winner.
See also: moda-social — other platforms, carousel theory, one-off graphics ·
moda-core — the contract, recovery, everything Moda can do.
References
| Doc |
Load when |
| references/tiktok.md |
depth: safe-area map, cover-vs-photo craft, tile-scale legibility |
| references/markup.md |
before any markup apply |
| references/no-brand-design.md |
no kit is active — inventing the identity: palette law, type, imagery, layout system |
1---2name: moda-social-tiktok3description: TikTok stills: video covers and photo-mode posts — 9:16 sizing and safe areas.4---56# moda-social-tiktok78<!-- moda:banner -->9**PREREQUISITE — load `moda-core` once per session** (step-0, write contract,10free/metered map). Already loaded? Skip ahead. If you cannot load it, the11non-negotiables: run `moda doctor --json` before anything; `moda brand list`12before creating; writes that pin a revision use your last read's — on13`stale_revision`, re-read and retry once (it heals); send the canvas link the14moment it exists; stuck or failed? `moda ask "<question>"` — free and fast,15never guess.16<!-- /moda:banner -->1718## Sizes and defaults1920| Format | Size | `--category` | Notes |21|---|---|---|---|22| Cover frame / photo-mode page | 1080×1920 | `social` | 9:16 — everything on TikTok is this size |23| Photo-mode set | 1080×1920 × N | `carousel` | one page per photo; ships as a zip of pngs |2425Safe areas — design full-bleed; only text, logos, CTAs, and focal points stay26inside:2728- **Post**: UI covers top y 0–190, the right icon rail x 900–1080 (y 190–1780),29 and the caption band y 1780–1920. Safe zone **x 120–840, y 252–1742**.30- **Ad**: extra CTA chrome — bottom reserved from y 1400. Safe zone **x 120–840,31 y 252–1280**. Assume a normal post unless the user says ad.32- Cover frames are also shown as a small grid tile on the profile: the subject33 and any title must survive at ~1/6 scale.34- Type: body ≈ 48px at 1080 wide, floor 32px — vertical video is read in motion.3536This skill owns the STILL: the cover frame and photo-mode pages. An actual37TikTok video is moda-video (render format wins over platform).3839## Recipe — cover frame or single photo-mode page40411. `moda canvas create --name "[Topic] — TikTok" --intent "[one-line brief]" --size 1080x1920 --category social --brand [KIT]` — send the link immediately.422. Image-led? `moda media generate-image --prompt "[subject, brand palette]" --model [MODEL]` for the backdrop; type-led is equally strong.433. Author in ONE apply: `moda canvas markup [CANVAS_REF] --file - --page [PAGE_ID]` — title inside x 120–840, y 252–1742 (references/markup.md).444. `moda canvas screenshot [CANVAS_REF]` — check the right rail and caption band are clear, then judge the title at tile scale; fix and re-screenshot.455. `moda export [CANVAS_REF] --format png --pixel-ratio 2 -o [topic]-tiktok.png`.4647## Recipe — photo-mode set48491. `moda canvas create --name "[Topic] — photo set" --size 1080x1920 --category carousel --brand [KIT]` — link immediately.502. Prove page 1 alone (author → screenshot → fix) before adding pages: it sets51 the system every later page repeats — 2–4 colors, two fonts, one motif.523. `moda canvas add-pages [CANVAS_REF] --count [N-1]`, then one markup apply per53 page, serial on the one canvas; vary composition so neighbours differ.544. `moda canvas screenshot [CANVAS_REF]` in ≤3-page batches; judge as a set.555. `moda export [CANVAS_REF] --format png --pixel-ratio 2 -o [topic]-tiktok.zip`56 — the zip of page images IS the photo-mode deliverable.5758## Examples5960- "a cover for our new TikTok" → cover recipe at 1080×1920.61- "a 5-photo TikTok post about [Topic]" → photo-mode set, 5 pages, zip.62- "a TikTok ad still" → cover recipe with the ad safe zone (bottom clear from y 1400).63- "make the TikTok video itself" → not this skill: load moda-video.6465## Errors6667Any typed error → load moda-core and read its recovery reference.68Most likely here: text drifting under the right rail — re-screenshot after every69fix. `stale_revision` heals — re-read and retry once.7071## Make it recurring7273A cover-frame series on a posting cadence → moda-automate; the proven cover74layout → moda-templates, so every upload starts from the winner.7576See also: moda-social — other platforms, carousel theory, one-off graphics ·77moda-core — the contract, recovery, everything Moda can do.7879## References8081| Doc | Load when |82|---|---|83| references/tiktok.md | depth: safe-area map, cover-vs-photo craft, tile-scale legibility |84| references/markup.md | before any markup apply |85| references/no-brand-design.md | no kit is active — inventing the identity: palette law, type, imagery, layout system |