Save a .blend as a version of a Blender model
r3_blender_uploadSave a .blend you made or changed (in Blender, through a Blender MCP) as the newest version of one of the user's Blender models: the model is named by the file name, so "monster-truck.blend" adds a version to the user's monster-truck model, or makes the model. A tool argument cannot carry the file, so this answers a one-time upload ticket (5 minutes) and the upload endpoint: its URL, method, Authorization header and that the body is the file's raw bytes. Sending it needs file access where the .blend is (the R3 sandbox, or the user's own machine); without it, the user uploads on the Blender page. The endpoint's answer names the model, the version number and its sha256; R3 applies unapplied modifiers itself, and when the user's projects use an older version it asks one question (answer it with r3_blender_update). Then r3_blender_import puts the model in a project. Textures travel only when packed (bpy.ops.file.pack_all()). Up to 100 MB. Needs the blender:upload right.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| fileName | Yes | The .blend file name, which names the model: "monster-truck.blend" (".blend" is added when missing). A name only, no folder. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| body | Yes | ||
| answer | Yes | This answer in words: what was done, what R3 measured, decided or refused, and what to do next. The same text as the result's text block. Read it: the fields beside it are the data, this is the guidance. | |
| method | Yes | ||
| ticket | Yes | ||
| headers | Yes | ||
| fileName | Yes | ||
| maxBytes | Yes | ||
| expiresAt | Yes | ||
| environment | Yes |