Visiojoy LogoVisiojoy
  • Home
Create
  • AI Video
  • AI Image
  • MCPMCP
  • Pricing
MCP overview

Visiojoy MCP docs

Generate images and videos from Claude, Cursor, or any MCP-compatible client — using your Visiojoy account and credits.

ConnectExamplesToolsModels & creditsVideo costsResultsErrorsLimits

Connect

  1. Add a custom MCP connector in Claude, Cursor, or your MCP client of choice, using the URL below as the server address.
  2. You'll be redirected to sign in and authorize — no API key needed.
  3. Once connected, your assistant gets seven tools: four that create (generate_image, generate_video, remove_background, upscale_image) and three free, read-only ones (get_task_result, list_models, get_credit_balance).
https://mcp.visiojoy.com

Claude (web and desktop)

Settings → Connectors → Add custom connector, paste the URL above, then click Connect and sign in to Visiojoy.

Claude Code

claude mcp add --transport http visiojoy https://mcp.visiojoy.com

Then run /mcp inside Claude Code and choose visiojoy to sign in.

Cursor and other JSON-configured clients

{
  "mcpServers": {
    "visiojoy": {
      "url": "https://mcp.visiojoy.com/mcp"
    }
  }
}

The client opens a browser window to sign in the first time a tool is used. Both https://mcp.visiojoy.com and /mcp work as the endpoint.

Examples

You normally just ask your assistant in plain language and it fills in the tool call. These are the calls it sends, with the credits each one costs today.

Check prices and balance first

“What's the cheapest video model, and can I afford a 10-second clip?” — the assistant calls list_models with {"category": "video"} and get_credit_balance, both free, then answers before spending anything.

Text to image

“Make a 16:9 2K hero image of a ceramic coffee mug on a sunlit wooden table with Nano Banana 2.1.” — 5 credits

{
  "prompt": "A ceramic coffee mug on a sunlit wooden table, soft morning light, product photo",
  "model": "nano-banana-2-1",
  "size": "16:9",
  "quality": "2K"
}

Edit an existing image

“Put this product on a marble kitchen counter.” — 3 credits

{
  "prompt": "Place the product on a white marble kitchen counter, keep the label unchanged",
  "images": [
    "https://example.com/product.jpg"
  ],
  "model": "nano-banana-2-1-edit",
  "quality": "1K"
}

Remove a background

“Cut out the person in this photo.” — calls remove_background, 1 credit

{
  "image": "https://example.com/portrait.png"
}

Text to video

“Make a 5-second 720p clip of waves rolling onto a beach at sunset with Seedance 2.0 Fast.” — 125 credits

{
  "prompt": "Slow waves rolling onto a sandy beach at sunset, gentle camera push-in",
  "model": "bytedance/seedance-2-fast",
  "resolution": "720p",
  "duration": 5,
  "aspectRatio": "16:9"
}

Animate an image

“Turn this product photo into a slow 360° turntable video.” — 40 credits

{
  "prompt": "The product rotates slowly on a turntable, soft studio lighting",
  "images": [
    "https://example.com/product.jpg"
  ],
  "model": "wan/3-0-video",
  "resolution": "480p",
  "duration": 5
}

What comes back

Generation complete (text-to-image / nano-banana-2-1), 1 image(s) total.
resource_link  image-1  https://…/generations/…/0.png

Or, if the image is not ready within about 16 seconds:

Task is still processing (taskId: …). You can use the get_task_result tool with this taskId to check again.

generate_video always returns a taskId right away:

Video task submitted (taskId: …). Seedance 2.0 Fast, text-to-video, 720p, 5s — 125 credits reserved, charged only if the video is delivered. Videos usually take a few minutes: call get_task_result with this taskId to fetch it.

Then, from get_task_result:

Generation complete (text-to-video / bytedance/seedance-2-fast), 1 video(s) total.
resource_link  video-1  https://…/generations/…/0.mp4

Tools

generate_image

