Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MCP_SECRETNoThe secret itself, at least 32 characters. Simpler for local development.
ALLOWED_MODELSNoComma-separated allowlist of model ids. Empty means all models.
MAX_VIDEO_SECONDSNoLongest video start_video and extend_video accept.8
MCP_SECRET_SHA256NoSHA-256 fingerprint (hex) of the secret in the connector URL. Set by the setup page; wins over MCP_SECRET.
AI_GATEWAY_API_KEYNoOptional. Use it for local development. When set, it replaces the OIDC token.
MAX_IMAGES_PER_CALLNoHighest n that generate_image and edit_image accept.4
SIGNED_URL_TTL_HOURSNoHow long file links stay valid. The maximum is 168 (7 days).24
MAX_SPEECH_CHARACTERSNoLongest text generate_speech accepts in one call.5000

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": true
}
resources
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_modelsA

List AI Gateway models this server can call. Filter by type (text, image, video, speech for text-to-speech, transcription for speech-to-text) and/or a search query. Returns one line per model: id | type | capabilities | price.

generate_textA

Generate text with any AI Gateway language model (e.g. "openai/gpt-5.5", "anthropic/claude-sonnet-5"). Billed to this deployment owner's AI Gateway credits. With file_urls, the model reads images, videos, audio or PDFs too, e.g. Gemini ("google/gemini-3.5-flash-lite") watching a video to summarize it; list_models shows what each model reads. Links must be https; links returned by this server work.

generate_imageB

Generate images with an AI Gateway image model (e.g. "bfl/flux-2-pro", "openai/gpt-image-2") or an image-capable LLM (e.g. "google/gemini-3-pro-image"). Images are returned inline; if a Blob store is connected, private download links that expire are returned too.

edit_imageA

Change existing images with an instruction: remove or replace the background, add or remove things, restyle, extend the canvas (outpaint), change the framing, or combine several images. Give https links to the images (links returned by this server work). Good models: "bfl/flux-kontext-pro", "openai/gpt-image-2", "google/gemini-3-pro-image". Pass mask_url (white = area to change) for precise edits with models that take one, e.g. "bfl/flux-pro-1.0-fill".

upscale_imageA

Make an image sharper and larger without changing what is in it. Uses "topaz/wonder-3.5" (Topaz) unless you name another model. Give an https link to the image (links returned by this server work).

start_videoA

Start an asynchronous AI Gateway video and return a job_id immediately. Then call get_video with that job_id every ~30 seconds until it is done (usually 1–5 minutes). Text-to-video needs only a prompt. image_url animates a picture (i2v models); add end_image_url to move from the first picture to the last (Veo, Kling, Seedance). reference_urls (pictures or videos of characters or objects) makes a new scene with them (r2v models such as "alibaba/wan-v2.6-r2v": call them character1, character2… in the prompt). For dialogue, write the lines in the prompt and set sound (models with audio, e.g. Veo 3.1, HeyGen). Links must be https; links returned by this server work. If this call times out or returns no answer, do not call it again on your own: the job may already be running and a retry pays twice. Tell the user and let them decide.

motion_controlA

Make the character in a picture move like the person in a reference video (a dance, a gesture, a walk). Uses "klingai/kling-v3.0-motion-control" by default. The result is as long as the reference video: up to 10 seconds with orientation "image" (the default). Returns a job_id for get_video. Links must be https; links returned by this server work. If this call times out or returns no answer, do not call it again on your own: the job may already be running and a retry pays twice. Tell the user and let them decide.

upscale_videoA

Make a video sharper and larger, and clean up noise, blur and compression. Uses "topaz/proteus" (Topaz) by default; "topaz/starlight-precise-2.6" is the other choice. Priced by the length of the input video. Returns a job_id for get_video. Links must be https; links returned by this server work. If this call times out or returns no answer, do not call it again on your own: the job may already be running and a retry pays twice. Tell the user and let them decide.

edit_videoA

Change an existing video with an instruction, like "give the person sunglasses" or "make it snow". Uses "spacexai/grok-imagine-video". The result keeps the input's length and shape, at up to 720p. Returns a job_id for get_video. Links must be https; links returned by this server work. If this call times out or returns no answer, do not call it again on your own: the job may already be running and a retry pays twice. Tell the user and let them decide.

extend_videoA

Continue a video from its last frame, so a scene keeps going ("the cat jumps off the windowsill"). Uses "spacexai/grok-imagine-video". Returns a job_id for get_video; the result is the new part. Links must be https; links returned by this server work. If this call times out or returns no answer, do not call it again on your own: the job may already be running and a retry pays twice. Tell the user and let them decide.

get_videoA

Check a video job from start_video, motion_control, upscale_video, edit_video or extend_video. Returns "still generating" or, when done, what AI Gateway billed and private download links (they expire; calling again issues fresh links).

generate_speechA

Turn text into spoken audio: narration, voice-overs, audiobook chapters, podcast intros. Returns the audio inline and, if a Blob store is connected, a private download link that expires. Models: "openai/tts-1-hd", "google/gemini-3.8-flash-tts", "fish-audio/s2-pro", "microsoft/mai-voice-2.1" (list_models with type "speech" shows all and their prices). Voices are model-specific, e.g. "alloy", "nova" or "onyx" on OpenAI.

transcribeA

Turn speech in an audio or video file into text, optionally with timestamps (for subtitles, notes or translating a voice-over). Give an https link to the file, up to 25 MB. Models: "openai/gpt-4o-transcribe", "openai/whisper-1", "google/gemini-3.5-transcribe" (list_models with type "transcription").

check_creditsA

Show how many AI Gateway credits are left on this Vercel team, and what this connector spent in the last 30 days. Use it before big jobs (many videos) to check there is enough.

list_filesA

List pictures, videos and audio this connector made before, newest first, with fresh private links (they expire). Needs a connected Blob store.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
AI Gateway mediaShows pictures, video and audio from this connector inline, with download, upscale and extend.

TDQS

A4/5.0

Scored across 15 tools

Disambiguation4/5

Most tools target a clearly distinct modality+action (generate_text, generate_image, transcribe, generate_speech), and the video family is well-separated by purpose (start_video vs motion_control vs upscale_video vs edit_video vs extend_video). The only mild risk is telling apart the six video-job tools at a glance and distinguishing generate_image/edit_image/upscale_image, but descriptions resolve these.

Naming Consistency4/5

The set largely follows a verb_noun pattern (generate_text, edit_image, start_video, upscale_video, check_credits). Minor deviations exist: 'transcribe' is a bare verb and 'motion_control' is a noun phrase with no verb, breaking the otherwise consistent convention.

Tool Count5/5

15 tools is well within the ideal 3-15 range and each maps to a distinct operation (generation, editing, upscaling, async job polling, credits, model listing). No tool feels redundant or padded.

Completeness4/5

The surface covers the full multimodal lifecycle: discover models, generate/edit/upscale text, image, speech, audio, and video, plus transcription and credit checks. Minor gaps include no explicit file retrieval/deletion beyond list_files and no embedding or batch operations, but core workflows are covered.

Maintenance

ActivityMaintained
ResponsivenessNo issues