# Post one slideshow to TikTok and Instagram

A slideshow is a first-class post type in Turboyap. Upload the slides once, and Turboyap builds a version each platform will accept.

## What changes per platform

| | TikTok photo post | Instagram carousel |
|---|---|---|
| Slides | up to 35 | 2 to 10 |
| Formats | JPEG, WebP | JPEG only |
| Aspect ratio | any (9:16 is native) | 4:5 to 1.91:1 |
| Caption | 4,000 characters, plus an optional 90-character title | 2,200 characters, 30 hashtags, 20 mentions |

A typical 12-slide vertical deck (1080×1920) fits TikTok as-is. Instagram needs two changes: at most 10 slides, and every slide inside the 4:5 to 1.91:1 range. Instagram also crops every carousel slide to the first slide's ratio, so the slides must all share one ratio.

## Let Turboyap adapt the slides

```json
{
  "type": "slideshow",
  "caption": "Ice cream or frozen dairy dessert? Read the label.",
  "media_ids": ["med_…", "…"],
  "targets": [{ "account_id": "acct_tiktok…" }, { "account_id": "acct_instagram…" }],
  "schedule_at": "2026-10-14T18:00:00-04:00",
  "fit": { "overflow": "truncate", "aspect": "pad" }
}
```

- `overflow: "truncate"` keeps the first 10 slides on Instagram. To choose the slides yourself (keeping your call-to-action slide, say), pass `media_ids` on that target instead.
- `aspect: "pad"` letterboxes slides to 4:5 without cutting any text. The bars match each slide's background color (`pad_color: "auto"`). Use `"crop"` to center-crop instead.
- PNG and WebP slides are converted to JPEG automatically and resized into each platform's limits.

Run it with `dry_run: true` first to see each platform's slide count, the media changes, and the status each account starts in.

## TikTok inbox mode

TikTok targets default to `mode: "inbox"`: the slideshow lands in the creator's TikTok inbox, where you add a trending sound and post. That's usually what you want for slideshows, since sound selection matters and the API can't pick a specific trending track. Turboyap marks the post published once it's live.

Use `mode: "direct"` with a `privacy_level` to post immediately. TikTok requires the creator to pick that privacy level, which is why inbox mode is the default and what autopilot uses unless a post says otherwise. `auto_add_music: true` lets TikTok add a recommended sound to direct posts.
