Skip to main content
GET
Get Task Status
Product: Visual Search Use case: Upload videos and images, auto-index them, then search by natural language, image, or transcript phrase Host: https://api.memories.ai/serve/api/v1 Auth: Authorization: sk-mavi-... (no Bearer prefix)
Track a batch upload task — the kind where one request expands into multiple videos — and retrieve the video_no of each video the task produced. This endpoint is for tasks that return a taskId, namely Upload from Social Media. Once the task downloads each video, it queues each one for indexing; this endpoint reports the per-video parse status as it progresses.
This endpoint is not for single-file uploads. Upload Video and Upload Image return a videoNo directly — there is no task to track. To poll the indexing status of a single video, call Get Metadata with the video_no instead, or register a callback URL at upload time.

Prerequisites

Endpoint

GET /serve/api/v1/get_video_ids_by_task_id

Request Example

The request parameter is named task_id (snake_case), but the upload response returns taskId (camelCase). They refer to the same value — pass the string through as-is.

Request Parameters

string
required
The taskId returned by Upload from Social Media. Pass the string verbatim — the parameter name is snake_case here even though the upload response field is camelCase.

Response Example

Empty data.videos is ambiguous. A successful response with code: "0000" and data.videos: [] covers two cases that the server does not distinguish:
  1. The task is still downloading content from the source platform (videos haven’t been queued yet).
  2. The task_id does not exist or does not belong to this account.
Your polling loop should rely on a separate timeout to give up — there is no error code to detect “wrong task_id”.

Response Fields

string
Business status code. "0000" indicates success. Note that an unknown task_id also returns "0000".
string
Human-readable status message.
array
Per-video status entries produced by the task. Empty until the task has finished downloading each source post.
string
Unique identifier of the derived video. Use this in subsequent operations (search, get_metadata, download, delete).
string
Best-effort name for the derived video — typically the source post’s title, hashtag, or caption.
string
Video duration in seconds, returned as a string.
string
Upload-into-library timestamp in milliseconds since epoch, returned as a string.
string
Processing status for this derived video. One of:
  • PARSE — Processing complete, video is searchable.
  • UNPARSE — Queued or being processed.
  • FAIL — Processing failed (e.g. source URL blocked, DRM-protected, or unsupported format). Common with media-channel YouTube content (NYT Cooking, Bon Appétit, etc.).
string
Hosted CDN URL of the stored video (on mavi-resource.openinterx.com). Suitable as a file_uri for Gemini VLM once status is PARSE.
string
GCS bucket of the original video file. Omitted when the storage location cannot be resolved.
string
GCS blob (object) path of the video file. Use it with bucket at GET /serve/api/v2/download?bucket=&blob= to fetch the file directly.

Authorizations

Authorization
string
header
required

Query Parameters

task_id
string
required

The task ID returned by an upload or scraping request.

Response

200 - application/json

Successful response

code
Example:

"0000"

msg
string
Example:

"success"

data
success
boolean
Example:

true

failed
boolean
Example:

false