Uploading media to CRM - GHL
Quick overview (what you'll use)
Media Library / Media Storage
central place to upload and manage images, videos and files. Use this first. Growthable+1
Hosted Video Player
recommended when you want to upload/stream videos inside Funnels (supports multiple qualities, PiP, speed controls). HighLevel Support Portal
Embed (third-party)
paste iframe/embed code (YouTube, Vimeo, etc.) into Posts or pages when you prefer external hosting. HighLevel Support Portal
API
there's a REST endpoint to upload files into Media Library if you want automation. HighLevel Ideas
1) Upload images / files to the Media Library (desktop)
01
Log into the sub-account where you want the media.
02
In the left sidebar click Media Library (sometimes labeled Media Storage or accessible from Websites / Funnels → Media).
03
Click Upload (or the "+" / Upload button).
04
Choose files from your computer (PNG, JPG, GIF, SVG, PDFs, etc.). Optionally create folders for organization.
05
After upload you can: rename, move to folders, get a direct link, or delete via the three-dot / right-click menu.
Tips
● Keep consistent folder names (e.g., "emails", "landing-pages", "logos"). Growthable
2) Add an image into a Funnel / Page / Website
1
Open Funnels or Websites → choose the Funnel/Page and click Edit.
2
Add an Image element (drag & drop).
3
Click the Image element → open Image Library → select from Media Library or upload directly from this modal.
4
Insert and adjust size/position. Save and preview.

Tip: Images uploaded from a page's editor are available system-wide (once in Media Library you can reuse them elsewhere). Growthable
3) Upload & use video (best practices)
For Funnels / Pages (use Hosted Video Player)
1
In the page editor add a Video element.
2
In the Video settings set Video Type → Hosted Video (or similar). Click Select Video to open the Media Library. Upload the MP4 (or select an already uploaded video).
3
Configure playback controls (autoplay, speed, PiP, quality options, fullscreen, progress bar) in the element settings.
For Emails
● Most email clients don't support embedded playable video. Use the Video element (thumbnail) which creates a clickable thumbnail that links to the hosted video or a landing page. (GHL offers a video element that inserts a linked thumbnail.) HighLevel Support Portal+1
For Memberships / Courses
● Upload videos into Membership lesson areas (or store in Media Library and link). Note: some users request more seamless Media Membership linking — behavior can differ by account/version. HighLevel Ideas+1
Formats & performance
● Use MP4 (H.264) for best browser compatibility. Optimize size / bitrate for quicker streaming. Hosted Video player supports multiple playback qualities. HighLevel Support Portal
4) Embed third-party media (YouTube, Vimeo, SoundCloud, etc.)
Get the embed code
Get the embed/iframe code from the third-party (Share → Embed).
Paste into GHL
In GHL where you edit a Post / Page, choose Embed Media (or HTML element / custom code block) and paste the iframe. The platform will render the media in the preview
5) Upload from Mobile app
Open the GHL mobile app → Hamburger menu → Media Library.
Tap Upload (+) → choose Gallery, Camera, or Files to upload images, videos, or PDFs
6) Use media in other places (Emails, Social Planner, Contacts, Memberships)
Emails
insert images from Media Library; for videos, use the Video element (thumbnail + link). HighLevel Support Portal+1
Social Planner / Posts
you can upload audio/video or paste embed codes when creating posts. HighLevel Support Portal
Contacts / CRM
attaching files to contact records is limited common workaround: upload file to Media Library and save the returned link in the contact notes or a custom field. Community threads discuss API/workarounds. Reddit+1
7) Automate uploads (API)
● GHL has REST endpoints that allow uploading files programmatically into the Media Library (useful for bulk imports or automation). See the API docs / community idea threads for examples. HighLevel Ideas
8) Troubleshooting & common gotchas
Video won't play / selectable
re-encode the video (H.264/MP4) and re-upload; Hosted Video player has troubleshooting notes for encoded videos. HighLevel Support Portal+1
Media library not showing in a module
Some modules expose Media Library differently; if a module doesn't pull from Media Library, check GHL docs or submit a support ticket / idea (there are feature requests about broader Media Library access). HighLevel Ideas+1
Email video playback
email clients block embedded video use a thumbnail that links to a hosted page or the video URL. HighLevel Support Portal
File size / quota
large video files may take a while to upload — compress before uploading. If you hit storage limits, check your account settings or contact support.
9) Quick checklist (do this every time)
Optimize images
(web-sized, compressed JPG/PNG/WebP).
Encode videos to MP4
(H.264), keep bitrates reasonable.
Name files clearly
and place in proper folder.
Use Hosted Video Player
for funnels; use embed for third-party hosting.
For emails
always use a linked thumbnail, not embedded video.
Useful links (official docs & tutorials)
  • How to upload images / Media Library tutorials. Growthable+1
  • Hosted Video Player for Funnels (settings, troubleshooting). HighLevel Support Portal
  • Embed media from third-party platforms in Posts. HighLevel Support Portal
  • API: upload files to Media Library (developer docs / community threads). HighLevel Ideas