Generate an image from text, or edit/transform an existing image. Consumes Visiojoy credits.

ParameterTypeDescription
promptstringWhat to generate, or how to change the input image. Required for text-to-image.
imagesstring[], up to 4Input image(s) as public http(s) URLs or base64 data URLs. Providing this switches to image editing / image-to-image and uses the image editing model list; omitting it runs text-to-image. Some models accept fewer images (see Max inputs below).
modelstringModel ID from list_models or the tables below. Defaults to gpt-image-1.5 for text-to-image and gpt-image-1.5-edit for editing.
sizestringAspect ratio, e.g. 1:1, 16:9. Use one of the ratios listed for the model; a missing or unsupported value falls back to the model's default ratio.
qualitystringQuality or resolution tier, e.g. high or 2K. Use one of the values listed for the model; defaults to the first value listed. This value decides the credit cost.
nVariants1 | 2 | 4Kept for compatibility. Every current model returns one image per call and values above 1 are treated as 1, so you are only charged for one image. Call the tool again for more variations.
isPublicbooleanWhether the result appears in the Visiojoy public gallery. Defaults to false.
copyProtectionbooleanWhether to hide the prompt and source image when the result is public. Defaults to false.

generate_video

Start a video from text, or animate an image. Returns a taskId right away; fetch the video with get_task_result. Charged per second of video — see Video costs.

ParameterTypeDescription
promptstringWhat happens in the video. Required for text-to-video (3–2500 characters) and for most models when animating an image.
imagesstring[], up to 7Image to animate, as a public http(s) URL or base64 data URL. Providing it switches to image-to-video. Most models take one image as the first frame; Grok Imagine takes several reference images.
lastFramestringOptional end frame, on models marked “+ optional lastFrame”. Requires images.
modelstringVideo model ID from list_models or the table below; the same ID works with or without images. Defaults to bytedance/seedance-2.
resolutionstringOutput resolution, e.g. 480p or 720p. Defaults to the model's cheapest resolution, not the website default.
aspectRatiostringAspect ratio, e.g. 16:9 or 9:16. Must be one the model lists; defaults to the model's default.
durationintegerLength in seconds, within the model's range. Defaults to the model's default length. Cost scales with every second.
generateAudiobooleanGenerate a soundtrack, on models that support it. Defaults to the model's default.
maxCreditsintegerSpending cap for this call. If the video would cost more, nothing is submitted or charged and the error states the exact cost. Defaults to 300.
isPublicbooleanWhether the result appears in the Visiojoy public gallery. Defaults to false.
copyProtectionbooleanWhether to hide the prompt and source image when the result is public. Defaults to false.

remove_background · upscale_image

One image in, one processed image out: a transparent-background cutout, or a sharper higher-resolution copy. No prompt or model to choose. See prices and access.

ParameterTypeDescription
imagestringThe image to process, as a public http(s) URL or a base64 data URL.
isPublicbooleanWhether the result appears in the Visiojoy public gallery. Defaults to false.

list_models

Free. With no arguments it returns a one-line summary per model — ID, price range and whether your account can use it — so it stays small in your assistant's context. Pass a category or a model ID for the full options; the data matches the tables below.

ParameterTypeDescription
categorystringOptional: text-to-image, image-edit, video or utility. Returns pricing and main options for that category.
modelstringOptional: one model ID. Returns every option for that model, including aspect ratios and input limits.

get_credit_balance

Free, no parameters. Returns the credits you can spend right now (split into subscription, free and credit pack credits) and your access level, so the assistant can check you can afford a generation before starting it.

get_task_result

Fetch a video, or an image that was still processing when generate_image returned. Calling it again is free and never charges twice.

ParameterTypeDescription
taskIdstringThe taskId returned by generate_video, or by generate_image when the image was still processing.

Models & credits

