Agent quickstart
Discover. Parameterise. Build.
3D asset functions for AI agents building in Blender: one parametric function per object, many products
Free beta — evaluation use. Free (forever): chair, table and bicycle; 3 build attempts per UTC day; GLB. 14-day trial: automatic on signup, no card; all 972 permitted families; 25 build attempts per UTC day; GLB and FBX. Then the key falls back to the Free plan; nothing is deleted. Free and trial previews stay watermarked. Evaluation licence: draft, not reviewed by counsel. One trial per email address. Premium, coming soon: higher limits, no watermark, commercial licence once reviewed. Tell us what you would build at /#waitlist (Premium interest). No prices announced. usage returns plan (free, trial or pro), trial_ends_utc (ISO UTC or null), trial_days_left (remaining partial days rounded up), builds_per_day, seconds_per_day, formats, builds_remaining, blender_seconds, seconds_reserved, rpm and concurrency. Failed build/vary attempts count. Limits: 30 calls/minute, one operation at a time, 600 execution seconds/call. Free: 1800 execution seconds/day; trial: 15000; Pro: 36000. Pro is operator-issued only; no public promotion route.
1. Connect your agent
Connect to https://mcp.sgtfleet.com/mcp. The examples below use this service address. Keep your trial key private.
Use an existing environment with the supplied MCP 2 and HTTPX dependencies. These instructions do not install packages. Request a key through the trial form and supply it privately as the SGT_API_KEY environment variable. Do not put it in source code, shell history, screenshots or URLs.
2. Initialise and make an evaluation build
Run this in the prepared Python environment. The build consumes trial quota. Check the build result, download the GLB and inspect the asset before using it.
# Connect with your trial key using the MCP streamable HTTP transport.
import asyncio
import os
import httpx
from mcp import ClientSession
from mcp.client.streamable_http import streamable_http_client
async def main():
"""Connect to the service, inspect a family and request one GLB build."""
key = os.environ["SGT_API_KEY"]
url = "https://mcp.sgtfleet.com/mcp" # This service.
async with httpx.AsyncClient(
headers={"Authorization": f"Bearer {key}"}
) as http:
async with streamable_http_client(
url, http_client=http
) as (read, write, *_):
async with ClientSession(read, write) as session:
await session.initialize()
tools = await session.list_tools()
print([tool.name for tool in tools.tools])
families = await session.call_tool("list_families", {})
print(families)
schema = await session.call_tool(
"get_schema", {"family": "chair"}
)
print(schema)
# This build uses one of your 25 daily trial build attempts.
result = await session.call_tool("build", {
"family": "chair",
"params": {},
"formats": ["glb"],
"render": True
})
print(result) # Build result only; never print the API key.
asyncio.run(main())
3. Retrieve an account-owned asset
Use the actual asset_id from the successful build response. Its exact response location is backend-defined; do not guess an ID. Set it as SGT_ASSET_ID. Authenticated endpoints are /api/assets/{asset_id}/glb, /preview and /provenance.
# Use your trial key to download the asset returned by your build.
import os
from pathlib import Path
from urllib.parse import quote
import httpx
asset_id = quote(os.environ["SGT_ASSET_ID"], safe="")
with httpx.Client(headers={
"Authorization": f"Bearer {os.environ['SGT_API_KEY']}"
}) as client:
response = client.get(
f"https://mcp.sgtfleet.com/api/assets/{asset_id}/glb"
)
response.raise_for_status()
destination = Path("evaluation-asset.glb")
# Save to a new file; choose another name if it already exists.
with destination.open("xb") as output:
output.write(response.content)
HTTP alternative
The same-origin HTTP wrapper accepts authenticated POST /api/call with JSON {"name":"list_families","arguments":{}}. Use Authorization: Bearer with your privately supplied key. Do not paste real credentials into documentation or shared commands.
Review the draft evaluation terms and privacy draft. Trial access lasts 14 days, with 25 build attempts per UTC day, then the Free plan with 3. Use usage to read your current plan and trial end date.