S

StableStudio · Upload

by StableStudio

POSTBaseSolana

$0.01

per call · USD Coin on Base

Get a client token for direct upload to Vercel Blob

Endpoint

POST https://stablestudio.io/api/upload

2

Calls / 30d

2

Unique payers / 30d

Aug 18

Last called

exact

Payment scheme

Call this service

TypeScript · @x402/fetch
import { wrapFetchWithPayment } from "@x402/fetch";
import { privateKeyToAccount } from "viem/accounts";

const account = privateKeyToAccount(process.env.PRIVATE_KEY);
const fetchWithPay = wrapFetchWithPayment(fetch, account);

const res = await fetchWithPay("https://stablestudio.io/api/upload", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    "contentType": "image/jpeg",
    "filename": "photo.jpg",
    "size": 1524605
  }),
});
const data = await res.json();
cURL
curl -X POST \
  "https://stablestudio.io/api/upload" \
  -H "Content-Type: application/json" \
  -d '{"contentType":"image/jpeg","filename":"photo.jpg","size":1524605}' \
  -H "X-PAYMENT: <signed x402 payment>"

Example response

{
  "clientToken": "vercel_blob_client_token_example_redacted",
  "curlExample": "curl -X PUT \"https://vercel.com/api/blob/?pathname=uploads%2F8eecdb7b-bd76-4054-94f9-94c9abb57eab%2Fphoto.jpg\" -H \"authorization: Bearer <client-token>\" -H \"x-content-type: image/jpeg\" -H \"x-api-version: 11\" --data-binary @photo.jpg",
  "expiresAt": "2026-05-18T20:11:05.273Z",
  "pathname": "uploads/8eecdb7b-bd76-4054-94f9-94c9abb57eab/photo.jpg",
  "uploadId": "8eecdb7b-bd76-4054-94f9-94c9abb57eab"
}

Payment details

Pay to0x07f067959297767c887dbfa3c72379c66e82a045
AssetUSD Coin · 0x833589fcd6edb6e08f4c7c32d4f71b54bda02913
NetworksBase, Solana
Schemesexact

Is this your API?

Pin it to the top of Media & Generation and the homepage with a featured placement.

Get featured →

More from StableStudio & similar services