Images
Your AI assistant uses this tool to add images to your slides from any public URL. Just describe what image you want and where — the assistant handles fetching, uploading, and positioning.
Images are added with slides_add_image, which fetches an image from a URL, uploads it to Rideful's storage, and places it on your slide as an element. The image is stored permanently — the original URL doesn't need to stay accessible after upload.
For other element types (shapes, text, lines), see Element Operations. To update an existing image's crop or alt text after it's been added, use slides_bulk_update_elements (documented on the Element Operations page).
Adding an Image to a Slide
When you ask to “add a photo of the team” or “put the revenue chart on slide 3,” your assistant uses slides_add_image to fetch the image and place it on the slide. The image is fetched server-side, so CORS restrictions don't apply.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
deckId | string | Yes | The deck ID |
slideId | string | Yes | The slide to add the image to |
sourceUrl | string | Yes | HTTPS URL of the image. Supported formats: PNG, JPEG, GIF, WebP. No SVG. Maximum file size: 10MB |
x, y | number | No | Position in pixels from top-left. Defaults to centered on the slide |
width | number | No | Display width in pixels. Set only width to auto-calculate height and preserve aspect ratio |
height | number | No | Display height in pixels. Set only height to auto-calculate width and preserve aspect ratio |
altText | string | No | Alt text for accessibility |
crop | object | No | Crop from each edge as percentages: { left, top, right, bottom } (each 0–95, left+right ≤ 95, top+bottom ≤ 95) |
Sizing & Aspect Ratio
How your assistant sizes images depends on what you specify:
- Set only width — height is calculated automatically to preserve the original aspect ratio
- Set only height — width is calculated automatically to preserve the original aspect ratio
- Set both — the image is displayed at the exact dimensions you specify. If the ratio doesn't match the original, the response will note the adjustment
- Omit both — the image is automatically sized to fit within the slide
The response always includes the original image dimensions (imageWidth, imageHeight) so the assistant can make informed layout decisions.
What It Returns
elementId— the image element's ID (use for updates or deletion)position—{ x, y }final position in pixelssize—{ width, height }final display size in pixelsimageWidth,imageHeight— original image dimensionsimageMimeType— detected format (e.g.,image/png)zIndex— layer order on the slide
Examples
Add an Image with Width
Setting only width preserves the aspect ratio — height is calculated automatically.
slides_add_image({
deckId: "deck_abc123",
slideId: "slide_002",
sourceUrl: "https://example.com/charts/revenue-q4.png",
x: 640, y: 160,
width: 560,
altText: "Q4 revenue chart showing 18% growth"
})
// Response:
// {
// elementId: "elem_img001",
// type: "image",
// slideId: "slide_002",
// position: { x: 640, y: 160 },
// size: { width: 560, height: 420 },
// imageWidth: 1600,
// imageHeight: 1200,
// imageMimeType: "image/png",
// zIndex: 3
// }Auto-Center and Auto-Fit
Omit position and size to let Rideful center the image and fit it within the slide.
// Omit x, y, width, and height to auto-center and auto-fit
slides_add_image({
deckId: "deck_abc123",
slideId: "slide_003",
sourceUrl: "https://example.com/photos/team.jpg"
})
// The image is centered on the slide and sized to fitCrop an Image
Use crop to trim edges of the image by percentage. This is useful for removing unwanted borders or focusing on a specific area.
// Crop 10% from the top and 15% from the right
slides_add_image({
deckId: "deck_abc123",
slideId: "slide_004",
sourceUrl: "https://example.com/photos/office.jpg",
x: 0, y: 0,
width: 640, height: 720,
crop: {
top: 10,
right: 15,
left: 0,
bottom: 0
},
altText: "Office panoramic view"
})Updating Images After Adding
Once an image is on a slide, your assistant can modify its position, size, crop, and alt text using slides_bulk_update_elements. To replace an image entirely, delete the existing one and add a new one.
Updatable Image Properties
| Property | Type | Description |
|---|---|---|
x, y | number | Reposition the image |
width, height | number | Resize the image |
altText | string | Update accessibility text |
crop | object | Adjust crop: { left, top, right, bottom } as percentages (0–95) |
rotation, opacity | number | Rotation in degrees, opacity 0–100 |
Example
// Update an existing image's crop and alt text
// (use slides_bulk_update_elements)
slides_bulk_update_elements({
deckId: "deck_abc123",
updates: [
{
elementId: "elem_img001",
altText: "Updated Q4 revenue chart",
crop: { left: 5, top: 0, right: 5, bottom: 10 }
}
]
})Requirements & Limits
- HTTPS only — HTTP URLs are not supported
- Supported formats — PNG, JPEG, GIF, WebP
- No SVG — SVG images are not supported
- Maximum file size — 10MB
- Redirects — up to 3 redirects are followed, but all must use HTTPS
- Crop limits —
left + rightandtop + bottommust each be ≤ 95% (at least 5% of the image must remain visible)
Related
- Element Operations — Create and style shapes, text, and lines; update or delete any element including images
- How Do I Add Images to Slides? — Step-by-step guide with tips on image sizing and placement
- Slide Operations — Inspect slide contents to see existing images and elements
- Canvas Size — Slide dimensions and the coordinate system for positioning