Saltar al contenido principal
Cómo añadir home staging virtual a su aplicación: tutorial de API para desarrolladores
Tutoriales

Cómo añadir home staging virtual a su aplicación: tutorial de API para desarrolladores

Un tutorial paso a paso para desarrolladores para añadir home staging virtual con IA a cualquier aplicación mediante una API REST. El código sigue la API documentada de Roomagen: enviar un trabajo, verificar webhooks firmados, sondear como alternativa, almacenar resultados e integrar la divulgación.

Roomagen
Roomagen Team
3 de agosto de 2026Actualizado: 24 de octubre de 202617 min de lectura4,948 palabras
Tabla de contenidos(12)

Qué ha cambiado en esta actualización

  • Se actualizó la sección de la API: las imágenes gratuitas de la API ahora llevan una marca de agua de Roomagen hasta que se compra un paquete, y cada herramienta está documentada
  • Se añadió la lista de advertencias que nombra las opciones que una herramienta ignora
Actualizaciones anteriores(1)
    • Se corrigió cada muestra de código para que coincida con la API en producción de Roomagen: opciones en camelCase como roomType, identificadores de trabajo en formato UUID, la cabecera Idempotency-Key y la firma de webhook v1= calculada sobre la marca de tiempo y el cuerpo sin procesar
    • Se actualizaron el acceso y los precios: claves de autoservicio desde el 30 de agosto de 2026 en lugar de una lista de espera, 50 imágenes gratuitas una sola vez en la primera clave, paquetes que nunca caducan y seis herramientas documentadas en lugar de más de 40
    • Se reescribió la sección de divulgación en torno a la norma de declaración más enlace al original de la AB 723, la AB 2025 de California para anuncios de alquiler a partir de enero de 2027, las normas contradictorias de etiquetas de los MLS y el artículo 50 de la EU AI Act
    • Se añadió una tabla de códigos de error, límites de frecuencia, una sección sobre lo que la API no hace y una lista de verificación previa al lanzamiento; se eliminaron una cifra no respaldada del tamaño del mercado y las afirmaciones sobre regeneración gratuita y etiquetas de divulgación
    • Se corrigió el tiempo de procesamiento de los trabajos a los 20–60 segundos documentados y el intervalo de sondeo a 2–5 segundos, con medianas medidas de tiempo de la API para staging, día a atardecer y plano de planta a 3D

Para añadir home staging virtual a una aplicación, su backend envía cada foto de la estancia a una API de home staging virtual como un trabajo asíncrono, recibe el resultado mediante un webhook firmado o sondeo, y luego lo almacena junto al original con los datos de divulgación.

La herramienta ideal

Home Staging Virtual con AI — Amuebla Habitaciones Vacías en Menos de un Minuto

Amuebla habitaciones vacías con AI, normalmente en menos de un minuto. 13 estilos de diseño, 15 tipos de habitación y fotos listas para anuncios inmobiliarios, de alquiler y de hostelería. 6 créditos gratis, sin tarjeta de crédito.

Pruébalo gratis

Añadir home staging virtual a una aplicación se reduce a un único bucle: su backend envía la foto de una habitación a una API de home staging virtual como un trabajo, el proveedor la renderiza en segundo plano y su aplicación recopila el resultado, lo almacena junto al original y lo muestra con cualquier divulgación que el destino requiera. Este tutorial construye ese bucle contra la API de Roomagen, con código en cURL, Node.js y Python, y mantiene el diseño portable hacia otros proveedores.

La integración de un vistazo

  1. Envíe cada foto desde su servidor como un trabajo: POST /v1/jobs con un encabezado Idempotency-Key.
  2. Almacene el job_id devuelto antes de hacer cualquier otra cosa.
  3. Reciba el trabajo finalizado en un webhook firmado y concilie los fallos con GET /v1/jobs/{id}.
  4. Realice un realojamiento del resultado, conserve el original a su lado y traslade los datos de divulgación a cada exportación.

Qué va a construir: arquitectura de una funcionalidad de staging

Al final de este tutorial, su aplicación aceptará la foto de una habitación y mostrará una versión amueblada de la misma estancia, normalmente entre 20 y 60 segundos después según la documentación de Roomagen. Todo lo demás aquí expuesto existe para hacer que ese bucle sea fiable a volúmenes de producción. El mismo bucle sirve para portales inmobiliarios, plataformas de entrega de fotografía, software de gestión de propiedades que publicita unidades vacías, aplicaciones de diseño de interiores que presentan un concepto sobre la propia habitación de un cliente y minoristas de muebles que muestran una habitación decorada con el estilo elegido.

Un renderizado tarda decenas de segundos, demasiado tiempo para mantener abierta una solicitud HTTP, por lo que el diseño es asíncrono: envíe el trabajo, obtenga un ID de trabajo de inmediato y recopile el resultado más tarde. El home staging ejecuta una canalización de varios pasos (análisis de la escena, luego instrucción y después generación), por lo que es más lento que herramientas como la edición y conversión de fotos día a atardecer: en los datos de producción de Roomagen correspondientes a los 30 días previos al 1 de octubre de 2026, la mediana de un trabajo de API de home staging tomó unos 45 segundos, frente a unos 25 segundos para la edición y conversión de fotos día a atardecer y para el plano de planta a 3D.

