Your app is an organization in BuildBase. Your users sign in and work inside workspaces - one per team or customer.
You set up
In the console and the SDK
- Images uploaded in the console or from your server
- Whether each image is public or private
- Where you use them: posts, docs, your sign-in page
You get
For you and your team
- Image hosting without a storage bucket to manage
- Private images behind links that expire
- Width and height recorded for every image
Image hosting without a bucket to manage
Upload, get a URL and dimensions back, and choose who can open it.
Images Only, Checked
JPEG, PNG, GIF, WebP and SVG are accepted, checked by what the file really is, not by its name.
Safe SVGs
Scripts are stripped out of SVG files before they are stored.
Size Recorded
Width and height are saved with each image, so pages can reserve the space before it loads.
Public or Private
Choose per image. Private images are served through links that expire, and you can switch at any time.
One Image Library
The same images appear in the blog and docs editors, your sign-in page and your organization settings.
Find It Fast
Filter by public or private, sort by newest, and copy a public link in one click.
Upload up to 5 MB with one multipart POST
Send the file under the field name file with an org token, up to 5 MB, and the response has the URL and dimensions. Larger files, up to 100 MB, go direct to storage on a signed URL. Your app's users upload their own workspace images and profile pictures through the SDK.
import { readFile } from 'node:fs/promises';
const form = new FormData();
form.append(
'file',
new Blob([await readFile('logo.png')], { type: 'image/png' }),
'logo.png'
);
// A string, not a boolean - anything else lands private.
form.append('public', 'true');
const res = await fetch('https://api.console.buildbase.app/api/assets', {
method: 'POST',
headers: { Authorization: process.env.BUILDBASE_TOKEN! },
body: form,
});
const { file: [asset] } = await res.json();
console.log(asset.bucket.url, asset.image); // { width, height }Read more in the docs
Setup guides and reference for Assets & Media.
Frequently Asked Questions
What people ask about Assets.
Do my users see this?
They see the images you place in front of them, like the logo on your sign-in page. Managing images is for your team, but your app’s users can upload a workspace image or profile picture through the SDK, and form visitors can attach images to a form. Those land in your assets and count toward your storage.
Which files can I upload?
Images only: JPEG, PNG, GIF, WebP and SVG. Other file types are refused.
Are images resized or converted?
No. Images are stored as uploaded - except that scripts are stripped from SVGs - with their width and height recorded.
Can I delete an image?
Yes. Deleting removes the stored file first and the image after, and frees the space at once. Anything still embedding it shows a broken image, so the delete confirmation lists where the image is used before you confirm.