protogrid

Search / com.budgetpixel/mcp

Budgetpixel

R0· no sign-in

Generate AI images, video, music, and sound effects, and upscale them, from any MCP client.

v1.0.0 · active · repository · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality77good
Trust93of 100
Uptime, 30 days100%
Latency p50229 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "budgetpixel": {
      "type": "http",
      "url": "https://mcp.budgetpixel.com/mcp"
    }
  }
}
claude mcp add --transport http budgetpixel https://mcp.budgetpixel.com/mcp
[mcp_servers.budgetpixel]
url = "https://mcp.budgetpixel.com/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "budgetpixel": {
      "type": "remote",
      "url": "https://mcp.budgetpixel.com/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "budgetpixel": {
      "type": "http",
      "url": "https://mcp.budgetpixel.com/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=budgetpixel&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vbWNwLmJ1ZGdldHBpeGVsLmNvbS9tY3AifQ%3D%3D"
}
{
  "servers": {
    "budgetpixel": {
      "type": "http",
      "url": "https://mcp.budgetpixel.com/mcp"
    }
  }
}
{
  "mcpServers": {
    "budgetpixel": {
      "httpUrl": "https://mcp.budgetpixel.com/mcp"
    }
  }
}
extensions:
  "budgetpixel":
    enabled: true
    name: "budgetpixel"
    type: streamable_http
    uri: "https://mcp.budgetpixel.com/mcp"
    timeout: 300

Quality 77 / 100good

protocol75 · weight 25
  • warn
    protocol.modernnewest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
  • n/a
    protocol.statelessonly applies to 2026-07-28 servers
  • pass
    protocol.transportstreamable HTTP
  • n/a
    protocol.list_ttlonly applies to 2026-07-28 servers
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene79 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • warn
    tools.description_length7 tools have descriptions over 1,024 characters, which crowds the context
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations18 of 18 tools declare readOnlyHint or destructiveHint
  • warn
    tools.directory_hints1 of 18 tools declare all four hints; missing: generate_sound_effect (idempotentHint); check_generation_status (idempotentHint); generate_video (idempotentHint); …
  • warn
    tools.token_costabout 11,198 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability75 · weight 15
  • warn
    stability.changes34 tool changes in 30 days
  • pass
    stability.rug_pullno tool changed its meaning under the same name
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

18 tools, about 11,198 tokens to load them all · tool set 5628403ce97d · tools last changed 2026-10-17 · checked 2026-10-20 13:49 UTC

