---
title: "Add a photo or video to a slideshow"
method: POST
path: "/v1/slideshows/{id}/slides"
tags: ["Slideshows"]
---

# Add a photo or video to a slideshow

`POST /v1/slideshows/{id}/slides`

## Request

- Base URL: `https://infoslides.app`
- URL: `https://infoslides.app/v1/slideshows/{id}/slides`
- Auth: none declared

Adds a photo or video as a slide, shown exactly as it is; nothing checks what the picture says. It is also the way to add a slide the layouts of `POST /v1/slideshows/{id}/slides/design` cannot make: design the slide as an image and add it here. Send exactly one of `mediaUrl` (downloaded and stored) or `mediaAssetId` (from `POST /v1/media`), plus optional `durationSeconds` and `position` (zero-based; appended when omitted): `{"mediaUrl": "https://example.com/poster.jpg", "durationSeconds": 10, "position": 0}`. A video plays its own length. An aspect-ratio mismatch attaches an `AspectMismatch` warning rather than failing. Queues a re-render. To have the picture turned into a designed slide instead, use `POST /v1/slideshows/{id}/slides/ai`.

## Path parameters

- `id` string, uuid, required

## Headers

- `Idempotency-Key` string

## Request body

- V1AddMediaSlideRequest
  - `mediaUrl` string, nullable
  - `mediaAssetId` string, uuid, nullable
  - `durationSeconds` number, double, nullable
  - `position` integer, nullable

## Response `200`

OK

---

[API](https://skmtc.dev/infoslides/apis/infoslides-agent-api.md) · [All operations](https://skmtc.dev/infoslides/apis/infoslides-agent-api/llms.txt) · [OpenAPI document](https://skmtc.dev/infoslides/apis/infoslides-agent-api/revisions/d15bb7f8ee9d?raw)