Pass the model ID as model. For images, pass one of its listed values as quality; prices are per image. Videos are priced per second. All prices match the Visiojoy website. New accounts get 12 free credits; see pricing for plans and credit packs. Your assistant can fetch the same data with list_models.

  • All accounts — available on the free tier.
  • After any purchase — unlocked by any subscription or credit pack.
  • Active subscription — subscription plans only.
  • Video models are available to all accounts.
Text to image (no images passed)12 models
  • flux-2/pro-text-to-image
    Flux 2 Pro · After any purchase
    • 1K: 5
    • 2K: 7

    size: 1:1, 4:3, 3:2, 2:3, 3:4, 9:16, 16:9, 21:9, 9:21

  • nano-banana-pro
    Nano Banana Pro · Active subscription
    • 1K: 8
    • 2K: 8
    • 4K: 14

    size: 1:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9, auto

  • gpt-image-1.5
    GPT Image 1.5 · default · All accounts
    • medium (Medium): 4
    • high (High): 22

    size: 1:1, 2:3, 3:2

  • gpt-image-2-text-to-image
    GPT Image 2 · After any purchase
    • 1K: 3
    • 2K: 5
    • 4K: 8

    size: Not supported; describe the framing in the prompt

  • gpt-image-2-5-flare-text-to-image
    GPT Image 2.5 Flare · Active subscription
    • 1K: 3
    • 2K: 10
    • 4K: 16

    size: 1:1, 2:3, 3:2, 3:4, 4:3, 9:16, 16:9, 21:9, auto

  • gpt-image-2-5-sunburst-text-to-image
    GPT Image 2.5 Sunburst · Active subscription
    • 1K: 3
    • 2K: 10
    • 4K: 16

    size: 1:1, 2:3, 3:2, 3:4, 4:3, 9:16, 16:9, 21:9, auto

  • nano-banana-2-1
    Nano Banana 2.1 · All accounts
    • 1K: 3
    • 2K: 5
    • 4K: 8

    size: 1:1, 1:4, 1:8, 2:3, 3:2, 3:4, 4:1, 4:3, 4:5, 5:4, 8:1, 9:16, 16:9, 21:9, auto

  • nano-banana-2
    Nano Banana 2 · After any purchase
    • 1K: 5
    • 2K: 8
    • 4K: 12

    size: 1:1, 1:4, 1:8, 2:3, 3:2, 3:4, 4:1, 4:3, 4:5, 5:4, 8:1, 9:16, 16:9, 21:9, auto

  • nano-banana-2-lite
    Nano Banana 2 Lite · All accounts
    • 1K: 3

    size: 1:1, 1:4, 1:8, 2:3, 3:2, 3:4, 4:1, 4:3, 4:5, 5:4, 8:1, 9:16, 16:9, 21:9, auto

  • seedream/5-pro-text-to-image
    Seedream 5 Pro · Active subscription
    • basic (Basic (1K)): 7
    • high (High (2K)): 14

    size: 1:1, 4:3, 3:4, 16:9, 9:16, 2:3, 3:2, 21:9

  • seedream/5-lite-text-to-image
    Seedream 5 Lite · All accounts
    • basic (Basic (2K)): 6
    • high (High (3K)): 9
    • ultra (Ultra (4K)): 11

    size: 1:1, 4:3, 3:4, 16:9, 9:16, 2:3, 3:2, 21:9

  • seedream-4.5
    Seedream 4.5 · After any purchase
    • basic (Basic (2K)): 7
    • high (High (4K)): 13

    size: 1:1, 4:3, 3:4, 16:9, 9:16, 2:3, 3:2, 21:9

Model IDAccessquality → creditssize
flux-2/pro-text-to-image
Flux 2 Pro
After any purchase
  • 1K: 5
  • 2K: 7
1:1, 4:3, 3:2, 2:3, 3:4, 9:16, 16:9, 21:9, 9:21
nano-banana-pro
Nano Banana Pro
Active subscription
  • 1K: 8
  • 2K: 8
  • 4K: 14
1:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9, auto
gpt-image-1.5
GPT Image 1.5 · default
All accounts
  • medium (Medium): 4
  • high (High): 22
1:1, 2:3, 3:2
gpt-image-2-text-to-image
GPT Image 2
After any purchase
  • 1K: 3
  • 2K: 5
  • 4K: 8
Not supported; describe the framing in the prompt
gpt-image-2-5-flare-text-to-image
GPT Image 2.5 Flare
Active subscription
  • 1K: 3
  • 2K: 10
  • 4K: 16
1:1, 2:3, 3:2, 3:4, 4:3, 9:16, 16:9, 21:9, auto
gpt-image-2-5-sunburst-text-to-image
GPT Image 2.5 Sunburst
Active subscription
  • 1K: 3
  • 2K: 10
  • 4K: 16
1:1, 2:3, 3:2, 3:4, 4:3, 9:16, 16:9, 21:9, auto
nano-banana-2-1
Nano Banana 2.1
All accounts
  • 1K: 3
  • 2K: 5
  • 4K: 8
1:1, 1:4, 1:8, 2:3, 3:2, 3:4, 4:1, 4:3, 4:5, 5:4, 8:1, 9:16, 16:9, 21:9, auto
nano-banana-2
Nano Banana 2
After any purchase
  • 1K: 5
  • 2K: 8
  • 4K: 12
1:1, 1:4, 1:8, 2:3, 3:2, 3:4, 4:1, 4:3, 4:5, 5:4, 8:1, 9:16, 16:9, 21:9, auto
nano-banana-2-lite
Nano Banana 2 Lite
All accounts
  • 1K: 3
1:1, 1:4, 1:8, 2:3, 3:2, 3:4, 4:1, 4:3, 4:5, 5:4, 8:1, 9:16, 16:9, 21:9, auto
seedream/5-pro-text-to-image
Seedream 5 Pro
Active subscription
  • basic (Basic (1K)): 7
  • high (High (2K)): 14
1:1, 4:3, 3:4, 16:9, 9:16, 2:3, 3:2, 21:9
seedream/5-lite-text-to-image
Seedream 5 Lite
All accounts
  • basic (Basic (2K)): 6
  • high (High (3K)): 9
  • ultra (Ultra (4K)): 11
1:1, 4:3, 3:4, 16:9, 9:16, 2:3, 3:2, 21:9
seedream-4.5
Seedream 4.5
After any purchase
  • basic (Basic (2K)): 7
  • high (High (4K)): 13
