Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
AUDIO_PATHNoPath for audio storage
IMAGE_PATHNoPath for image storage
VIDEO_PATHNoPath for video storage
OPENAI_API_KEYYesYour OpenAI API key
STORAGE_BACKENDNoStorage backend (optional, e.g., 'databricks')
SANZARU_MEDIA_PATHNoUnified media path (auto-creates videos/, images/, audio/ subdirs)

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
create_videoA

Create a new Sora video generation job. This starts an async job and returns immediately with a video_id.

The video is NOT ready immediately - use get_video_status(video_id) to poll for completion. Status will be 'queued' -> 'in_progress' -> 'completed' or 'failed'. Once status='completed', use download_video(video_id) to save the video to disk.

Parameters:

  • prompt: Text description of the video to generate (required)

  • model: "sora-2" (faster, cheaper) or "sora-2-pro" (higher quality). Default: "sora-2"

  • seconds: Duration as string "4", "8", or "12" (NOT an integer). Default: varies by model

  • size: Resolution as "720x1280" (portrait), "1280x720" (landscape), "1024x1792", or "1792x1024". Default: "720x1280"

  • input_reference_filename: Filename of reference image in IMAGE_PATH (e.g., "cat.png"). Use list_reference_images to find available images. Image must match target size. Supported: JPEG, PNG, WEBP. Optional.

Returns Video object with fields: id, status, progress, model, seconds, size.

get_video_statusA

Check the status and progress of a video generation job.

Use this to poll for completion after calling create_video or remix_video. Call this repeatedly (e.g. every 5-10 seconds) until status changes from 'queued'/'in_progress' to 'completed' or 'failed'.

The returned Video object contains:

  • status: "queued" | "in_progress" | "completed" | "failed"

  • progress: Integer 0-100 showing completion percentage

  • id: The video_id for use with other tools

  • Other metadata: model, seconds, size, created_at, etc.

Typical workflow:

  1. Create video with create_video() -> get video_id

  2. Poll with get_video_status(video_id) until status='completed'

  3. Download with download_video(video_id)

download_videoA

Download a completed video to disk.

IMPORTANT: Only call this AFTER get_video_status shows status='completed'. If the video is not completed, this will fail.

The video is automatically saved to the directory configured in VIDEO_PATH. Returns the filename of the downloaded file.

Parameters:

  • video_id: The ID from create_video or remix_video (required)

  • filename: Custom filename (optional, defaults to video_id with appropriate extension)

  • variant: What to download (default: "video")

    • "video" -> MP4 video file

    • "thumbnail" -> WEBP thumbnail image

    • "spritesheet" -> JPG spritesheet of frames

Typical workflow:

  1. Create: create_video() -> video_id

  2. Poll: get_video_status(video_id) until status='completed'

  3. Download: download_video(video_id, filename="my_video.mp4") -> returns filename

Returns DownloadResult with: filename, variant

list_videosA

List all video jobs in your OpenAI account with pagination support.

Returns a paginated list of all videos (completed, in-progress, failed, etc.). Each video summary includes: id, status, progress, created_at, model, seconds, size.

Parameters:

  • limit: Max number of videos to return (default: 20, max: 100)

  • after: For pagination, pass the 'last' id from previous response (optional)

  • order: "desc" for newest first (default) or "asc" for oldest first

Returns:

  • data: Array of video summaries

  • has_more: Boolean indicating if more results exist

  • last: The ID of the last video (use this as 'after' for next page)

Pagination example:

  1. page1 = list_videos(limit=20) -> get page1.last

  2. page2 = list_videos(limit=20, after=page1.last)

  3. Continue until has_more=false

delete_videoA

Permanently delete a video from OpenAI's cloud storage.

WARNING: This is permanent and cannot be undone! The video will be deleted from OpenAI's servers. This does NOT delete any local files you may have downloaded with download_video.

Use this to:

  • Clean up test videos

  • Remove unwanted content

  • Free up storage quota

Parameters:

  • video_id: The ID of the video to delete (required)

Returns confirmation with the deleted video_id and deleted=true.

remix_videoA

Create a NEW video by remixing an existing completed video with a different prompt.

This creates a brand new video generation job (with a new video_id) based on an existing video. The original video must have status='completed' for remix to work.

Like create_video, this returns immediately with a new video_id - the remix is NOT instant. You must poll the NEW video_id with get_video_status until it completes.

Parameters:

  • previous_video_id: ID of the completed video to use as a base (required)

  • prompt: New text prompt to guide the remix (required)

Returns a NEW Video object with a different video_id, status='queued', progress=0.

Typical workflow:

  1. Create original: create_video("a cat") -> video_id_1

  2. Wait: Poll get_video_status(video_id_1) until completed

  3. Remix: remix_video(video_id_1, "a dog") -> video_id_2 (NEW ID!)

  4. Wait: Poll get_video_status(video_id_2) until completed

  5. Download: download_video(video_id_2)

list_local_videosA

List locally downloaded video files with filtering and sorting.

Use this to discover what video files have been downloaded to the VIDEO_PATH directory. These are videos previously downloaded with download_video.

Parameters:

  • pattern: Glob pattern to filter filenames (e.g., "sora*.mp4", "*.webm"). Default: all files

  • file_type: Filter by type: "mp4", "webm", "mov", or "all". Default: "all"

  • sort_by: Sort results by "name", "size", or "modified". Default: "modified"

  • order: "desc" for newest/largest/Z-A first, "asc" for oldest/smallest/A-Z. Default: "desc"

  • limit: Max results to return. Default: 50

Returns list of VideoFile objects with: filename, size_bytes, modified_timestamp, file_type.

Example workflow:

  1. list_local_videos(file_type="mp4") -> find downloaded MP4 videos

  2. view_media(media_type="video", filename="my_video.mp4") -> watch it

view_mediaA

Open a media file in the interactive media viewer.

Opens a rich media player UI for viewing videos, listening to audio, or displaying images. The viewer loads the file and renders it with native playback controls.

Parameters:

  • media_type: Type of media to view — "video", "audio", or "image" (required)

  • filename: Name of the file to open (required)

    • video files are in the videos directory

    • image files are in the images directory

    • audio files are in the audio directory

Use list_videos, list_reference_images, or list_audio_files to discover available files.

Returns metadata: filename, media_type, size_bytes, mime_type

_get_media_dataA

Internal tool used by the MCP App media viewer to fetch base64-encoded chunks of media data. Do not call directly — use view_media instead.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
media_viewer_htmlServe the bundled media viewer MCP App HTML.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/TJC-LP/sanzaru'

If you have feedback or need assistance with the MCP directory API, please join our Discord server