Etapa Dónde se ejecuta Qué debe resolver correctamente
Enviar el trabajo Su backend → POST /v1/jobs La clave permanece en el servidor; Idempotency-Key; almacenar job_id
Renderizado Roomagen Normalmente 20–60 segundos; el home staging siempre se renderiza a 2K
Saber que ha terminado Webhook (push) más sondeo (pull) Verificar la firma; deduplicar por job_id
Almacenar y mostrar Su almacenamiento e interfaz Realojar el resultado; conservar el original; divulgar

Roomagen es una plataforma de edición de fotos con IA y home staging virtual con más de 40 herramientas en su aplicación web; la API documenta cada herramienta que acepta (65 a fecha de octubre de 2026) tras un único endpoint de trabajos. Sus herramientas de imagen funcionan sobre los modelos de imagen Gemini de Google, y la API añade la canalización de home staging, la gestión de trabajos, reembolsos automáticos para renderizados fallidos y webhooks firmados.

Antes de empezar: claves, entornos y requisitos de imagen

Obtención de una clave. La API de Roomagen es de autoservicio desde su lanzamiento público el 30 de agosto de 2026; no hay lista de espera. Inicie sesión en el portal de desarrolladores con una cuenta de Roomagen, verifique su correo electrónico y cree una clave, tal como describe el inicio rápido de la API. Su primera clave añade 50 imágenes gratuitas, una sola vez por cuenta, lo cual es suficiente para construir y probar todo lo que incluye esta guía. Hasta que la cuenta adquiera un paquete, cada renderizado llevará una marca de agua de Roomagen, así que utilícelas para desarrollo y pruebas, no para publicación.

Las claves consisten en rmg_live_ más 64 caracteres hexadecimales, enviadas en un encabezado X-Api-Key, y el portal muestra cada clave una única vez. Guárdela en un almacén de secretos del lado del servidor; nunca la distribuya en el JavaScript del navegador ni en una aplicación móvil, donde cualquiera podría extraerla y gastar su saldo.

Entornos. Una cuenta puede albergar hasta 10 claves activas, por lo que puede crear una por entorno y revocar cualquiera de ellas sin afectar a las demás. No existe modo de prueba: cada clave es de producción y las claves de una cuenta comparten un saldo de imágenes, un webhook del portal y un secreto de firma, así que asigne a los trabajos de desarrollo su propio webhook_url específico para cada trabajo. No existe un botón de rotación, por diseño: cree la nueva clave, despliéguela y luego revoque la antigua.

Entradas de imagen.

Requisito API de Roomagen
Formatos y tamaño JPEG, PNG o WebP, de hasta 20 MB; exactamente uno entre image_url o image_base64
image_url (preferido) URL https pública, obtenida mientras se procesa su POST: tiempo de espera de 10 segundos, hasta 3 redirecciones, hosts privados rechazados
image_base64 Prefijo URI de datos opcional; el cuerpo de la solicitud puede alcanzar los 30 MB, pero únicamente cuando X-Api-Key está presente (1 MB sin él)

Dé prioridad a image_url: las solicitudes se mantienen ligeras, evita la sobrecarga del 33 % de base64 y, dado que la descarga ocurre durante su POST, una URL firmada solo necesita ser válida para esa solicitud. Envíe la exportación a tamaño completo, una habitación por toma, nivelada y razonablemente iluminada; el modelo solo puede conservar los detalles que puede ver.

Comprobar el saldo mediante código. GET /v1/account devuelve image_credits, las imágenes que su saldo aún permite renderizar. Conecte una alerta de saldo bajo a este valor desde ahora: cuando el saldo no pueda cubrir un trabajo, POST /v1/jobs responderá con 402 insufficient_credits y no se creará ningún trabajo.

Paso 1: Enviar un trabajo de staging

Una única petición POST crea el trabajo: la herramienta, la imagen, las opciones y, opcionalmente, una webhook_url por trabajo (sin ella, Roomagen utiliza el webhook de la cuenta guardado en el portal, o bien usted recurre al sondeo).

curl -X POST https://api.roomagen.com/api/v1/jobs \
  -H "X-Api-Key: $ROOMAGEN_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: photo-4821-3-stage" \
  -d '{
    "tool": "virtual-staging",
    "image_url": "https://cdn.example.com/rooms/4821-3.jpg",
    "options": { "style": "scandinavian", "roomType": "living-room", "mode": "empty-room" },
    "webhook_url": "https://app.example.com/hooks/roomagen"
  }'

La respuesta llega con el código de estado 201, antes de que termine el renderizado:

{ "job_id": "3f1c9d4e-5b2a-4c8e-9f10-7d6a2b3c4e5f", "status": "processing", "images_charged": 1 }

La misma llamada desde un backend de Node.js 18+:

