Upload files — images, videos, documents
Drag-drop or browse to upload images / videos / docs. Drive-backed storage (no DB file table). 500MB/file, up to 50 files. ensureUserFolder auto-creates root on first upload.
Written By Salvatore Sinigaglia
Last updated About 1 hour ago
Drag-drop or browse to upload images / videos / docs. Drive-backed storage (no DB file table). 500MB/file, up to 50 files. ensureUserFolder auto-creates root on first upload.
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. There is no
creative_hub_fileDB table — the files live only on Drive, and Wevion lists/browses them straight from the Drive API. First upload triggersensureUserFolder()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
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 (into your Drive folder)
- No DB row is created — the file's metadata (name, size, type, id) lives on Drive itself
- 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: 500 MB per file (enforced server-side). Exceeded files rejected with a clear error.
- Files per upload: up to 50 files in one drop / selection.
- Total storage: workspace-wide quota; see
/settings/team/billingfor usage.
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
Visibility follows Wevion RBAC: super_admin and admin see all users' files; an owner sees their own + their team members'; everyone else (e.g. mediabuyer) sees only their own. To share more broadly with teammates:
See ch-127 creative permissions for the full RBAC model.
Audit log
Uploads are not written to the Wevion audit log — there is no creative_upload (or other creative_*) audit action in the code, and no creative_hub_file table to attach them to. Files exist on Drive; the audit log at /api/v1/audit-log covers other lifecycle events, not Creative Hub uploads.
Common issues
- Upload stuck: network interruption or Drive quota; check connection + check
/settings → Integrations → Google Drivefor quota status - File 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
FAQ
What file types can I upload to Creative Hub?
Wevion's Creative Hub accepts images (PNG, JPG, JPEG, WebP, GIF), videos (MP4, MOV, WebM), and PDF documents. Images work as static ad creatives or compositing sources, videos as ad footage or B-roll, and PDFs for briefs and reference docs. Other file types may upload but won't render in the preview or picker.
How do I upload files?
You can drag-drop files onto the Creative Hub grid at /creative-hub, or click the Upload button in the top toolbar to open a file picker. Both methods support multiple files at once. To place files in a subfolder, navigate into that folder first — files land in the current folder rather than your root.
Where are my uploaded files stored?
Wevion stores Creative Hub files in Google Drive via the workspace's Service Account. There is no creative_hub_file DB table — files live only on Drive and are listed straight from the Drive API. Your first upload triggers ensureUserFolder(), which auto-creates your Drive root folder with no manual setup needed. Future uploads default into this root unless you navigate into a specific folder first.
Is there a file size limit?
Yes — Wevion enforces a per-file limit of 500 MB server-side, and you can upload up to 50 files at once. Files exceeding the limit are rejected with a clear error. Storage is also capped by a workspace-wide quota you can check at /settings/team/billing. For very large videos, compress before upload to save storage and speed up serving.
Who can see the files I upload?
By default in Wevion, only you (the uploader) plus admins and super_admins can see your Creative Hub files (an owner also sees their team members' files). To share with teammates, use the team folders workflow, or share externally via Google Drive permissions. Uploads are not recorded in the audit log — there is no creative_* audit action.