Upload Media is the alternate starting point for the meme booth. Instead of asking the browser for camera access, it lets the user choose an existing image file and sends that image into the same Process Media editor used by camera captures.

This is useful when the right source image already exists: a saved photo, a screenshot, or another image the user has permission to use. Upload does not skip the rest of the workflow. The image still goes through the editor, where captions, privacy blur, background color, photo placement, and save/send behavior work the same way.

Requirements Check

The Requirements Check on Upload Media is a quiet browser readiness gate. It runs automatically when the page opens, stays collapsed while it is running or when it passes, and opens only when the browser cannot safely prepare uploaded media for the editor.

1. Browser + Canvas Check

This check confirms that the browser supports Canvas read/write access before the user chooses and uploads a file. The Process Media editor depends on Canvas to render the uploaded image or GIF, compose captions, place privacy blur masks, and export the finished meme.

The upload page does not ask for camera permission because no camera is used. If the canvas check fails, the upload button stays disabled and the Requirements panel opens with troubleshooting details. Common causes include restricted in-app browsers, disabled JavaScript, old browsers, or privacy extensions that block canvas/fingerprinting APIs.

If the check passes, choose an image and upload it. If it fails, open the Canvas troubleshooting help, fix the browser or extension setting, and reload the page before trying again.

Upload Requirements

The upload form accepts the image formats enabled in the admin media settings. By default, the app is prepared for JPG, PNG, GIF, and WebP source images. The file must stay within the configured still-image or animation size limit. Keeping the limit modest helps the editor load quickly on phones and prevents oversized images from making the process step slow or unstable.

Animated GIF files may be accepted as source images when GIF upload is enabled. When a GIF is edited, the app keeps the output as an animated GIF by rendering the current meme layout across the source frames before the Save Media step.

If the upload fails, the most common causes are choosing a file that is too large, choosing a non-image file, using an unavailable format, or using an image format the browser cannot decode into the editor canvas. Exporting the image as JPG, PNG, WebP, or another accepted format and trying again usually fixes the issue.

What Happens Next

After a valid image is submitted, the app stores it as the source image for the current meme session and redirects to Process Media. From there, the user can arrange the image, add captions, add privacy blur masks, adjust animation settings for GIF sources, and save the finished meme.

The original uploaded image should remain preserved as the source attachment with the default upload metadata, including the original client filename when the browser provides it. The edited output becomes the generated meme used on the Save Media page and in email delivery.

Action Buttons

Icon Label What It Does
Remove Upload Clears the selected file from the preview card so the user can choose a different image before submitting.
Capture Instead Capture Instead Returns to the camera capture page when the user decides to start with live media instead of an uploaded file.
Upload Image Upload Image Submits the selected source image and opens the Process Media editor when the upload is valid.
Display Settings
Color mode
Direction
Accent color
Theme preference is saved in this browser.