Files between machines¶
blender_upload ¶
Copies a file, or every file under a folder, from this machine to the machine Blender runs on: textures, HDRIs, models and .blend files a remote Blender cannot otherwise see. A relative localPath is read from the project — the folder the client works in — and without a remotePath the file lands in the project's twin on Blender's machine at the same relative path, so the two folders mirror each other; blender_diagnose names both under project. Sent in chunks and checked by SHA-256 before the file takes its name; an existing file is kept unless overwrite. With Blender on this same machine none of this is needed. Over HTTP the call copies nothing itself: remotePath is required, relative to the files area and starting with the project's folder (robot/textures), and the reply holds a command to run in a shell on the client's machine, from the folder you work in, before expires; it sends the file in parts of 16 MB, a folder as one tar, checked by SHA-256 at the end.
may overwrite or delete · every call adds · stays inside Blender.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
localPath |
string |
yes | — | File or folder on this machine: absolute, or relative to the project, the folder the client works in. |
remotePath |
string? |
— | null |
Where it lands on Blender's machine: absolute, or relative to the add-on's files folder; the same relative path in the project's twin otherwise. |
overwrite |
boolean |
— | false |
Replace files that already exist there. |
JSON Schema
{
"type": "object",
"properties": {
"localPath": {
"description": "File or folder on this machine: absolute, or relative to the project, the folder the client works in.",
"type": "string"
},
"remotePath": {
"description": "Where it lands on Blender\u0027s machine: absolute, or relative to the add-on\u0027s files folder; the same relative path in the project\u0027s twin otherwise.",
"type": [
"string",
"null"
],
"default": null
},
"overwrite": {
"description": "Replace files that already exist there.",
"type": "boolean",
"default": false
}
},
"required": [
"localPath"
]
}
blender_download ¶
Copies a file, or every file under a folder, from the machine Blender runs on to this one: finished frames, render job output, saved .blend files. Without a localPath it lands in the project — the folder the client works in — at the relative path it had in the project's twin over there, or under its own name when it came from elsewhere; with no project, in the downloads folder of this server's data directory. Checked by SHA-256 before the file takes its name, and an existing local file is kept unless overwrite. Over HTTP the call copies nothing itself: remotePath must be relative to the files area and start with the project's folder, and the reply holds a command to run in a shell on the client's machine, from the folder you work in, before expires; it writes to localPath or to the same relative place without the project's folder and keeps files that exist unless overwrite, while the server checks every file against the SHA-256 the add-on computed and breaks the command off when one differs.
only adds · every call adds · stays inside Blender.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
remotePath |
string |
yes | — | File or folder on Blender's machine: absolute, or relative to the add-on's files folder. |
localPath |
string? |
— | null |
Where it lands on this machine: absolute, or relative to the project; the matching place in the project otherwise. |
overwrite |
boolean |
— | false |
Replace local files that already exist. |
JSON Schema
{
"type": "object",
"properties": {
"remotePath": {
"description": "File or folder on Blender\u0027s machine: absolute, or relative to the add-on\u0027s files folder.",
"type": "string"
},
"localPath": {
"description": "Where it lands on this machine: absolute, or relative to the project; the matching place in the project otherwise.",
"type": [
"string",
"null"
],
"default": null
},
"overwrite": {
"description": "Replace local files that already exist.",
"type": "boolean",
"default": false
}
},
"required": [
"remotePath"
]
}