Skip to content
Download Beeper

Upload an asset (base64)

client.assets.uploadBase64(AssetUploadBase64Params { content, fileName, mimeType } body, RequestOptionsoptions?): AssetUploadBase64Response { duration, error, fileName, 6 more }
POST/v1/assets/upload/base64

Upload a file using a JSON body with base64-encoded content. Returns an uploadID that can be referenced when sending messages with attachments. Alternative to the multipart upload endpoint.

ParametersExpand Collapse
body: AssetUploadBase64Params { content, fileName, mimeType }
content: string

Base64-encoded file content (max ~500MB decoded)

minLength1
maxLength750000000
fileName?: string

Original filename. Generated if omitted

mimeType?: string

MIME type. Auto-detected from magic bytes if omitted

ReturnsExpand Collapse
AssetUploadBase64Response { duration, error, fileName, 6 more }
duration?: number

Duration in seconds (audio/videos)

error?: string

Error message if upload failed

fileName?: string

Resolved filename

fileSize?: number

File size in bytes

height?: number

Height in pixels (images/videos)

mimeType?: string

Detected or provided MIME type

srcURL?: string

Local file URL (file://) for the uploaded asset

uploadID?: string

Unique upload ID for this asset

width?: number

Width in pixels (images/videos)

Upload an asset (base64)

import BeeperDesktop from '@beeper/desktop-api';

const client = new BeeperDesktop();

const response = await client.assets.uploadBase64({ content: 'x' });

console.log(response.width);
{
  "duration": 0,
  "error": "error",
  "fileName": "fileName",
  "fileSize": 0,
  "height": 0,
  "mimeType": "mimeType",
  "srcURL": "srcURL",
  "uploadID": "uploadID",
  "width": 0
}
Returns Examples
{
  "duration": 0,
  "error": "error",
  "fileName": "fileName",
  "fileSize": 0,
  "height": 0,
  "mimeType": "mimeType",
  "srcURL": "srcURL",
  "uploadID": "uploadID",
  "width": 0
}