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.