Add an image you generated to this R3 account
r3_image_createStore a small image YOU generated in this R3 account's image library and get back the URL for it — the value R3ComponentTexture.url takes. This is how you make a checkerboard, a gradient, a test grid or a noise tile and then actually put it on something with r3_component_set.
Pass the image as a base64 data URL (data:image/png;base64,…), up to 1MB decoded. PNG, JPEG, GIF and WebP are stored; PNG is the right choice for a generated pattern.
This is NOT a way to upload an image file you already have. You would have to emit every byte of it as base64, which for a real texture is far more output than a reply can hold — and this server cannot read your disk. A person uploads real artwork in the R3 app, and r3_image_list shows what they have already put there: the account's own artwork, where there is some, beats a generated substitute.
Each call stores a NEW image, so calling it twice with the same bytes leaves two rows. The name you give is what appears in the owner's Images browser, prefixed with "agent-" so they can tell where it came from; a descriptive one says what it is.
For a material's texture set (colour + normal + roughness that tile), use r3_texture_create instead: R3 renders it, so no bytes go through you.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | A short plain-language name, e.g. "checkerboard 512". Stored as agent-checkerboard-512.png and shown to the account owner, so describe what the image IS. | |
| dataUrl | Yes | The image, as data:image/png;base64,… — up to 1MB once decoded. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | 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. | |
| imageId | Yes | ||
| filename | Yes | ||
| mimeType | Yes | ||
| sizeBytes | Yes |