Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,545Letters: 14Defects: 1,324counted 3 min ago
teppi

Server definition

Hash
sha256:95f2552a876038588434b4f0f02c3904b5c2fabe5f29e2cd54c6a134ecf38e51
What it is
What a remote MCP server returned when asked what it offers: 15 tools

The blob, as servednamed by its sha256

{ "instructions": "BudgetPixel is an AI image, video, music & sound-effect generation platform. This connector generates with the user's BudgetPixel account — their plan credits, discounts, and daily free-models allowance apply automatically.\n\nCapabilities:\n- Generate AI images from text prompts (generate_image tool, then check_generation_status to poll — usually ready in seconds; when complete it returns the finished image inline, so display it to the user)\n- Edit / image-to-image / multi-reference: pass input_images (URLs, data URIs, or base64) to generate_image. Support is per-model — some models take 1 image, some several, some none; check each model's max_input_images via list_models. To edit an image the user just generated, pass its URL as an input.\n- Generate AI VIDEOS (generate_video tool): text-to-video; image-to-video (image start frame + optional end_image); reference-images-to-video (reference_images); or video-to-video editing (video — an input video URL). Video jobs take MINUTES: poll check_generation_status with the returned uuid job_id every 15–30 seconds, then SHARE the finished video link with the user (chat can't embed video inline).\n- Generate AI MUSIC (generate_music tool): full songs from a prompt and/or lyrics, or instrumentals. VIDEO-TO-MUSIC: pass a video URL (upload_media first for local files) to get a licensed soundtrack composed for the clip's content, pacing and mood — 15 credits per second of the video's measured length (10-second minimum, ≤360 s). Poll check_generation_status with the numeric job_id AND type \"music\" every 15–30 seconds; share the finished track's listen link with the user (chat can't embed audio players).\n- Generate SOUND EFFECTS (generate_sound_effect tool): Foley, ambience, UI sounds, transitions, impacts from a description — NOT music. Text mode: 1–180 s clips, mp3/wav, PRICED PER SECOND (5 credits/s, 3-second minimum → 5 s = 25, 10 s = 50 credits), usually ready within ~15 s. Video mode: pass a video URL (upload_media first for local files) to get effects synced to the clip's events — 15 credits per second of the video (3-second minimum, ≤360 s), returns the SFX track AND the video with the effects mixed in, takes a few minutes. Poll check_generation_status with the numeric job_id AND type \"sound_effect\"; share the link(s).\n- UPSCALE an image (upscale_image tool): pass any image URL (or upload_media a local file) — p-image-upscale (default) returns results in seconds priced by target resolution (4/8/16/32 MP = 10/15/30/60 credits); clarity-upscaler adds creative detail at a flat 30 credits (~60s). The tool waits and returns the upscaled image's URL.\n- UPSCALE a video (upscale_video tool): Topaz Labs to 1080p or 4K at 30/60 fps — priced per second of the INPUT video (1080p 15/30, 4K 60/120 credits/s), input up to 20s. Returns a job_id; call the tool again with job_id until the finished video URL is returned.\n- Upload a LOCAL file (upload_media tool): read the file, pass its base64 (image, video, or audio ≤50MB), and get back a short-lived URL to use as a generation input. Video/audio inputs on generate_video REQUIRE a URL, so local files must go through this tool first.\n- Publish a post to the user's PUBLIC feed (create_social_post tool) — ONLY when the user explicitly asks to post/share. Costs 10 credits per post (anti-spam), hourly cap applies, and the post is publicly labeled \"via MCP\". Attach generated media by URL (or upload_media for local files); returns the public post link.\n- Enter a post in a CLAN THEME (a time-boxed creative event hosted by a clan): list_my_themes returns the live themes of the clans the user owns or has joined (free), then pass the chosen id as create_social_post's theme_id.\n- Search FREE STOCK IMAGES (search_stock_images tool): BudgetPixel's reviewed library of AI-generated photos, illustrations, backgrounds, wallpapers and textures, CC BY 4.0 for commercial use. Use it when the user wants an existing stock image rather than a new one. 10 credits per search (charged even when nothing matches) and it never generates. Wherever an image is used, include its credit line exactly as returned.\n- Browse the live model catalog with prices, role hints, and per-model input limits (list_models tool — the catalog updates as BudgetPixel adds models; don't assume a fixed list)\n- Check the user's credit balance (get_credit_balance tool)\n- Show recent generations made through this connector or the developer API (get_generation_history tool — images by default; pass type \"video\", \"music\", or \"sound_effect\" for those histories, with watch/listen links)\n- Keep a result permanently (save_to_assets tool — copies an output into the user's BudgetPixel assets / workshops)\n\nOutput lifecycle (important): generations made through this connector are EPHEMERAL, like developer-API jobs. Result links are valid ~1 hour and the underlying output is deleted ~24 hours after generation; nothing is added to the user's asset storage. If the user wants to keep, reuse later, or see a result in their BudgetPixel gallery, call save_to_assets with the job_id (that copy then counts against their storage). Generations also count against the user's monthly API spend limit if they set one under Developers → Billing (a limit-reached error says so; web usage is never blocked).\n\nKey details:\n- PLAN REQUIREMENT: the connector's account-bound tools (generation, uploads, posting, themes, history, balance) require any paid subscription (Starter, Basic, Premium, Pro or Ultra) — the same plans as the developer API. Free-plan users can browse list_models and use search_stock_images (10 credits per search, from their own credits); other tools return an upgrade notice pointing to https://budgetpixel.com/subscription.\n- Default image model: seedream-5.0-pro (premium flagship — top quality, strongest identity preservation, excellent for edits; ~55 credits/image, not free-pool-eligible). For fast & cheap drafts use flux-2-klein (free while a Pro/Ultra plan's daily free-models allowance lasts). Other strong picks by job: gpt-image-2.5-sunburst for precision edits and premium visuals, gpt-image-2.5-flare for fast everyday generation, seedream-4.5 for photorealism, gpt-image-2 for text inside images, nano-banana-2 for premium editing quality, qwen-image-3.0 as an all-rounder.\n- Default video model: seedance-2.5. VIDEO IS PRICED PER SECOND BY RESOLUTION (480p=150, 720p=330, 1080p=750 credits/sec; reference-video INPUT adds 80/160/375 per second) — e.g. 5s at 720p ≈ 1,650 credits, 5s at 1080p ≈ 3,750. For cheaper drafts use seedance-2.0-mini (480p=60, 720p=120/sec). Confirm cost with the user before expensive requests (1080p, 720p long durations, or >5s); prefer 480p by default.\n- Music models (flat per track): music-3.0 default (200 credits — latest MiniMax; prompt alone works, its lyrics optimizer writes the words; set lyrics_optimizer false to sing exact lyrics), music-2.6 (200 — previous generation, same contract), mureka-v9 (60 — sings exact lyrics verbatim / BGM), lyria-3 (100 — high-fidelity, up to 10 reference images). Per second: sonilo-music (4 credits/s, 10 s minimum — instrumental/background music of an exact length; pass duration 5–360), sonilo-video-music (15 credits/s of an input video's measured length, 10 s minimum — a soundtrack composed for the clip; pass video).\n- Sound-effect models: sonilo-sfx (text, 5 credits/s) and sonilo-video-sfx (video input, 15 credits/s of the clip) — per second with a 3 s minimum; keep text clips as short as the sound needs and quote the cost before long videos.\n- Aspect ratios (images): 1:1, 4:3, 3:4, 16:9, 9:16, 3:2, 2:3, 21:9. Videos default to 16:9.\n- Generations cost credits from the user's plan; failed generations are never charged. If the user is out of credits, point them to https://budgetpixel.com/pricing", "tools": [ { "description": "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) — or omit job_id to list all active jobs. 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'.", "inputSchema": { "additionalProperties": false, "properties": { "job_id": { "description": "Optional job ID to check — a number for image/music/sound-effect jobs, a uuid for video jobs. If omitted, returns all active generation jobs (images, videos, music, and sound effects).", "type": "string" }, "type": { "description": "Which pipeline the job_id belongs to. REQUIRED as \"music\" for music jobs and \"sound_effect\" for sound-effect jobs (their numeric ids would otherwise be read as image jobs). Optional otherwise: uuids are detected as video, plain numbers default to image.", "enum": [ "image", "video", "music", "sound_effect" ], "type": "string" } }, "type": "object" }, "name": "check_generation_status", "outputSchema": null }, { "description": "Publish 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). 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).", "inputSchema": { "additionalProperties": false, "properties": { "content": { "description": "The post's text/caption (optional — media-only posts are fine).", "type": "string" }, "cover_image": { "description": "Audio posts only: cover art — an image URL (generation link / upload_media URL), data URI, or base64 (max 15MB). Goes in THIS field, never as a media item.", "type": "string" }, "genre": { "description": "Audio posts only: the track's genre — EXACTLY one of these values. Omit to have it classified automatically after publishing.", "enum": [ "Pop", "Rock", "Hip-Hop & Rap", "R&B & Soul", "Electronic & Dance", "Lo-fi & Chill", "Ambient", "Jazz", "Classical", "Country", "Folk & Acoustic", "Metal", "Blues", "Latin", "K-Pop & J-Pop", "Reggae", "Soundtrack & Cinematic", "Other" ], "type": "string" }, "lyrics": { "description": "Audio posts only: lyrics to show with the track.", "type": "string" }, "media": { "description": "1–6 media items. Rules: 1–6 images, OR 1 video plus up to 3 images, OR exactly 1 audio track (audio can't mix).", "items": { "additionalProperties": false, "properties": { "file": { "description": "The media file — a URL (generation result link, upload_media URL, or any public URL), a data URI, or raw base64.", "type": "string" }, "model": { "description": "Optional generation info: the model that made this image (images only).", "type": "string" }, "prompt": { "description": "Optional generation info: the prompt that made this image (images only).", "type": "string" } }, "required": [ "file" ], "type": "object" }, "maxItems": 6, "minItems": 1, "type": "array" }, "song_name": { "description": "Audio posts only: the track's display name.", "type": "string" }, "theme_id": { "description": "Optional: enter the post in a live clan theme — the id from list_my_themes (or the number in a budgetpixel.com/themes/<id> link). Works with any media type; posting to a theme of a clan the user hasn't joined joins them to it, like on the site.", "minimum": 1, "type": "integer" } }, "required": [ "media" ], "type": "object" }, "name": "create_social_post", "outputSchema": null }, { "description": "Use 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. Costs credits from the user's plan (their discounts and free-model perks apply automatically). Default model: seedream-5.0-pro; call list_models to see every available model with prices and input limits.", "inputSchema": { "additionalProperties": false, "properties": { "aspect_ratio": { "description": "Aspect ratio of the generated image", "enum": [ "1:1", "4:3", "3:4", "16:9", "9:16", "3:2", "2:3", "21:9" ], "type": "string" }, "background": { "description": "Optional output background for models that support it (seedream-5.0-flash, seedream-5.0-pro — see list_models). \"transparent\" keeps a transparent background when EDITING: pass exactly one input image, a PNG that already has transparent pixels (a cutout, sticker or logo), and you get back a PNG with transparency. It cannot make a transparent image from text alone. Omit (or \"opaque\") for a normal image.", "enum": [ "opaque", "transparent" ], "type": "string" }, "input_images": { "description": "Optional input image(s) for image-to-image / editing / multi-reference — each a public image URL, a data URI, or raw base64. Per-model support: some models take 1, some several, some none (see max_input_images in list_models). Omit for text-to-image. To edit an image the user just generated, pass its URL here.", "items": { "type": "string" }, "type": "array" }, "model": { "description": "AI model id. Omit for the default (seedream-5.0-pro — premium flagship: top quality, strongest identity preservation, great for edits). For fast & cheap drafts pick flux-2-klein (free on Pro/Ultra plans) or seedream-5.0-flash (flat 25 credits, free references). Other strong picks: gpt-image-2.5-sunburst (OpenAI precision edits, premium quality), gpt-image-2.5-flare (fast OpenAI everyday model), seedream-4.5 (photorealism), gpt-image-2 (text in images), nano-banana-2 (premium editing), qwen-image-3.0 (all-rounder). Call list_models for the full catalog with prices and input limits.", "type": "string" }, "negative_prompt": { "description": "What to avoid in the generated image", "type": "string" }, "num_images": { "description": "Number of images to generate (1-4)", "maximum": 4, "minimum": 1, "type": "integer" }, "prompt": { "description": "Text prompt describing the image to generate", "type": "string" }, "quality": { "description": "Optional rendering quality for models that support it (gpt-image-2: low/medium/high; gpt-image-2.5-sunburst and gpt-image-2.5-flare: low/medium/high/xhigh/max; grok-imagine-image-2: low/medium — no high tier). Higher costs more. On grok-imagine-image-2 quality x resolution sets the price (low 1K=50, low 2K=80, medium 1K=80, medium 2K=100 credits). Omit for default.", "type": "string" }, "resolution": { "description": "Optional output size (per-model options, e.g. seedream-5.0-pro & seedream-5.0-flash: 1K/2K; gpt-image-2 & nano-banana-2: up to 4K — see list_models). Omit for the model default. Larger costs more.", "type": "string" }, "seed": { "description": "Seed for reproducible generation", "type": "integer" } }, "required": [ "prompt" ], "type": "object" }, "name": "generate_image", "outputSchema": null }, { "description": "Use 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; the user's plan discounts apply automatically. 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).", "inputSchema": { "additionalProperties": false, "properties": { "duration": { "description": "sonilo-music only: track length in seconds (5–360, default 30). Billed per second with a 10-second minimum (4 credits/s → 30 s = 120 credits). Other music models ignore length (sonilo-video-music sizes the music to the video).", "maximum": 360, "minimum": 5, "type": "integer" }, "format": { "description": "music-2.6/music-3.0 only: output audio format, wav (default) or mp3.", "type": "string" }, "images": { "description": "lyria-3 only: up to 10 reference images to condition the mood — each a URL, data URI, or raw base64 (upload local files with upload_media).", "items": { "type": "string" }, "type": "array" }, "instrumental": { "description": "Generate an instrumental track (no vocals). music-2.6/music-3.0 and mureka-v9 (mureka requires a prompt in this mode).", "type": "boolean" }, "lyrics": { "description": "Lyrics to sing. mureka-v9 sings them VERBATIM ([verse]/[chorus] tags supported); music-2.6/music-3.0 polish them unless lyrics_optimizer is false; lyria-3 treats them as optional guidance.", "type": "string" }, "lyrics_optimizer": { "description": "music-2.6/music-3.0 only. Write/polish lyrics from the prompt — DEFAULT TRUE (matches web/API). Set false to sing the provided lyrics as-is.", "type": "boolean" }, "model": { "description": "Music model id. Omit for the default (music-3.0 — latest MiniMax, all-purpose songs, 200 credits; passing a video auto-selects sonilo-video-music). Alternatives: music-2.6 (previous generation, same price), mureka-v9 (sings exact lyrics, cheapest at 60), lyria-3 (high-fidelity, image conditioning, 100), sonilo-music (instrumental/background music of an exact length, priced per second — pass duration). Call list_models for details.", "type": "string" }, "prompt": { "description": "Style/mood description of the track. Required for lyria-3 (10–2000 chars) and for instrumental tracks; optional on music-2.6/music-3.0 when lyrics are given.", "type": "string" }, "video": { "description": "Video-to-music: URL of a video (≤360 s, ≤30 MB for public URLs) to compose a licensed soundtrack FOR — the music follows the clip's content, pacing and mood, and matches its length. Must be a URL — upload local files with upload_media first. Uses sonilo-video-music: 15 credits per second of the video's measured duration (10-second minimum). prompt becomes optional direction (genre/mood/instrumentation); no lyrics or duration.", "type": "string" }, "vocal_gender": { "description": "mureka-v9 only: preferred vocal gender for songs (default auto).", "enum": [ "auto", "female", "male" ], "type": "string" } }, "type": "object" }, "name": "generate_music", "outputSchema": null }, { "description": "Use 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. Charged on success only; the user's plan discounts apply automatically. 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.", "inputSchema": { "additionalProperties": false, "properties": { "duration": { "description": "Text mode: length of the clip in seconds (1–180, default 10). Billed per second with a 3-second minimum — 10 s = 50 credits on the default model. Ignored when a video is given.", "maximum": 180, "minimum": 1, "type": "integer" }, "format": { "description": "Output audio format: mp3 (default, small) or wav (lossless, for editing).", "enum": [ "mp3", "wav" ], "type": "string" }, "model": { "description": "Sound-effect model id. Omit for the default (sonilo-sfx for text; sonilo-video-sfx is selected automatically when video is given). Call list_models for details.", "type": "string" }, "prompt": { "description": "Description of the sound effect — Foley, ambience, UI sounds, transitions, impacts, action (e.g. 'heavy rain on a tin roof with distant thunder'). Up to 1000 characters.", "type": "string" }, "video": { "description": "Optional INPUT VIDEO URL to sync the effects to (frame-accurate Foley/ambience/impacts for the clip's visible events). Must be a URL — upload local files with upload_media first; public URLs OK (≤30 MB, ≤360 s). Uses sonilo-video-sfx: 15 credits per second of the video (3-second minimum); returns the SFX track AND the video with the effects mixed in. prompt becomes optional direction.", "type": "string" } }, "type": "object" }, "name": "generate_sound_effect", "outputSchema": null }, { "description": "Use 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). Charged on success only; plan discounts apply. 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.", "inputSchema": { "additionalProperties": false, "properties": { "aspect_ratio": { "description": "Aspect ratio (seedance-2.5: 16:9, 9:16, 1:1, 4:3, 3:4, 21:9 — default 16:9). On minimax-h3 it applies to TEXT-TO-VIDEO only. On seedance-2.5 it applies to t2v AND jobs with reference images/audio; a start/end frame or a reference VIDEO forces adaptive (output follows the input's frame). On wan-3.0-video (and -prime) it is honored in EVERY mode (even with a first frame or reference media) and also accepts 'adaptive' (its default — the model picks a suitable ratio from the inputs).", "type": "string" }, "audio": { "description": "Optional reference audio URL (MP3/WAV/OGG; upload local files with upload_media). Must accompany an image, reference_images, or video input. Not for minimax-h3 / seedance-2.5 / wan-3.0-video(-prime) — use reference_audios there.", "type": "string" }, "duration_seconds": { "description": "Video length in seconds (seedance-2.5: 4–30, default 5; seedance-2.0: 4–15). Cost scales linearly.", "type": "integer" }, "end_image": { "description": "Optional END FRAME used together with image (the start frame) — the video interpolates between the two.", "type": "string" }, "generate_audio": { "description": "Whether the model should generate audio with the video (no price impact on seedance-2.5/2.0).", "type": "boolean" }, "image": { "description": "Optional START FRAME for image-to-video — a public image URL, a data URI, or raw base64. Can't be combined with reference_images or video.", "type": "string" }, "model": { "description": "Video model id. Omit for the default (seedance-2.5 — flagship multimodal: text-to-video, image-to-video, reference images/videos/audio; pass a clip as reference_videos to edit/extend; 480p/720p/1080p, up to 30s). wan-3.0-video is the Alibaba all-in-one alternative — same modes, up to 30s, and ALL input media free (480p 60 / 720p 120 / 1080p 240 credits/sec output-only; wan-3.0-video-prime is the same model generating much faster at 85/170/340). For cheaper drafts pick seedance-2.0-mini (480p 60 / 720p 120 credits/sec). Call list_models for per-resolution prices.", "type": "string" }, "negative_prompt": { "description": "What to avoid in the generated video", "type": "string" }, "prompt": { "description": "Text prompt describing the video to generate (or the edit to apply, when passing an input video)", "type": "string" }, "reference_audios": { "description": "minimax-h3 / minimax-h3-max / seedance-2.5 / wan-3.0-video(-prime) only: reference AUDIO clip URLs (WAV/MP3; h3 ≤3/15s combined, 2.5 ≤5/30s combined, wan-3.0(-prime) ≤5/15s combined; free; upload local files with upload_media). Can't be combined with image/end_image.", "items": { "type": "string" }, "type": "array" }, "reference_images": { "description": "Optional reference images guiding the video (subject consistency) — each a URL, data URI, or base64. seedance-2.5: up to 15; wan-3.0-video / wan-3.0-video-prime: up to 10 (free); seedance-2.0: up to 9 alone, 6 alongside an input video. Can't be combined with image/end_image.", "items": { "type": "string" }, "type": "array" }, "reference_videos": { "description": "minimax-h3 / minimax-h3-max / seedance-2.5 / wan-3.0-video(-prime) only: reference VIDEO clip URLs guiding motion/identity — on seedance-2.5 and wan-3.0-video(-prime) also how you edit/extend a clip (h3: ≤3, 15s combined; 2.5: ≤5, 30s combined; wan-3.0(-prime): ≤5, 15s combined, and input + output ≤ 30s; upload local files with upload_media). h3 and 2.5 bill INPUT seconds on top of the output (h3 160/s; 2.5 80/160/375 per s at 480p/720p/1080p); wan-3.0-video(-prime) input is FREE. Can't be combined with image/end_image.", "items": { "type": "string" }, "type": "array" }, "resolution": { "description": "Output resolution — PRICING VARIES A LOT (seedance-2.5: 480p=150, 720p=330, 1080p=750 credits per SECOND, default 720p; seedance-2.0: 1080p=550/4k=1250). Prefer 480p unless asked.", "type": "string" }, "video": { "description": "Optional INPUT VIDEO for video-to-video editing (2-15s) — must be a URL (upload local files with upload_media first). Can't be combined with image/end_image. On the seedance-2.0 family the INPUT seconds are billed at half the output per-second rate on top of the output. On minimax-h3-max the video is EXTENDED instead (1.6-60s source; length_seconds = new footage appended; source billed 170 credits/sec, first 15s).", "type": "string" } }, "required": [ "prompt" ], "type": "object" }, "name": "generate_video", "outputSchema": null }, { "description": "Use this when the user asks about their remaining credits, subscription plan, or usage. Returns monthly credit balance, extra credits, total available, and plan name.", "inputSchema": { "additionalProperties": false, "properties": {}, "type": "object" }, "name": "get_credit_balance", "outputSchema": null }, { "description": "Get 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.", "inputSchema": { "additionalProperties": false, "properties": { "limit": { "description": "Number of recent generations to return (1-50, default 10)", "maximum": 50, "minimum": 1, "type": "integer" }, "offset": { "description": "Offset for pagination (default 0)", "minimum": 0, "type": "integer" }, "type": { "description": "Which history to fetch: image (default), video, music, or sound_effect.", "enum": [ "image", "video", "music", "sound_effect" ], "type": "string" } }, "type": "object" }, "name": "get_generation_history", "outputSchema": null }, { "description": "List the AI image, video, music, and sound-effect models available on BudgetPixel with base credit prices and capabilities. Featured models come first with a one-line role hint (when to pick each). 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 are base rates — the user's plan discounts and free-model perks apply automatically when generating.", "inputSchema": { "additionalProperties": false, "properties": {}, "type": "object" }, "name": "list_models", "outputSchema": null }, { "description": "List 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.", "inputSchema": { "additionalProperties": false, "properties": {}, "type": "object" }, "name": "list_my_themes", "outputSchema": null }, { "description": "Keep 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.", "inputSchema": { "additionalProperties": false, "properties": { "folder_id": { "description": "Optional asset folder id to save into (defaults to Uncategorized).", "type": "integer" }, "job_id": { "description": "The generation to keep — the job_id from generate_image / generate_music / generate_sound_effect / check_generation_status / get_generation_history (numeric), or the video job uuid from generate_video.", "type": "string" }, "type": { "description": "What kind of generation job_id is: image (default), video, music, or sound_effect.", "enum": [ "image", "video", "music", "sound_effect" ], "type": "string" } }, "required": [ "job_id" ], "type": "object" }, "name": "save_to_assets", "outputSchema": null }, { "description": "Use 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 free image library: AI-generated images, each reviewed before listing (no real people, logos or text), licensed CC BY 4.0 for commercial use. Works on EVERY plan, including Free. 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 (on a paid plan, generate_image can make one). 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.", "inputSchema": { "additionalProperties": false, "properties": { "category": { "description": "Optional category filter.", "enum": [ "nature", "backgrounds", "wallpapers", "textures", "animals", "food", "travel", "transportation", "architecture", "business", "industry", "technology", "people", "education", "music", "art", "abstract", "holidays", "science", "health", "sports" ], "type": "string" }, "color": { "description": "Optional dominant-colour filter.", "enum": [ "red", "orange", "yellow", "green", "turquoise", "blue", "purple", "pink", "white", "gray", "black", "brown" ], "type": "string" }, "limit": { "description": "How many results to return (default 10, max 20). The price is the same for any limit.", "maximum": 20, "minimum": 1, "type": "integer" }, "offset": { "description": "For the next page: the previous offset plus the number returned. Each page is a new 10-credit search.", "maximum": 5000, "minimum": 0, "type": "integer" }, "orientation": { "description": "Optional shape filter: landscape for headers and slides, portrait for phone wallpapers and stories.", "enum": [ "landscape", "portrait", "square" ], "type": "string" }, "query": { "description": "What the image should show, in plain words — e.g. \"misty pine forest at sunrise\", \"latte art on a wooden table\", \"abstract purple gradient background\". Max 200 characters. Optional only when browsing a category.", "type": "string" }, "sort": { "description": "popular (default — best matches first when there is a query), newest, or top (highest rated).", "enum": [ "popular", "newest", "top" ], "type": "string" }, "type": { "description": "Optional: photos only, or illustrations (including 3D and painted art) only.", "enum": [ "photo", "illustration" ], "type": "string" } }, "type": "object" }, "name": "search_stock_images", "outputSchema": null }, { "description": "Upload 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.", "inputSchema": { "additionalProperties": false, "properties": { "file": { "description": "The file to upload, as raw base64 or a data URI (data:image/png;base64,...). Read the local file and pass its base64 here. Max 50MB. Images: PNG/JPEG/WebP/GIF · Video: MP4/WebM · Audio: MP3/WAV/OGG.", "type": "string" } }, "required": [ "file" ], "type": "object" }, "name": "upload_media", "outputSchema": null }, { "description": "Use 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.", "inputSchema": { "properties": { "creativity": { "description": "clarity-upscaler only: how much new detail the model may invent (0.3-0.9, default 0.35).", "type": "number" }, "enhance_details": { "description": "p-image-upscale only: enhance textures and fine detail (may increase contrast).", "type": "boolean" }, "enhance_realism": { "description": "p-image-upscale only: improve realism — recommended for AI-generated images.", "type": "boolean" }, "image": { "description": "The image to upscale: an http(s) URL (a generated image's URL, or one from upload_media for local files), a data URI, or raw base64. Max ~20MB.", "type": "string" }, "model": { "description": "Upscale model: p-image-upscale (default — Pruna AI, results in seconds, priced by target resolution 4/8/16/32 MP = 10/15/30/60 credits) or clarity-upscaler (creative detail enhancement, flat 30 credits, ~60s).", "type": "string" }, "prompt": { "description": "clarity-upscaler only: optional guiding prompt describing the image content.", "type": "string" }, "target": { "description": "p-image-upscale only: target output resolution in megapixels (sets the price: 4=10, 8=15, 16=30, 32=60 credits; default 4).", "enum": [ 4, 8, 16, 32 ], "type": "integer" } }, "required": [ "image" ], "type": "object" }, "name": "upscale_image", "outputSchema": null }, { "description": "Use this to upscale a video to 1080p or 4K (30 or 60 fps) with Topaz Labs professional-grade AI. 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.", "inputSchema": { "properties": { "job_id": { "description": "A previously returned upscale job id — pass it alone to check progress and fetch the finished video URL.", "type": "integer" }, "target_fps": { "description": "Target frame rate (default 30). 60 fps doubles the per-second rate.", "enum": [ 30, 60 ], "type": "integer" }, "target_resolution": { "description": "Target output resolution (default 1080p). 4K costs 4x: 1080p = 15/30 credits per input second (30/60fps), 4K = 60/120.", "enum": [ "1080p", "4k" ], "type": "string" }, "video": { "description": "The video to upscale: an http(s) URL (a generated video's URL, or one from upload_media for local files). Up to 20 seconds, ≤50MB. Required unless job_id is set.", "type": "string" } }, "type": "object" }, "name": "upscale_video", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:95f2552a876038588434b4f0f02c3904b5c2fabe5f29e2cd54c6a134ecf38e51 | sha256sum