async function submitStagingJob(photo) {
  const res = await fetch("https://api.roomagen.com/api/v1/jobs", {
    method: "POST",
    headers: {
      "X-Api-Key": process.env.ROOMAGEN_API_KEY,
      "Content-Type": "application/json",
      "Idempotency-Key": `photo-${photo.id}-stage`, // derivado de su propio registro, nunca aleatorio
    },
    body: JSON.stringify({
      tool: "virtual-staging",
      image_url: photo.signedUrl,
      options: { style: photo.style, roomType: photo.roomType, mode: "empty-room" },
      webhook_url: "https://app.example.com/hooks/roomagen",
    }),
  });
  const body = await res.json();
  if (!res.ok) throw new Error(`${body.error.code}: ${body.error.message}`);
  await db.query(
    "INSERT INTO staging_jobs (photo_id, job_id, status, images_charged) VALUES ($1, $2, 'processing', $3)",
    [photo.id, body.job_id, body.images_charged],
  );
  return body.job_id;
}

El home staging es más estricto que las demás herramientas. style es obligatorio, las opciones usan formato camelCase y cualquier clave fuera de la lista siguiente, incluyendo room_type, resolution, tier y customPrompt, se rechaza con invalid_request. El home staging siempre se renderiza a 2K y cuesta una imagen.

Opción Valores Por defecto
style (obligatorio) modern, scandinavian, industrial, traditional, minimalist, bohemian, mid-century-modern, coastal, farmhouse, luxury, japandi, art-deco, mediterranean, o custom para permitir que el modelo elija ninguno
roomType 15 tipos, tales como living-room, bedroom, kitchen, home-office, kids-room y terrace inferido a partir de la foto
mode empty-room amuebla una habitación vacía; restyle redecora una ya amueblada; recreate la reconstruye como un tipo de habitación diferente empty-room
furnitureMode, furniture ai, o manual con una lista como "sectional sofa, floor lamp, rug" ai
changeWalls, changeFloor true permite que el modelo repinte las paredes o sustituya el suelo false

Los tres modos se corresponden con las modalidades de home staging en la aplicación web de Roomagen, por lo que su equipo de producto puede probarlos antes de que usted escriba código: Home Staging Virtual para habitaciones vacías, Rediseñar Habitaciones Amuebladas para restyle y Reutilización de Espacios para recreate.

Persista los datos antes de cualquier otra cosa. Guarde job_id e images_charged vinculados a su propio registro. El encabezado Idempotency-Key (de hasta 128 caracteres, delimitado a su clave de API) aporta seguridad ante reintentos: la misma clave con el mismo cuerpo devuelve el trabajo original, sin realizar un segundo cargo. Derive las claves a partir de sus registros para que pueda reconstruirlas tras una caída y reenvíe exactamente el mismo cuerpo: la misma clave con un cuerpo diferente, incluyendo una image_url con una nueva firma, devuelve 409 idempotency_conflict.

Paso 2: Gestionar la finalización — Webhooks frente a sondeo

Existen dos formas de enterarse de que un trabajo ha terminado, y las integraciones en producción utilizan ambas.

Dimensión Webhooks (push) Sondeo (pull)
Latencia Se envía en cuanto finaliza el trabajo, sin peticiones por su parte Hasta el tiempo de un intervalo; Roomagen sugiere de 2 a 5 segundos
Infraestructura Endpoint https público que responde 2xx en menos de 10 segundos Un proceso de trabajo o planificador
Fiabilidad Entrega al menos una vez (at-least-once); 5 intentos a lo largo de unos 36 minutos, luego se descarta Usted controla el bucle
Ideal para Producción con volumen Desarrollo, esperas interactivas, conciliación

Utilice los webhooks en primer lugar y el sondeo como red de seguridad. La documentación de Roomagen describe los webhooks como «una optimización, no un sistema de registro definitivo», debido a que la entrega se abandona una vez finaliza la ventana de reintentos. El sondeo por sí solo tampoco escala: con un intervalo de 3 segundos, cada trabajo consume 20 solicitudes por minuto, por lo que el límite de 300 peticiones por minuto en GET /v1/jobs/{id} cubre alrededor de 15 trabajos sondeando de manera simultánea.

Configure el endpoint. Guarde un endpoint https en la tarjeta de Webhook del portal, indicando la URL final, ya que no se siguen las redirecciones. Almacene el secreto de firma whsec_ como una contraseña y dispare un envío de job.test con el botón Send test event mientras ajusta la verificación. Una webhook_url por trabajo utiliza este mismo secreto.

const crypto = require("crypto");
const express = require("express");
const app = express();

// Cuerpo sin procesar en esta ruta, montada antes de cualquier express.json() global
app.post("/hooks/roomagen", express.raw({ type: "application/json" }), async (req, res) => {
  const ts = req.get("X-Roomagen-Timestamp");
  const sig = req.get("X-Roomagen-Signature");
  if (!ts || !sig) return res.sendStatus(401);

  const expected = "v1=" + crypto
    .createHmac("sha256", process.env.ROOMAGEN_WEBHOOK_SECRET) // whsec_...
    .update(`${ts}.`)
    .update(req.body) // los bytes sin procesar, nunca JSON vuelto a serializar
    .digest("hex");
  const fresh = Math.abs(Date.now() / 1000 - Number(ts)) < 300;
  if (sig.length !== expected.length || !fresh ||
      !crypto.timingSafeEqual(Buffer.from(sig), Buffer.from(expected))) {
    return res.sendStatus(401);
  }

  const job = JSON.parse(req.body);
  if (job.event === "job.test") return res.sendStatus(200);

  // Idempotente: solo la primera entrega (o sondeo) retira la fila del estado "processing"
  const { rowCount } = await db.query(
    "UPDATE staging_jobs SET status = $1, result_urls = $2, error = $3 WHERE job_id = $4 AND status = 'processing'",
    [job.status, job.result_urls, job.error, job.job_id],
  );
  if (rowCount === 1 && job.status === "completed") {
    await queue.add("store-results", { jobId: job.job_id }); // descarga fuera de la ruta de la petición
  }
  res.sendStatus(200);
});

