Home staging virtual

API Home Staging Virtual

Mobile divisões vazias, esvazie divisões mobiladas, renove espaços e edite interiores com prompts ou máscaras — todas as operações sobre o conteúdo da divisão num só lugar.

Os endpoints de home staging virtual cobrem tudo o que muda o conteúdo de uma divisão: adicionar mobiliário, removê-lo, renovar o espaço, edições precisas via prompt e remoção de objetos por máscara. Para limpeza de fotos (enhance, sky, blur), ver Melhoria de imagens.

Mobiliar uma divisão vazia

POST/api/furnish

Adiciona mobiliário realista a uma divisão vazia. A Pedra preserva a arquitetura da divisão (paredes, janelas, portas, pisos) e apenas adiciona mobiliário e decoração.

Exemplos de staging de interiores
Pares antes/depois em salas, quartos, cozinhas e escritórios em diferentes estilos de mobiliário.
Ver exemplos →

Parâmetros

apiKeystringobrigatório
A tua chave API.
imageUrlstringobrigatório
URL da foto da divisão vazia, ou um data URI base64 (data:image/png;base64,...).
roomTypestringobrigatório
Tipo de espaço a mobiliar. Os oito valores abaixo são os tipos de espaço predefinidos. Também podes passar qualquer outro espaço como string personalizada (ex.: "Kid's room", "Garden", "Home gym").
Values: Living room Dining + Living room Bedroom Dining room Terrace Entrance Office Bathroom
stylestringobrigatório
Estilo do mobiliário. Passa um dos estilos nomeados abaixo, ou um URL público para uma imagem de referência (ex.: foto do Pinterest ou de produto) — a Pedra reproduz o look da referência.
Values: Minimalist Modern Scandinavian Industrial Bohemian Mid-century modern Traditional Mediterranean Coastal Rustic Farmhouse Contemporary
creativitystring
Obsoleto e ignorado desde setembro de 2026. O mobiliário tem agora um único nível: adiciona móveis e decoração mantendo paredes, portas, janelas e o ângulo da câmara exatamente iguais, por 1 crédito por imagem (2 se style for o URL de uma imagem de referência). Os pedidos que ainda enviam este parâmetro continuam a funcionar.
preserveAspectRatioboolean
Por defeito, o resultado é devolvido no tamanho que o modelo de IA produzir, que pode não coincidir com o aspect ratio nem com a resolução da tua foto. Define-o como true para receber o resultado com a largura e a altura exatas da imagem de entrada: é recortado a partir do centro para o aspect ratio original (nunca esticado) e redimensionado para a resolução original.
Default: false
propertyIdstring
Id opcional da propriedade (de list_properties ou create_property) a que esta foto pertence. Quando definido, o resultado é guardado na galeria dessa propriedade — visível e editável a partir da app — em vez de ser apenas devolvido como URL. A resposta inclui também <code>source</code> (<code>imageId</code> e <code>name</code>) da foto original, se já estiver nessa propriedade ou se enviares também <code>name</code>.
namestring
Nome opcional para a foto original (p. ex. o nome do ficheiro), até 200 caracteres. Requer <code>propertyId</code>. Se a foto ainda não estiver nessa propriedade, é guardada lá com este nome na mesma chamada, por isso não precisas de chamar antes <code>add_images_to_property</code>, e o nome é devolvido como <code>source.name</code>. Uma foto que já está na propriedade mantém o seu nome. Nunca aparece na imagem.

Pedido de exemplo

curl -X POST https://app.pedra.ai/api/furnish \
  -H "Content-Type: application/json" \
  -d '{
    "apiKey": "YOUR_API_KEY",
    "imageUrl": "https://example.com/empty-bedroom.jpg",
    "roomType": "Bedroom",
    "style": "Minimalist"
  }'

Resposta de exemplo

JSON
{
  "message": "Success",
  "output": [
    { "url": "https://img.pedra.ai/<generated-id>" }
  ]
}

Tempo de resposta: ~30 segundos por imagem.

Esvaziar uma divisão mobilada

POST/api/empty_room

Remove mobiliário e objetos de uma divisão, deixando a arquitetura intacta. Útil quando as fotos do anúncio são tiradas com os pertences do proprietário anterior ainda no local.

Exemplos de decluttering e divisões vazias
Vê anúncios reais transformados de desordenados para completamente vazios em segundos.
Ver exemplos →

Parâmetros

