> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vibepeak.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# VibePeak API

> Create stunning AI-powered real estate videos programmatically

## Welcome to the VibePeak API

The VibePeak API enables you to programmatically create professional real estate slideshow videos with AI-enhanced imagery and text-to-speech narration. Perfect for property management platforms, real estate agencies, and marketing automation tools.

<Frame caption="Living Property Video - AI-generated from property images">
  <video autoPlay muted loop playsInline poster="https://web-files.vibepeak.ai/use-cases/realestate/en/real-estate-3-thumb.webp" className="w-full rounded-lg">
    <source src="https://web-files.vibepeak.ai/use-cases/realestate/en/real-estate-3-preview.webm" type="video/webm" />

    <source src="https://web-files.vibepeak.ai/use-cases/realestate/en/real-estate-3-preview.mp4" type="video/mp4" />
  </video>
</Frame>

<Note>
  **Getting started?** Check out the [Quickstart guide](/quickstart) to create your first video in under 5 minutes.
</Note>

<CardGroup cols={2}>
  <Card title="Quickstart" icon="rocket" href="/quickstart">
    Get up and running in 5 minutes
  </Card>

  <Card title="API Reference" icon="code" href="/api-reference/introduction">
    Explore the complete API documentation
  </Card>

  <Card title="Authentication" icon="key" href="/authentication">
    Learn how to authenticate your requests
  </Card>

  <Card title="Webhooks" icon="webhook" href="/concepts/webhooks">
    Get notified when videos are ready
  </Card>
</CardGroup>

## Key Features

<AccordionGroup>
  <Accordion title="AI-Enhanced Property Videos" icon="video">
    Transform property photos into professional slideshow videos with smooth transitions,
    AI-generated narration, and optional room styling (virtual staging, redecorating).
  </Accordion>

  <Accordion title="Asynchronous Processing" icon="clock">
    Submit video requests and get notified via webhook when they're ready.
    No need to wait for long-running video generation.
  </Accordion>

  <Accordion title="Multiple Voice Options" icon="microphone">
    Choose from a variety of natural-sounding AI voices for your video narration,
    or provide a custom script.
  </Accordion>

  <Accordion title="Enterprise Ready" icon="building">
    Rate limiting, idempotency support, and comprehensive error handling
    make integration seamless and reliable.
  </Accordion>
</AccordionGroup>

## Quick Example

Create a video in just a few lines of code:

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST https://api.vibepeak.ai/v1/real-estate/narrated-slideshow \
    -H "Authorization: Bearer vpk_live_xxxxx" \
    -H "Content-Type: application/json" \
    -d '{
      "images": [
        "https://example.com/living-room.jpg",
        "https://example.com/kitchen.jpg",
        "https://example.com/bedroom.jpg",
        "https://example.com/bathroom.jpg",
        "https://example.com/backyard.jpg"
      ],
      "webhook_url": "https://yourserver.com/webhook"
    }'
  ```

  ```javascript Node.js theme={null}
  const response = await fetch('https://api.vibepeak.ai/v1/real-estate/narrated-slideshow', {
    method: 'POST',
    headers: {
      'Authorization': 'Bearer vpk_live_xxxxx',
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({
      images: [
        'https://example.com/living-room.jpg',
        'https://example.com/kitchen.jpg',
        'https://example.com/bedroom.jpg',
        'https://example.com/bathroom.jpg',
        'https://example.com/backyard.jpg',
      ],
      webhook_url: 'https://yourserver.com/webhook',
    }),
  });

  const { task_id, status } = await response.json();
  console.log(`Task ${task_id} is ${status}`);
  ```

  ```python Python theme={null}
  import requests

  response = requests.post(
      'https://api.vibepeak.ai/v1/real-estate/narrated-slideshow',
      headers={
          'Authorization': 'Bearer vpk_live_xxxxx',
          'Content-Type': 'application/json',
      },
      json={
          'images': [
              'https://example.com/living-room.jpg',
              'https://example.com/kitchen.jpg',
              'https://example.com/bedroom.jpg',
              'https://example.com/bathroom.jpg',
              'https://example.com/backyard.jpg',
          ],
          'webhook_url': 'https://yourserver.com/webhook',
      }
  )

  data = response.json()
  print(f"Task {data['task_id']} is {data['status']}")
  ```
</CodeGroup>

## Plans

API access is available on Plus, Pro, Max, and Enterprise plans:

| Plan       | Concurrent Tasks | Best For          |
| ---------- | ---------------- | ----------------- |
| Plus       | 1                | Individual agents |
| Pro        | 3                | Small teams       |
| Max        | 5                | Large agencies    |
| Enterprise | Custom           | Enterprise        |
