SDK v7.x · Last verified March 2026 · iOS · Android · Web · Flutter
Speed run — just the code
Speed run — just the code
Limits at a Glance
| Property | Limit |
|---|---|
| Max file size | 2 GB |
| Max duration | 15 minutes |
| Supported formats | 3gp, avi, f4v, flv, m4v, mov, mp4, ogv, 3g2, wmv, vob, webm, mkv |
| Caption length | 10,000 characters |
After completing this guide you’ll have:
- Clip post upload flow (video up to 15 min) with progress tracking
- Auto-play clip reel rendering in the feed with proper display mode
- Impression tracking firing when clips are visible on screen
Quick Start: Create a Clip Post
TypeScript
Step-by-Step Implementation
Upload the video file
Upload the raw video file before creating the post. The SDK returns a Full reference → Video Handling
fileId once the upload is complete. Transcoding then happens automatically in the background.TypeScript
Create the clip post
Pass the Full reference → Clip Posts
fileId as an attachment. Set displayMode to 'fill' for vertical reels (TikTok-style) or 'fit' to letterbox horizontal video.TypeScript
Display a clip reel
Query clip posts for a community or user feed. Filter by Full reference → Query Posts
PostContentType.CLIP to build a dedicated clips tab. Render each post as a full-screen vertical video card.TypeScript
Track impressions as users scroll
Call Full reference → Post Impressions
markAsViewed() when a clip is at least 50% visible for 1 second. This updates the post’s impression (total views) and reach (unique viewers) counters.TypeScript
Add reactions and comments
Clip posts support the same reactions and comments as any other post type — no additional setup required.Full reference → Reactions
TypeScript
Connect to Moderation & Analytics
Impression analytics in the console
Impression analytics in the console
Impression and reach data rolls up to Admin Console → Analytics → Content. Filter by post type to see clip-specific engagement trends across communities.
Flag inappropriate clips
Flag inappropriate clips
Users can flag clip posts with the same SDK flagging APIs used for other content. Flagged clips surface in Admin Console → Moderation → Flagged Content.Full reference → Content Moderation Pipeline
TypeScript
Webhook: clip post events
Webhook: clip post events
Receive
post.created and post.deleted webhook events filtered to dataType: 'clip' to trigger downstream workflows like CDN pre-warming or notification dispatch.→ Webhook EventsCommon Mistakes
Best Practices
Upload UX
Upload UX
- Show a progress bar during upload — clip files can be up to 2 GB
- After upload completes, poll the file’s
statusfield until it reachestranscodedbefore publishing the post. Show a “Processing…” state in the meantime - Validate file size and duration on the client before uploading to give instant feedback
Clip reel UX
Clip reel UX
- Auto-play clips when they scroll into view; pause immediately on scroll away
- Default to
isMuted: truefor autoplay in feeds to comply with browser autoplay policies - Show a tap-to-unmute affordance visibly on the first clip
- Use
displayMode: 'fill'for portrait clips and'fit'for landscape
Performance
Performance
- Pre-load the next clip in the reel while the current one is playing to eliminate inter-clip buffer
- Use the
720ptranscoded URL for mobile playback — the original resolution is usually excessive - Pause and release memory for clips that are more than 2 positions away from the current view
Next Steps
Your next step → Post Impressions & Creator Analytics
Clips are publishing — now track views, reach, and engagement for your creators.
Post Impressions & Creator Analytics
Build a creator dashboard with per-post impression, reach, and viewed-users data
Rich Content Creation
Other post types — images, text, polls, files — in one guide
Comments & Reactions
Add threaded comments and emoji reactions to clip posts