How Do I Add Images to Slides?

Provide any public HTTPS URL and Rideful fetches, stores, and adds the image to your slide with automatic sizing and aspect ratio preservation.

Images are added via URL — either through the AI assistant using the slides_add_image MCP tool, or by pasting/dragging an image in the visual editor. The image is fetched server-side, stored permanently, and embedded in the slide.

Supported Formats

  • PNG, JPEG, GIF, WebP
  • Maximum file size: 10MB
  • HTTPS only — HTTP URLs are rejected for security
  • No SVG — SVG images are not supported

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.

Cropping

Crop images by specifying how much to trim from each edge using percentage values (0–95):

  • crop.left — percentage to hide from the left edge
  • crop.top — percentage to hide from the top edge
  • crop.right — percentage to hide from the right edge
  • crop.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
slides_add_image({
  deckId: "deck_abc",
  slideId: "slide_1",
  sourceUrl: "https://example.com/photo.jpg"
})

// Add an image with specific width (height auto-calculated)
slides_add_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)
slides_add_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

  1. URL validation — Rideful checks that the URL is HTTPS and points to a supported image format
  2. Server-side fetch — the image is downloaded from the source URL (10-second timeout, up to 3 redirects followed)
  3. Size check — the file must be under 10MB
  4. Permanent storage — the image is stored in Rideful's cloud storage, so it remains available even if the original URL goes down
  5. Dimension detection — original width and height are read for aspect ratio calculations
  6. Element creation — an image element is added to the slide with the calculated size and position

Common Issues

  • “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: If the source image was removed after being added, the stored copy is used. Images added through the MCP tool are permanently stored and will always export correctly.

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