1:1, 4:3, 3:4, 16:9, 9:16, 2:3, 3:2, 21:9
Image editing (images passed)12 models
  • flux-2/pro-image-to-image
    Flux 2 Pro · After any purchase
    • 1K: 5
    • 2K: 7

    Max inputs: 4 · size: 1:1, 4:3, 3:2, 2:3, 3:4, 9:16, 16:9, 21:9, 9:21

  • gpt-image-1.5-edit
    GPT Image 1.5 · default · All accounts
    • medium (Medium): 4
    • high (High): 22

    Max inputs: 4 · size: 1:1, 2:3, 3:2

  • gpt-image-2-image-to-image
    GPT Image 2 · After any purchase
    • 1K: 3
    • 2K: 5
    • 4K: 8

    Max inputs: 4 · size: Not supported; describe the framing in the prompt

  • gpt-image-2-5-flare-image-to-image
    GPT Image 2.5 Flare · Active subscription
    • 1K: 3
    • 2K: 10
    • 4K: 16

    Max inputs: 4 · size: 1:1, 2:3, 3:2, 3:4, 4:3, 9:16, 16:9, 21:9, auto

  • gpt-image-2-5-sunburst-image-to-image
    GPT Image 2.5 Sunburst · Active subscription
    • 1K: 3
    • 2K: 10
    • 4K: 16

    Max inputs: 4 · size: 1:1, 2:3, 3:2, 3:4, 4:3, 9:16, 16:9, 21:9, auto

  • nano-banana-pro-edit
    Nano Banana Pro · Active subscription
    • 1K: 8
    • 2K: 8
    • 4K: 14

    Max inputs: 4 · size: 1:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9, auto

  • nano-banana-2-1-edit
    Nano Banana 2.1 · All accounts
    • 1K: 3
    • 2K: 5
    • 4K: 8

    Max inputs: 4 · size: 1:1, 1:4, 1:8, 2:3, 3:2, 3:4, 4:1, 4:3, 4:5, 5:4, 8:1, 9:16, 16:9, 21:9, auto

  • nano-banana-2-edit
    Nano Banana 2 · After any purchase
    • 1K: 5
    • 2K: 8
    • 4K: 12

    Max inputs: 4 · size: 1:1, 1:4, 1:8, 2:3, 3:2, 3:4, 4:1, 4:3, 4:5, 5:4, 8:1, 9:16, 16:9, 21:9, auto

  • nano-banana-2-lite-edit
    Nano Banana 2 Lite · All accounts
    • 1K: 3

    Max inputs: 4 · size: 1:1, 1:4, 1:8, 2:3, 3:2, 3:4, 4:1, 4:3, 4:5, 5:4, 8:1, 9:16, 16:9, 21:9, auto

  • seedream/5-pro-image-to-image
    Seedream 5 Pro · Active subscription
    • basic (Basic (1K)): 7
    • high (High (2K)): 14

    +0.5 per input image after the first 1, rounded up once

    Max inputs: 4 · size: 1:1, 4:3, 3:4, 16:9, 9:16, 2:3, 3:2, 21:9

  • seedream/5-lite-image-to-image
    Seedream 5 Lite · All accounts
    • basic (Basic (2K)): 6
    • high (High (3K)): 9
    • ultra (Ultra (4K)): 11

    Max inputs: 4 · size: 1:1, 4:3, 3:4, 16:9, 9:16, 2:3, 3:2, 21:9

  • seedream-4.5-edit
    Seedream 4.5 · After any purchase
    • basic (Basic (2K)): 7
    • high (High (4K)): 13

    Max inputs: 4 · size: 1:1, 4:3, 3:4, 16:9, 9:16, 2:3, 3:2, 21:9

Model IDAccessquality → creditsMax inputssize
flux-2/pro-image-to-image
Flux 2 Pro
After any purchase
  • 1K: 5
  • 2K: 7
41:1, 4:3, 3:2, 2:3, 3:4, 9:16, 16:9, 21:9, 9:21
gpt-image-1.5-edit
GPT Image 1.5 · default
All accounts
  • medium (Medium): 4
  • high (High): 22
41:1, 2:3, 3:2
gpt-image-2-image-to-image
GPT Image 2
After any purchase
  • 1K: 3
  • 2K: 5
  • 4K: 8
4Not supported; describe the framing in the prompt
gpt-image-2-5-flare-image-to-image
GPT Image 2.5 Flare
Active subscription
  • 1K: 3
  • 2K: 10
  • 4K: 16
41:1, 2:3, 3:2, 3:4, 4:3, 9:16, 16:9, 21:9, auto
gpt-image-2-5-sunburst-image-to-image
GPT Image 2.5 Sunburst
Active subscription
  • 1K: 3
  • 2K: 10
  • 4K: 16
41:1, 2:3, 3:2, 3:4, 4:3, 9:16, 16:9, 21:9, auto
nano-banana-pro-edit
Nano Banana Pro
Active subscription
  • 1K: 8
  • 2K: 8
  • 4K: 14
41:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9, auto
nano-banana-2-1-edit
Nano Banana 2.1
All accounts
  • 1K: 3
  • 2K: 5
  • 4K: 8
41:1, 1:4, 1:8, 2:3, 3:2, 3:4, 4:1, 4:3, 4:5, 5:4, 8:1, 9:16, 16:9, 21:9, auto
nano-banana-2-edit
Nano Banana 2
After any purchase
  • 1K: 5
  • 2K: 8
  • 4K: 12
