Planimetrie

API per planimetrie

Trasforma uno schizzo, una foto o una scansione di una planimetria in una planimetria 2D pulita e modificabile con una sola chiamata. 5 crediti per planimetria, salvata nell'immobile che scegli.

Invia uno schizzo, una foto o una scansione di una planimetria e ricevi una planimetria 2D pulita. Pedra legge muri, porte, finestre e nomi delle stanze, li raddrizza e disegna una planimetria con le misure scritte sul disegno. La planimetria viene salvata in un immobile, così i tuoi utenti possono aprirla in Pedra e modificarla come se l'avessero disegnata loro.

Costo

5 crediti per planimetria, addebitati solo quando esce una planimetria. Una lettura che fallisce è gratuita. Se l'account ha meno di 5 crediti, la chiamata viene rifiutata prima di partire, con un 403 che lo indica.

Dove viene salvata la planimetria

Come per immagini e video: passa propertyId per aggiungere la planimetria a uno dei tuoi immobili (da list_properties o create_property). Se lo ometti, Pedra crea un nuovo immobile chiamato con propertyName. La risposta contiene sempre il propertyId e un appUrl che lo apre in Pedra.

Crea una planimetria

POST/api/create_floor_plan

Leggere un disegno richiede circa 1-3 minuti. Per impostazione predefinita la chiamata attende e restituisce la planimetria finita (la connessione resta aperta mentre lavora). Passa "waitForCompletion": false per ricevere subito un floorPlanId e interrogare floor_plan_status.

apiKeystringobbligatorio
La tua chiave API.
imageUrlstringobbligatorio
Lo schizzo, la foto o la scansione della planimetria: un URL pubblico o una data URL in base64. JPEG, PNG o WebP, fino a 12 MB.
propertyIdstring
Immobile in cui salvare la planimetria. Se lo ometti, ne viene creato uno nuovo.
propertyNamestring
Nome del nuovo immobile, quando non si passa propertyId. Predefinito: il nome della planimetria.
namestring
Nome della planimetria, stampato sotto, ad es. "Piano terra".
Default: Floor plan
unitsstring
Unità delle misure.
Values: metric imperial
Default: metric
waitForCompletionboolean
false restituisce subito un floorPlanId; interroga floor_plan_status per il risultato.
Default: true
curl -X POST https://app.pedra.ai/api/create_floor_plan \
  -H "Content-Type: application/json" \
  -d '{
    "apiKey": "YOUR_API_KEY",
    "imageUrl": "https://example.com/sketches/calle-mayor-12.jpg",
    "propertyId": "196e742a-5b0d-4c9e-8a3f-7e2b1c6d9f04",
    "name": "Ground floor"
  }'

Risposta

JSON
{
  "message": "Floor plan created",
  "floorPlanId": "Ae6pgFD6yZyyhpzZH",
  "propertyId": "196e742a-5b0d-4c9e-8a3f-7e2b1c6d9f04",
  "name": "Ground floor",
  "status": "ready",
  "imageUrl": "https://img.pedra.ai/floorplan-source-QiqMn78cKtNHk4LpF",
  "appUrl": "https://app.pedra.ai/?projectId=196e742a-5b0d-4c9e-8a3f-7e2b1c6d9f04",
  "creditsUsed": 5
}
# 1. Start the conversion (returns at once with "status": "processing")
curl -X POST https://app.pedra.ai/api/create_floor_plan \
  -H "Content-Type: application/json" \
  -d '{
    "apiKey": "YOUR_API_KEY",
    "imageUrl": "https://example.com/sketches/calle-mayor-12.jpg",
    "propertyName": "Calle Mayor 12",
    "waitForCompletion": false
  }'

# 2. Poll every 10 seconds until "status" is "ready" (or "failed")
curl -X POST https://app.pedra.ai/api/floor_plan_status \
  -H "Content-Type: application/json" \
  -d '{ "apiKey": "YOUR_API_KEY", "floorPlanId": "FLOOR_PLAN_ID" }'
JSON
{
  "message": "Floor plan conversion started",
  "floorPlanId": "Ae6pgFD6yZyyhpzZH",
  "propertyId": "196e742a-5b0d-4c9e-8a3f-7e2b1c6d9f04",
  "name": "Ground floor",
  "status": "processing",
  "appUrl": "https://app.pedra.ai/?projectId=196e742a-5b0d-4c9e-8a3f-7e2b1c6d9f04"
}

Stato della planimetria

POST/api/floor_plan_status

Restituisce "processing", "ready" (con imageUrl) o "failed". Non consuma mai crediti.

apiKeystringobbligatorio
La tua chiave API.
floorPlanIdstringobbligatorio
Id restituito da create_floor_plan.
curl -X POST https://app.pedra.ai/api/floor_plan_status \
  -H "Content-Type: application/json" \
  -d '{ "apiKey": "YOUR_API_KEY", "floorPlanId": "FLOOR_PLAN_ID" }'

Risposta

JSON
{
  "floorPlanId": "Ae6pgFD6yZyyhpzZH",
  "propertyId": "196e742a-5b0d-4c9e-8a3f-7e2b1c6d9f04",
  "name": "Ground floor",
  "status": "ready",
  "imageUrl": "https://img.pedra.ai/floorplan-source-QiqMn78cKtNHk4LpF",
  "appUrl": "https://app.pedra.ai/?projectId=196e742a-5b0d-4c9e-8a3f-7e2b1c6d9f04",
  "creditsUsed": 5
}

Come ottenere una buona planimetria

  • Scrivi almeno una misura reale sul disegno (la lunghezza di un muro o la superficie totale). Senza, la distribuzione è giusta ma senza misure.
  • Dai un nome a ogni stanza. I nomi passano sulla planimetria così come sono scritti.
  • Fotografa il foglio dall'alto, piatto e ben illuminato. Le immagini vengono ridotte a 2400 px sul lato lungo, quindi un file più grande non serve.

Errori

  • 400 manca imageUrl o l'URL non è un'immagine.
  • 403 crediti insufficienti (ne servono 5).
  • 404 chiave API sconosciuta, o un propertyId / floorPlanId che non è di questo account.
  • 409 l'immobile ha già 30 planimetrie.
  • 500 non è stato possibile leggere il disegno. Non viene addebitato nulla e non resta nessuna planimetria.

Da ChatGPT o Claude

Gli stessi endpoint sono gli strumenti pedra_create_floor_plan e pedra_get_floor_plan del server MCP di Pedra. Allega una foto dello schizzo nella chat e chiedi la planimetria.