pedra.ai API Documentation

API to create virtual home staging images

Welcome to the official documentation for the pedra.ai API. Our API provides powerful image processing capabilities for various room enhancement and design tasks.

Base URLs

The API can be accessed through the following base URL:

  • Production: https://app.pedra.ai/api

Authentication

All API calls require an apiKey parameter for authentication. Send an email to felix@pedra.ai to request your API key.

Common Parameters

The following parameters are common to all endpoints:

  • apiKey (string, required): Your unique API key for authentication.
  • imageUrl (string, required): Image URL (http/https) or base64 data URI (data:image/...).

API Endpoints

Enhance

Enhances the quality, color, light and resolution of the provided image.

Endpoint: /enhance

Method: POST

Parameters:

{
  "apiKey": "string",
  "imageUrl": "string"
}

Expected response time: 25 seconds

Empty Room

Removes furniture and clutter from the room in the provided image.

Endpoint: /empty_room

Method: POST

Parameters:

{
  "apiKey": "string",
  "imageUrl": "string"
}

Expected response time: 25 seconds

Furnish

Furnishes (creates a virtual staging) of a space according to specified parameters.

Endpoint: /furnish

Method: POST

Parameters:

{
  "apiKey": "string",
  "imageUrl": "string",
  "roomType": "string",
  "style": "string",
  "creativity": "Medium" | "High"
}

Expected response time: 25 seconds

roomType (string):

You can write any room type (e.g., "Living room", "Bedroom", "Kitchen", "Office", etc.)

Example values for style:

  • "Traditional"
  • "Minimalist"
  • "Scandinavian"
  • "Mid-century"
  • "Bohemian"
  • "Industrial"
  • "Mediterranean"
  • "Modern"
  • "Pyrenees"

Renovation

Renovates a room according to the specified style.

Endpoint: /renovation

Method: POST

Parameters:

{
  "apiKey": "string",
  "imageUrl": "string",
  "creativity": "Medium" | "High",
  "furnish": true | false,
  "style": "string",
  "roomType": "string"
}

Expected response time: 25 seconds

roomType and style:

Same options as the Furnish endpoint above.

Blue Sky

Enhances the sky in exterior images, making it appear blue and vibrant.

Endpoint: /sky_blue

Method: POST

Parameters:

{
  "apiKey": "string",
  "imageUrl": "string"
}

Expected response time: ~15 seconds

Edit with Prompt

Edits the image based on a natural language prompt describing the desired changes.

Endpoint: /edit_via_prompt

Method: POST

Parameters:

{
  "apiKey": "string",
  "imageUrl": "string",
  "prompt": "string"
}

Expected response time: ~20 seconds

Remove Object

Removes objects from the image using a mask to specify which areas to remove.

Endpoint: /remove_object

Method: POST

Parameters:

{
  "apiKey": "string",
  "imageUrl": "string",
  "maskUrl": "string"
}

Expected response time: ~15 seconds

Blur Objects

Blurs specific objects in the image based on the provided list of objects to blur.

Endpoint: /blur

Method: POST

Parameters:

{
  "apiKey": "string",
  "imageUrl": "string",
  "objectsToBlur": "string"
}

The objectsToBlur parameter should be a comma-separated list of objects to blur (e.g., "car plate, face").

Expected response time: ~20 seconds

Create Video

Creates a professional real estate video by combining multiple images with effects, overlays, music, and branding. Videos are created asynchronously.

Endpoint: /create_video

Method: POST

Parameters

{
  "apiKey": "string",
  "images": [
    {
      "imageUrl": "string",
      "effect": "zoom-in" | "zoom-out",
      "subtitle": "string",
      "title": "string",
      "watermark": {
        "enabled": true | false,
        "position": "top-left" | "top" | "top-right" | "left" | "center" |
                    "right" | "bottom-left" | "bottom" | "bottom-right",
        "opacity": 0.0-1.0
      },
      "characteristics": {
        "enabled": true | false
      }
    }
  ],
  "isVertical": true | false,
  "propertyCharacteristics": [
    {
      "label": "string",
      "value": "string"
    }
  ],
  "music": {
    "enabled": true | false,
    "track": "calm" | "uplifting" | "corporate" | "piano"
  },
  "voice": {
    "enabled": true | false,
    "audioUrl": "string"
  },
  "branding": {
    "showWatermark": true | false,
    "watermarkUrl": "string",
    "showProfessionalPicture": true | false,
    "professionalPictureUrl": "string",
    "primaryColor": "string"
  },
  "endingTitle": "string",
  "endingSubtitle": "string"
}

Expected response time

2-5 minutes

Property Characteristics Overlay

Add property details as an overlay pill at the bottom of video frames. Characteristics are property details (like bedrooms, bathrooms, surface area, price) that appear on frames where enabled.

How It Works

  • Define characteristics at the root level using propertyCharacteristics array
  • Enable per frame by setting characteristics: {enabled: true} on specific images
  • Up to 4 characteristics display per frame with icons and values
  • Use standard labels (Bedrooms, Bathrooms, Surface, Price, etc.) for proper icon display

Available Characteristic Labels

These labels are recognized and display with appropriate icons:

  • Bedrooms - Bed icon (e.g., "3", "4 bed")
  • Bathrooms - Bath icon (e.g., "2", "2.5 bath")
  • Surface - Expand icon (e.g., "120m²", "1,500 sqft")
  • Price - Dollar icon (e.g., "$450k", "€320,000")
  • Location - Pin icon (e.g., "Downtown", "Malibu")
  • Parking - Car icon (e.g., "2 cars", "Garage")
  • Heating - Fire icon (e.g., "Central", "Gas")
  • Outdoor - Tree icon (e.g., "Garden", "Pool")

Example Request

Here's a complete example creating a vertical video with property characteristics overlay:

{
  "apiKey": "your-api-key",
  "images": [
    {
      "imageUrl": "https://example.com/image1.jpg",
      "effect": "zoom-in",
      "subtitle": "🏡 Stunning Family Home",
      "watermark": {"enabled": false},
      "characteristics": {"enabled": true}
    },
    {
      "imageUrl": "https://example.com/image2.jpg",
      "effect": "zoom-out",
      "subtitle": "Modern Kitchen & Living",
      "watermark": {"enabled": false},
      "characteristics": {"enabled": true}
    }
  ],
  "propertyCharacteristics": [
    {"label": "Bedrooms", "value": "3"},
    {"label": "Bathrooms", "value": "2"},
    {"label": "Surface", "value": "120m²"},
    {"label": "Price", "value": "$450,000"}
  ],
  "isVertical": true,
  "music": {
    "enabled": true,
    "track": "uplifting"
  },
  "endingTitle": "Schedule a Viewing!",
  "endingSubtitle": "Swipe up or DM us"
}

Response Format

All API endpoints return JSON responses. A successful response will have a status code of 200 and include the processed image information.

Error Handling

In case of an error, the API will return an appropriate HTTP status code along with a JSON response containing error details.

Support

For any questions or issues regarding the API, please contact our support team at felix@pedra.ai.