For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
DiscordGet API Key
  • Getting Started
    • Overview
    • Quickstart
    • Errors
    • Pricing
  • Chat
    • Overview
    • Chat with Image, Video, and Audio
    • Function Calling
    • Models
  • Vision
    • Overview
    • Rate Limits
    • Pricing
    • MCP Server
    • Video Management
    • Video Group Management
    • Video Search
    • Video QA
    • Clip Generation
    • Metadata Tagging
    • Image Management
    • Image Search
        • POSTUpload Video
        • GETGet Video
        • GETList Videos
        • DELDelete Video
  • Research
    • Overview
    • Streaming
    • Reasoning Steps
    • Web Search
    • Structured Output
    • Parallel Thinking
    • Best Practices
    • Errors
    • Examples
  • Speech
    • Overview
    • Audio Transcription
    • Speech Translation
    • Speech-to-Speech Translation
  • Resources
    • FAQs
    • Changelog
    • System Status
LogoLogo
DiscordGet API Key
VisionAPI ReferenceVideo Management

Upload Video

POST
https://vision-agent.api.reka.ai/v1/videos/upload
POST
/v1/videos/upload
$curl -X POST https://vision-agent.api.reka.ai/v1/videos/upload \
> -H "X-Api-Key: <apiKey>" \
> -H "Content-Type: multipart/form-data" \
> -F file=@<file1> \
> -F index='true' \
> -F video_name="my_video.mp4" \
> -F video_absolute_start_timestamp="2024-01-01T00:00:00Z"
200Upload Video File
1{
2 "video_id": "550e8400-e29b-41d4-a716-446655440000",
3 "status": "upload_initiated"
4}

Upload a new video for search and Q&A.

Was this page helpful?
Previous

Get Video

Next
Built with

Authentication

X-Api-Keystring

API key authentication via X-Api-Key header

OR
AuthorizationBearer
Bearer token authentication via Authorization header

Headers

X-Enable-Overwrite-Meteringstring or nullOptional

Request

This endpoint expects a multipart form containing an optional file.
filefileOptional
video_urlstringOptional
Video URL for Reka to download from before indexing, for e.g. https://sample-videos.com/video321/mp4/720/big_buck_bunny_720p_1mb.mp4
indexbooleanRequired
A boolean flag to indicate whether or not to index the provided video
enable_thumbnailsbooleanOptionalDefaults to false
A boolean flag to indicate whether or not to index the enable thumbnails when indexing the video
video_namestringOptional
A name to associate with your video. Required for file uploads, optional for URL uploads
video_absolute_start_timestampstringOptional

The real-world timestamp when the video recording started, in ISO 8601 format (e.g., ā€˜2024-01-01T00:00:00Z’)

configstringOptional
JSON string containing VideoIndexingParams configuration for advanced indexing options
person_indexingbooleanOptional

Whether to enable person/object detection and indexing for the video.

persist_framesbooleanOptional
Whether to persist extracted video frames for later retrieval
caption_promptstringOptional
Custom prompt to use when generating captions for video segments
encode_chunksbooleanOptional
Whether to encode video chunks during indexing
caption_modeenumOptional
Predefined caption mode to use for generating captions
Allowed values:
group_idstringOptional
ID of the video group to associate this video with
chunking_configstringOptional
JSON string containing ChunkingConfig for custom video chunking behavior

Response

Successful Response
video_idstring
Unique identifier for the uploaded video
video_s3_urlstring or null

S3 URL of the uploaded video (null for background processing)

statusstring or nullDefaults to upload_initiated
Status of the upload

Video URL for Reka to download from before indexing, for e.g. https://sample-videos.com/video321/mp4/720/big_buck_bunny_720p_1mb.mp4