#LinkCodeDOCS
Docs/Files & media

Resumable delivery

Live

Link a file, not only a URL.

Upload images, audio, video, PDFs and archives with resumable transfers, strict validation and the correct LinkCode media viewer.

01

Supported media

PropertyTypeDescription
ImagesJPEG, PNG, WebP, GIF, AVIF

Displayed in the LinkCode image viewer.

AudioMP3, MP4 audio, WAV, OGG, WebM

Played with native browser controls.

VideoMP4, WebM, QuickTime

Streamed through the native video player.

DocumentsPDF, plain text

PDF viewer or safe direct delivery.

DownloadsZIP

Delivered as a download rather than executed.

02

Resumable upload sequence

  • Request or initialize an authenticated upload for the workspace.
  • Upload in 6 MB TUS chunks with retry delays and progress reporting.
  • Persist the media metadata only after storage confirms completion.
  • Reference the returned asset ID from a media route.
  • The public media endpoint serves only ready assets attached to active codes.
const upload = new tus.Upload(file, {
  endpoint: "https://<project>.storage.supabase.co/storage/v1/upload/resumable",
  chunkSize: 6 * 1024 * 1024,
  retryDelays: [0, 3000, 5000, 10000, 20000],
  headers: { authorization: `Bearer ${session.access_token}` },
  metadata: {
    bucketName: "linkcode-public-assets",
    objectName: `${userId}/${workspaceId}/${crypto.randomUUID()}`,
    contentType: file.type
  }
});
upload.start();
03

Large-file limits

LinkCode uses resumable delivery and records assets up to the configured product ceiling. The effective maximum is also constrained by the active Supabase Storage plan and project-wide setting.