> ## Documentation Index
> Fetch the complete documentation index at: https://api-tools.memories.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Overview

> Upload videos or images to Memories.ai — indexing happens automatically.

When you upload content, the platform indexes it automatically so it becomes searchable.

## Which Library Does Your Upload Go To?

Visual Search has two private libraries. **Each upload method writes to a specific library** — they are not interchangeable.

| Upload method                                                    | Target library            | Content type                       |
| ---------------------------------------------------------------- | ------------------------- | ---------------------------------- |
| [Upload Video](/visual-search/upload-video-from-file)            | **Private Video Library** | Video files or direct URLs         |
| [Upload from Social Media](/visual-search/upload-from-post-urls) | **Private Video Library** | TikTok / YouTube / Instagram posts |
| [Upload Image](/visual-search/upload-image-from-file)            | **Private Image Library** | Image files                        |

The **Private Video Library** and **Private Image Library** are completely separate. They have different upload endpoints, different search endpoints, and return different result formats. Uploading a video never affects your image library, and vice versa.

## How Indexing Works

<Steps>
  <Step title="Upload">
    Send a video or image to the appropriate upload endpoint. Videos go to your Private Video Library; images go to your Private Image Library.
  </Step>

  <Step title="Automatic Indexing">
    The platform processes content through two pipelines in parallel:

    * **Embedding** — visual frames and audio are encoded into semantic vectors, enabling natural-language and image search
    * **Caption & transcription** — the platform generates descriptions and transcribes spoken audio, enabling text-level search

    This runs automatically. You don't need to configure it.
  </Step>

  <Step title="Searchable">
    Once indexing completes, the content is fully searchable. Status changes from `UNPARSE` to `PARSE`.
  </Step>
</Steps>

## Indexing Status

| Status    | Meaning                                                     |
| --------- | ----------------------------------------------------------- |
| `UNPARSE` | Upload accepted — indexing in progress. Not yet searchable. |
| `PARSE`   | Indexing complete. Fully searchable.                        |

### How to wait for indexing to finish

The right polling endpoint depends on which upload method you used, because the two paths return different identifiers:

| Upload method                                                       | Returns                                   | How to check status                                             |
| ------------------------------------------------------------------- | ----------------------------------------- | --------------------------------------------------------------- |
| [Upload Video](/visual-search/upload-video-from-file) (file or URL) | `videoNo`                                 | [Get Metadata](/visual-search/get-metadata) with `video_no`     |
| [Upload Image](/visual-search/upload-image-from-file)               | `videoNo` per image                       | [Get Metadata](/visual-search/get-metadata) with `video_no`     |
| [Upload from Social Media](/visual-search/upload-from-post-urls)    | `taskId` (one task expands into N videos) | [Get Task Status](/visual-search/get-task-status) with `taskId` |

In every case you can register a `callback` URL at upload time to receive a push notification instead of polling.

## Choose an Upload Method

<CardGroup cols={1}>
  <Card title="Upload Video → Private Video Library" icon="video" href="/visual-search/upload-video-from-file">
    Upload from a local file or a direct download URL.
  </Card>

  <Card title="Upload from Social Media → Private Video Library" icon="share-nodes" href="/visual-search/upload-from-post-urls">
    Import from TikTok, YouTube, or Instagram — by post URL, creator profile, or hashtag. Up to 50 videos per request.
  </Card>

  <Card title="Upload Image → Private Image Library" icon="image" href="/visual-search/upload-image-from-file">
    Upload one or more image files. Goes to your Private Image Library — separate from your video library.
  </Card>
</CardGroup>
