Documentation

Bake3D MCP server

Let a compatible assistant coordinate 3D generation, rigging, animation and export. Keep your project and job IDs to continue the same work across sessions.

Connection

Use Streamable HTTP at https://bake3d.ai/api/v1/mcp with Authorization: Bearer YOUR_API_KEY. Create a key in Account → API; API access requires Pro or Studio. Store the key in the client’s credential configuration.

The endpoint negotiates MCP versions 2025-03-26, 2025-06-18 and 2025-11-25, returns JSON responses and does not require a persistent session. Read the client configuration example or the complete workflow guide.

Available tools

ToolPurposeCost
bake3d_accountRead balance, plan and action costs.Free
bake3d_list_projectsSearch your full library and page through project IDs.Free
bake3d_get_projectRead the rig, saved animation and asset downloads.Free
bake3d_generateStart from one image URL, up to four image URLs of the same subject (imageUrls), an uploaded image asset ID or a text prompt.25 mesh + 10 rig
bake3d_get_jobRead progress and terminal status.Free
bake3d_initial_animationCreate or recover the current rig’s included introduction.Free · bounded retries
bake3d_rigStart a new rigging job for an existing mesh.10 credits
bake3d_list_animationsList a project’s saved animations with id, name, duration and kind.Free
bake3d_list_presetsList motion preset IDs; with projectId, how each fits that rig (amplitude factor or reason).Free
bake3d_animateDescribe motion and save an animation on the project.5 credits
bake3d_exportRequest a rigged or animated GLB or FBX download.Free
bake3d_cancel_jobCancel an active job and refund its charge.Free
bake3d_delete_projectPermanently delete a project, its files and animations. Requires confirm=true.Free · irreversible

Tool schemas are returned by MCP tools/list. Generation and described-motion calls spend credits; submit once per intended result. Accepted jobs that fail are refunded. bake3d_delete_project is the only tool that removes data: it is owner-only, refuses projects with a running job, requires confirm: true, and cannot be undone or refunded.

Find an existing project

Use bake3d_list_projects to search the full account by title or category. It accepts q, filter (all, active, ready, needs-work), sort (updated, created, name), and limit (1–100; default 25). Pass the returned nextCursor as cursor with the same search options to continue. Stop when it is null. Start without a cursor to refresh the library after projects change.

bake3d_list_projects arguments
{
  "q": "vehicle",
  "filter": "ready",
  "sort": "name",
  "limit": 25
}

From job to playable animation

  1. Call bake3d_generate with exactly one source. Pass imageUrls (one to four angles of the same subject, the first being the primary reference) when the user has several views; the job’s output.views says how many the geometry engine used, and a fallback engine keeps only the primary image. Save the returned project ID and job ID.
  2. Poll bake3d_get_job every 3–5 seconds until succeeded, failed or canceled. Inspect an error before retrying.
  3. Read the project and its initialAnimationId, or call bake3d_list_animations for the saved clips with their IDs, durations and kinds (initial, described, preset, edited). The generation workflow attempts an included introductory motion; bake3d_initial_animation can recover it. Use bake3d_animate when you want a different described action.
  4. Call bake3d_export for the included motion, or pass a specific saved animation ID. Download the signed GLB URL within two hours, or request a fresh export link.
bake3d_animate arguments
{
  "projectId": "YOUR_PROJECT_ID",
  "prompt": "Turn the head slowly and wag the tail gently",
  "durationSeconds": 4,
  "loop": true
}
bake3d_export arguments
{
  "projectId": "YOUR_PROJECT_ID",
  "animationId": "YOUR_ANIMATION_ID",
  "fps": 30,
  "rootMotion": false
}

Set rootMotion: false for an in-place clip. Export accepts 24, 30 or 60 fps. Choose a saved animationId or a presetId; omit both to use the included initial animation when available. Set restPose: true for an unanimated copy. Set format: "fbx" for a binary FBX 7.4 file (skeleton, skin weights with up to four influences per vertex, embedded base-colour texture, one baked clip per file; verified in Blender 4.4). Presets are fitted to the actual rig: each plays at the largest amplitude its skin deformation budget allows (bake3d_list_presets with projectId reports the factor), and a preset that would tear the skin even at 30% amplitude, or that needs parts the rig lacks, returns HTTP 422 with the reason. Included-motion recovery allows three jobs per rig per UTC day and six starts per account in 24 hours; it does not spend credits.

Editor import and limits

Bake3D returns the asset. An editor bridge, the Bake3D add-on or a manual import places it in your scene. See the Blender, Unity, Unreal and Godot instructions for setup and validation status.

Server animation export currently supports one skeleton, up to 256 joints, clips up to 30 seconds and source files up to 24 MiB. Motion composition accepts durations from 0.5 to 20 seconds. Review the rig and deformation before production use.