# Image Slideshow with Text Overlays

Create image slideshows with customizable text overlays. Images uploaded or AI-generated.

## When to Use This Template

* You want to create a carousel or slideshow with images (your own uploads or AI-generated) and text on each slide
* You are a brand, marketer, or creator making Instagram carousels, TikTok slideshows, or LinkedIn carousels with visual + text content
* You have product photos, portfolio images, or event photos and want to add captions or descriptions to each
* You want AI to generate themed images with text for a quick carousel on any topic

## Template Information

| Property    | Value                                                              |
| ----------- | ------------------------------------------------------------------ |
| Template ID | `/base/v2/image-slideshow/5903b592-1255-43b4-b9ac-f8ed7cbf6a5f/v1` |
| Output Type | Slideshow                                                          |
| Category    | Image Slideshows                                                   |

## Parameters

| Parameter                 | Type   | Required | Default                     | Description                                          |
| ------------------------- | ------ | -------- | --------------------------- | ---------------------------------------------------- |
| slides                    | array  | Yes      | -                           | Array of slide objects. Min: 1, Max: 50              |
| slides\[].imageSource     | union  | Yes      | -                           | Upload image URL or AI prompt text to generate image |
| slides\[].textOverlay     | string | No       | ""                          | Text to display on slide. Max: 300 chars             |
| aiImageModel              | enum   | No       | fal-ai/imagen4/preview/fast | AI model for generating images. See values below     |
| textPosition              | enum   | No       | top                         | Values: top, center, bottom                          |
| customTextPositionPercent | number | No       | -                           | Override preset position with custom % (0-100)       |
| textStyle                 | enum   | No       | modern                      | Values: minimal, elegant, modern                     |
| textColor                 | color  | No       | #000000                     | Hex color for text                                   |
| aspectRatio               | enum   | No       | 9:16                        | Values: 16:9, 1:1, 4:5, 9:16                         |
| slideDuration             | number | No       | 5                           | Seconds per slide. Range: 1-10                       |
| transition                | enum   | No       | none                        | Values: none, fade, slide, zoom                      |

### Available AI Image Models

Pass one of these values as `aiImageModel` to control which AI model generates your images. Each model has a different credit cost. See [AI Video Credits](/features/videos/ai-video-credits.md) for pricing.

| Value                                            | Label                    | Credits/Image |
| ------------------------------------------------ | ------------------------ | ------------- |
| `replicate/black-forest-labs/flux-schnell`       | Cheapest                 | 1             |
| `replicate/black-forest-labs/flux-dev`           | Good                     | 10            |
| `replicate/black-forest-labs/flux-1.1-pro`       | Great                    | 15            |
| `replicate/black-forest-labs/flux-1.1-pro-ultra` | Best for Images          | 20            |
| `replicate/recraft-ai/recraft-v3`                | Best for Realistic Image | 15            |
| `replicate/ideogram-ai/ideogram-v2`              | Best for Text            | 30            |
| `replicate/luma/photon`                          | Good                     | 10            |
| `openai/gpt-image-1`                             | OpenAI GPT Image         | 25            |
| `fal-ai/nano-banana`                             | Nano Banana              | 15            |
| `fal-ai/nano-banana/edit`                        | Nano Banana Edit         | 15            |
| `fal-ai/nano-banana-pro`                         | Nano Banana Pro          | 50            |
| `fal-ai/nano-banana-pro/edit`                    | Nano Banana Pro Edit     | 50            |
| `fal-ai/imagen4/preview/fast`                    | Imagen 4 Fast (default)  | 7             |
| `fal-ai/bytedance/seedream/v4.5/text-to-image`   | Seedream v4.5            | 15            |
| `fal-ai/bytedance/seedream/v4.5/edit`            | Seedream v4.5 Edit       | 15            |

## Example 1: AI-Powered with Prompt

Use the `prompt` parameter to let AI fill in all inputs automatically.

```json
POST https://backend.blotato.com/v2/videos/from-templates
Content-Type: application/json
blotato-api-key: YOUR_API_KEY

{
  "templateId": "/base/v2/image-slideshow/5903b592-1255-43b4-b9ac-f8ed7cbf6a5f/v1",
  "inputs": {},
  "prompt": "Create a 5-slide carousel about productivity tips for remote workers. Use a modern professional style with blue tones.",
  "render": true
}
```

## Example 2: Manual Inputs

Specify all inputs manually for full control.

```json
POST https://backend.blotato.com/v2/videos/from-templates
Content-Type: application/json
blotato-api-key: YOUR_API_KEY

{
  "templateId": "/base/v2/image-slideshow/5903b592-1255-43b4-b9ac-f8ed7cbf6a5f/v1",
  "inputs": {
    "slides": [
      {
        "imageSource": "https://example.com/image1.jpg",
        "textOverlay": "Step 1: Plan Your Day"
      },
      {
        "imageSource": "A minimalist desk setup with laptop and coffee",
        "textOverlay": "Step 2: Create Your Workspace"
      },
      {
        "imageSource": "https://example.com/image3.jpg",
        "textOverlay": "Step 3: Take Regular Breaks"
      }
    ],
    "textPosition": "bottom",
    "textStyle": "elegant",
    "aspectRatio": "4:5",
    "transition": "fade"
  },
  "render": true
}
```

## Example 3: Hybrid Approach

Use prompt for content with manual style overrides.

```json
POST https://backend.blotato.com/v2/videos/from-templates
Content-Type: application/json
blotato-api-key: YOUR_API_KEY

{
  "templateId": "/base/v2/image-slideshow/5903b592-1255-43b4-b9ac-f8ed7cbf6a5f/v1",
  "inputs": {
    "textPosition": "center",
    "textColor": "#FFFFFF",
    "aspectRatio": "1:1"
  },
  "prompt": "Create a 4-slide motivational carousel about morning routines with energetic imagery",
  "render": true
}
```

## Related Templates

* [Image Slideshow with Prominent Text](/api/visuals/0ddb8655-c3da-43da-9f7d-be1915ca7818.md)
* [When X then Y Text Slideshow](/api/visuals/c9892c3b-fa75-4ade-821a-a50ff8456230.md)

## See Also

* [Create Visual API Reference](/api/create-video.md)
* [All Visual Templates](/api/visuals.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://help.blotato.com/api/visuals/5903b592-1255-43b4-b9ac-f8ed7cbf6a5f.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
