igpapi — Instagram private API Simulator for Node.js (API reference) 4.14.0
    Preparing search index...

    Variable ReelsViewerInputSchemaConst

    ReelsViewerInputSchema: Union<
        readonly [
            Struct<
                {
                    chaining: optionalKey<
                        Struct<
                            {
                                chainingSessionId: optionalKey<String>;
                                mediaPctWatched: optionalKey<Union<readonly [Number, String]>>;
                                rankingSessionId: optionalKey<String>;
                            },
                        >,
                    >;
                    index: Number;
                    reels: $Array<
                        Struct<
                            {
                                code: String;
                                id: String;
                                media_type: Number;
                                organic_tracking_token: optionalKey<String>;
                                pk: decodeTo<String, Union<readonly [Number, String]>, never, never>;
                                taken_at: optionalKey<Number>;
                                user: optionalKey<
                                    Struct<{ id: optionalKey<(...)>; pk: optionalKey<(...)> }>,
                                >;
                                video_duration: optionalKey<Number>;
                            },
                        >,
                    >;
                },
            >,
            Struct<
                {
                    chainingPosition: optionalKey<Union<readonly [Number, String]>>;
                    chainingSeedMediaId: optionalKey<String>;
                    chainingSessionId: optionalKey<String>;
                    clientPosition: optionalKey<Union<readonly [Number, String]>>;
                    friendsLane: optionalKey<Literal<false>>;
                    media: optionalKey<
                        Struct<
                            {
                                code: String;
                                id: String;
                                media_type: Number;
                                organic_tracking_token: optionalKey<String>;
                                pk: decodeTo<String, Union<readonly [Number, String]>, never, never>;
                                taken_at: optionalKey<Number>;
                                user: optionalKey<
                                    Struct<{ id: optionalKey<(...)>; pk: optionalKey<(...)> }>,
                                >;
                                video_duration: optionalKey<Number>;
                            },
                        >,
                    >;
                    mediaPctWatched: optionalKey<Union<readonly [Number, String]>>;
                    rankingSessionId: optionalKey<String>;
                    storyRankingToken: optionalKey<String>;
                },
            >,
        ],
    > = ...

    How the viewer was opened, a sum of two entries: one reel (or none — the bottom-bar tab, which sends the stream's first page) as the single input, or a list opened on the tapped index. The list entry is tried first; the single input's fields are all optional, so an object carrying reels must match the list entry and not fall through to it.