Media and assets
Get media into SocialClaw four ways — dashboard, API, CLI, and MCP — into one shared workspace library, reuse hosted delivery URLs as media_link, and let capabilities report each network's real media rules.
Four ways to get media in, one shared workspace library:
- Dashboard — drag and drop; files land in the same library every interface reads.
- API —
POST /v1/assets/uploadwith base64 content, orPOST /v1/assetsto register an externally hosted object. - CLI —
socialclaw assets upload --file ./image.png --json. - MCP — the
upload_assettool takes a publicsourceUrl(the server downloads it) or base64 content.
Every upload returns an asset with a hosted delivery URL — use it as media_link in schedules. List the library to reuse previously uploaded files, including dashboard uploads:
curl -sS "https://getsocialclaw.com/v1/assets?kind=image&limit=24" \
-H "Authorization: Bearer $SOCIALCLAW_API_KEY"
Delete with DELETE /v1/assets/{assetId} — an optional retention window keeps the file servable for already-scheduled posts.
Platform rules: ask capabilities, not a spec sheet. Media limits differ per network and per account type. The capabilities endpoint is the live source of truth for what each connected account allows:
curl -sS https://getsocialclaw.com/v1/accounts/acct_123/capabilities \
-H "Authorization: Bearer $SOCIALCLAW_API_KEY"
Known gotchas, handled for you:
- TikTok photo posts accept JPEG and WebP but not PNG; SocialClaw's delivery URLs convert PNGs to JPEG automatically for TikTok pulls.
- TikTok requires media served from a verified domain — off-domain
media_linkURLs are ingested into hosted storage automatically at schedule time. - YouTube posts require a video; Instagram, TikTok, and Pinterest require media on every post.