Skip to main content
Every configuration field has a sensible default. FeedConfig() with no arguments produces a working feed.

ShortKit initializer

On initialization, the SDK pre-fetches the first feed page, pre-warms the CDN connection, and begins HLS preroll for the first video. The feed view controller can render immediately without a loading spinner.

FeedConfig

Horizontal feed

Set scrollAxis to .horizontal for a left/right swipe feed instead of the default vertical (up/down) feed. Each cell still fills the full feed container — only the swipe direction changes.

FeedFilter

FeedFilter controls which content the SDK fetches from the server. When set on FeedConfig, all feed requests (initial load, pagination, and pull-to-refresh) automatically apply the filter. When nil, the full unfiltered feed is returned. Different filter fields are combined with AND logic — content must match all specified fields. Tags use OR logic within the tags array — content matching any of the provided tags is included.

Filtering by language

ShortKit automatically detects the spoken language in every video and stores it as customMetadata.language using a BCP 47 code. Use this with metadata to serve a language-specific feed without any extra work on upload.
Common language codes: "en" English, "es" Spanish, "fr" French, "de" German, "it" Italian, "pt" Portuguese, "ja" Japanese, "ko" Korean, "zh" Chinese, "ar" Arabic, "hi" Hindi. "und" indicates no detectable speech (music or ambient audio). Language is set asynchronously — it appears on the content object within a few minutes of the video reaching ready status.

Complete example

A full initialization with all configuration options set explicitly.
App.swift