Skip to main content
POST
Upload a file for analysis
Upload audio or video files for transcription and analysis.

Overview

Upload your own audio or video files to VidNavigator for processing. The API supports a wide range of formats and provides flexible processing options.

Supported Formats

Video Formats

mp4, webm, mov, avi, wmv, flv, mkv

Audio Formats

m4a, mp3, mpeg, mpga, wav

Processing Options

  • Asynchronous (default): Returns immediately, processing happens in background
  • Synchronous: Waits for complete processing before returning response

Billing

File processing consumes transcription_hour usage for speech-to-text. 1 credit covers 1 hour of video/audio transcription. Uploaded files also count toward your storage quota.

Namespace Assignment

You can assign the uploaded file to one or more namespaces by including namespace_ids in the form data. This accepts a comma-separated string or a JSON array (e.g., '["ns1","ns2"]'). See Namespaces for managing namespaces.

Example Usage

Response Examples

All response variants include data.file_info with namespace_ids and namespaces reflecting the file’s namespace assignments.
When wait_for_completion is false (the default), the API responds immediately with a file ID and a processing status.
When wait_for_completion is true, the API waits until processing is finished before responding.
When wait_for_completion is true and processing exceeds 15 minutes, the API returns a 202 Accepted response. Processing continues in the background — poll GET /file/{file_id} to check completion.

Authorizations

X-API-Key
string
header
required

API key authentication. Include your VidNavigator API key in the X-API-Key header.

Body

multipart/form-data
file
file
required

The audio or video file to upload

wait_for_completion
enum<string>
default:false

If 'true', waits until processing is complete before returning response

Available options:
true,
false,
1,
0,
yes,
no,
y,
n
namespace_ids
string

Optional namespace IDs to assign the file to. Accepts a comma-separated string or a JSON array (e.g., '["ns1","ns2"]').

Response

File uploaded successfully

status
enum<string>
Available options:
success
file_id
string
file_name
string
file_status
enum<string>
Available options:
processing,
completed
message
string
data
object