Tool changes

  • list_modelschangeddescription
    before

    List the AI image, video, music, sound-effect, and 3D models available on BudgetPixel with standard credit prices and capabilities. Featured models come first with a one-line role hint (when to pick each). Image models that charge by output size list every size's price (the size you pass as resolution sets the price). Video models are priced per SECOND by resolution; music models are flat per track; sound effects are per second with a 3-second minimum; 3D models are priced per job (base price plus named options). Prices shown are standard rates in credits. Video resolutions delivered as H.265 (HEVC) instead of H.264 are marked, because some browsers cannot play H.265.

    after · 87% of words in common

    List the AI image, video, music, sound-effect, and 3D models available on BudgetPixel, plus the depth-map tool's sizes, with standard credit prices and capabilities. Featured models come first with a one-line role hint (when to pick each). Image models that charge by output size list every size's price (the size you pass as resolution sets the price). Video models are priced per SECOND by resolution; music models are flat per track; sound effects are per second with a 3-second minimum; 3D models are priced per job (base price plus named options); depth maps (generate_depth_map) are priced per second of the input video by model size (small / base / large), 5-second minimum. Prices shown are standard rates in credits. Video resolutions delivered as H.265 (HEVC) instead of H.264 are marked, because some browsers cannot play H.265.

  • check_generation_statuschangeddescription, input schema
    before

    Use this after calling generate_image, generate_video, generate_music, generate_sound_effect, or generate_3d_model to poll for results. Pass a job_id to check a specific job — numeric = image, uuid = video, and for MUSIC / SOUND-EFFECT / 3D-MODEL jobs also pass type "music" / "sound_effect" / "3d" (3D jobs are uuids too, like video) — with no job_id it lists jobs still running that were started on the BudgetPixel website. Completed IMAGE jobs return the finished image(s) inline (as image content) plus a full-resolution link — display the image AND share the link (some chat UIs don't show inline images). Completed VIDEO, MUSIC and SOUND-EFFECT jobs return a watch/listen link — always share it with the user (chat UIs can't embed players). Completed 3D-MODEL jobs return the thumbnail inline plus download links (GLB/FBX/USDZ/STL) and a viewer link — share the links and tell the user downloads expire in about 24 hours. Poll every few seconds for images and sound effects (~15 s), every 15–30 seconds for videos, music and 3D models (they take minutes). Call repeatedly until status is 'completed' or 'failed'.

    after · 95% of words in common

    Use this after calling generate_image, generate_video, generate_music, generate_sound_effect, generate_3d_model, or generate_depth_map to poll for results. Pass a job_id to check a specific job — numeric = image, uuid = video, and for MUSIC / SOUND-EFFECT / 3D-MODEL / DEPTH-MAP jobs also pass type "music" / "sound_effect" / "3d" / "depth" (3D jobs are uuids too, like video) — with no job_id it lists jobs still running that were started on the BudgetPixel website. Completed IMAGE jobs return the finished image(s) inline (as image content) plus a full-resolution link — display the image AND share the link (some chat UIs don't show inline images). Completed VIDEO, MUSIC and SOUND-EFFECT jobs return a watch/listen link — always share it with the user (chat UIs can't embed players). Completed 3D-MODEL jobs return the thumbnail inline plus download links (GLB/FBX/USDZ/STL) and a viewer link — share the links and tell the user downloads expire in about 24 hours. Completed DEPTH-MAP jobs return the depth video, which is saved in the user's BudgetPixel library. Poll every few seconds for images and sound effects (~15 s), every 15–30 seconds for videos, music, 3D models and depth maps (they take minutes). Call repeatedly until status is 'completed' or 'failed'.

  • generate_depth_mapadded

    Use this to turn a video into a depth map video (Video Depth Anything, on BudgetPixel's own GPUs): a steady, flicker-free video where near is white and far is black, at the input's size (up to 1080p) and frame rate (up to 30 fps). Use it as a depth / structure / motion reference or control video for video models — grayscale (the default colormap) is what they take as a depth reference; turbo, inferno, magma and viridis colour it for viewing only. Priced per second of the INPUT video, rounded up to whole seconds, 5-second minimum, by model size: small 20 / base 30 / large 40 credits per second (a 5-second clip or shorter costs 100 / 150 / 200, a 10-second clip 200 / 300 / 400). The resolution does not change the price. small is fastest; base adds edge detail; large draws the finest detail (hair, thin poles, distant people) and is the steadiest. Input: a video URL (pass one from upload_media for local files), up to 30 seconds and 50MB. Options: size (default small), colormap (default grayscale), resolution (default auto = the input's size, never upscaled), keep_audio (copy the input's audio), side_by_side (input on the left, depth map on the right). The price is held when the job starts and charged on success only; a failed job is never charged. Jobs take about 1-2 minutes: the tool returns a job_id — poll check_generation_status with that job_id and type "depth" every 15-30 seconds until it returns the finished depth video, then tell the user. The depth video is also saved to the user's BudgetPixel library.

  • upscale_videochangeddescription, input schema
    before

    Use this to upscale a video to 1080p or 4K (30 or 60 fps) with Topaz video upscaling. Priced per second of the INPUT video: 1080p = 15 (30fps) / 30 (60fps) credits/s, 4K = 60 / 120 credits/s — so a 10s clip to 1080p30 costs 150 credits; confirm cost with the user for 4K. Input up to 20 seconds (pass a URL; upload_media for local files). Charged on success only. Jobs take a few MINUTES: the tool returns a job_id — call upscale_video again with just job_id every 30-60 seconds until it returns the finished video URL, then share it with the user. The upscaled video is also saved to the user's BudgetPixel library. The result is an H.265 (HEVC) 10-bit MP4, which some browsers cannot play (black frame with audio) — tell the user.

    after · 67% of words in common

    Use this to upscale a video, with one of two models. Topaz (model topazlabs-video-upscale, the default): 1080p or 4K at 30 or 60 fps, priced per second of the INPUT video: 1080p = 15 (30fps) / 30 (60fps) credits/s, 4K = 60 / 120 credits/s, so a 10s clip to 1080p30 costs 150 credits; its result is an H.265 (HEVC) 10-bit MP4, which some browsers cannot play (black frame with audio) — tell the user. FLUX 3 Video Upscale (model flux-3-video-upscale): 1.5x to 3x the input frame (input up to 2560x1440), precise (keeps faces and products) or creative (adds fine detail), keeps the frame rate and audio, H.264 output; priced per megapixel-second of OUTPUT: 95 credits precise / 135 creative, so one second of 1080p output is 188 / 267 credits and of 4K 752 / 1068 — it costs far more than Topaz, so state the price and confirm with the user first. Input up to 20 seconds (pass a URL; upload_media for local files). The price is held when the job starts and charged on success only. Jobs take a few MINUTES: the tool returns a job_id — call upscale_video again with just job_id every 30-60 seconds until it returns the finished video URL, then share it. The upscaled video is also saved to the user's BudgetPixel library.

  • generate_videochangedinput schema
  • generate_imagechangedinput schema
  • list_modelschangeddescription
    before

    List the AI image, video, music, and sound-effect models available on BudgetPixel with standard credit prices and capabilities. Featured models come first with a one-line role hint (when to pick each). Image models that charge by output size list every size's price (the size you pass as resolution sets the price). Video models are priced per SECOND by resolution; music models are flat per track; sound effects are per second with a 3-second minimum. Prices shown are standard rates in credits. Video resolutions delivered as H.265 (HEVC) instead of H.264 are marked, because some browsers cannot play H.265.

    after · 92% of words in common

    List the AI image, video, music, sound-effect, and 3D models available on BudgetPixel with standard credit prices and capabilities. Featured models come first with a one-line role hint (when to pick each). Image models that charge by output size list every size's price (the size you pass as resolution sets the price). Video models are priced per SECOND by resolution; music models are flat per track; sound effects are per second with a 3-second minimum; 3D models are priced per job (base price plus named options). Prices shown are standard rates in credits. Video resolutions delivered as H.265 (HEVC) instead of H.264 are marked, because some browsers cannot play H.265.

  • check_generation_statuschangeddescription, input schema
    before

    Use this after calling generate_image, generate_video, generate_music, or generate_sound_effect to poll for results. Pass a job_id to check a specific job — numeric = image, uuid = video, and for MUSIC / SOUND-EFFECT jobs also pass type "music" / "sound_effect" (their ids are numeric too) — with no job_id it lists jobs still running that were started on the BudgetPixel website. Completed IMAGE jobs return the finished image(s) inline (as image content) plus a full-resolution link — display the image AND share the link (some chat UIs don't show inline images). Completed VIDEO, MUSIC and SOUND-EFFECT jobs return a watch/listen link — always share it with the user (chat UIs can't embed players). Poll every few seconds for images and sound effects (~15 s), every 15–30 seconds for videos and music (they take minutes). Call repeatedly until status is 'completed' or 'failed'.

    after · 79% of words in common

    Use this after calling generate_image, generate_video, generate_music, generate_sound_effect, or generate_3d_model to poll for results. Pass a job_id to check a specific job — numeric = image, uuid = video, and for MUSIC / SOUND-EFFECT / 3D-MODEL jobs also pass type "music" / "sound_effect" / "3d" (3D jobs are uuids too, like video) — with no job_id it lists jobs still running that were started on the BudgetPixel website. Completed IMAGE jobs return the finished image(s) inline (as image content) plus a full-resolution link — display the image AND share the link (some chat UIs don't show inline images). Completed VIDEO, MUSIC and SOUND-EFFECT jobs return a watch/listen link — always share it with the user (chat UIs can't embed players). Completed 3D-MODEL jobs return the thumbnail inline plus download links (GLB/FBX/USDZ/STL) and a viewer link — share the links and tell the user downloads expire in about 24 hours. Poll every few seconds for images and sound effects (~15 s), every 15–30 seconds for videos, music and 3D models (they take minutes). Call repeatedly until status is 'completed' or 'failed'.

  • generate_3d_modeladded

    Turn one picture into a textured 3D model (image-to-3D). Always returns a GLB; meshy-7.1 also offers FBX, USDZ (iPhone AR) and STL (3D printing). Pick the model by job: tripo-h3.1 (default) is the most faithful reconstruction — including cartoons and stylized art — with PBR materials, ~4 min, 400 credits; meshy-7.1 makes lighter ~30K-triangle models in more formats and supports rigging + animation for humanoid characters, ~2 min, 1600 credits. Best input is one subject on a plain background. Submits an async job and returns a job_id — 3D models take 2-5 minutes, so poll check_generation_status with this job_id and type "3d" every 15-30 seconds; when done it returns the thumbnail inline plus download links (GLB/FBX/USDZ/STL). Files are kept about 24 hours, so download them promptly (save_to_assets does not take 3D models). Charged on success only.

  • generate_videochangedinput schema

Showing the latest 10. Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 93 / 100

provenance85
liveness100
freshness85
hygiene100

+repository +dns-namespace +website +reachable +uptime-100% ~updated-54d-ago

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://mcp.budgetpixel.com/mcp streamable-httpnoneyes100%229 ms2025-11-252026-10-20

Tools (18)

check_generation_statusread-onlyUse this after calling generate_image, generate_video, generate_music, generate_sound_effect, generate_3d_model, or generate_depth_map to poll for results. Pass a job_id to check a specific job — numeric = image, uuid = video, and for MUSIC / SOUND-EFFECT / 3D-MODEL / DEPTH-MAP jobs also pass type "music" / "sound_effect" / "3d" / "depth" (3D jobs are uuids too, like video) — with no job_id it lists jobs still running that were started on the BudgetPixel website. Completed IMAGE jobs return the finished image(s) inline (as image content) plus a full-resolution link — display the image AND share the link (some chat UIs don't show inline images). Completed VIDEO, MUSIC and SOUND-EFFECT jobs return a watch/listen link — always share it with the user (chat UIs can't embed players). Completed 3D-MODEL jobs return the thumbnail inline plus download links (GLB/FBX/USDZ/STL) and a viewer link — share the links and tell the user downloads expire in about 24 hours. Completed DEPTH-MAP jobs return the depth video, which is saved in the user's BudgetPixel library. Poll every few seconds for images and sound effects (~15 s), every 15–30 seconds for videos, music, 3D models and depth maps (they take minutes). Call repeatedly until status is 'completed' or 'failed'.
create_social_postdestructivePublish a post to the user's PUBLIC BudgetPixel community feed — visible to everyone and labeled "via MCP". ONLY use this when the user EXPLICITLY asks to post/share/publish; never post proactively. Costs 10 credits per post (anti-spam, charged on publish — same as the developer API) with an hourly posting cap. media: 1–6 images, or 1 video + up to 3 images, or exactly 1 audio track — pass the URLs you got from generations (check_generation_status links) or upload_media, or any public URL/base64. Images can carry optional model/prompt generation info. Audio posts accept song_name, genre (a fixed list — see the enum), lyrics, AND cover_image (cover art goes in its own field, never as a second media item). To enter the post in one of the user's clan themes, pass theme_id (call list_my_themes to find it). Posts are All Rights Reserved by default; pass license ("cc-by" or "cc0") ONLY when the user explicitly asks for a Creative Commons license — it is permanent and cannot be changed after publishing. Returns the public post URL — share it with the user. Posts are moderated after publish (NSFW/spam rating affects feed visibility; the charge is not refunded for hidden posts).
generate_3d_modeldestructiveTurn one picture into a textured 3D model (image-to-3D). Always returns a GLB; meshy-7.1 also offers FBX, USDZ (iPhone AR) and STL (3D printing). Pick the model by job: tripo-h3.1 (default) is the most faithful reconstruction — including cartoons and stylized art — with PBR materials, ~4 min, 400 credits; meshy-7.1 makes lighter ~30K-triangle models in more formats and supports rigging + animation for humanoid characters, ~2 min, 1600 credits. Best input is one subject on a plain background. Submits an async job and returns a job_id — 3D models take 2-5 minutes, so poll check_generation_status with this job_id and type "3d" every 15-30 seconds; when done it returns the thumbnail inline plus download links (GLB/FBX/USDZ/STL). Files are kept about 24 hours, so download them promptly (save_to_assets does not take 3D models). Charged on success only.
generate_depth_mapdestructiveUse this to turn a video into a depth map video (Video Depth Anything, on BudgetPixel's own GPUs): a steady, flicker-free video where near is white and far is black, at the input's size (up to 1080p) and frame rate (up to 30 fps). Use it as a depth / structure / motion reference or control video for video models — grayscale (the default colormap) is what they take as a depth reference; turbo, inferno, magma and viridis colour it for viewing only. Priced per second of the INPUT video, rounded up to whole seconds, 5-second minimum, by model size: small 20 / base 30 / large 40 credits per second (a 5-second clip or shorter costs 100 / 150 / 200, a 10-second clip 200 / 300 / 400). The resolution does not change the price. small is fastest; base adds edge detail; large draws the finest detail (hair, thin poles, distant people) and is the steadiest. Input: a video URL (pass one from upload_media for local files), up to 30 seconds and 50MB. Options: size (default small), colormap (default grayscale), resolution (default auto = the input's size, never upscaled), keep_audio (copy the input's audio), side_by_side (input on the left, depth map on the right). The price is held when the job starts and charged on success only; a failed job is never charged. Jobs take about 1-2 minutes: the tool returns a job_id — poll check_generation_status with that job_id and type "depth" every 15-30 seconds until it returns the finished depth video, then tell the user. The depth video is also saved to the user's BudgetPixel library.
generate_imagedestructiveUse this to create or edit an AI image. Text-to-image from a prompt, OR image-to-image / editing / multi-reference by passing input_images (URLs, data URIs, or base64) — e.g. edit or restyle an image the user just generated by passing its URL. Input support is per-model: some take 1 image, some several, some none (check each model's max_input_images via list_models). Submits an async job and returns a job_id — then call check_generation_status to poll (usually ready in seconds); when complete it returns the finished image inline for you to display. Each call starts a new job that spends credits from the user's BudgetPixel balance (failed jobs aren't charged). Default model: seedream-5.0-pro; call list_models to see every available model with prices and input limits.
generate_musicdestructiveUse this to create an AI music track (full songs with vocals, or instrumentals). Three models: music-3.0 (default, 200 credits — songs from a prompt and/or lyrics, lyrics optimizer on by default so a prompt alone works), mureka-v9 (60 credits — sings the user's EXACT lyrics verbatim, or instrumental/BGM), and lyria-3 (100 credits — high-fidelity from a rich prompt, can condition on up to 10 reference images), and sonilo-music (instrumental/background music of an EXACT length via duration, 5–360 s — priced PER SECOND at 4 credits/s with a 10-second minimum, no vocals). VIDEO-TO-MUSIC: pass a `video` URL (upload_media first for local files) and sonilo-video-music composes a licensed soundtrack for the clip's content, pacing and mood — priced per second of the video's measured length (15 credits/s, 10 s minimum, ≤360 s). Flat price per track (per second for the Sonilo models), charged on success only; each call starts a new paid job. Submits an async job and returns a numeric job_id — music takes a minute or three: poll check_generation_status with the job_id AND type "music" every 15–30 seconds, then share the finished track's listen/download link with the user (chat can't embed audio players).
generate_sound_effectdestructiveUse this to create sound effects (NOT music). TEXT mode: describe the sound — Foley, ambience, UI sounds, whooshes/transitions, impacts, action sounds — with sonilo-sfx: 1–180 seconds, mp3 or wav, PRICED PER SECOND of the requested duration (5 credits/s, 3-second minimum → 5 s = 25, 10 s = 50, 30 s = 150 credits). VIDEO mode: pass a video URL (upload local files with upload_media first) to get frame-accurate effects synced to the clip's visible events with sonilo-video-sfx — billed per second of the VIDEO's measured length (15 credits/s, 3-second minimum, up to 360 s) and returns both the SFX track and the video with the effects mixed in. Each call starts a new paid job, charged on success only. Keep text clips as short as the sound needs and confirm cost for long videos. Submits an async job and returns a numeric job_id — text clips finish within ~15 seconds, video jobs can take a few minutes: poll check_generation_status with the job_id AND type "sound_effect" every 5–15 seconds, then share the finished link(s) with the user (chat can't embed players). For songs or background music use generate_music instead.
generate_videodestructiveUse this to create or edit an AI video. Text-to-video from a prompt; image-to-video by passing image (start frame, + optional end_image); reference-to-video by passing reference_images; or video-to-video editing by passing video (an input video URL — upload local files with upload_media first). IMPORTANT — cost: video is priced per SECOND and by resolution (default model seedance-2.5: 480p=150, 720p=330, 1080p=750 credits/sec, plus 80/160/375 per second of reference-video INPUT), so e.g. 5s at 720p ≈ 1,650 credits and 5s at 1080p ≈ 3,750; confirm with the user before expensive combos (long durations or many reference clips). Each call starts a new paid job, charged on success only. Submits an async job and returns a job_id (uuid) — video takes MINUTES: poll check_generation_status every 15–30 seconds until it returns the finished video link, then share that link with the user. Default model: seedance-2.5; call list_models for available video models and prices.
get_credit_balanceread-onlyUse this when the user asks about their remaining credits, subscription plan, or usage. Returns monthly credit balance, extra credits, total available, and plan name.
get_generation_historyread-onlyGet the user's recent generations made through this connector or the developer API — images by default, or pass type "video", "music", or "sound_effect". Outputs are kept for about 24 hours (they are never saved to the user's asset storage unless save_to_assets is called), so rows older than that show as expired with no link. Returns prompts, models, status, and result links: image URLs (reusable as input_images on generate_image to edit/restyle one — e.g. "make the third one wintery"), video watch links, or music / sound-effect listen links (also reusable as create_social_post media). Every row's job_id works with check_generation_status (music and sound effects also need their type) and with save_to_assets. Generations the user made on the BudgetPixel website are in their gallery, not here.
list_modelsread-onlyList the AI image, video, music, sound-effect, and 3D models available on BudgetPixel, plus the depth-map tool's sizes, with standard credit prices and capabilities. Featured models come first with a one-line role hint (when to pick each). Image models that charge by output size list every size's price (the size you pass as resolution sets the price). Video models are priced per SECOND by resolution; music models are flat per track; sound effects are per second with a 3-second minimum; 3D models are priced per job (base price plus named options); depth maps (generate_depth_map) are priced per second of the input video by model size (small / base / large), 5-second minimum. Prices shown are standard rates in credits. Video resolutions delivered as H.265 (HEVC) instead of H.264 are marked, because some browsers cannot play H.265.
list_my_themesread-onlyList the live clan themes the user can post to — themes of the clans they own, moderate, or have joined (each with the user's role, the theme's brief, and when entries close). Use it when the user wants to post into a theme / enter a theme / share to their clan, then pass the chosen theme's id as create_social_post's theme_id. Free and read-only; themes that haven't started or have ended are not listed.
save_to_assetsKeep a generation permanently. Outputs made through this connector expire about 24 hours after generation and are NOT stored in the user's BudgetPixel assets by default. Call this when the user wants to keep, reuse later, or find a result in their gallery / workshops — it copies the output into their assets (this counts against their storage like a website generation). Pass the job_id (and type for video / music / sound_effect). Safe to call twice: an already-saved job just reports already_saved.
search_stock_audiodestructiveUse this when the user needs an existing sound effect or a piece of background music — for a video, podcast, stream, game, app or presentation — rather than a newly generated one. Searches BudgetPixel's free audio library, licensed CC BY 4.0 for commercial use, every item listened to and scored before listing. kind "sound_effect": whooshes, impacts, UI sounds, Foley, ambiences, animals, vehicles (a fraction of a second to about 6 s). kind "music": instrumental background tracks such as lofi, corporate, cinematic, acoustic (up to about a minute). Costs 10 credits per search, charged even when nothing matches. Try it before generate_sound_effect or generate_music: a search is cheaper and instant. Write the query as a few plain words naming the sound ("door creak", "soft notification chime", "lofi study beat"), not a generation prompt: every word counts, and a word the library does not have counts as a miss. It never generates: if nothing fits, say so. LICENCE: wherever a result is used, include its credit line exactly as returned (the `attribution` text; `attribution_html` for web pages).
search_stock_imagesdestructiveUse this when the user needs an existing stock photo, illustration, background, wallpaper or texture — for a website, slide, blog post, app, video or design — rather than a newly generated image. Searches BudgetPixel's stock image library: AI-generated images, each reviewed before listing (no real people, logos or text), licensed CC BY 4.0 for commercial use. Set transparent to true for cut-outs only: PNG files with a transparent background, for stickers, overlays and compositing. Costs 10 credits per search, charged even when nothing matches, so write one specific query rather than many vague ones. It never generates: if nothing fits, say so. LICENCE: wherever an image is used, include its credit line exactly as returned (the `attribution` text; `attribution_html` for web pages). Download from the returned URLs rather than hotlinking them in production.
upload_mediaUpload a local image, video, or audio file to BudgetPixel and get back a short-lived URL (valid ~24h) to use as a generation input: pass it as an input_images value on generate_image, or as image / end_image / reference_images / video / audio on generate_video. Use this when the user has a LOCAL file: read the file and pass its base64 as 'file'. Not charged; max 50MB. Video/audio inputs REQUIRE this (generate_video takes them by URL only). If you already have a public URL, pass it straight to the generate tool instead.
upscale_imagedestructiveUse this to upscale an image to a higher resolution. Default model p-image-upscale (Pruna AI) returns results in seconds and is priced by the target resolution: 4 MP = 10, 8 MP = 15, 16 MP = 30, 32 MP = 60 credits. Alternative clarity-upscaler does creative detail enhancement (steer with prompt/creativity) at a flat 30 credits and takes ~60 seconds. Pass the image as a URL (a generated image's URL, or upload_media for local files), a data URI, or base64. Charged on success only. The tool waits for the result and returns the upscaled image's URL — share it with the user. Unlike generations, the upscaled image is also saved to the user's BudgetPixel library.
upscale_videodestructiveUse this to upscale a video, with one of two models. Topaz (model topazlabs-video-upscale, the default): 1080p or 4K at 30 or 60 fps, priced per second of the INPUT video: 1080p = 15 (30fps) / 30 (60fps) credits/s, 4K = 60 / 120 credits/s, so a 10s clip to 1080p30 costs 150 credits; its result is an H.265 (HEVC) 10-bit MP4, which some browsers cannot play (black frame with audio) — tell the user. FLUX 3 Video Upscale (model flux-3-video-upscale): 1.5x to 3x the input frame (input up to 2560x1440), precise (keeps faces and products) or creative (adds fine detail), keeps the frame rate and audio, H.264 output; priced per megapixel-second of OUTPUT: 95 credits precise / 135 creative, so one second of 1080p output is 188 / 267 credits and of 4K 752 / 1068 — it costs far more than Topaz, so state the price and confirm with the user first. Input up to 20 seconds (pass a URL; upload_media for local files). The price is held when the job starts and charged on success only. Jobs take a few MINUTES: the tool returns a job_id — call upscale_video again with just job_id every 30-60 seconds until it returns the finished video URL, then share it. The upscaled video is also saved to the user's BudgetPixel library.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "com.budgetpixel/mcp",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-09-29/server.schema.json",
  "remotes": [
    {
      "url": "https://mcp.budgetpixel.com/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "1.0.0",
  "repository": {
    "url": "https://github.com/budgetpixel-ai/budgetpixel-mcp",
    "source": "github"
  },
  "websiteUrl": "https://budgetpixel.com/mcp",
  "description": "Generate AI images, video, music, and sound effects, and upscale them, from any MCP client."
}