41:1, 1:4, 1:8, 2:3, 3:2, 3:4, 4:1, 4:3, 4:5, 5:4, 8:1, 9:16, 16:9, 21:9, auto
nano-banana-2-lite-edit
Nano Banana 2 Lite
All accounts
  • 1K: 3
41:1, 1:4, 1:8, 2:3, 3:2, 3:4, 4:1, 4:3, 4:5, 5:4, 8:1, 9:16, 16:9, 21:9, auto
seedream/5-pro-image-to-image
Seedream 5 Pro
Active subscription
  • basic (Basic (1K)): 7
  • high (High (2K)): 14

+0.5 per input image after the first 1, rounded up once

41:1, 4:3, 3:4, 16:9, 9:16, 2:3, 3:2, 21:9
seedream/5-lite-image-to-image
Seedream 5 Lite
All accounts
  • basic (Basic (2K)): 6
  • high (High (3K)): 9
  • ultra (Ultra (4K)): 11
41:1, 4:3, 3:4, 16:9, 9:16, 2:3, 3:2, 21:9
seedream-4.5-edit
Seedream 4.5
After any purchase
  • basic (Basic (2K)): 7
  • high (High (4K)): 13
41:1, 4:3, 3:4, 16:9, 9:16, 2:3, 3:2, 21:9
Video (generate_video)7 models
  • bytedance/seedance-2
    Seedance 2.0 · default
    • 480p: 19/s
    • 720p: 41/s
    • 1080p: 102/s
    • 4K: 208/s

    Default call: 480p, 5s = 95 credits

    Images: First frame + optional lastFrame

    4–15s · 1:1, 4:3, 3:4, 16:9, 9:16, 21:9, adaptive

  • bytedance/seedance-2-fast
    Seedance 2.0 Fast
    • 480p: 12/s
    • 720p: 25/s

    Default call: 480p, 5s = 60 credits

    Images: First frame + optional lastFrame

    4–15s · 1:1, 4:3, 3:4, 16:9, 9:16, 21:9, adaptive

  • bytedance/seedance-2-5
    Seedance 2.5
    • 480p: 28/s
    • 720p: 63/s
    • 1080p: 158/s

    Default call: 480p, 5s = 140 credits

    Images: First frame + optional lastFrame

    4–30s · 1:1, 4:3, 3:4, 16:9, 9:16, 21:9, adaptive

  • minimax-h3/text-to-video
    MiniMax H3
    • 768p: 8/s
    • 2K: 13/s

    Default call: 768p, 5s = 40 credits

    Images: First frame + optional lastFrame

    4–15s · 21:9, 16:9, 4:3, 1:1, 3:4, 9:16

    With images: 16:9

  • wan/3-0-video-prime
    Wan 3.0 Prime
    • 480p: 13/s
    • 720p: 26/s
    • 1080p: 51/s

    Default call: 480p, 5s = 65 credits

    Images: First frame + optional lastFrame

    2–30s · adaptive, 16:9, 4:3, 1:1, 3:4, 9:16

  • wan/3-0-video
    Wan 3.0
    • 480p: 8/s
    • 720p: 16/s
    • 1080p: 32/s

    Default call: 480p, 5s = 40 credits

    Images: First frame + optional lastFrame

    2–30s · adaptive, 16:9, 4:3, 1:1, 3:4, 9:16

  • grok-imagine/text-to-video
    Grok Imagine
    • 480p: 3/s
    • 720p: 5/s
    • 1080p: 8/s

    Default call: 480p, 6s = 18 credits

    Images: Up to 7 reference images (1 at 1080p)

    6–30s · 2:3, 3:2, 1:1, 16:9, 9:16

Model IDcredits / secondDefault callImages
bytedance/seedance-2
Seedance 2.0 · default