Hay cuatro detalles que importan:

  1. Verifique sobre los bytes sin procesar. El encabezado contiene v1= seguido de un HMAC-SHA256 en hexadecimal de {X-Roomagen-Timestamp}.{raw body}; si vuelve a serializar el JSON, la firma no coincidirá.
  2. Compare en tiempo constante y compruebe la vigencia. timingSafeEqual en Node lanza un error si las longitudes no coinciden, así que compare las longitudes primero. Rechazar marcas de tiempo con más de unos cinco minutos de antigüedad bloquea los ataques de repetición, la misma defensa que expone la documentación de webhooks de Stripe; mantenga sincronizados los relojes de sus servidores.
  3. Responda rápido. Roomagen espera una respuesta 2xx durante 10 segundos; cualquier otra cosa, incluido un tiempo de espera agotado, se considera un intento fallido y se reintenta.
  4. Sea idempotente. La entrega se realiza al menos una vez y sin un orden garantizado, y su proceso de sondeo podría haber completado el trabajo antes, de modo que debe deduplicar por job_id.

Para el sondeo, durante la fase de desarrollo o como mecanismo de conciliación, la versión en Python es concisa:

import os, time, requests

API = "https://api.roomagen.com/api/v1"
HEADERS = {"X-Api-Key": os.environ["ROOMAGEN_API_KEY"]}

def wait_for_job(job_id, interval=3, max_wait=300):
    deadline = time.time() + max_wait
    while time.time() < deadline:
        r = requests.get(f"{API}/jobs/{job_id}", headers=HEADERS, timeout=30)
        r.raise_for_status()
        job = r.json()
        if job["status"] != "processing":
            return job  # "completed" o "failed"; ambos estados son definitivos
        time.sleep(interval)
    return None  # aún en procesamiento: se deja en manos del mecanismo de conciliación

Un trabajo finaliza como completed, con result_urls, o como failed, con el motivo en error y un reembolso automático; registre processing_ms para supervisar la latencia. Ejecute un proceso de conciliación cada uno o dos minutos para aquellos trabajos que permanezcan en processing tras unos minutos. No marque un trabajo lento como fallido solo porque se haya agotado un temporizador: aún podría completarse y ya fue cobrado al crearse.

Paso 3: Entregar los resultados a sus usuarios

Un trabajo completado devuelve result_urls, un array de imágenes JPEG renderizadas. No haga hotlinking de estos enlaces.

Realojar los resultados. Roomagen sirve los resultados desde su propio almacenamiento, sujetos a los plazos de retención de la cuenta, por lo que una tarea en segundo plano debería descargar cada imagen tan pronto como se complete el trabajo, escribirla en su propio bucket (S3, R2, GCS o similar) y servirla a través de su CDN. De este modo, sus imágenes nunca dependerán de la política de retención de un proveedor.

Conserve el original junto al resultado. Guarde la foto de origen y la imagen con staging como un par enlazado. Este par alimenta un deslizador de antes y después, permite a los usuarios revertir los cambios y es lo que exigen las normas de divulgación para anuncios inmobiliarios (Paso 4).

Planifique la variabilidad. La generación con IA presenta variaciones y, en ocasiones, el sofá generado no es el adecuado. Una regeneración es un trabajo nuevo que cuesta otra imagen, dado que Roomagen reembolsa los renderizados que fallan técnicamente, no los resultados que no sean del agrado de un usuario. Asigne a cada reejecución su propio encabezado Idempotency-Key, como photo-4821-stage-2: reutilizar la primera clave devolverá el trabajo original, o un error 409 si el cuerpo ha cambiado. Proporcione un botón de «Probar de nuevo» y decida si ese coste es visible para los usuarios o si se absorbe dentro de su esquema de precios.

Diseñe los estados de espera y de fallo. El home staging suele completarse en menos de un minuto, lo cual supone un periodo prolongado en términos de interfaz de usuario. Diseñe el estado de progreso, el estado de fallo («el renderizado falló y ha sido reembolsado») y la acción de reintento antes del lanzamiento.

Paso 4: Integrar la divulgación en su modelo de datos