apiKeystringobrigatório
A tua chave API.
imageUrlstringobrigatório
URL da foto da divisão mobilada, ou um data URI base64.
preserveAspectRatioboolean
Por defeito, o resultado é devolvido no tamanho que o modelo de IA produzir, que pode não coincidir com o aspect ratio nem com a resolução da tua foto. Define-o como true para receber o resultado com a largura e a altura exatas da imagem de entrada: é recortado a partir do centro para o aspect ratio original (nunca esticado) e redimensionado para a resolução original.
Default: false
propertyIdstring
Id opcional da propriedade (de list_properties ou create_property) a que esta foto pertence. Quando definido, o resultado é guardado na galeria dessa propriedade — visível e editável a partir da app — em vez de ser apenas devolvido como URL. A resposta inclui também <code>source</code> (<code>imageId</code> e <code>name</code>) da foto original, se já estiver nessa propriedade ou se enviares também <code>name</code>.
namestring
Nome opcional para a foto original (p. ex. o nome do ficheiro), até 200 caracteres. Requer <code>propertyId</code>. Se a foto ainda não estiver nessa propriedade, é guardada lá com este nome na mesma chamada, por isso não precisas de chamar antes <code>add_images_to_property</code>, e o nome é devolvido como <code>source.name</code>. Uma foto que já está na propriedade mantém o seu nome. Nunca aparece na imagem.

Pedido de exemplo

curl -X POST https://app.pedra.ai/api/empty_room \
  -H "Content-Type: application/json" \
  -d '{
    "apiKey": "YOUR_API_KEY",
    "imageUrl": "https://example.com/furnished-room.jpg"
  }'

Resposta de exemplo

JSON
{
  "message": "Success",
  "output": [
    { "url": "https://img.pedra.ai/<generated-id>" }
  ]
}

Tempo de resposta: ~30 segundos por imagem.

Renovar uma divisão

POST/api/renovation

Mostra o aspeto que uma divisão pode ter após renovação: novos acabamentos, cozinhas atualizadas, casas de banho renovadas. Opcionalmente mantém as janelas no sítio e mobila de novo na mesma chamada.

Exemplos de renovação virtual
Renders reais de renovação — cozinhas datadas, casas de banho cansadas e interiores renovados em vários estilos.
Ver exemplos →

Parâmetros

apiKeystringobrigatório
A tua chave API.
imageUrlstringobrigatório
URL da foto da divisão a renovar.
stylestringobrigatório
Estilo da renovação. Passa um dos estilos nomeados abaixo, ou um URL público para uma imagem de referência — a Pedra reproduz acabamentos, paleta e look geral da referência.
Values: Minimalist Modern Scandinavian Industrial Bohemian Mid-century modern Traditional Mediterranean Coastal Rustic Farmhouse Contemporary
preserveWindowsboolean
Mantém as janelas na posição original. Recomendado para anúncios fiéis.
Default: false
furnishboolean
Adiciona mobiliário à divisão renovada na mesma chamada. Quando true, roomType é obrigatório.
Default: false
roomTypestring
Usado quando furnish é true. Por defeito "Auto" (a Pedra deteta o espaço a partir da imagem). Aceita os mesmos tipos de espaço predefinidos que o endpoint furnish, além de qualquer espaço personalizado que escrevas como string (ex.: "Kid's room", "Garden", "Home gym").
Values: Living room Dining + Living room Bedroom Dining room Terrace Entrance Office Bathroom Auto
Default: Auto
creativitystring
Obsoleto e ignorado desde setembro de 2026. A renovação tem agora um único nível: renova acabamentos, materiais e mobiliário mantendo paredes, portas, janelas e o ângulo da câmara exatamente iguais, por 1 crédito por imagem. Os pedidos que ainda enviam este parâmetro continuam a funcionar.
preserveAspectRatioboolean
Por defeito, o resultado é devolvido no tamanho que o modelo de IA produzir, que pode não coincidir com o aspect ratio nem com a resolução da tua foto. Define-o como true para receber o resultado com a largura e a altura exatas da imagem de entrada: é recortado a partir do centro para o aspect ratio original (nunca esticado) e redimensionado para a resolução original.
Default: false
propertyIdstring
Id opcional da propriedade (de list_properties ou create_property) a que esta foto pertence. Quando definido, o resultado é guardado na galeria dessa propriedade — visível e editável a partir da app — em vez de ser apenas devolvido como URL. A resposta inclui também <code>source</code> (<code>imageId</code> e <code>name</code>) da foto original, se já estiver nessa propriedade ou se enviares também <code>name</code>.
namestring
Nome opcional para a foto original (p. ex. o nome do ficheiro), até 200 caracteres. Requer <code>propertyId</code>. Se a foto ainda não estiver nessa propriedade, é guardada lá com este nome na mesma chamada, por isso não precisas de chamar antes <code>add_images_to_property</code>, e o nome é devolvido como <code>source.name</code>. Uma foto que já está na propriedade mantém o seu nome. Nunca aparece na imagem.

Pedido de exemplo

curl -X POST https://app.pedra.ai/api/renovation \
  -H "Content-Type: application/json" \
  -d '{
    "apiKey": "YOUR_API_KEY",
    "imageUrl": "https://example.com/dated-kitchen.jpg",
    "style": "Modern",
    "preserveWindows": true,
    "furnish": true,
    "roomType": "Kitchen"
  }'

Resposta de exemplo

JSON
{
  "message": "Success",
  "output": [
    { "url": "https://img.pedra.ai/<generated-id>" }
  ]
}

Tempo de resposta: ~30 segundos por imagem.

