# solari tiktok content batch

> Hydrate up to 100 TikTok post ids in one call.

- **CLI**: `solari tiktok content batch`
- **MCP tool**: `solari_tiktok_content_batch`
- **Access**: `solari:read` — Works with any signed-in SOLARI account.

Batch companion to solari_tiktok_content_detail: hydrates up to 100 TikTok posts by their SOLARI post UUIDs in a single call, in the same item shape as solari_tiktok_account_posts entries. Untracked ids are omitted, so found can be lower than requested. Transcripts are long, so include_transcript is off by default. Feed it post_id lists from solari_tiktok_account_posts, solari_tiktok_content_search, or solari_tiktok_account_profile; TikTok post_ids are separate from Instagram post_ids. Works with any signed-in SOLARI account.

**When to use it** — Opening an id list from search or account posts all at once.

**What comes back** — The posts that were found among the requested ids.

## Parameters

- `post_ids` (uuid[], required, 1–100 items, uuid) — SOLARI post UUIDs to hydrate, at most 100 per call. Not TikTok video ids.
- `sort` (enum, optional, default "recent") — Item order: posted_at descending (recent) or engagement descending. Values: `recent`, `engagement`.
- `include_transcript` (boolean, optional, default false) — Attach the spoken-word transcript to each item. Off by default because transcripts are long.

## Response

### `Response`

- `requested` (integer) — How many ids were sent.
- `found` (integer) — How many resolved.
- `items` (object[]) — The posts found.

### `items[]`

- `post_id` (uuid) — SOLARI post id. A different namespace from Instagram post ids.
- `video_id` (string) — Public numeric TikTok id — the digits after /video/ or /photo/.
- `url` (string) — Public TikTok permalink.
- `account_id` (uuid) — TikTok account_id of the author.
- `username` (string) — Author handle.
- `post_type` (string) — video (single clip) or carousel (image slideshow).
- `posted_at` (timestamp) — Publication time (UTC).
- `caption` (string) — Caption text.
- `duration_seconds` (integer) — Video length.
- `width / height` (integer) — Video resolution.
- `play_count` (integer) — Plays.
- `like_count` (integer) — Likes.
- `comment_count` (integer) — Comments.
- `share_count` (integer) — Shares.
- `collect_count` (integer) — Saves.
- `is_ad` (boolean) — Whether TikTok flags the post as an ad.
- `is_pinned` (boolean) — Pinned to the top of the profile.
- `aigc_label_type` (string | null) — AI-generated-content label, when TikTok applies one.
- `original_language_code` (string | null) — Source language code.
- `cover_url` (string) — Cover image URL.
- `video_url` (string) — Video file URL.
- `images` (string[]) — Carousel slides. Empty for a video post.
- `hashtags` (string[]) — Hashtags parsed from the caption.
- `mentions` (string[]) — Handles mentioned in the caption.
- `transcript` (string | null) — Spoken-word transcript. Only filled when include_transcript=true.

## Example

```console
$ solari tiktok content batch post_ids='["01a0631e-f0df-7e9d-a09b-d84bc31d3834"]'
```

_Long strings and repeated array entries are trimmed for readability._

```json
{
  "requested": 1,
  "found": 1,
  "items": [
    {
      "post_id": "01a0631e-f0df-7e9d-a09b-d84bc31d3834",
      "video_id": "7680375687139642645",
      "url": "https://www.tiktok.com/@innisfree_official/video/7680375687139642645",
      "account_id": "019b2137-f76e-7b33-9437-26044fa7b1ed",
      "username": "innisfree_official",
      "post_type": "video",
      "posted_at": "2026-09-02T12:00:00Z",
      "caption": "Deeply hydrated skin—NO OFF HOURS. 💚  wherever the day takes MINGYU—his hydration stays SUPERCHARGED ⚡️ Green Tea Ceramide Milk: Lightweight milky toner that won't clog your pores  Green Tea Ceramide Mist: Touch-free, fa …",
      "duration_seconds": 23,
      "width": 1080,
      "height": 1920,
      "play_count": 493,
      "like_count": 37,
      "comment_count": 2,
      "share_count": 0,
      "collect_count": 3,
      "is_ad": false,
      "is_pinned": false,
      "aigc_label_type": null,
      "original_language_code": null,
      "cover_url": "https://smr-images-b.bzine.co/tiktok/users/019b2137-f76e-7b33-9437-26044fa7b1ed/posts/01a0631e-f0df-7e9d-a09b-d84bc31d3834/medias/cover.jpg",
      "video_url": "https://smr-images-b.bzine.co/tiktok/users/019b2137-f76e-7b33-9437-26044fa7b1ed/posts/01a0631e-f0df-7e9d-a09b-d84bc31d3834/medias/origin.mp4",
      "images": [],
      "hashtags": [],
      "mentions": [],
      "transcript": null
    }
  ]
}
```

## As an MCP call

```json
{
  "name": "solari_tiktok_content_batch",
  "arguments": {
    "post_ids": [
      "01a0631e-f0df-7e9d-a09b-d84bc31d3834"
    ]
  }
}
```

## Notes

- Takes SOLARI post UUIDs only. A numeric TikTok video id does not belong here — that goes to content detail as video_id.
- TikTok post ids and Instagram post ids are separate namespaces.

## Related tools

- [`solari_tiktok_content_detail`](https://solari.sh/docs/tools/tiktok-content-detail.md)
- [`solari_tiktok_content_search`](https://solari.sh/docs/tools/tiktok-content-search.md)