Si sus usuarios incorporan fotos con staging en anuncios inmobiliarios, la divulgación constituye una obligación legal para ellos, y su modelo de datos determina si cumplirla resulta sencillo. La API de Roomagen no incluye etiquetas de divulgación ni emparejamientos de original y editada, y los términos de Roomagen establecen que la divulgación recae bajo la responsabilidad del usuario, por lo que su integración debe gestionarla.

  • Ley AB 723 de California, en vigor desde el 1 de enero de 2026. Un corredor o agente inmobiliario, o cualquier persona que actúe en su nombre, que utilice una imagen alterada digitalmente en un anuncio para la venta de una propiedad debe declarar, sobre la imagen o junto a ella, que ha sido modificada, e incluir un enlace, URL o código QR hacia un sitio público que muestre la imagen original sin alteraciones. El organismo regulador de bienes raíces de California añade que cuando una herramienta de IA genera publicidad engañosa, la responsabilidad recae «sobre el titular de la licencia y su corredor responsable, no sobre el proveedor de la tecnología».
  • Anuncios de alquiler en California a partir del 1 de enero de 2027. La ley AB 2025 extiende una obligación de divulgación similar a la publicidad de alquileres, aplicándose a proveedores de vivienda y a otros agentes, no únicamente a titulares de licencias.
  • Las normativas de los MLS difieren en cuanto a la ubicación. Canopy MLS exige la etiqueta sobre la propia imagen y no solo en los pies de foto, mientras que NWMLS no acepta fotografías con textos o gráficos superpuestos.
  • Productos orientados a la Unión Europea. Desde el 2 de agosto de 2026, el Artículo 50 del Reglamento de Inteligencia Artificial de la UE exige a los responsables del despliegue de sistemas de IA que generen o manipulen imágenes ultrafalsas («deep fakes») —contenido que guarde parecido con lugares u objetos existentes y que aparentaría falsamente ser auténtico— que lo divulguen, una definición en la que pueden encajar razonablemente las fotos editadas con IA en las que se representa el inmueble en sí (consulte nuestra guía sobre el artículo 50 del Reglamento de IA).

Por consiguiente, almacene la divulgación como datos, no como píxeles: una URL pública para la foto original, un indicador altered con la herramienta y las opciones empleadas, junto con el texto de divulgación y la ubicación de la etiqueta para cada destino. Inserte la etiqueta al exportar la imagen, no al almacenarla.

Herramienta Cómo se aplica la definición de imagen alterada digitalmente de la AB 723
virtual-staging Añade mobiliario, un elemento explícito: divulgar y enlazar a la original
item-removal Elimina elementos de la imagen: divulgar
virtual-renovation Modifica instalaciones fijas, suelos, paredes o el color de la pintura, todos ellos elementos explícitos: divulgar
day-to-dusk La exención de iluminación ampara únicamente ediciones que no alteren la forma en que se representa la propiedad, y un nuevo viewType sustituye la vista a través de las ventanas, un elemento explícito: la vía más prudente es divulgar
image-enhancement La iluminación, el balance de blancos, la corrección de color y la exposición quedan exentos si no alteran la forma en que se representa la propiedad
floor-plan-to-3d Los planos de planta son un elemento explícito; presente el renderizado como una ilustración, no como una fotografía

Este es un resumen técnico y no constituye asesoramiento legal; nuestra guía de la ley AB 723 y la guía de requisitos fotográficos de los MLS profundizan más en el tema.

Consideraciones para producción: límites de tasa, reintentos y presupuesto de créditos

Límites de tasa. Por clave, en una ventana deslizante de 60 segundos: 60 solicitudes por minuto para POST /v1/jobs, 300 para GET /v1/jobs/{id} y 120 para GET /v1/tools y GET /v1/account, además de 600 por minuto por IP de cliente, compartidas por todos los servidores tras una misma dirección NAT. Las respuestas correctas devuelven los encabezados X-RateLimit-Limit y X-RateLimit-Remaining; un error 429 rate_limited incluye Retry-After en segundos, por lo que es preferible respetarlo en lugar de programar un retroceso propio. Para cargas de trabajo voluminosas, ponga los envíos en cola: a un ritmo de 60 trabajos por minuto, el envío de 500 fotos toma algo más de ocho minutos.

Reintentos y códigos de error. Todo error responde a la estructura { "error": { "code", "message", "doc_url" } }. Establezca las bifurcaciones de código basándose en code, nunca en message:

Respuesta Qué debe hacer su código
400 invalid_request, invalid_tool Corregir la petición (nombres de opciones, valores o un nombre de la web usado en lugar del slug de la API); no reintentar sin hacer cambios
400 invalid_image, image_fetch_failed Enviar una sola fuente de imagen, desde una URL https pública que entregue la imagen de forma directa
401 invalid_api_key, key_revoked Alertar a una persona del equipo; no reintentar
402 insufficient_credits No se creó ningún trabajo: recargar saldo y luego reintentar
409 idempotency_conflict Reenviar el cuerpo original, o utilizar una clave nueva para una petición genuinamente distinta
413 payload_too_large Cambiar a image_url y comprobar que se ha enviado el encabezado X-Api-Key
429 rate_limited, 500 internal_error Esperar (el tiempo de Retry-After para un 429) y luego reintentar con el mismo Idempotency-Key
Trabajo con status: "failed" Reembolsado de manera automática; reintentar una vez y, si falla nuevamente, revisar la foto

Aspectos económicos de los fallos. Todo trabajo que falla durante la fase de generación se reembolsa automáticamente, pero el valor images_charged del trabajo no se reescribe, por lo que debe considerar GET /v1/account como la fuente de información fidedigna de su saldo. Al comparar proveedores, examine las políticas ante fallos además del precio por unidad.

Presupuesto de créditos. Roomagen factura la API en imágenes, adquiridas por adelantado en paquetes a través del portal de desarrolladores:

Paquete Imágenes Precio Por imagen
Asignación gratuita (primera clave, única vez) 50 0 $ —
Pilot 500 125 $ 0,25 $
Growth 2.500 550 $ 0,22 $
Scale 10.000 2.000 $ 0,20 $
Volume 50.000+ A consultar —

