Propiedades

API de propiedades

Explora las propiedades de una cuenta de Pedra, lee las URLs de sus fotos para usarlas en create_video y los endpoints de edición, crea propiedades y añádeles fotos por URL.

Los propiedades son la forma en que se organizan las fotos en una cuenta de Pedra. Estos endpoints te permiten explorar los propiedades de un usuario, leer las URLs de las fotos de un propiedad (para pasarlas directamente a create_video o a los endpoints de edición), crear propiedades y añadirles fotos por URL — el servidor descarga cada URL y la almacena, así que funciona cualquier imagen pública.

Las fotos que ya están en la cuenta son la fuente más fácil para un vídeo. Las fotos nuevas entran de tres formas: URLs públicas con add_images_to_property; archivos locales con el mismo endpoint, enviados como URIs data: en base64; o, cuando las fotos están en el móvil de alguien, un enlace de subida que abre y usa para subirlas sin iniciar sesión.

Listar propiedades

POST/api/list_properties

Devuelve los propiedades de la cuenta (más recientes primero), cada uno con un recuento de fotos y un appUrl.

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

Respuesta

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

Listar fotos del propiedad

POST/api/list_property_images

Devuelve las fotos de un propiedad como URLs públicas img.pedra.ai — pásalas directamente a create_video o a los endpoints de edición de imágenes.

apiKeystringobligatorio
Tu clave API.
propertyIdstringobligatorio
El id del propiedad (de list_properties o create_property).
typestring
Qué fotos listar: "photo" (por defecto) para las fotos normales, o "360" para las fotos 360° de la propiedad — sus imageIds son los sceneIds de un tour virtual.
Values: photo 360
Default: photo
curl -X POST https://app.pedra.ai/api/list_property_images \
  -H "Content-Type: application/json" \
  -d '{ "apiKey": "YOUR_API_KEY", "propertyId": "PROPERTY_ID" }'

Respuesta

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

Crear un propiedad

POST/api/create_property

Crea un propiedad vacío y devuelve su propertyId y appUrl.

apiKeystringobligatorio
Tu clave API.
namestring
Nombre del propiedad, p. ej. la dirección del anuncio. Opcional.
curl -X POST https://app.pedra.ai/api/create_property \
  -H "Content-Type: application/json" \
  -d '{ "apiKey": "YOUR_API_KEY", "name": "Calle Mayor 12" }'

Respuesta

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

Añadir fotos a un propiedad

POST/api/add_images_to_property

Añade fotos a un propiedad por URL. El servidor descarga cada URL y la almacena (así que funciona cualquier imagen https pública — o una pequeña URI data:), y devuelve las URLs img.pedra.ai almacenadas. Hasta 20 por llamada.

apiKeystringobligatorio
Tu clave API.
propertyIdstringobligatorio
El id del propiedad (de list_properties o create_property).
imageUrlsarrayobligatorio
Array de URLs de imagen para descargar y añadir (máx. 20). También se acepta un único string imageUrl.
namesarray
Array opcional de nombres, uno por imagen y en el mismo orden que imageUrls (p. ej. los nombres de archivo originales). Se devuelve como name en list_property_images y como source.name al editar la foto. Nunca aparece en la imagen. Por defecto, "Image 1", "Image 2"...
typestring
"photo" (por defecto) o "360". Con "360", se comprueba que cada foto sea una foto 360° equirrectangular (2:1, hasta 80 MB) y se guarda para usarla en un tour virtual; máx. 10 por llamada.
Values: photo 360
Default: photo

Envía type: "360" para añadir fotos 360° para un tour virtual: se comprueba que cada una sea equirrectangular (2:1) y se guarda igual que en la app, hasta 10 por llamada. Aquí también funcionan las URIs data:, así que puedes enviar archivos 360° locales en base64 — uno o unos pocos por llamada, por debajo del límite de 50 MB por petición. Las fotos que no son 360° vuelven en failed con el motivo.

Cada foto que se guarda aquí cuenta para el límite diario de subidas de la cuenta: 30 al día en el plan gratuito, 500 en los de pago. Si lo superas, la llamada devuelve 429 con code: "upload_limit" y no se guarda nada; las fotos que fallan por sí solas no cuentan.

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"
    ],
    "names": ["IMG_0412.jpg", "IMG_0413.jpg"]
  }'

Respuesta

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

Cuando las fotos están en el móvil de alguien — el agente, el fotógrafo, el propietario — create_upload_link es la forma más sencilla de meterlas en una propiedad. Devuelve una página sin inicio de sesión, válida 24 horas, que acepta hasta 100 fotos (JPEG, PNG, WebP y HEIC desde un iPhone). Con el type: "any" por defecto acepta fotos normales y fotos 360°, y las imágenes 2:1 se guardan como 360° automáticamente; type: "360" acepta solo fotos 360°.

Envía el uploadUrl a la persona; cuando termine, llama a list_property_images (type "photo" o "360") y usa las URLs con los endpoints de edición, create_video o create_virtual_tour. Los enlaces de subida son gratis; puedes crear 5 al día en el plan gratuito y 50 en los de pago, y cada archivo subido cuenta para el límite diario de subidas. Referencia completa: create_upload_link.

curl -X POST https://app.pedra.ai/api/create_upload_link \
  -H "Content-Type: application/json" \
  -d '{ "apiKey": "YOUR_API_KEY", "propertyId": "PROPERTY_ID" }'

Siguiente

Pasa las URLs de las fotos de un propiedad a create_video, o úsalas con cualquier endpoint de home staging virtual / mejora.