Properties

Properties API

Browse a Pedra account's properties, read their photo URLs to feed into create_video and the editing endpoints, create properties, and add photos to them by URL.

Properties are how photos are organized in a Pedra account. These endpoints let you browse a user's properties, read a property's photo URLs (to feed straight into create_video or the editing endpoints), create properties, and add photos to them by URL — the server fetches each URL and stores it, so any public image works.

Photos already in the account are the easiest source for a video. To add brand-new local files (which can't be sent through the API), open the property in Pedra via the appUrl these endpoints return and upload them there.

List properties

POST/api/list_properties

Returns the account's properties (newest first), each with a photo count and an appUrl.

apiKeystringrequired
Your API key.
curl -X POST https://app.pedra.ai/api/list_properties \
  -H "Content-Type: application/json" \
  -d '{ "apiKey": "YOUR_API_KEY" }'

Response

JSON
{
  "properties": [
    {
      "propertyId": "<uuid>",
      "name": "Calle Mayor 12",
      "createdAt": "2026-06-30T10:00:00.000Z",
      "photoCount": 8,
      "appUrl": "https://app.pedra.ai/?propertyId=<uuid>"
    }
  ]
}

List property photos

POST/api/list_property_images

Returns a property's photos as public img.pedra.ai URLs — pass them straight to create_video or the image-editing endpoints.

apiKeystringrequired
Your API key.
propertyIdstringrequired
The property's id (from list_properties or create_property).
curl -X POST https://app.pedra.ai/api/list_property_images \
  -H "Content-Type: application/json" \
  -d '{ "apiKey": "YOUR_API_KEY", "propertyId": "PROPERTY_ID" }'

Response

JSON
{
  "propertyId": "<uuid>",
  "name": "Calle Mayor 12",
  "images": [
    {
      "imageId": "<uuid>",
      "url": "https://img.pedra.ai/<uuid>",
      "name": "Image 1",
      "aspectRatio": 1.5
    }
  ]
}

Create a property

POST/api/create_property

Creates an empty property and returns its propertyId and appUrl.

apiKeystringrequired
Your API key.
namestring
Property name, e.g. the listing address. Optional.
curl -X POST https://app.pedra.ai/api/create_property \
  -H "Content-Type: application/json" \
  -d '{ "apiKey": "YOUR_API_KEY", "name": "Calle Mayor 12" }'

Response

JSON
{
  "message": "Property created",
  "propertyId": "<uuid>",
  "appUrl": "https://app.pedra.ai/?propertyId=<uuid>"
}

Add photos to a property

POST/api/add_images_to_property

Adds photos to a property by URL. The server fetches each URL and stores it (so any public https image — or a small data: URI — works), then returns the stored img.pedra.ai URLs. Up to 20 per call.

apiKeystringrequired
Your API key.
propertyIdstringrequired
The property's id (from list_properties or create_property).
imageUrlsarrayrequired
Array of image URLs to fetch and add (max 20). A single imageUrl string is also accepted.
curl -X POST https://app.pedra.ai/api/add_images_to_property \
  -H "Content-Type: application/json" \
  -d '{
    "apiKey": "YOUR_API_KEY",
    "propertyId": "PROPERTY_ID",
    "imageUrls": [
      "https://example.com/kitchen.jpg",
      "https://example.com/living-room.jpg"
    ]
  }'

Response

JSON
{
  "message": "Added 2 image(s)",
  "propertyId": "<uuid>",
  "added": [
    { "imageId": "<uuid>", "url": "https://img.pedra.ai/<uuid>", "aspectRatio": 1.5 }
  ],
  "failed": [],
  "appUrl": "https://app.pedra.ai/?propertyId=<uuid>"
}

Next

Feed a property's photo URLs into create_video, or use them with any virtual staging / enhancement endpoint.