4–15s · 1:1, 4:3, 3:4, 16:9, 9:16, 21:9, adaptive

  • 480p: 19/s
  • 720p: 41/s
  • 1080p: 102/s
  • 4K: 208/s
480p, 5s
95 credits
First frame + optional lastFrame
bytedance/seedance-2-fast
Seedance 2.0 Fast

4–15s · 1:1, 4:3, 3:4, 16:9, 9:16, 21:9, adaptive

  • 480p: 12/s
  • 720p: 25/s
480p, 5s
60 credits
First frame + optional lastFrame
bytedance/seedance-2-5
Seedance 2.5

4–30s · 1:1, 4:3, 3:4, 16:9, 9:16, 21:9, adaptive

  • 480p: 28/s
  • 720p: 63/s
  • 1080p: 158/s
480p, 5s
140 credits
First frame + optional lastFrame
minimax-h3/text-to-video
MiniMax H3

4–15s · 21:9, 16:9, 4:3, 1:1, 3:4, 9:16

With images: 16:9

  • 768p: 8/s
  • 2K: 13/s
768p, 5s
40 credits
First frame + optional lastFrame
wan/3-0-video-prime
Wan 3.0 Prime

2–30s · adaptive, 16:9, 4:3, 1:1, 3:4, 9:16

  • 480p: 13/s
  • 720p: 26/s
  • 1080p: 51/s
480p, 5s
65 credits
First frame + optional lastFrame
wan/3-0-video
Wan 3.0

2–30s · adaptive, 16:9, 4:3, 1:1, 3:4, 9:16

  • 480p: 8/s
  • 720p: 16/s
  • 1080p: 32/s
480p, 5s
40 credits
First frame + optional lastFrame
grok-imagine/text-to-video
Grok Imagine

6–30s · 2:3, 3:2, 1:1, 16:9, 9:16

  • 480p: 3/s
  • 720p: 5/s
  • 1080p: 8/s
480p, 6s
18 credits
Up to 7 reference images (1 at 1080p)

Image tools

ToolCreditsAccessMax file size
remove_background
Remove Background
1 per imageAll accounts5 MB
upscale_image
Crisp Upscale
1 per imageAll accounts10 MB

Video costs

A video costs seconds × the per-second rate of the chosen resolution. That adds up quickly: Seedance 2.5 at 1080p for 30 seconds costs 4,740 credits. Because an assistant can call tools on its own, generate_video is built to avoid surprise spending:

  • Cheapest settings by default. Without a resolution it uses the model's cheapest one, and the model's default length. Every model's default call costs 18–140 credits (see Default call in the table above).
  • A 300-credit cap per call. If a request would cost more, nothing is submitted or charged, and the error states the exact cost. The assistant is told to confirm with you before calling again with a higher maxCredits.
  • Charged only on delivery. The cost is reserved when the task is submitted and returned automatically if the video fails.
  • The cost is always reported. The submit message states how many credits were reserved.

How results come back

generate_image waits about 16 seconds for the result before returning. There are two outcomes:

Done in time

You get the image(s) directly, as downloadable links.

Still processing

You get a taskId instead. This is normal for slower models or higher-resolution requests — it doesn't mean anything failed. Call get_task_result with that taskId to fetch the result once it's ready.

Videos

generate_video returns a taskId immediately — videos usually take a few minutes. Call get_task_result with it; while the video is still rendering it says so, and you can simply ask again a little later.

Credits

  • The cost is reserved when the task is submitted.
  • It is only deducted when the image or video is delivered.
  • If the task fails, the reserved credits are returned automatically.

Files, watermark and license

  • Images and videos are stored on Visiojoy and show up in your Assets alongside website generations.
  • Same rules as the website: results from accounts that have never made a purchase can be used for personal, non-commercial purposes only, and images may carry a small watermark (videos are not watermarked).
  • After your first subscription or credit pack, new results are watermark-free and licensed for commercial use. See the Terms of Service.

Errors