Los paquetes nunca caducan y son acumulables. Cada herramienta documentada cuesta una imagen por renderizado a 2K; resolution: "4K" duplica ese coste en las herramientas que lo aceptan, y el home staging cuesta siempre una imagen. Al calcular el presupuesto, incluya las reejecuciones: una plataforma que realice el home staging de 1.200 fotos al mes y prevea rehacer una de cada diez necesitará unas 1.320 imágenes, por lo que un paquete Growth durará casi dos meses.

Los precios públicos varían notablemente (revisado en octubre de 2026): ModelsLab lista 0,02 $ por renderizado de interiores, Decor8 fija 0,20 $ por imagen para todas las operaciones de API y AI HomeDesign indica 0,24 $ por foto con facturación anual o alrededor de 0,49 $ con facturación mensual. Compare el catálogo de herramientas, los webhooks, la política de fallos y la calidad del resultado además del precio por unidad; nuestra guía de precios de API de virtual staging y la comparativa de API de virtual staging analizan cada proveedor detalladamente.

Una observación sincera sobre la madurez. La API de Roomagen es reciente: la versión 1 se lanzó el 30 de agosto de 2026 con un único endpoint de trabajos, y su documentación abarca la totalidad de las herramientas admitidas solo desde el 3 de octubre de 2026, por lo que cuenta con convenciones modernas pero no con años de trayectoria pública. Las modificaciones incompatibles se notifican por correo electrónico a las cuentas con claves activas antes de su despliegue; las modificaciones aditivas pueden incorporarse en cualquier momento, por lo que es conveniente ignorar los campos de respuesta que no reconozca.

Extender la integración: otras herramientas documentadas

Una vez que el bucle funcione para el home staging, habilitar un botón de «versión crepuscular» o «eliminar desorden» solo requiere cambiar tool y options:

Herramienta Slug Opciones
Renovación y Remodelación Virtual virtual-renovation style (10 valores), roomType (8 valores)
Mejora de Fotos image-enhancement intensity: light, medium (por defecto) o heavy
Edición y Conversión de Fotos Día a Atardecer day-to-dusk timeShift (hora 0–23, por defecto 20), viewType, season, hasWindows
Eliminación de Objetos y Elementos con IA en Fotos item-removal Ninguna: omita las opciones para eliminar desorden evidente, o envíe tier: "custom" con un customPrompt especificando el objeto
Plano de Planta a 3D floor-plan-to-3d outputStyle, interiorStyle, furnitureMode, fp3dOutdoor, fp3dLabels, inputType

Estas herramientas también admiten los parámetros resolution (2K o 4K), tier (auto, guided o custom) y customPrompt (hasta 500 caracteres). A diferencia del home staging, ignoran las claves desconocidas —mencionando cada una en la lista warnings de la respuesta—, pero continúan rechazando valores fuera de rango. Para habitaciones sin ventanas, envíe hasWindows: false a la herramienta de día a atardecer para que la instrucción prescinda de directrices sobre ventanas y vistas exteriores.

GET /v1/tools devuelve todos los slugs que su clave puede invocar, con su coste respectivo en imágenes, y cada slug que devuelve está documentado. Lea esta lista de forma dinámica en lugar de fijarla en el código, y recuerde que los nombres de las herramientas en roomagen.com no son los slugs de la API.

Qué no hace la API

  • No hay endpoint para lotes. Un trabajo equivale a una imagen procesada con una herramienta; el procesamiento por lotes de la aplicación web no forma parte de la API, por lo que debe poner en cola los trabajos respetando los límites de tasa.
  • Sin etiquetas de divulgación. Las salidas generadas no llevan etiquetas de divulgación ni se entregan emparejadas con el antes y después. Los renderizados llevan marca de agua hasta que la cuenta adquiere un paquete, careciendo de marcas de Roomagen a partir de ese momento.
  • Sin regeneración gratuita. Una reejecución constituye un trabajo nuevo y se factura como tal.
  • Sin medidas ni archivos CAD. Las entregas son imágenes JPEG, no cotas, gráficos vectoriales ni archivos DWG. Si precisa calcular medidas de una estancia a partir de fotografías, una API de imágenes generativas no es la herramienta adecuada.
  • Sin garantías absolutas sobre el resultado. Los modelos generativos pueden producir defectos visuales o inconsistencias, por lo que debe revisar los resultados antes de publicarlos en un anuncio.
  • Sin funciones exclusivas de la aplicación. Opciones como Retocar, la Biblioteca y el chat Compañero de diseño se encuentran disponibles únicamente en la aplicación web de Roomagen.

