The Pixelbin MCP connector routes your AI agent's tool calls to Pixelbin's own MCP server through Scalekit. Each user signs in to Pixelbin once, and Scalekit stores and refreshes their tokens, so your agent never handles credentials. It comes with 7 tools.
- Tools
- 7
- What they doRead · write · destructive
- 3 · 4 · 03 read4 write0 destructive
- Users sign in with
- OAuth
- OAuth app
- Scalekit's or your own
Setup
Install the SDK
Terminal window npm install @scalekit-sdk/node dotenvTerminal window pip install scalekit-sdk-python python-dotenvSet your credentials
Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret>Create the Pixelbin MCP connection
In AgentKit > Connections, create a Pixelbin MCP connection. The name you give it is the
connection_nameyour code passes. See Configure connections.Scalekit credentials are available for Pixelbin MCP server, so you don't need to register an OAuth app.
Authorize a user and make your first call
quickstart.mts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'import { createInterface } from 'node:readline/promises'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENVIRONMENT_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'pixelbinmcp'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize Pixelbin MCP:', link)const rl = createInterface({ input: process.stdin, output: process.stdout })await rl.question('Press Enter after authorizing...')rl.close()// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'pixelbinmcp_list_predictions',toolInput: {},})console.log(result)Terminal window npx tsx quickstart.mtsquickstart.py import osfrom scalekit import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENVIRONMENT_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "pixelbinmcp"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Pixelbin MCP:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="pixelbinmcp_list_predictions",connection_name=connection_name,identifier=identifier,)print(result)Terminal window python quickstart.pyEach user signs in once. See Authorize a user for the full flow and statuses.
Tools
Pass the exact name toexecute_toolpixelbinmcp_estimate_prediction_costEstimate the credits a PixelBin prediction will consume before running it.Read-onlyEstimatePredictionCost
Estimate the credits a PixelBin prediction will consume before running it. Always call this before create-prediction. Returns creditsPerOperation, totalCredits, and a confirmation_token required by create-prediction.
Inputs
operationstringrequired- Operation id under the plugin.
pluginstringrequired- Plugin id from list-predictions.
countinteger- Number of times this operation will run. Defaults to 1.
inputsobject- Operation-specific inputs that affect cost. Optional for fixed-cost plugins.
pixelbinmcp_get_predictionPoll a PixelBin prediction by id.Read-onlyGetPrediction
Poll a PixelBin prediction by id. Returns status (ACCEPTED/RUNNING/SUCCESS/FAILURE) and, on SUCCESS, the result URL(s). Results are hosted ~30 days; use save-prediction-to-storage to persist permanently.
Inputs
prediction_idstringrequired- The prediction workflow id returned by create-prediction.
pixelbinmcp_list_predictionsList available PixelBin prediction plugins and operations.Read-onlyListPredictions
List available PixelBin prediction plugins and operations. Returns a catalog with display names, credit costs, and categories. Use include_schema=true to get input schemas for create-prediction.
Inputs
categoriesstring- Optional comma-separated categories to filter (e.g. 'image-to-video,text-to-image').
include_schemaboolean- Include each plugin's input JSON Schema in the response.default
true
pixelbinmcp_create_predictionStart a PixelBin prediction (e.g.WriteCreatePrediction
Start a PixelBin prediction (e.g. background removal, upscaling, watermark removal, image-to-video, image generation). ALWAYS call estimate-prediction-cost first to get a confirmation_token, present the credit cost to the user, and pass the token here. Image/video/PDF inputs must be public HTTPS URLs — use request-upload-url for local files or upload-asset-from-url for public URLs. Async: returns a prediction id; poll with get-prediction.
Inputs
inputobjectrequired- Operation-specific JSON input. Image/video/PDF values must be public HTTPS URLs.
operationstringrequired- Operation id under the plugin (e.g. 'bg').
pluginstringrequired- Plugin id from list-predictions (e.g. 'erase').
confirmation_tokenstring- Token returned by estimate-prediction-cost. Required to confirm credit spend.
pixelbinmcp_request_upload_urlMint a presigned PUT URL to upload a local file to PixelBin storage.WriteRequestUploadUrl
Mint a presigned PUT URL to upload a local file to PixelBin storage. Returns uploadUrl, headers, a curl command, and hostedUrl (the permanent CDN URL). Use for local files when you have shell/curl access. For public URLs, use upload-asset-from-url instead.
Inputs
filenamestringrequired- File name with extension (e.g. 'photo.jpg'). Supported: jpg/jpeg/png/webp/avif/gif/bmp/tiff/heic/heif, mp4/webm/mov/avi/mkv/mpeg/mpg, pdf.
accessstring- Access level. Defaults to public-read.one of
public-readprivate overwriteboolean- Replace existing asset at same path. Defaults to false.
pathstring- Optional folder path in PixelBin storage (e.g. 'mcp-uploads/'). Defaults to org root.
pixelbinmcp_save_prediction_to_storagePersist a completed prediction's output to the user's PixelBin storage as a permanent asset.WriteSavePredictionToStorage
Persist a completed prediction's output to the user's PixelBin storage as a permanent asset. Use after a successful create-prediction when the user wants to keep the result beyond its ~30-day expiry.
Inputs
prediction_idstringrequired- The prediction workflow id whose output to persist.
accessstring- Access level for the saved asset. Defaults to public-read.one of
public-readprivate pathstring- Optional folder path in PixelBin storage. Defaults to org root.
pixelbinmcp_upload_asset_from_urlIngest a publicly-reachable URL into the user's PixelBin storage.WriteUploadAssetFromUrl
Ingest a publicly-reachable URL into the user's PixelBin storage. PixelBin fetches the asset server-side and returns a permanent CDN URL. Use when the user has a public URL; for local files use request-upload-url.
Inputs
urlstringrequired- Public HTTPS URL of the asset. Must be reachable without auth.
accessstring- Access level. Defaults to public-read.one of
public-readprivate formatstring- Optional file format override.
namestring- Optional asset filename without extension.
overwriteboolean- Replace existing asset at same path. Defaults to false.
pathstring- Optional folder path in PixelBin storage.
No tools match.