Public Search
Model discovery remains public. Use browse for listings, search for ranked results, and filters for UI controls.
/api-embeddings/browse/api-embeddings//api-embeddings/filtersDeveloper Tools
Public search stays open, user-token agent workflows and browser-approved plugin auth stay available, and every file download now resolves through the direct-file inventory with explicit topology, exact relative path, and no prepare stage.
Downloads no longer hit a prepare endpoint. The main-site authenticates the caller, records the transaction, resolves the exact inventory entry by `format` + `lod` + `relativePath`, and returns the final worker `directUrl`.
Model discovery remains public. Use browse for listings, search for ranked results, and filters for UI controls.
/api-embeddings/browse/api-embeddings//api-embeddings/filtersUse the user-token agent flow for AI agents and automation. Register or log in, store the token, then use it on account and download routes.
/api/auth/register/api/auth/login{
"email": "agent@example.com",
"password": "choose-a-strong-password",
"name": "Agent Account"
}
First discover exact files for a model, then call the direct route with the exact file descriptor. This matters because one model can expose the same extension across multiple topology folders.
/api/download/formats/{guid}/api/download/direct{
"guid": "product-guid",
"format": "fbx",
"lod": "100k",
"relativePath": "uploads_files_6372157_100k/example.fbx"
}
{
"ok": true,
"guid": "product-guid",
"format": "fbx",
"lod": "100k",
"downloadUrl": "https://worker-0001.free3d.online/data/.../example.fbx",
"fileName": "example.fbx",
"contentType": "application/octet-stream",
"relativePath": "uploads_files_6372157_100k/example.fbx",
"chargedUsd": 1,
"balanceRemainingUsd": 99
}
Plugins stay on the browser-approved auth flow. Search is public, but account-aware downloads require a plugin token.
/api/apps/auth/start/api/apps/auth/poll/{session_id}?pollToken=...{
"appSlug": "free3d-3dsmax",
"appName": "Free3D 3ds Max Plugin",
"appVersion": "0.1.0",
"pluginFamily": "3dsmax",
"deviceName": "artist-workstation",
"requestedScopes": ["account:read", "balance:read", "entitlements:read", "download:direct", "scene:import"]
}
The plugin reads `fbxVariants` and `maxVariants` from the formats route, then calls the direct route for the exact scene file and support files. Plugins should treat the formats response as authoritative and never guess paths.
/api/plugin/download/formats/{guid}/api/plugin/download/direct{
"guid": "product-guid",
"format": "fbx",
"lod": "100k",
"variant": "static",
"relativePath": "uploads_files_6372157_100k/example.fbx"
}
{
"ok": true,
"downloadUrl": "https://worker-0001.free3d.online/data/.../example.fbx",
"supportFilesCount": 4,
"supportFiles": [
{
"relativePath": "uploads_files_6372157_100k/textures/example_basecolor.png",
"url": "https://worker-0001.free3d.online/data/.../example_basecolor.png"
}
],
"import": {
"dcc": "3dsmax",
"mode": "import",
"target": "current_scene",
"sceneFileUrl": "https://worker-0001.free3d.online/data/.../example.fbx",
"sceneRelativePath": "uploads_files_6372157_100k/example.fbx",
"assetsRootUrl": "https://worker-0001.free3d.online/data/.../uploads_files_6372157_100k",
"searchPaths": ["uploads_files_6372157_100k", "uploads_files_6372157_100k/textures"]
}
}
The model page follows the same topology-first contract. Signed-in browser users first choose topology, then format, and the UI resolves either an exact direct file or a short-lived generated archive.
/download/{guid}/format/{ext}?lod={lod}&relativePath={relativePath}/download/{guid}/textures?ext={ext}&lod={lod}&relativePath={relativePath}/download/{guid}/all?ext={ext}&lod={lod}&relativePath={relativePath}Main-site sync stays transactional and async-indexed, and the worker contract uses direct static files, rendered posters, and `files[]` inventory as the single download source of truth.
https://worker-0001.free3d.online/api-sync/status.jsonhttps://worker-0001.free3d.online/api-sync/changes?since=0&limit=50https://worker-0001.free3d.online/api-sync/product/{guid}The public 3ds Max starter uses the same browser-approved plugin auth flow and resolves downloads through the topology-first direct-file contract, using exact `fbxVariants` metadata returned by the API.
/assets/plugins/3dsmax/free3d_installer.ms/assets/plugins/3dsmax/update-feed.jsonThe public Unity starter is a single-file editor script. It uses the same browser-approved plugin auth flow, the same public search APIs, and the same direct-file plugin download contract, while checking the published update feed on editor startup.
/assets/plugins/unity/free3d_online.cs/assets/plugins/unity/update-feed.json/api/manifest.yaml
Worker
worker-manifest.yaml
/assets/manifests/worker-manifest.yaml
Worker guide
worker-guide.md
/assets/manifests/worker-guide.md
Plugin
plugin-manifest.yaml
/assets/manifests/plugin-manifest.yaml
Plugin guide
plugin-guide.md
/assets/manifests/plugin-guide.md
AI-native interface for Claude, Cursor, Windsurf, and other MCP-compatible agents. Search and download 3D models through structured tools without writing HTTP client code.
https://free3d.online/mcp/ssehttps://free3d.online/mcp/LowPoly models (LOD 1k, ~1k–5k polygons) are free and require no API key. HighQuality versions (10k/100k/source) require an API key from your account.
{
"mcpServers": {
"free3d": {
"command": "python",
"args": ["/path/to/free3d_mcp_server.py", "--transport", "stdio"]
}
}
}
// Tool: search_models
{
"query_string": "robot",
"category_string": "characters",
"limit_int": 10
}
// Response includes license_type_string:
// "lowpoly_free" = free to download
// "premium" = requires API key for HQ versions
// Tool: download_model
{
"model_id_string": "mdl_07fcd353-3dc7-4303-932d-0af202bab7c8",
"format_string": "glb",
"lod_string": "1k"
}
// Response: direct_download_url_string with 15-min token
// Tool: download_model
{
"model_id_string": "mdl_07fcd353-3dc7-4303-932d-0af202bab7c8",
"format_string": "glb",
"lod_string": "100k",
"api_key_string": "fr3d_live_xxxxxxxx"
}
// Without key: HTTP 402 Payment Required
// With valid key: direct download URL
git clone https://github.com/free3d/mcp-server.git
cd mcp-server
docker-compose up -d
Full MCP server documentation
MCP Manifest
server.json
MCP registry manifest
GitHub
free3d/mcp-server
Source code & Docker
Rate limits: 100 req/min for LowPoly search, 60 req/min for HighQuality downloads. No authentication required for LowPoly (1k) models.
curl -H "Authorization: Bearer $API_TOKEN" \
"/api/download/formats/PRODUCT_GUID"
curl -X POST \
-H "Authorization: Bearer $API_TOKEN" \
-H "Content-Type: application/json" \
"/api/download/direct" \
-d '{"guid":"PRODUCT_GUID","format":"fbx","lod":"100k","relativePath":"uploads_files_6372157_100k/example.fbx"}'
curl -X POST \
-H "Authorization: Bearer $APP_TOKEN" \
-H "Content-Type: application/json" \
"/api/plugin/download/direct" \
-d '{"guid":"PRODUCT_GUID","format":"fbx","lod":"100k","variant":"static","relativePath":"uploads_files_6372157_100k/example.fbx"}'
curl -I \
"/download/PRODUCT_GUID/format/fbx?lod=100k&relativePath=uploads_files_6372157_100k/example.fbx"