Errores frecuentes al integrar API de staging

  1. Bloquear el hilo de la petición. Mantener la solicitud del usuario a la espera mientras se renderiza un trabajo causa problemas de tiempo de espera en los balanceadores de carga. Devuelva un código 202 Accepted desde su propia API y notifique las actualizaciones al cliente.
  2. Nombres de opciones incorrectos. Usar room_type o resolution en un trabajo de home staging devuelve un error invalid_request; el staging requiere claves en formato camelCase correspondientes a su propia lista y siempre exige el parámetro style.
  3. Confiar únicamente en los webhooks. Tras unos 36 minutos de reintentos continuados, Roomagen suspende los envíos. Sin un mecanismo de conciliación, ese trabajo permanecerá en «processing» indefinidamente.
  4. Verificar la firma erróneamente. Calcular el hash sobre el JSON ya analizado, descartar el prefijo de la marca de tiempo, realizar la comparación mediante === o pasar por alto la comprobación de vigencia temporal debilita la seguridad de la verificación.
  5. Una URL de webhook con redirecciones. Las direcciones en protocolo http simple y los hosts privados se rechazan desde el inicio con webhook_url_rejected, y el sistema no sigue las redirecciones, por lo que una barra final añadida o una redirección hacia www provocará el fallo sistemático de las entregas.
  6. Claves de idempotencia aleatorias o URL con nuevas firmas. Una clave que no ha guardado previamente no puede reutilizarse en un reintento, lo cual supondrá un nuevo cobro; una image_url firmada de nuevo bajo la misma clave generará un error 409.
  7. Hacer hotlinking a las URL de resultados. Los resultados están condicionados a las políticas de retención del proveedor. Realice un realojamiento en cuanto se completen.
  8. Utilizar una única marca de agua para cualquier destino. Añadir una etiqueta estática grabada como "Virtually Staged" (Home staging virtual) puede contravenir las normas de los MLS relativas a la superposición de texto y, sin un enlace hacia la imagen original, no basta para cumplir por sí sola con la ley AB 723.

Lista de comprobación previa al lanzamiento

  • La clave de API se ubica únicamente en sus servidores, una por cada entorno.
  • Las solicitudes de staging incluyen siempre style y ninguna clave ajena a la lista de opciones de staging.
  • Cada trabajo cuenta con un encabezado Idempotency-Key derivado de sus registros internos, y los reintentos reenvían el cuerpo original intacto.
  • El endpoint del webhook emplea la URL https final, valida firmas v1= a partir de los bytes originales del cuerpo, descarta marcas de tiempo desactualizadas y responde en un plazo inferior a 10 segundos.
  • La entrega de un evento job.test desde el portal supera la verificación con éxito.
  • Un proceso de conciliación audita los trabajos que continúan en procesamiento pasados unos minutos.
  • Los resultados se realojan en almacenamiento propio, cada uno vinculado a su imagen original correspondiente.
  • Los datos de divulgación (URL de la imagen original, indicador de modificación y etiqueta correspondiente al destino) se propagan a cada canal de exportación.
  • Dispone de una alerta por saldo bajo conectada al campo image_credits, y cada código de error se asocia a un mensaje comprensible para sus usuarios.

Conclusión: implemente el bucle y luego amplíelo

Incorporar home staging virtual a una aplicación constituye una integración compacta: una petición POST con una clave de idempotencia, un controlador de webhook validado y respaldado por un mecanismo de conciliación, y un proceso de almacenamiento que guarde la imagen original junto al resultado generado. La ruta principal de ejecución apenas ocupa unas decenas de líneas de código; el grueso del trabajo reside en garantizar la estabilidad en entornos de producción y en la gestión de los datos de divulgación. Nada de esto queda atado a un único proveedor: el envío asíncrono, la notificación mixta mediante push y pull, el realojamiento de archivos y el emparejamiento entre original y salida generada son aplicables a cualquier API de virtual staging.

Para realizar el desarrollo tomando como base el ejemplo analizado, obtenga una clave de API de Roomagen: su primera clave incluye 50 imágenes de prueba gratuitas, y la guía de inicio rápido, la documentación de webhooks y la referencia de errores detallan cada aspecto técnico. El mismo bucle de trabajos le permitirá ejecutar Home Staging Virtual, Edición y Conversión de Fotos Día a Atardecer, Eliminación de Objetos y Elementos con IA en Fotos, Mejora de Fotos, Renovación y Remodelación Virtual y Plano de Planta a 3D a través de una sola integración.

¿Listo para transformar tus anuncios?

Prueba gratis el home staging virtual con IA de Roomagen. Sube tu primera foto y ve el resultado, normalmente en menos de un minuto.

Comenzar gratis

Preguntas frecuentes

Una API de home staging virtual es un servicio web que recibe la foto de una estancia y devuelve una versión de ella amueblada con IA. Los desarrolladores la llaman desde su propio backend para añadir staging a portales inmobiliarios, herramientas de entrega de fotografía, software de gestión de propiedades, aplicaciones de diseño de interiores o sitios de venta de muebles.

La documentación de Roomagen indica que los trabajos suelen estar listos en un plazo de 20 a 60 segundos, y el staging se sitúa hacia el extremo más lento. Como ese tiempo es demasiado largo para mantener una solicitud abierta, envíe el trabajo de forma asíncrona y recopile el resultado mediante webhook, sondeando cada 2 a 5 segundos como alternativa.

Roomagen vende paquetes prepago: 500 imágenes por 125 $ (0,25 $ cada una), 2.500 por 550 $ (0,22 $) y 10.000 por 2.000 $ (0,20 $), y la primera clave incluye 50 imágenes gratis. Los precios publicados por otros proveedores varían ampliamente, por ejemplo 0,02 $ por renderizado en ModelsLab y alrededor de 0,49 $ por foto con la facturación mensual de AI HomeDesign.

