upload_asset Base64 fallback only; prefer upload_asset_from_url for remote files or create_asset_upload for local bytes. Returns an immutable media ID to reuse. Max decoded 2 MiB, raster 2 MiB, text 1 MiB. GLB must be self-contained and uncompressed. Details: /docs/mcp/upload_asset. FALLBACK upload route #3. Prefer upload_asset_from_url (#1) when an accessible HTTPS URL exists; use create_asset_upload + raw HTTP (#2) for local files. Do not embed large base64 strings in MCP when either preferred route works. Backward-compatible base64 upload of a self-contained GLB 2.0 model, raster image, audio, video, PDF, ZIP or UTF-8 text once and reuse the immutable returned SHA-256 id in Asset Board parts. Content-addressed uploads are idempotent; repeat identical bytes after a lost response. MCP accepts up to 2 MiB of decoded media; raw HTTP upload accepts 16 MiB (raster images 8 MiB, UTF-8 text 1 MiB). GLB uploads return cached model statistics and named animation clips. Embed all buffers and PNG/JPEG/WebP textures. Maximum 1 million triangles, 2 million vertices, 1024 bones, 128 clips, 4096px per texture side, 16 megapixels total textures. Draco/Meshopt/KTX2 compression and external resources are not accepted; export uncompressed GLB for this release. UTF-8 HTML documents (starting with or , up to 16 MiB) are accepted as attachments; review previews run inline scripts in an isolated sandbox with external resources blocked. Embed all assets. SVG and unrecognized media are rejected. PDFs/ZIP/text download as sandboxed attachments and are not additional Asset Board part types. Media bytes never appear in ordinary asset reads.