How Do I Add Images to Slides?
Paste, drag, or insert an image in the editor — or give an agent a public HTTPS URL. Either way Rideful stores it permanently, sizes it to the slide, and exports it faithfully.
Images are the one element you add yourself. In the editor you paste, drag, or pick a file; over MCP an assistant adds one from a URL with element_create_image. The in-app agent does not add images, but it will work with one that is already on the slide — move it, resize it, layer it, crop it, or set its alt text.
In the Editor
Three ways in, all equivalent once the image lands:
- Paste — copy an image anywhere and press Cmd/Ctrl+V with the slide focused. The first image on the clipboard is added, centered.
- Drag and drop — drop image files onto the slide. They land where you drop them; several at once are staggered slightly so they don't hide each other.
- Insert Image — the image button in the toolbar opens a file picker. It accepts several files at once, and they are centered.
The image appears immediately at its final size and position while the upload runs in the background, so you can keep working. Once it finishes it is an ordinary element: select, move, resize, and undo it like anything else. If the upload fails the preview stays put with a retry.
Supported Formats
- PNG, JPEG, GIF, WebP
- Maximum file size: 10MB
- No SVG — SVG images are not supported
Both surfaces enforce the same formats and the same 10MB cap. The URL path adds one rule of its own: HTTPS only — HTTP is rejected for security.
Sizing and Positioning
You have full control over how images are sized and placed on the slide:
- Set width only — height is calculated automatically to preserve the aspect ratio
- Set height only — width is calculated automatically to preserve the aspect ratio
- Set both — the image fits within the bounding box while preserving its aspect ratio
- Set neither (auto-fit) — the image scales to fill up to 80% of the slide canvas without upscaling, and centers on the slide
Position with x and y in pixels from the top-left corner. If omitted, the image centers on the slide.
The editor applies the same auto-fit: an image larger than 80% of the canvas is scaled down to fit, a smaller one is never blown up, and it centers unless you dropped it somewhere specific.
Cropping
There is no crop handle in the editor. Ask the agent in the chat (“crop 20% off the left of that photo”), or set crop over MCP.
Crop images by specifying how much to trim from each edge using percentage values (0–95):
crop.left— percentage to hide from the left edgecrop.top— percentage to hide from the top edgecrop.right— percentage to hide from the right edgecrop.bottom— percentage to hide from the bottom edge
Cropping is non-destructive — the original image is preserved and you can adjust or remove the crop at any time. The element's width and height represent the visible area after cropping.
Crop constraints
The total crop on each axis must leave at least 5% visible: left + right ≤ 95 and top + bottom ≤ 95.
Code Example
// Add an image with automatic sizing and centering
element_create_image({
deckId: "deck_abc",
slideId: "slide_1",
sourceUrl: "https://example.com/photo.jpg"
})
// Add an image with specific width (height auto-calculated)
element_create_image({
deckId: "deck_abc",
slideId: "slide_1",
sourceUrl: "https://example.com/photo.jpg",
x: 60,
y: 120,
width: 500
})
// Add an image with cropping (trim 20% from the left)
element_create_image({
deckId: "deck_abc",
slideId: "slide_1",
sourceUrl: "https://example.com/wide-photo.jpg",
x: 0,
y: 0,
width: 640,
height: 720,
crop: { left: 20, top: 0, right: 0, bottom: 0 }
})How It Works
From the editor: the file is checked for format and size, its dimensions are read to compute the display size, a preview goes on the slide straight away, and the upload to cloud storage runs behind it. The finished element goes onto the undo stack like any other edit.
From a URL:
- URL validation — Rideful checks that the URL is HTTPS and points to a supported image format
- Server-side fetch — the image is downloaded from the source URL (10-second timeout, up to 3 redirects followed)
- Size check — the file must be under 10MB
- Permanent storage — the image is stored in Rideful's cloud storage, so it remains available even if the original URL goes down
- Dimension detection — original width and height are read for aspect ratio calculations
- Element creation — an image element is added to the slide with the calculated size and position
Common Issues
In the editor:
- “Unsupported image format”: the file is not PNG, JPEG, GIF or WebP. SVG and PDF are rejected here too.
- “Image exceeds 10MB”: compress it or export at a smaller resolution.
- “Upload limit reached”: more than 50 uploads in a minute. Wait a moment and retry.
- An upload that failed: the preview stays on the slide with a retry — it is not lost, and nothing was written until it succeeds.
From a URL:
- “Source URL must use HTTPS”: Only HTTPS URLs are accepted. If your image is on HTTP, re-host it on HTTPS or use a CDN that supports it.
- “Image exceeds 10MB limit”: Compress the image or use a smaller resolution before adding it.
- “Request timed out”: The source server took too long to respond (limit is 10 seconds). Try a different URL or a faster host.
- SVG images: SVG is not supported. Convert to PNG or JPEG before adding.
- Image not showing in PowerPoint export: images are copied into Rideful's own storage however they were added, so they always export — even if the original file or URL is gone.
Related
- Styling — Colors, fonts, sizes, and shape formatting
- Canvas Size — Slide dimensions and coordinate system for positioning
- Create with AI — Create full presentations including images using natural language
- Export to PowerPoint — Images are embedded directly in the .pptx file