Sí. Al crear su primera clave de API de Roomagen se añaden 50 imágenes gratuitas, una sola vez por cuenta, lo que resulta suficiente para crear y probar una integración completa; llevan marca de agua hasta que usted compra un paquete. Necesita una dirección de correo electrónico verificada, y crear claves adicionales no añade más imágenes gratuitas.

Utilice ambos. Los webhooks entregan el trabajo terminado sin solicitudes constantes, pero una entrega puede perderse durante un despliegue o una interrupción, y Roomagen deja de reintentar después de unos 36 minutos. Registre un webhook para cada trabajo y concilie cualquier elemento que aún se esté procesando con una solicitud de estado.

La API de Roomagen acepta imágenes JPEG, PNG o WebP de hasta 20 MB, enviadas bien como una image_url pública por https o integradas en línea como image_base64. Una URL mantiene las solicitudes ligeras, y los cuerpos de solicitud en base64 pueden alcanzar los 30 MB únicamente cuando la cabecera X-Api-Key está presente.

En Roomagen no. Un trabajo que falla durante la generación se reembolsa automáticamente y muestra el estado failed con un motivo. Un renderizado completado se cobra incluso si a su usuario no le gusta, por lo que una reejecución es un trabajo nuevo que cuesta otra imagen.

Para Roomagen, calcule un HMAC-SHA256 del valor de X-Roomagen-Timestamp, un punto y el cuerpo sin procesar de la solicitud, utilizando su secreto de firma whsec_. Compare "v1=" más el resumen hexadecimal con la cabecera X-Roomagen-Signature en tiempo constante, y rechace las marcas de tiempo anteriores a unos cinco minutos.

A menudo, sí. Desde el 1 de enero de 2026, la AB 723 de California exige que los anuncios de venta de titulares de licencias inmobiliarias con imágenes alteradas digitalmente indiquen la alteración y enlacen al original, y las normas de los MLS difieren sobre la ubicación de la etiqueta. La API de Roomagen no añade ninguna etiqueta, por lo que su aplicación debe gestionar la divulgación.

Sí. El endpoint de trabajos de Roomagen documenta cada herramienta que acepta, incluidos Home Staging Virtual, Renovación y Remodelación Virtual, mejora de imagen, Edición y Conversión de Fotos Día a Atardecer, Eliminación de Objetos y Elementos con IA en Fotos y Plano de Planta a 3D. Usted cambia el slug de la herramienta y las opciones, mientras que la gestión de trabajos, los webhooks y el almacenamiento de resultados permanecen iguales.
Roomagen

Escrito por

Roomagen Team

El equipo de Roomagen crea guías detalladas sobre home staging virtual con IA, fotografía inmobiliaria y estrategias de marketing de propiedades.

Artículos Relacionados

Mejores API de Home Staging Virtual 2026: 10 comparadas

Mejores API de Home Staging Virtual 2026: 10 comparadas

Comparamos diez API de home staging virtual según sus precios públicos por imagen, pruebas gratuitas, webhooks, resultados de marca blanca y políticas de error, consultando las páginas de los proveedores en octubre de 2026. Incluye escenarios de coste mensual de 500 a 10.000 imágenes.

Leer más
Precios API de Home Staging Virtual 2026: costes

Precios API de Home Staging Virtual 2026: costes

Los precios de las API de home staging virtual van desde 0,02 $ hasta unos 0,53 $ por imagen. Comparamos las tarifas de ocho proveedores, sus costes ocultos y el coste real para 500, 2500 y 10 000 imágenes al mes.

Leer más
AB 723 y normas de MLS: fotos de anuncios con IA

AB 723 y normas de MLS: fotos de anuncios con IA

La ley AB 723 de California exige una divulgación visible y una vía hacia el original para cada foto de anuncio alterada con IA, y los MLS como CRMLS rechazan ciertas ediciones incluso con etiqueta. Vea qué cuenta como alterado, quién es responsable, qué cambia para alquileres en 2027 y una lista de verificación de fotos de 8 preguntas.

Leer más
API Edición y Conversión Día a Atardecer: 5 API

API Edición y Conversión Día a Atardecer: 5 API

La conversión de día a atardecer ahora funciona mediante una llamada a la API. Comparamos cinco proveedores en precio, opciones y entrega, explicamos una integración con tareas y webhooks, y abordamos el control de calidad, la estrategia por lotes y la divulgación.

Leer más
API de planos y medición: comparativa y precios 2026

API de planos y medición: comparativa y precios 2026

Solo las herramientas basadas en escaneo como CubiCasa y Apple RoomPlan miden el espacio en sí; las API de reconocimiento convierten dibujos en datos, y las API generativas como Roomagen, ModelsLab y Decor8 renderizan nuevas imágenes a partir de planos y bocetos. Vea aquí cómo se comparan en entrada, salida, precio y precisión.

Leer más
Home staging virtual con IA en Roomagen: 7 pasos (2026)

Home staging virtual con IA en Roomagen: 7 pasos (2026)

Un recorrido paso a paso de lo que ocurre con su foto en Roomagen: el análisis de la escena, la instrucción enviada a los modelos de imagen Gemini de Google, tiempos medidos, créditos y reembolsos, y lo que usted aún debe verificar y divulgar.

Leer más