Editar via prompt

POST/api/edit_via_prompt

Faz edições precisas descritas em linguagem natural: "Add a modern chandelier", "Repaint the walls white", "Remove the rug". Ideal para correções pontuais que não cabem nos outros endpoints.

Parâmetros

apiKeystringobrigatório
A tua chave API.
imageUrlstringobrigatório
URL da foto a editar, ou um data URI base64.
promptstringobrigatório
Instrução de edição em linguagem natural. Sê específico — "add a beige sofa against the back wall" funciona melhor que "add furniture".
preserveAspectRatioboolean
Por defeito, o resultado é devolvido no tamanho que o modelo de IA produzir, que pode não coincidir com o aspect ratio nem com a resolução da tua foto. Define-o como true para receber o resultado com a largura e a altura exatas da imagem de entrada: é recortado a partir do centro para o aspect ratio original (nunca esticado) e redimensionado para a resolução original.
Default: false
propertyIdstring
Id opcional da propriedade (de list_properties ou create_property) a que esta foto pertence. Quando definido, o resultado é guardado na galeria dessa propriedade — visível e editável a partir da app — em vez de ser apenas devolvido como URL. A resposta inclui também <code>source</code> (<code>imageId</code> e <code>name</code>) da foto original, se já estiver nessa propriedade ou se enviares também <code>name</code>.
namestring
Nome opcional para a foto original (p. ex. o nome do ficheiro), até 200 caracteres. Requer <code>propertyId</code>. Se a foto ainda não estiver nessa propriedade, é guardada lá com este nome na mesma chamada, por isso não precisas de chamar antes <code>add_images_to_property</code>, e o nome é devolvido como <code>source.name</code>. Uma foto que já está na propriedade mantém o seu nome. Nunca aparece na imagem.

Pedido de exemplo

curl -X POST https://app.pedra.ai/api/edit_via_prompt \
  -H "Content-Type: application/json" \
  -d '{
    "apiKey": "YOUR_API_KEY",
    "imageUrl": "https://example.com/living-room.jpg",
    "prompt": "Add a modern chandelier to the ceiling"
  }'

Resposta de exemplo

JSON
{
  "message": "Success",
  "output": {
    "url": "https://img.pedra.ai/<generated-id>"
  }
}

Tempo de resposta: ~15 segundos por imagem. Custo: 2 créditos por chamada. output é um objeto único.

Remover objeto

POST/api/remove_object

Remove objetos específicos de uma imagem usando uma máscara. A máscara é uma imagem separada onde pixels brancos marcam o que remover e pretos marcam o que manter. Usa-o quando precisas de controlo cirúrgico vs. edit_via_prompt.

Exemplos de remoção de objetos
Mesma galeria que /api/empty_room — desordem, mobiliário e objetos removidos de fotos reais de anúncios.
Ver exemplos →

Parâmetros

apiKeystringobrigatório
A tua chave API.
imageUrlstringobrigatório
URL da foto fonte.
maskUrlstringobrigatório
URL da imagem máscara. Áreas brancas são removidas; áreas pretas são mantidas.
preserveAspectRatioboolean
Por defeito, o resultado é devolvido no tamanho que o modelo de IA produzir, que pode não coincidir com o aspect ratio nem com a resolução da tua foto. Define-o como true para receber o resultado com a largura e a altura exatas da imagem de entrada: é recortado a partir do centro para o aspect ratio original (nunca esticado) e redimensionado para a resolução original.
Default: false
propertyIdstring
Id opcional da propriedade (de list_properties ou create_property) a que esta foto pertence. Quando definido, o resultado é guardado na galeria dessa propriedade — visível e editável a partir da app — em vez de ser apenas devolvido como URL. A resposta inclui também <code>source</code> (<code>imageId</code> e <code>name</code>) da foto original, se já estiver nessa propriedade ou se enviares também <code>name</code>.
namestring
Nome opcional para a foto original (p. ex. o nome do ficheiro), até 200 caracteres. Requer <code>propertyId</code>. Se a foto ainda não estiver nessa propriedade, é guardada lá com este nome na mesma chamada, por isso não precisas de chamar antes <code>add_images_to_property</code>, e o nome é devolvido como <code>source.name</code>. Uma foto que já está na propriedade mantém o seu nome. Nunca aparece na imagem.

Pedido de exemplo

curl -X POST https://app.pedra.ai/api/remove_object \
  -H "Content-Type: application/json" \
  -d '{
    "apiKey": "YOUR_API_KEY",
    "imageUrl": "https://example.com/cluttered-room.jpg",
    "maskUrl": "https://example.com/mask.png"
  }'

Resposta de exemplo

JSON
{
  "message": "Success",
  "output": {
    "url": "https://img.pedra.ai/<generated-id>"
  }
}

Tempo de resposta: ~15 segundos por imagem. output é um objeto único.

Seguinte

Ver Melhoria de imagens para nitidez, substituição de céu e desfocagem — ou Erros e limites para tratamento de falhas.