# solari tiktok content detail

> One TikTok post in full.

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

Detail for one TikTok post, in the same item shape as solari_tiktok_account_posts entries (transcript included when one exists). Identify the post by post_id (SOLARI post UUID from solari_tiktok_account_posts, solari_tiktok_content_search, or solari_tiktok_account_profile), by video_id (the public numeric TikTok video id), or by url (any public TikTok post URL, including vm.tiktok.com and vt.tiktok.com short links, which are resolved upstream). A video_id or url not tracked yet is fetched live on first request (allow 10 to 40 seconds) and fetched_on_demand=true marks that case; item is null when the post does not exist or is not public, or when a post_id is unknown. Works with any signed-in SOLARI account.

**When to use it** — Opening a single post by post_id, video_id, or public URL.

**What comes back** — One item in the account-posts shape, transcript included when one exists.

## Parameters

- `post_id` (string, optional, uuid, pattern ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$) — The SOLARI post_id UUID. Provide this, video_id, or url.
- `video_id` (string, optional, pattern ^\d{15,20}$) — Public numeric TikTok video id, the digits after /video/ or /photo/ in a post URL. Ignored when post_id is set.
- `url` (string, optional, ≤ 512 chars) — Public TikTok post URL such as https://www.tiktok.com/@<handle>/video/<id> or a vm.tiktok.com / vt.tiktok.com short link. Ignored when post_id or video_id is set.

## Response

### `Response`

- `item` (object | null) — The post. null when it does not exist or is not public.
- `fetched_on_demand` (boolean) — true when this request is what first pulled the post in.

### `item`

- `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 detail video_id=7680375687139642645 include_transcript=true
```

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

```json
{
  "item": {
    "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-c.bzine.co/tiktok/users/019b2137-f76e-7b33-9437-26044fa7b1ed/posts/01a0631e-f0df-7e9d-a09b-d84bc31d3834/medias/origin.mp4",
    "images": [],
    "hashtags": [],
    "mentions": [],
    "transcript": null
  },
  "fetched_on_demand": false
}
```

## As an MCP call

```json
{
  "name": "solari_tiktok_content_detail",
  "arguments": {
    "video_id": "7680375687139642645"
  }
}
```

## Notes

- vm.tiktok.com and vt.tiktok.com short links are accepted and resolved upstream.
- An untracked video_id or URL is fetched live on first request — allow 10 to 40 seconds.

## Related tools

- [`solari_tiktok_content_batch`](https://solari.sh/docs/tools/tiktok-content-batch.md)
- [`solari_tiktok_account_posts`](https://solari.sh/docs/tools/tiktok-account-posts.md)
