Upload files — images, videos, documents
Last updated: May 19, 2026
Upload files — images, videos, documents
Drag-drop files onto the Creative Hub grid OR click Upload in the toolbar. Files are stored in Google Drive via the workspace's Service Account; metadata recorded in Wevion's creative_hub_file records. First upload triggers ensureUserFolder() which auto-creates your root folder. Thumbnails generated on demand (see ch-110).
Who is this for
Anyone adding new creative assets — designers uploading PSD exports, mediabuyers dropping in stock images, agencies uploading client-provided footage.
Supported file types
Category | Formats | Use case |
|---|---|---|
Images | PNG, JPG, JPEG, WebP, GIF | Static ad creatives, thumbnails, source for compositing |
Videos | MP4, MOV, WebM | Video ads, B-roll for compositing |
Documents | Briefs, reference docs, contracts |
Other types may upload but won't render in the preview / picker.
How to upload
Method 1: Drag-drop
Open
/creative-hub(or a specific folder)Drag files from your file manager onto the grid
A drop zone overlay appears
Release → upload starts
Multi-file drop supported.
Method 2: Upload button
Top toolbar → Upload
File picker opens
Pick one or more files
Confirm
Method 3: Folder picker (subfolder)
Navigate into the target folder first → then upload. Files land in the current folder, not the root.
What happens during upload
For each file:
Wevion frontend uploads to backend
Backend writes to Drive via Service Account
creative_hub_filerecord created with metadata (name, size, type, drive_id, owner_session_id)Thumbnail generation triggered (lazy — first preview request runs FFmpeg if needed)
UI: file appears in grid with progress indicator → finalized
Upload progress shown per file. Network interruption: failed uploads visible with retry option.
Limits
Per-file size: limit enforced server-side (typically 100 MB for video, 25 MB for image). Exceeded files rejected with clear error.
Total storage: workspace-wide quota; see
/settings/team/billingfor usage.Concurrent uploads: 5-10 parallel typical (browser-side limit).
For very large videos: compress before upload (e.g. HandBrake to 1080p H.264) — keeps storage costs down + speeds up serving.
Where files land
Root upload:
/creative-hub(your user root)Inside folder: into that folder
Team folder: into the team folder you're viewing (RBAC permits)
First upload triggers ensureUserFolder(userId) which creates your Drive root if missing.
First-upload setup (auto)
If you're a new user uploading for the first time:
Wevion creates your root folder on Drive (Service Account owns it)
Maps the Drive folder ID to your user_session
Future uploads go into this root by default
No manual setup needed. If a teammate set up your team folder structure earlier, ask them about folder conventions first.
RBAC + sharing
By default: only you (the uploader) + admins/owners can see your files. To share with teammates:
See ch-127 creative permissions for the full RBAC model.
Audit log
Uploads write action: creative_upload entries to the audit log with metadata (file_id, name, size, folder_id). Visible in /api/v1/audit-logs?resource_type=creative_hub_file.
Common issues
Upload stuck: network interruption or Drive quota; check connection + check
/settings → Integrations → Google Drivefor quota statusFile rejected (size): exceeds per-file limit; compress + retry
File rejected (type): format not supported; convert to a supported type
No thumbnail after upload: thumbnail generated lazily on first preview request; click the file to trigger generation (may take 5-30 sec for video)
Drive permission error: Service Account credentials may have expired / been rotated; ask admin to check
/settings → Integrations → Google Driveconnection status
Related
Organize folders — folder operations after upload
File preview — view what you uploaded
Thumbnails — how thumbnails work