pedra_add_images_to_property
ChatGPTAdd photos to a property: by URL (the server fetches each one, so any public https image URL or small data: URI works), or photos the user attached in ChatGPT (files). Returns the stored img.pedra.ai URLs to use with the editing, video and tour tools. For photos on the user's device that weren't attached, use pedra_create_upload_link instead. Pass type "360" for 360° photos (checked to be 2:1 equirectangular), which can then become a virtual tour.
pedra_add_virtual_tour_scenes
ChatGPTAdd rooms to the end of an existing virtual tour. With "sequential" linking (default) only the new rooms are linked: AI connects them to each other and to the last 7 existing rooms. That costs 1 credit per new room, at least 3; "none" is free. The tour stays live while this runs; poll pedra_get_virtual_tour until status is "ready".
pedra_blur
ChatGPTBlur objects in an image (e.g. faces, license plates) for privacy. Returns the blurred image URL. Pass propertyId to save the result into that property's gallery instead of only returning a URL.
pedra_create_property
ChatGPTCreate a new Pedra property. Returns its propertyId and an appUrl. To add photos that are on the user's device, pedra_create_upload_link is simpler (no login); or give the user the appUrl to open the property in Pedra and drop their photos in, then use pedra_list_property_images.
pedra_create_upload_link
ChatGPTGet a link where the user (or their photographer) uploads photos from their phone or computer into a property. No login, valid 24 hours. Use this whenever the photos are files on the user's device that weren't attached to the chat: for editing, videos or virtual tours. Regular photos and 360° photos both work (360° photos are recognised automatically); pass type "360" for a virtual tour so anything else is refused. Creates the property if no propertyId is given. Give the user the uploadUrl, wait until they say they're done, then use pedra_list_property_images (type "360" for 360° photos), or pedra_create_virtual_tour with the propertyId.
pedra_create_video
ChatGPTStart rendering a property video from a list of images. Returns a videoId immediately; rendering takes about 3 to 10 minutes. Tell the user it's rendering, then check it with pedra_get_video when they ask. Pass propertyId when the images came from a property (via pedra_list_property_images) to save the finished video into that property's Videos tab, where it stays editable from the app.
pedra_create_virtual_tour
ChatGPTBuild a hosted 360° virtual tour: the rooms are named and linked with navigation points by AI, and you get a shareable link and embed code. Pass the 360° photos as scenes (URLs, or imageIds of 360° photos already in the property) in the order someone would walk through the home, or just a propertyId to use all its 360° photos. Linking: "sequential" (default) lets AI work out which rooms connect, using the walk order as a hint, and puts each navigation point on its doorway; it costs 1 credit per room, at least 3. "smart" is the same, kept for compatibility. "none" is free. Returns a tourId immediately — the build takes about 6 seconds per room, so poll pedra_get_virtual_tour until status is "ready". One tour per property.
pedra_credits
ChatGPTRead the account's plan and remaining credits. Never deducts credits.
pedra_edit_via_prompt
ChatGPTEdit an image from a natural-language instruction (e.g. "paint the walls sage green"). Returns the edited image URL. Pass propertyId to save the result into that property's gallery instead of only returning a URL.
pedra_empty_room
ChatGPTRemove all furniture and objects from a room, leaving an empty space. Returns the emptied image URL. Pass propertyId to save the result into that property's gallery instead of only returning a URL.
pedra_enhance
ChatGPTEnhance a real-estate photo: improve lighting, color, and sharpness. Returns the enhanced image URL. Pass propertyId to save the result into that property's gallery instead of only returning a URL.
pedra_enhance_and_correct_perspective
ChatGPTEnhance a photo and correct vertical/horizontal perspective (straighten walls and lines). Returns the corrected image URL. Pass propertyId to save the result into that property's gallery instead of only returning a URL.
pedra_feedback
ChatGPTSubmit thumbs up/down feedback on a generated image, with an optional credit-back on a thumbs-down (subject to the API's eligibility rules).
pedra_furnish
ChatGPTVirtually stage (furnish) a room with AI-generated furniture. Returns the staged image URL. Pass propertyId to save the result into that property's gallery instead of only returning a URL.
pedra_generate_voice
ChatGPTRender a voiceover from a script via text-to-speech. Returns an audioId — pass it to pedra_create_video / pedra_update_video as voice.audioId to attach the narration (with synced subtitles).
pedra_generate_voice_script
ChatGPTWrite a short voiceover script from property photos (and optional facts). Uses vision so the script reflects what's shown. Returns the script text — pass it to pedra_generate_voice.
pedra_get_video
ChatGPTCheck a video started with pedra_create_video or pedra_update_video. Returns status "processing", "ready" (with videoUrl), or "failed", plus an appUrl to the property when the video belongs to one. Never re-renders or spends credits.
pedra_get_virtual_tour
ChatGPTGet a virtual tour: status ("processing", "ready" or "failed", with the reason), the shareable tourUrl, an embedCode iframe for a website, and its scenes and navigation links. Poll this after pedra_create_virtual_tour or pedra_add_virtual_tour_scenes. Read-only.
pedra_list_properties
ChatGPTList the user's Pedra properties (id, name, photo count, and an appUrl to open each in Pedra). Use this to find photos that already live in the account — e.g. to build a video from a listing's photos.
pedra_list_property_images
ChatGPTList the photos in a Pedra property as img.pedra.ai URLs, ready to pass straight to pedra_create_video or the image-editing tools. Get the propertyId from pedra_list_properties. Pass type "360" to list its 360° photos instead (their imageIds are the scenes of a virtual tour).
pedra_list_virtual_tours
ChatGPTList the account's virtual tours (newest first) with status, share link and room count. Optionally only one property's. Read-only.
pedra_music_library
ChatGPTList the background-music catalog: valid music.track values (genre keys) and the voice languages. Read-only.
pedra_remove_object
ChatGPTRemove an object from an image using a mask. Returns the cleaned image URL. Pass propertyId to save the result into that property's gallery instead of only returning a URL.
pedra_renovation
ChatGPTRenovate a space (walls, floors, finishes), optionally furnished. Returns the renovated image URL. Pass propertyId to save the result into that property's gallery instead of only returning a URL.
pedra_sky_blue
ChatGPTReplace a dull or overcast sky with a clear blue one. Returns the image URL with the new sky. Pass propertyId to save the result into that property's gallery instead of only returning a URL.
pedra_social_accounts
ChatGPTList the social networks connected to the user's Pedra account (Instagram, Facebook Page, TikTok, YouTube) and whether each still works. Call this before pedra_social_post. Networks are connected in the Pedra app under Settings › Socials, not through this API. Pedra Pro only.
pedra_social_cancel_post
ChatGPTCancel a scheduled social post that hasn't gone out yet (status pending). Posts already published can't be undone here. Pedra Pro only.
pedra_social_list_posts
ChatGPTList posts made or scheduled through the social API, newest scheduled time first, with status pending, processing, posted, failed or cancelled, and the error when one failed. Use it to check a post went out or to see which days already have one. Pedra Pro only.
pedra_social_post
ChatGPTPost a video to the user's connected socials now, or schedule it. Pass a public https videoUrl (Pedra copies it to its own storage) and one entry per network with its caption; each network can appear once. Without scheduledAt it posts within a minute. Returns one postId per network; check them with pedra_social_list_posts. Pedra Pro only, up to 25 posts per network per day. Confirm the captions and time with the user before calling: this publishes publicly.
pedra_update_video
ChatGPTEdit an existing video (by videoId) without re-rendering unchanged clips: only new or changed photos re-animate and cost credits. Omit images to change only audio, text, or branding. Returns immediately while the video re-renders; check it with pedra_get_video.
pedra_update_virtual_tour
ChatGPTChange a finished virtual tour in place: rename it or its rooms, reorder rooms (the first one is where the tour opens), remove rooms, replace its navigation links, or change how the navigation points look. Free and instant. The tour's public link shows the change right away. Get sceneIds from pedra_get_virtual_tour.