API · MCP · CLI
The AI product-photography API — for code and agents
Generate, cut out, and search professional product photography from your own code — or hand the same tools to an AI agent over MCP. Powered by Nano Banana 2. Start with free trial credits, no card required.
curl -X POST https://nanostudiopro.com/api/v1/generations \
-H "Authorization: Bearer sk_sf_live_..." \
-H "Content-Type: application/json" \
-d '{
"project_id": "prj_...",
"prompt": "A leather handbag on a marble table, soft daylight",
"resolution": "2K"
}'

What you can build
Every endpoint returns a tracked task and signed URLs. Versioned under /api/v1.
Generate
Create product photos from a prompt + up to 14 reference images.
POST /v1/generationsCut out
Extract the subject as a transparent PNG with a clean background plate.
POST /v1/cutoutsImport
Drop any local or remote image straight into a project timeline.
POST /v1/generations/uploadSearch
Full-text + detection-aware search across a user's whole library.
GET /v1/searchAssets
Manage a reusable reference library — models, poses, backgrounds.
GET/POST /v1/assetsTasks
Track every async job; poll status, cancel, or retry.
GET /v1/tasksEmbed
Put the search experience on your own site with the <nano-search> widget — two lines of HTML, no build step.
/embed/search.jsImage Search API
Add AI image search to your app
The same engine behind the gallery — full-text, color, and detection-aware search over a library — in one authenticated GET. Signed image URLs come straight back, sized to whatever your grid needs. Set include_regions to get the detection boxes — label, category, texture, colors, and a normalized bounding box — for object-level search and overlays.
<nano-search> widget — two lines of HTML, themed to your site.Live demo →Request
curl -G https://nanostudiopro.com/api/v1/search \
-H "Authorization: Bearer sk_sf_live_..." \
--data-urlencode "q=red dress on a light background" \
--data-urlencode "colors=#b91c1c,white" \
--data-urlencode "include_regions=true" \
--data-urlencode "aspect=portrait"Response
{
"items": [
{
"id": "cmqu0rt3b000v1n49...",
"type": "generation",
"name": "Studio red dress",
"image_url": "https://.../signed.webp",
"image_width": 1024,
"image_height": 1536,
"aspect_ratio": "2:3",
"score": 0.98,
"scanned_at": "2026-07-12T18:04:11Z",
"regions": [
{
"label": "dress", "category": "clothing",
"texture": "silk", "colors": ["red"],
"bbox": { "x": 0.31, "y": 0.22, "w": 0.38, "h": 0.61 }
}
]
}
],
"total": 128,
"next_offset": 40
}Query parameters
qrequired- Full-text query across names, prompts, and detected content. Typo-tolerant on longer words — returns did_you_mean on a miss.
colors- Hex (#b91c1c) or names (red,white), comma-separated and OR'd. Hex snaps to the nearest palette color.
include_regions- Return detection boxes per result: label, category, texture, colors, and a normalized 0–1 bbox.
style- photograph · 3d-render · illustration
aspect- portrait · landscape · square
has_pose / has_colors- Keep only results that carry detected body-pose joints, or color data.
type- generation · asset — defaults to both.
project_id- Scope to one or more projects (comma-separated).
scanned_after / scanned_before- ISO 8601 timestamps for a date-range filter.
sort- relevance (default) · date_desc · date_asc
image_size- Point image_url at a resized WebP (rendered on demand, then cached): xs · thumb · preview (default) · large · original.
limit / offset- Pagination. limit is 1–100 (default 40); paginate with next_offset — null on the last page.
Requires the read scope. Full search reference →
Model Context Protocol
Connect any AI agent
Expose the whole studio as MCP tools. The user speaks naturally; the agent picks the tool and fills the parameters — no glue code, no per-app integration. 30 tools covering generation, sheets, editing (product placement, item swaps, style transfer), cutout, video, characters and places, storyboards (plan, make and share an interactive film), detections, search, projects, assets, and tasks, all backed by the same /v1 API.
generate_imagecutoutsearchwhoami# Remote — paste the URL into any MCP host that takes a token
https://nanostudiopro.com/api/mcp
# Local (stdio) — with the CLI installed, this is the whole setup
claude mcp add --scope user nanostudio nsp mcpWorks in Claude Desktop, Claude Code, and any MCP-compatible host. Full tool reference →
CLI
Pure Node, zero dependencies. Install with one line, authenticate with a device flow, and pipe your token anywhere.
curl https://nanostudiopro.com/cli/nsp | node - # install
nsp login # device-flow auth (opens browser)
nsp token # print your token, pipe into curl