Errors come back as a tool result with isError: true and a readable message, so your assistant can explain the problem or retry with different settings.

Error messages13 errors

Insufficient credits: this generation requires N credits

Your balance is lower than the cost of this call. Nothing was charged.

Fix: Pick a cheaper model or quality tier, or top up with a plan or credit pack.

Model "…" requires an active Visiojoy subscription.

The model is subscription-only.

Fix: Subscribe, or switch to a model available to your account.

Model "…" requires a Visiojoy subscription or a credit pack purchase.

The model unlocks after any purchase.

Fix: Buy a credit pack or subscribe, or use a model marked All accounts.

This video would cost N credits, above the maxCredits limit of 300. Nothing was charged.

The requested resolution or length costs more than the cap you set (or the default cap).

Fix: Confirm the cost, then call again with maxCredits of at least N, or lower the resolution or duration.

Unknown model "…". Supported models for …: …

The model ID is misspelled, or belongs to the other capability (for example a text-to-image ID sent together with images, or an image model sent to generate_video).

Fix: Copy the ID from the matching table below. The error lists every valid ID.

Invalid resolution / Invalid aspectRatio / Invalid duration. Allowed values: …

generate_video was given a value the chosen video model does not support.

Fix: Use a value from the error message or the video model table. Nothing was charged.

Model "…" does not accept images. / Model "…" takes one image as the first frame.

The video model is text-only, or more than one image was sent to a first-frame model.

Fix: Drop the images, send a single image (plus lastFrame if supported), or pick a model that takes images.

Missing required field: prompt

The video model needs a description of the motion, including when animating an image.

Fix: Add a prompt describing what should happen in the video.

text-to-image requires a prompt

No prompt and no images were sent.

Fix: Add a prompt, or pass images to edit.

An item in images is neither an http(s) URL nor a base64 data URL

An image was sent as a local file path or plain base64 without the data: prefix.

Fix: Send a public URL, or a full data URL such as data:image/png;base64,….

Generation failed: …

The model provider rejected or failed the task, for example a content policy block or an unsupported size or quality value.

Fix: Reserved credits are returned automatically. Adjust the prompt or parameters and try again.

No task found for taskId … / You do not have access to this task

The taskId is wrong, or it belongs to another account.

Fix: Use the exact taskId returned by generate_image or generate_video on the same account.

HTTP 401 Unauthorized

The connection was never authorized, or the sign-in has expired.

Fix: Reconnect the server in your client and sign in again.

Limits

  • One image or one video per call. Ask again for more variations.
  • remove_background and upscale_image take one image per call.
  • Videos support text-to-video and image-to-video. Reference videos and audio (the reference mode on the website) are not available through MCP yet.
  • Up to 4 input images per image call and 7 per video call, fewer for most models (see the tables above). Input URLs must be publicly reachable.
  • Results are private unless you set isPublic to true.
Creative Tools
  • AI Image
  • AI Video
  • Text to Image
  • Image to Image
  • AI Image Editor
  • Unblur Image
  • AI DnD Map Generator
  • AI DnD Character Creator
  • AI Family Portrait Generator
  • All Tools
Image Models
  • Nano Banana 2.1
  • Nano Banana Pro
  • Nano Banana 2
  • Nano Banana 2 Lite
  • GPT Image 1.5
  • GPT Image 2
  • GPT Image 2.5
  • Seedream 5 Lite
  • Seedream 5 Pro
  • Seedream 4.5
  • Flux 2 Pro
  • All Image Models
Video Models
  • Seedance 2.5
  • Seedance 2.0
  • Seedance 2.0 Fast
  • Wan 3.0
  • Wan 3.0 Prime
  • MiniMax H3
  • Grok Imagine
  • All Video Models
Company
  • About
  • Contact
  • Pricing
  • MCP
  • Privacy Notice
  • Terms of Service
  • Refund Policy
  • Copyright Policy
© 2026 Visiojoy. All rights reserved.

Visiojoy

Visiojoy