Docs
Connect an assistant by signing in or with your key. Your key is on the Connection screen after you join.
Server URL
https://getstudiopass.com/api/mcpClaude.ai
Setup steps for Claude.ai will be published here once they are confirmed in that app.
ChatGPT
Setup steps for ChatGPT will be published here once they are confirmed in that app.
Cursor
Setup steps for Cursor will be published here once they are confirmed in that app.
Claude Code
Setup steps for Claude Code will be published here once they are confirmed in that app.
Grok
Setup steps for Grok will be published here once they are confirmed in that app.
HTTP API
The same key works as a bearer token over HTTP. Image and voice wait up to 45 seconds and return the file; video returns 202 at once, and you read it back by id. The full description is at /openapi.json.
List models
curl https://getstudiopass.com/v1/models \
-H "Authorization: Bearer sp_live_…"Make an image
curl https://getstudiopass.com/v1/generations \
-H "Authorization: Bearer sp_live_…" \
-H "Content-Type: application/json" \
-d '{"modality": "image", "prompt": "A lighthouse at dawn, watercolor"}'Start a video, then read it back
curl https://getstudiopass.com/v1/generations \
-H "Authorization: Bearer sp_live_…" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: 7c1d…" \
-d '{"modality": "video", "model": "veo-3.1", "prompt": "Waves at dusk", "duration_seconds": 8}'
curl https://getstudiopass.com/v1/generations/GENERATION_ID \
-H "Authorization: Bearer sp_live_…"Work from a reference image
Image models edit or build on the reference; a video clip starts from it. Upload the image once (at most 4 MB, kept for 7 days), then pass its id. A public image URL works too, as reference_image_url.
curl https://getstudiopass.com/v1/uploads -H "Authorization: Bearer sp_live_…" --data-binary @product.jpg -H "Content-Type: image/jpeg"
curl https://getstudiopass.com/v1/generations -H "Authorization: Bearer sp_live_…" -H "Content-Type: application/json" -d '{"modality": "video", "prompt": "The bottle turns slowly on a marble counter", "reference_image_id": "REFERENCE_IMAGE_ID"}'To keep an image for good, save it to your library: add ?name=Product%20front to the upload, or use the References screen in your account. GET /v1/references lists saved images.
In a chat, attach the image and ask for what you want. ChatGPT passes the attached file to Studio Pass directly. Where a chat can't pass files, your assistant gives you a link to drop the image in, or uploads it itself if it can run commands.
Speech
curl https://getstudiopass.com/v1/generations \
-H "Authorization: Bearer sp_live_…" \
-H "Content-Type: application/json" \
-d '{"modality": "voice", "text": "Welcome to the show."}'Ask the right questions first
GET /v1/brief?modality=video (or image, voice) returns the questions worth asking before you generate: where it will be shown, how long, which voice, whether a real product must look exact. Each comes with this account's options, prices, and a suggested answer. Connected assistants get the same through get_creative_brief, and ask before their first generation unless you turn that off on the Models screen. Voiceovers take a voice and a delivery (expressive, natural, steady).
Model settings and cost limits
On the Models screen in your account you choose which models your key and connected apps may use, the default for each type, and a limit above which a generation needs your go-ahead. A request for a model that is off returns model_disabled. A request above your limit returns confirmation_required with the cost; repeat it with "confirm_credits" set to that cost to go ahead.
A response's status is running, succeeded, or failed. A finished file is at file_url for 30 days. Credits are charged only when a generation succeeds. Errors return { "error": { "code", "message" } }. See Models for ids, prices, and allowed lengths.