Virtual tours

Create a 360° virtual tour from 360° photos

Imports the 360° photos into a property (a new one unless propertyId is given), then — asynchronously — names unnamed rooms with AI (free) and places navigation links. Returns immediately with status "processing"; poll /api/get_virtual_tour until status is "ready" or "failed" (~10 s per linked room). Credits depend on linking: sequential = max(3, ceil(rooms/3)); smart = by room count (≤6: 5, ≤10: 12, ≤15: 25, ≤20: 50, ≤25: 70, ≤30: 100, ≤35: 130, ≤40: 160); none = free. Charged only when linking starts; failed builds cost nothing. One tour per property. Images stored from URLs count toward the daily upload limit (30/day free, 500/day paid); over it, 429 upload_limit and nothing is stored.

post/api/create_virtual_tour

Request

  • Base URL: https://app.pedra.ai
  • URL: https://app.pedra.ai/api/create_virtual_tour
  • Auth: none required

Request body

apiKeystring required

Account API key, sent in the request body. Get one at https://app.pedra.ai under Settings → API.

imageUrlsstring[]

Shorthand for scenes: a plain list of 360° photo URLs.

propertyIdstring

Build the tour in this property. Required when scenes use imageId. Omit to create a new property named after name.

namestring

Tour title (and the new property's name when one is created).

linking'sequential' | 'smart' | 'none'

sequential: each room linked to the next, both directions (pass rooms in walking order). smart: AI links rooms that visibly connect, up to 40 rooms. none: no navigation points.

language'en' | 'es' | 'fr' | 'de' | 'it' | 'pt'

Tour page UI language and the language of AI room names. Non-English tours get a /{lang}/virtual-tour/... URL.

Response

Tour created; building in the background.

tourIdstring
propertyIdstring
namestring nullable
status'processing' | 'ready' | 'failed'
tourUrlstring

Public tour page. Stable across edits.

embedCodestring

Ready-to-paste <iframe> for the tour.

appUrlstring nullable

The property in the Pedra app.

shareableboolean

false on free-plan accounts: the tour builds, but its public link shows an upgrade page.

shareableNotestring

Present when shareable is false.

sceneCountinteger
linkCountinteger
coverImageUrlstring nullable
createdAtstring date-time
updatedAtstring date-time
errorstring

Present when status is failed.

lastErrorstring

Present on a ready tour whose last add_virtual_tour_scenes failed.

linkingstring
creditsCostinteger
estimatedSecondsinteger
messagestring

Changes

No recorded changes to this operation across all 1 revision of this API.