MyWork24 Knowledge Base
Article

Insert images and embeds

Edit

The Editor accepts three kinds of media — image files, video files, and external embeds (YouTube and Vimeo). This guide walks through every insertion path and explains what to expect after the upload completes.

Insert an image

Four routes, ranked roughly by how often you'll reach for them.

Drag-and-drop

  • Open your file manager next to the editor window.

  • Drag any image file onto the editor canvas.

  • Drop it where you want the image to appear.

Upload starts immediately; an Uploading … notice shows under the toolbar while bytes stream. When the upload finishes, the image renders in place — no page refresh needed. If the upload is refused, an Upload failed: notice explains why.

Paste

  • Copy an image to the clipboard — a screenshot, a copy from a file manager, or copy-image from another browser tab.

  • Click in the editor where you want the image.

  • Press Ctrl+V (or Cmd+V on macOS).

Same upload flow as drag-and-drop.

Toolbar 🖼️

  • Click the 🖼️ icon at the end of the main toolbar row.

  • Pick a file from the OS file picker.

  • The image inserts at the current cursor position.

Programmatic (agent API)

For scripted imports, see the agent API docs. Workflow:

  • Upload the file via POST /api/kb/admin/blobs (multipart form field named file). The endpoint returns { id, url, contentType, byteSize }.

  • Reference the blob URL in your markdown body via .

  • Send the markdown via POST /api/kb/admin/articles/import.

Keep the URL relative — /api/kb/blobs/N rather than absolute. The public reader resolves it against its own origin, and the chat-widget rewrites the /api/kb prefix to mywork's same-origin proxy path (for example /UnleashedApi/rest/kb/blobs/N), which fetches the bytes from the Knowledge Base server-side. Absolute URLs would bypass that rewrite.

Resize and align an image

Every inserted image has four corner handles (visible when the image is selected) plus a small side menu.

  • Click the image to select it. Corner handles and the side menu appear.

  • Drag any corner handle to scale. Aspect ratio is preserved automatically.

  • Type into the Alt text field to add an accessibility description; press Enter or click away to commit, Esc to revert. Short and concrete works best — describe what the image shows, not that it's an image.

  • Choose an alignment with the three buttons:

  • Inline — the default. The image sits in the flow of the text at the point where it was inserted, with no float.

  • Left — the image floats left; following text wraps around it on the right.

  • Right — the image floats right; following text wraps around it on the left.

  • The ✕ button removes the image from the article body. The underlying blob row in kb_blob stays in the database for audit purposes — there's no UI to garbage-collect orphan blobs today.

Floats are cleared inside callouts and tables, so an image inside a callout will not push prose to the side.

Upload a video file

Video uses the same blob storage as images. Larger files take longer; 50 MB is the upload cap.

  • Click 🎬 in the toolbar.

  • Pick a video file (MP4 and WebM are the universally-supported formats).

  • The video inserts as a

Readers see a poster frame and a play button. The browser only fetches the actual bytes when the user presses play — so a paused video won't blow your bandwidth budget.

The four corner-handle resize controls work on video the same way they work on images — drag to scale.

Embed YouTube or Vimeo

For anything already on YouTube or Vimeo, embed instead of uploading. You save the bandwidth and the original platform's view counts / analytics keep working.

The editor converts the URL into the right embed URL automatically. The result is an

If the URL doesn't match a recognised pattern, the dialog shows URL not recognised. Paste a YouTube or Vimeo link rather than inserting a broken iframe. Press Esc, click Cancel, or click outside the dialog to dismiss.

Sanitisation

Every upload and every embedded iframe goes through server-side checks.

  • Uploaded content-types must start with image/ or video/, and files are capped at 50 MB — both enforced by the blob endpoint at upload time.

  • iframe src must come from one of the three whitelisted hosts above. Other hosts are stripped silently when the article is published — the iframe disappears from the published body.

If something seems to disappear after publish, the most common cause is a non-allowlisted iframe host. The sanitiser doesn't surface a warning today; if you suspect content was stripped, check the published body in the editor or the public reader.

  • The Editor — full toolbar tour.

  • Editor keyboard shortcuts field definitions — every shortcut.

  • The chat-widget Help tab — how media URLs are rewritten for the widget.

  • Manage articles and folders — where to start a new article.

Related articles