Skip to content
Fresh 2026

User Videos

Reading

You can't perform this operation on this endpoint.

Creating

You can make a POST request to videos edge from the following paths:

  • /{user_id}/videos

When posting to this edge, a Video will be created.

Parameters

ParameterDescription
audio_story_wave_animation_handle<br>stringEverstore handle of wave animation used to burn audio story video
content_category<br>enum {BEAUTY_FASHION, BUSINESS, CARS_TRUCKS, COMEDY, CUTE_ANIMALS, ENTERTAINMENT, FAMILY, FOOD_HEALTH, HOME, LIFESTYLE, MUSIC, NEWS, POLITICS, SCIENCE, SPORTS, TECHNOLOGY, VIDEO_GAMING, OTHER}Content category of this video.
description<br>UTF-8 string<br> The text describing a post that may be shown in a story about it.<br> It may include rich text information, such as entities and emojis.<br><br>Supports Emoji
direct_share_status<br>int64The status to allow sponsor directly boost the post.
edit_description_spec<br>JSON objectThe burned-in sticker/text information
screen_readers<br>array<JSON object>
embeddable<br>booleanWhether the video is embeddable.
end_offset<br>int64end_offset
file_size<br>int64The size of the entire video file in bytes.
file_url<br>stringAccessible URL of a video file. Cannot be used with upload_phase.
fisheye_video_cropped<br>booleanWhether the single fisheye video is cropped or not
fov<br>int64360 video only: Vertical field of view
front_z_rotation<br>floatThe front z rotation in degrees on the single fisheye video
guide<br>list<list<int64>>360 video only: Guide keyframes data. An array of keyframes, each of which is an array of 3 or 4 elements in the following order: [video timestamp (seconds), pitch (degrees, -90 ~ 90), yaw (degrees, -180 ~ 180), field of view (degrees, 40 ~ 90, optional)], ordered by video timestamp in strictly ascending order.
guide_enabled<br>boolean360 video only: Whether Guide is active.
initial_heading<br>int64360 video only: Horizontal camera perspective to display when the video begins.
initial_pitch<br>int64360 video only: Vertical camera perspective to display when the video begins.
is_voice_clip<br>booleanis_voice_clip, used to indicate that if a video is used as audio record
no_story<br>booleanDefault value: false<br>If set to true, this will suppress feed and timeline story.
original_fov<br>int64Original field of view of the source camera
original_projection_type<br>enum {equirectangular, cubemap, half_equirectangular}360 video only: The original projection type of the 360 video being uploaded.
posting_to_redspace<br>enum {enabled, disabled}Whether the post should appear in RedSpace.
privacy<br>Privacy ParameterDetermines the privacy settings of the video. If not supplied, this defaults to the privacy level granted to the app in the Login Dialog. This field cannot be used to set a more open privacy setting than the one granted.
prompt_id<br>stringThe prompt id in prompts or purple rain that generated this post
prompt_tracking_string<br>stringThe prompt tracking string associated with this video post
referenced_sticker_id<br>numeric string or integerSticker id of the sticker in the post
replace_video_id<br>numeric string or integerThe video id your uploaded video about to replace
source<br>stringThe video, encoded as form data. This field is required.
source_instagram_media_id<br>numeric stringsource_instagram_media_id
spherical<br>booleanDefault value: false<br>Set if the video was recorded in 360 format.
sponsor_id<br>numeric string or integerFacebook Page id that is tagged as sponsor in the video post
start_offset<br>int64Start byte position of the file chunk.
swap_mode<br>enum {replace}Type of replacing video request
title<br>UTF-8 stringThe title of the video<br>Supports Emoji
transcode_setting_properties<br>stringProperties used in computing transcode settings for the video
unpublished_content_type<br>enum {SCHEDULED, SCHEDULED_RECURRING, DRAFT, PUBLISH_PENDING, ADS_POST, INLINE_CREATED, PUBLISHED, REVIEWABLE_BRANDED_CONTENT}Type of unpublished content, such as scheduled, draft or ads_post.
upload_phase<br>enum {start, transfer, finish, cancel}Type of chunked upload request.
upload_session_id<br>numeric string or integerID of the chunked upload session.
video_file_chunk<br>stringThe video file chunk, encoded as form data. This field is required during transfer upload phase.
video_id_original<br>stringvideo_id_original

Return Type

Struct {

id: numeric string,

upload_session_id: numeric string,

video_id: numeric string,

start_offset: numeric string,

end_offset: numeric string,

success: bool,

skip_upload: bool,

upload_domain: string,

region_hint: string,

xpv_asset_id: numeric string,

is_xpv_single_prod: bool,

transcode_bit_rate_bps: numeric string,

transcode_dimension: numeric string,

should_expand_to_transcode_dimension: bool,

action_id: string,

gop_size_seconds: numeric string,

target_video_codec: string,

target_hdr: string,

maximum_frame_rate: numeric string,

}

Error Codes

ErrorDescription
200Permissions error
368The action attempted has been deemed abusive or is otherwise disallowed
6000There was a problem uploading your video file. Please try again with another file.
100Invalid parameter
459The session is invalid because the user has been checkpointed
190Invalid OAuth 2.0 Access Token
194Missing at least one required parameter
6001There was a problem uploading your video. Please try again.
352The video file you selected is in a format that we don't support.

Updating

You can't perform this operation on this endpoint.

Deleting

You can't perform this operation on this endpoint.