ViewMax MCP
Remote MCP for AI video, image, music and speech generation.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"viewmax": {
"url": "https://viewmax.studio/api/mcp"
}
}
}Remote endpoints
https://viewmax.studio/api/mcpstreamable-httpWhat it can do
Tool inventory
Tools (14)
🟢list_video_models
List available video models and their capabilities. Video generation consumes credits; use get_video_model for detailed pricing and the values used when options are omitted.
Input Schema
{
"type": "object",
"properties": {}
}🟢get_video_model(model)
Get full capabilities and credit pricing for one video model. Each mode lists durations, resolutions, aspect_ratios, audio_toggle, credits, and defaults: the duration, resolution and aspect_ratio that generate_video sends and bills when you omit them. max_prompt_length is present when the model limits prompt length. Generating a video with this model consumes credits.
Input Schema
{
"type": "object",
"properties": {
"model": {
"type": "string",
"minLength": 1
}
},
"required": [
"model"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡generate_video(model, prompt, mode, image_urls, video_urls, ...)
Create a video generation task and return its task_id. mode defaults to image-to-video when image_urls are given, else video-to-video when video_urls are given, else text-to-video. Omitted duration, resolution and aspect_ratio use the mode's defaults from get_video_model and are billed at those values. Ultra ViewMax C1 generations cost 0 credits within the daily fair-use pool (also via REST API); otherwise this consumes credits from the authenticated ViewMax account. Call wait_for_task with the task_id until it finishes.
Input Schema
{
"type": "object",
"properties": {
"model": {
"type": "string",
"minLength": 1
},
"prompt": {
"type": "string",
"minLength": 1
},
"mode": {
"type": "string"
},
"image_urls": {
"type": "array",
"items": {
"type": "string",
"format": "uri"
}
},
"video_urls": {
"type": "array",
"items": {
"type": "string",
"format": "uri"
}
},
"duration": {
"type": "string"
},
"resolution": {
"type": "string"
},
"aspect_ratio": {
"type": "string"
},
"audio": {
"type": "boolean"
},
"source_video_duration_seconds": {
"type": "number",
"exclusiveMinimum": 0
},
"idempotency_key": {
"description": "Optional, 1-200 visible ASCII characters without spaces. Reuse the same key when retrying after a timeout; a repeated key returns the original task and is not charged again.",
"type": "string",
"pattern": "^[\\x21-\\x7e]{1,200}$"
}
},
"required": [
"model",
"prompt"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢get_task(task_id)
Get the current status, output URLs and cost_credits for one of the authenticated user's tasks (video, image, music, or audio). Failed and canceled tasks include error_code and error_message; their credits are refunded automatically.
Input Schema
{
"type": "object",
"properties": {
"task_id": {
"type": "string",
"minLength": 1
}
},
"required": [
"task_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢wait_for_task(task_id, timeout_seconds)
Wait up to timeout_seconds (1-50, default 45) for a task and return its latest status in the get_task shape. Some videos take several minutes: keep calling wait_for_task until status is success, failed, or canceled. Task results are persisted and never lost.
Input Schema
{
"type": "object",
"properties": {
"task_id": {
"type": "string",
"minLength": 1
},
"timeout_seconds": {
"default": 45,
"type": "integer",
"minimum": 1,
"maximum": 50
}
},
"required": [
"task_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢get_credits
Get the authenticated account's remaining credits. Generation consumes credits.
Input Schema
{
"type": "object",
"properties": {}
}🟢list_image_models
List available image models with their modes (text-to-image, image-to-image), aspect ratios, qualities, and credit labels. Image generation consumes credits.
Input Schema
{
"type": "object",
"properties": {}
}🟢get_image_model(model)
Get full capabilities and credit pricing for one image model. Generating an image with this model consumes credits.
Input Schema
{
"type": "object",
"properties": {
"model": {
"type": "string",
"minLength": 1
}
},
"required": [
"model"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡generate_image(model, prompt, scene, image_urls, aspect_ratio, ...)
Create an image generation task (text-to-image, or image-to-image when image_urls are provided). Pro/Ultra flagship models (GPT Image 2, GPT Image 2.5, Nano Banana 2, Grok Imagine) and Ultra ViewMax C1 cost 0 credits within the shared daily fair-use pool; otherwise this consumes credits. Call wait_for_task with the task_id for the result URLs.
Input Schema
{
"type": "object",
"properties": {
"model": {
"type": "string",
"minLength": 1
},
"prompt": {
"type": "string",
"minLength": 1
},
"scene": {
"type": "string"
},
"image_urls": {
"type": "array",
"items": {
"type": "string",
"format": "uri"
}
},
"aspect_ratio": {
"type": "string"
},
"quality": {
"type": "string"
},
"idempotency_key": {
"description": "Optional, 1-200 visible ASCII characters without spaces. Reuse the same key when retrying after a timeout; a repeated key returns the original task and is not charged again.",
"type": "string",
"pattern": "^[\\x21-\\x7e]{1,200}$"
}
},
"required": [
"model",
"prompt"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢list_music_models
List available music models and their controls (duration, instrumental) and credit cost. Music costs 60 credits for tracks up to 60 seconds, then 1 credit per second.
Input Schema
{
"type": "object",
"properties": {}
}🟡generate_music(prompt, duration_seconds, instrumental, style, lyrics, ...)
Create an original music track from a text prompt. Costs 60 credits for tracks up to 60 seconds, then 1 credit per second (duration_seconds defaults to 60); plan allowances do not cover music. Setting style sends prompt as the song's lyrics, so do not also send lyrics; to describe a track, put the description in prompt and omit style. Music renders synchronously: the result usually returns immediately with output_urls.
Input Schema
{
"type": "object",
"properties": {
"prompt": {
"type": "string",
"minLength": 1
},
"duration_seconds": {
"type": "number",
"minimum": 3,
"maximum": 300
},
"instrumental": {
"type": "boolean"
},
"style": {
"type": "string"
},
"lyrics": {
"type": "string"
},
"idempotency_key": {
"description": "Optional, 1-200 visible ASCII characters without spaces. Reuse the same key when retrying after a timeout; a repeated key returns the original task and is not charged again.",
"type": "string",
"pattern": "^[\\x21-\\x7e]{1,200}$"
}
},
"required": [
"prompt"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢list_voices
List available text-to-speech voices (id, name, gender, accent, language) and speech pricing: characters_per_credit and minimum_credits. A generation costs ceil(characters / 20) credits, minimum 1.
Input Schema
{
"type": "object",
"properties": {}
}🟢generate_speech(text, voice_id, model_id, speed, stability, ...)
Convert text to speech with a selected voice_id (see list_voices). Costs ceil(characters / 20) credits, minimum 1. Speech renders synchronously: the result usually returns immediately with output_urls.
Input Schema
{
"type": "object",
"properties": {
"text": {
"type": "string",
"minLength": 1
},
"voice_id": {
"type": "string",
"minLength": 1
},
"model_id": {
"type": "string"
},
"speed": {
"type": "number",
"minimum": 0.25,
"maximum": 4
},
"stability": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"similarity_boost": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"idempotency_key": {
"description": "Optional, 1-200 visible ASCII characters without spaces. Reuse the same key when retrying after a timeout; a repeated key returns the original task and is not charged again.",
"type": "string",
"pattern": "^[\\x21-\\x7e]{1,200}$"
}
},
"required": [
"text",
"voice_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}⚪generate_sound_effect(prompt, duration_seconds, prompt_influence, idempotency_key)
Generate a sound effect from a text prompt. Costs 5 credits. Renders synchronously: the result usually returns immediately with output_urls.
Input Schema
{
"type": "object",
"properties": {
"prompt": {
"type": "string",
"minLength": 1
},
"duration_seconds": {
"type": "number",
"minimum": 0.5,
"maximum": 22
},
"prompt_influence": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"idempotency_key": {
"description": "Optional, 1-200 visible ASCII characters without spaces. Reuse the same key when retrying after a timeout; a repeated key returns the original task and is not charged again.",
"type": "string",
"pattern": "^[\\x21-\\x7e]{1,200}$"
}
},
"required": [
"prompt"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Community
Evidence