This is the automated/continuous path. To upload a single file by URL instead, see Video Understanding. For the AWS IAM policy and role setup, see AWS S3.
Prerequisites
- An S3 bucket containing video files.
- AWS credentials — either an access key pair or an IAM role ARN (see AWS S3 for the IAM policy).
- A Mixpeek API key and namespace.
1. Create a storage connection
A connection stores your S3 credentials once and can be reused across buckets. Credentials are validated before the connection is saved (test_before_save defaults to true).
connection_id (e.g. conn_abc123). Verify connectivity any time with:
2. Create a bucket
The bucket declares the schema for each synced object. Use the Mixpeek typevideo for the file field.
3. Create a collection
One collection withmultimodal_extractor produces both visual (vertex_multimodal_embedding) and speech (multilingual_e5_large_instruct_v1) features per segment.
4. Sync the S3 prefix into the bucket
A sync watches an S3 path and ingests matching files. Withsync_mode: "continuous", Mixpeek polls for new files and ingests them automatically; initial_only runs a single backfill.
The response includes a
sync_config_id (e.g. sync_xyz).
5. Run and monitor the sync
continuous syncs start on their own, but you can trigger the first run immediately and watch its job:
The sync ingests files as objects and (unless
skip_batch_submission is set) submits them for processing automatically — so your multimodal_extractor collection populates without any extra step. Vectors are searchable within 10–30s of each batch completing.6. Search
Create a retriever over the collection and execute it:Keep it fresh
Because the sync iscontinuous, new videos dropped into the S3 prefix are ingested and indexed automatically. To re-run clustering or enrichment on a schedule as new content lands, see Triggers.
Other storage providers
The same connection → bucket → sync flow works for every supported provider — swapprovider_type and provider_config:

