Media
Add images, audio, video, YouTube embeds, and social media content to lessons.
Rich media makes language lessons engaging and memorable. The Lex Editor supports images, audio files, YouTube videos, Twitter embeds, and file attachments -- all inserted directly into your lesson content.
Images
Uploading Images
Open the Image Insert
Click the Insert Image button in the toolbar, or type /image in the editor.
Choose a Source
- Upload: select an image file from your computer (JPEG, PNG, WebP, GIF)
- URL: paste a URL to an image hosted elsewhere
Configure the Image
- Alt text: describe the image for accessibility (always recommended)
- Caption: optional text displayed below the image
- Size: drag the corner handles to resize after inserting
Insert
Click Insert to place the image at the cursor position.
Resizing and Alignment
After inserting an image, click it to select it. You will see:
- Corner handles -- drag to resize proportionally
- Alignment buttons -- left, center, or right alignment
Keep image file sizes under 2 MB for best performance. Large images slow down lesson loading, especially for students on mobile networks.
AI Image Placeholders
Some AI-generated lessons insert an image placeholder instead of a finished image. This is common in exam speaking tasks where the student needs a picture to describe.
The placeholder stores an English prompt, such as a realistic scene for a picture-description task. The teacher can review or edit the prompt, then generate the final image.
For exam picture-description tasks, the image prompt should usually be realistic, clear, and free of text or labels.
If an AI-generated lesson leaves an image in edit mode, review the prompt and click Generate before assigning the lesson. Otherwise the student may see an unfinished placeholder instead of the intended image.
Drawing on an Image (Annotate & Laser Pointer)
Every image in a lesson — inserted image, inline image, or image placeholder — supports live annotation. Hover the image to reveal a small toolbar at its top edge with three tools:
| Tool | What it does | Available in |
|---|---|---|
| Draw | Paint freehand strokes directly on the image in a chosen colour. Strokes persist and sync to every collaborator in real time. | Edit mode only |
| Laser pointer | Temporary pointer dot that follows your cursor and fades. Other participants see it live but nothing is saved. | Edit mode and read-only mode |
| Comment pin | Drag a numbered pin onto the image, then type a comment that grows outward from the pin along a connector line. | Edit mode only |
The toolbar also exposes a colour picker, Undo (removes your last stroke), and Clear (removes all strokes on this image). Colour, undo, and clear only become active while the Draw tool is selected — laser-only and read-only modes show the toolbar disabled so students see the controls exist but are reserved for annotation.
What syncs:
- Strokes save per-image through the collaboration channel, so every student and the teacher see the same annotations on the image immediately.
- Laser pointer uses awareness updates — it appears for everyone in the session but fades on its own; nothing is written to the lesson.
- Resize handles sit outside the image edge so they stay clickable even after you draw close to a border.
Typical uses:
- Circle the correct answer on a picture quiz during a live lesson
- Point at a specific phrase in a text-based image with the laser
- Mark up a diagram with arrows and labels the class can see live
- Leave numbered comment pins on a photo for a follow-up writing task
Student-drawn strokes are visible to the teacher in real time during live sessions — useful for having students mark their answer on a shared image. In homework and exercise modes the toolbar is disabled for students; drawing is a teacher-led feature there.
Audio
Inserting Audio Files
Open Audio Insert
Click Insert Audio in the toolbar or type /audio.
Choose Method
- Upload: select an audio file (MP3, WAV, M4A, WebM)
- Record: record audio directly in the browser using your microphone
- URL: link to an externally hosted audio file
Configure
- Title: a name for the audio clip (e.g., "Dialogue at the Airport")
- Transcript: add a text transcript (recommended for accessibility)
- Transcript visibility: choose how students see the transcript — hidden (never shown), after listening (appears after the student plays the audio), or always visible
Insert
The audio player block appears in the lesson.
Audio Player Features
The audio player displayed to students includes:
- Play/pause button
- Progress bar with scrubbing
- Playback speed adjustment (0.5x, 0.75x, 1x, 1.25x, 1.5x)
- Transcript toggle (if transcript was provided)
For listening comprehension exercises, set the transcript to "after-listen" mode. Students will not see the text until they have listened at least once, encouraging genuine listening practice.
Exam-Style Audio
Listening exam tasks can use a compact audio player with stricter controls:
- Limited plays — the player shows how many listens remain.
- No rewind — students cannot scrub back to repeat a fragment.
- Hidden transcript — the transcript stays hidden for controlled listening tasks.
- Built-in pauses — generated exam audio can include silent preparation time.
Use this when the listening task should feel closer to a real exam. For regular lessons, keep the standard audio player so students can replay and review freely.
Live Session Playback Sync
During a live session, the teacher has full control over audio playback for all connected students. When the teacher plays, pauses, seeks, or changes the playback speed, the action is instantly mirrored on every student's player.
- Play / Pause -- teacher presses play or pause and all students follow
- Seek -- teacher scrubs to a specific timestamp and all students jump to the same position
- Playback speed -- teacher switches to 0.75x or 1.25x and all students hear the same speed
Students' speed controls are disabled during a live session so they cannot override the teacher's choice. Outside of live sessions, students control their own playback freely.
Sync is one-way: the teacher commands, students follow. There is no noticeable delay, and the system prevents audio stutter by only adjusting the position when the difference is significant.
Video
Inserting Video Files
Open Video Insert
Click Insert Video in the toolbar or type /video.
Choose Method
- Upload: select a video file from your computer (MP4, WebM, OGG, MOV -- max 50 MB)
- URL: paste a direct URL to a video file hosted elsewhere
Insert
The video player block appears in the lesson with standard browser playback controls (play/pause, seek, volume, fullscreen, speed).
Resizing
Click the video to select it. Drag the corner handles to resize proportionally. The maximum resolution is 1920 x 1080.
Live Session Playback Sync
Video sync works identically to audio sync. During a live session, the teacher controls video playback for all students:
- Play / Pause -- teacher starts or stops the video for everyone
- Seek -- teacher jumps to a timestamp and all students follow
- Playback speed -- teacher changes speed and all students match
This ensures that the entire class watches the same moment at the same time, which is essential for guided video comprehension activities and post-viewing discussions.
Each video block in a lesson is controlled independently. If a lesson contains multiple videos, playing one does not affect the others.
YouTube Videos
Embedding YouTube
Open the Embed
Type /youtube or click the video button in the toolbar.
Paste the URL
Paste a full YouTube URL (e.g., https://www.youtube.com/watch?v=...) or a shortened youtu.be link.
Configure
- Size: the video embeds at a responsive width by default
Insert
The YouTube player appears embedded directly in the lesson.
Students can watch the video without leaving the lesson page. Controls are handled by the standard YouTube player.
Twitter / Social Media Embeds
You can embed tweets and social media posts directly into lessons. This is useful for:
- Showing authentic language use in social media
- Discussing cultural content
- Analyzing informal or colloquial language
Type /twitter or paste a tweet URL. The editor will detect and embed it automatically.
Auto-Embed Detection
The editor has an auto-embed system that detects URLs for supported services. When you paste a URL on its own line, the editor automatically offers to convert it into a rich embed for:
- YouTube videos
- Twitter/X posts
- Other supported platforms
Frequently Asked Questions
What image formats are supported?
JPEG, PNG, WebP, and GIF are supported. WebP is recommended for the best balance of quality and file size.
Is there a file size limit for uploads?
Images should be kept under 2 MB for optimal performance. Audio files can be larger, but we recommend compressing them when possible.
Can I record audio directly in the editor?
Yes. The audio upload dialog includes a recording option that uses your browser microphone. Grant microphone permission when prompted.
Can I embed Vimeo or other video platforms?
Currently, YouTube is the primary supported video platform. For other services, you can link to the video URL, but rich embedding is not guaranteed.





