Ideal House
Saltar al contenido

Documentación de la API de mejora de fotos#

© Ideal House AI — Todos los derechos reservados.

URL base: https://api.ideal.house
Versión: v1
Actualizado: 2026-04-17


Descripción general#

La API de mejora de fotos te permite mejorar fotos de bienes raíces de forma asíncrona eligiendo un presetId, proporcionando un prompt personalizado o combinando ambos.

Modelo de solicitud actual:

  • presetId es opcional.
  • prompt es opcional.
  • presetId y prompt no pueden estar ambos vacíos. Se debe proporcionar al menos uno de ellos.
  • Usa imageUrl como el único campo de entrada de imagen.
  • imageUrl admite formatos de imagen individual y de múltiples imágenes.

Flujo de trabajo:

  1. Llama al endpoint de generación y obtén un taskId.
  2. Sondea el endpoint de resultados con ese taskId.
  3. Lee la URL de la imagen generada después de que la tarea se complete exitosamente.

Autenticación#

Todas las solicitudes a la API deben incluir tu clave de API en el encabezado de la solicitud.

EncabezadoObligatorioDescripción
APIKEYTu clave de autenticación de la API
Content-Typeapplication/json para solicitudes POST

Créditos#

Cada creación de tarea exitosa deduce 10 créditos. Si la tarea falla más tarde, los créditos se reembolsan automáticamente.

Para las reglas de crédito, consulta Referencia de deducción de créditos.


Endpoints#

1. Crear tarea#

Crea una nueva tarea de mejora de imagen.

Endpoint

http
POST /api/v1/photoEnhancer/generate

Cuerpo de la solicitud

CampoTipoObligatorioDescripción
presetIdstringNoValor de solicitud del preset opcional. Elige uno de Referencia de presets.
imageUrlstring | array<string>Entrada de imagen. Admite una cadena de URL individual o una matriz de URL como ["https://a.jpg", "https://b.jpg"].
promptstringNoTexto de prompt personalizado opcional.
imageSizestringNoTamaño de salida opcional. Valores compatibles: 512, 1K, 2K, 4K. Si se omite para las llamadas de la API, el servidor utiliza de forma predeterminada 4K.

Requisitos de imagen: Cada imagen de entrada debe usar JPG/JPEG, PNG o WebP. Cada imagen no debe superar los 20 MB, con dimensiones desde 128 × 128 px hasta 6,000 × 6,000 px (ambos incluidos). Las imágenes que excedan las dimensiones máximas en píxeles se reducirán automáticamente de manera proporcional para ajustarse dentro de 6,000 × 6,000 px antes del procesamiento. Los URLs de las imágenes deben ser accesibles directamente por el servidor de la API.

Formato de imageUrl

Imagen individual:

json
{
  "imageUrl": "https://example.com/room.jpg"
}

Múltiples imágenes:

json
{
  "imageUrl": [
    "https://example.com/room_1.jpg",
    "https://example.com/room_2.jpg"
  ]
}

Notas de comportamiento

  • imageUrl es el único campo de imagen de solicitud para esta API.
  • presetId puede omitirse.
  • prompt puede omitirse.
  • presetId y prompt no pueden estar ambos vacíos. Se debe proporcionar al menos uno de ellos.
  • Si imageUrl es una cadena de URL normal, la tarea usa una imagen.
  • Si imageUrl es una matriz, el servidor la analiza como una lista interna de imágenes.
  • hdr-merge-hdr-merge es el preset diseñado para múltiples imágenes.
  • Las múltiples imágenes generalmente producen los mejores resultados solo con hdr-merge-hdr-merge.
  • Otros valores de presetId no están diseñados para la generación de múltiples imágenes. Si envías varias imágenes con ellos, el resultado generado podría no ser adecuado. Se recomienda entrada de una sola imagen.

Ejemplos de solicitud#

cURL
bash
# Single image example
curl -X POST "https://api.ideal.house/api/v1/photoEnhancer/generate" \
  -H "APIKEY: your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "imageUrl": "https://example.com/exterior.jpg",
    "presetId": "virtual-twilight-warm-sunset-twilight",
    "imageSize": "4K"
  }'

# HDR Merge example - multi-image input
curl -X POST "https://api.ideal.house/api/v1/photoEnhancer/generate" \
  -H "APIKEY: your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "imageUrl": [
      "https://example.com/interior_under.jpg",
      "https://example.com/interior_mid.jpg",
      "https://example.com/interior_over.jpg"
    ],
    "presetId": "hdr-merge-hdr-merge",
    "imageSize": "4K"
  }'

# Prompt-only example
curl -X POST "https://api.ideal.house/api/v1/photoEnhancer/generate" \
  -H "APIKEY: your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "imageUrl": "https://example.com/interior.jpg",
    "prompt": "Brighten the room, keep the lighting natural, and make the image listing-ready.",
    "imageSize": "4K"
  }'
Java (OkHttp)
java
import okhttp3.*;
import java.io.IOException;

public class PhotoEnhancerApiExample {

    private static final String BASE_URL = "https://api.ideal.house";
    private static final String API_KEY  = "your_api_key_here";

    public static void main(String[] args) throws IOException {
        OkHttpClient client = new OkHttpClient();

        // Single image example
        String requestBody = """
            {
                "imageUrl": "https://example.com/exterior.jpg",
                "presetId": "virtual-twilight-warm-sunset-twilight",
                "imageSize": "4K"
            }
            """;

        // HDR Merge example - multi-image input
        // String requestBody = """
        //     {
        //         "imageUrl": [
        //             "https://example.com/interior_under.jpg",
        //             "https://example.com/interior_mid.jpg",
        //             "https://example.com/interior_over.jpg"
        //         ],
        //         "presetId": "hdr-merge-hdr-merge",
        //         "imageSize": "4K"
        //     }
        //     """;

        // Prompt-only example
        // String requestBody = """
        //     {
        //         "imageUrl": "https://example.com/interior.jpg",
        //         "prompt": "Brighten the room, keep the lighting natural, and make the image listing-ready.",
        //         "imageSize": "4K"
        //     }
        //     """;

        Request request = new Request.Builder()
            .url(BASE_URL + "/api/v1/photoEnhancer/generate")
            .addHeader("APIKEY", API_KEY)
            .addHeader("Content-Type", "application/json")
            .post(RequestBody.create(requestBody, MediaType.parse("application/json")))
            .build();

        try (Response response = client.newCall(request).execute()) {
            System.out.println("Response: " + response.body().string());
        }
    }
}
Python (requests)
python
import requests
BASE_URL = "https://api.ideal.house"
API_KEY  = "your_api_key_here"

headers = {
    "APIKEY": API_KEY,
    "Content-Type": "application/json"
}

# Single image example
payload = {
    "imageUrl": "https://example.com/interior.jpg",
    "presetId": "image-optimization-full-correction-suite",
    "prompt": "Keep the result natural and listing-ready."
}

# HDR Merge example - multi-image input
# payload = {
#     "imageUrl": [
#         "https://example.com/interior_under.jpg",
#         "https://example.com/interior_mid.jpg",
#         "https://example.com/interior_over.jpg"
#     ],
#     "presetId": "hdr-merge-hdr-merge",
#     "imageSize": "4K"
# }

# Prompt-only example
# payload = {
#     "imageUrl": "https://example.com/interior.jpg",
#     "prompt": "Brighten the room, keep the lighting natural, and make the image listing-ready.",
#     "imageSize": "4K"
# }

response = requests.post(
    f"{BASE_URL}/api/v1/photoEnhancer/generate",
    headers=headers,
    json=payload
)

data = response.json()
task_id = data.get("data")
print(f"Task ID: {task_id}")
Node.js (axios)
javascript
const axios = require('axios');

const BASE_URL = 'https://api.ideal.house';
const API_KEY  = 'your_api_key_here';

async function createPhotoEnhancerTask() {
  try {
    const response = await axios.post(
      `${BASE_URL}/api/v1/photoEnhancer/generate`,
      {
        imageUrl: 'https://example.com/interior.jpg',
        presetId: 'image-quality-correction-ai-photo-sharpening',
        imageSize: '4K'

        // HDR Merge example - multi-image input:
        // imageUrl: [
        //   'https://example.com/interior_under.jpg',
        //   'https://example.com/interior_mid.jpg',
        //   'https://example.com/interior_over.jpg'
        // ],
        // presetId: 'hdr-merge-hdr-merge',
        // imageSize: '4K'

        // Prompt-only example:
        // imageUrl: 'https://example.com/interior.jpg',
        // prompt: 'Brighten the room, keep the lighting natural, and make the image listing-ready.',
        // imageSize: '4K'
      },
      {
        headers: {
          'APIKEY': API_KEY,
          'Content-Type': 'application/json'
        }
      }
    );

    console.log('Task ID:', response.data.data);
  } catch (error) {
    console.error('Error:', error.response?.data || error.message);
  }
}

createPhotoEnhancerTask();

Respuesta de Éxito

json
{
  "code": 0,
  "message": "success",
  "data": 1234567890123456789
}
CampoTipoDescripción
codeinteger0 significa éxito
messagestringMensaje de la respuesta
datalongID de tarea generado

2. Obtener resultado de la tarea#

Obtén el estado actual de la tarea y la salida.

Endpoint

http
GET /api/v1/photoEnhancer/result

Parámetros de consulta

ParámetroTipoObligatorioDescripción
taskIdlongID de tarea devuelto por el endpoint de generación

Ejemplos de solicitud#

cURL
bash
curl -X GET "https://api.ideal.house/api/v1/photoEnhancer/result?taskId=1234567890123456789" \
  -H "APIKEY: your_api_key_here"
Java (OkHttp)
java
import okhttp3.*;
import java.io.IOException;

public class PhotoEnhancerResultExample {

    private static final String BASE_URL = "https://api.ideal.house";
    private static final String API_KEY  = "your_api_key_here";

    public static void main(String[] args) throws IOException {
        OkHttpClient client = new OkHttpClient();
        long taskId = 1234567890123456789L;

        Request request = new Request.Builder()
            .url(BASE_URL + "/api/v1/photoEnhancer/result?taskId=" + taskId)
            .addHeader("APIKEY", API_KEY)
            .get()
            .build();

        try (Response response = client.newCall(request).execute()) {
            System.out.println("Response: " + response.body().string());
        }
    }
}
Python (requests)
python
import requests
import time

BASE_URL = "https://api.ideal.house"
API_KEY  = "your_api_key_here"

headers = {
    "APIKEY": API_KEY
}

task_id = 1234567890123456789

while True:
    response = requests.get(
        f"{BASE_URL}/api/v1/photoEnhancer/result",
        headers=headers,
        params={"taskId": task_id}
    )

    data = response.json()
    result = data.get("data", {})
    status = result.get("status")

    print(f"Status: {status}, Progress: {result.get('percentage')}%, Queue: {result.get('waitNumber')}")

    if status in ("Success", "Failed"):
        break

    time.sleep(3)

if status == "Success":
    print("Result URL:", result["output"]["resultUrl"])
else:
    print("Task failed")
Node.js (axios)
javascript
const axios = require('axios');

const BASE_URL = 'https://api.ideal.house';
const API_KEY  = 'your_api_key_here';

async function pollResult(taskId) {
  const headers = { 'APIKEY': API_KEY };

  while (true) {
    const response = await axios.get(
      `${BASE_URL}/api/v1/photoEnhancer/result`,
      {
        headers,
        params: { taskId }
      }
    );

    const result = response.data.data;
    const { status, percentage, waitNumber } = result;

    console.log(`Status: ${status} | Progress: ${percentage}% | Queue: ${waitNumber}`);

    if (['Success', 'Failed'].includes(status)) {
      if (status === 'Success') {
        console.log('Result URL:', result.output.resultUrl);
        console.log('Size:', result.output.width, 'x', result.output.height);
      } else {
        console.log('Task failed');
      }
      break;
    }

    await new Promise(resolve => setTimeout(resolve, 3000));
  }
}

pollResult(1234567890123456789n);

Ejemplo de respuesta

json
{
  "code": 0,
  "message": "success",
  "data": {
    "id": 1234567890123456789,
    "status": "Success",
    "waitNumber": 0,
    "percentage": 100,
    "input": {
      "imageUrl": [
        "https://example.com/interior_under.jpg",
        "https://example.com/interior_mid.jpg",
        "https://example.com/interior_over.jpg"
      ],
      "imageUrls": [
        "https://example.com/interior_under.jpg",
        "https://example.com/interior_mid.jpg",
        "https://example.com/interior_over.jpg"
      ],
      "prompt": "Keep the result natural and listing-ready.",
      "presetId": "hdr-merge-hdr-merge",
      "imageSize": "4K",
      "isApiCall": true,
      "modelType": "Pro",
      "model": "NanoBanana"
    },
    "output": {
      "resultUrl": "https://cdn.ideal.house/output/photo_enhancer_result.jpg",
      "width": 3840,
      "height": 2880
    }
  }
}

Campos de Respuesta

CampoTipoDescripción
idlongIdentificador único de la tarea
statusstringEstado actual de la tarea
waitNumberintegerNúmero de tareas por delante de la tarea actual en la cola
percentageintegerProgreso de la tarea desde 0 hasta 100
inputobjectDatos de solicitud originales almacenados con la tarea
input.imageUrlstring | array<string>Valor de solicitud original enviado por el cliente
input.imageUrlsarray<string>Lista interna de imágenes normalizada por el servidor
input.promptstringTexto de prompt personalizado opcional
input.presetIdstring | nullValor de solicitud del preset opcional
input.imageSizestringTamaño de imagen solicitado. Valores compatibles: 512, 1K, 2K, 4K
outputobject | nullObjeto de salida cuando la tarea se completa con éxito
output.resultUrlstringURL de la imagen final
output.widthintegerAncho de salida en píxeles
output.heightintegerAlto de salida en píxeles

Estado de la tarea#

EstadoDescripción
UnprocessedLa tarea se ha creado pero aún no ha comenzado
ProcessingLa tarea se está ejecutando actualmente
SuccessLa tarea finalizó con éxito
FailedLa tarea falló

Consulta cada 3-5 segundos. Consulta Límite de tareas de la API.


Referencia de presets#

Resumen:

  • Categorías públicas: 11
  • Presets públicos de la configuración: 136
  • Preset extra de la API: 1
  • Valores de solicitud documentados en total: 137
  • Campo de solicitud: presetId

Preset extra de la API#

Nombre del preset (EN)Valor de solicitud (presetId)Notas
HDR Mergehdr-merge-hdr-mergeRecomendado para entradas de múltiples imágenes, como la fusión de exposiciones en bracketing

Image Optimization (image-optimization)#

Nombre del preset (EN)Valor de solicitud (presetId)
Full Correction Suiteimage-optimization-full-correction-suite
Real Estate Photo Editingimage-optimization-real-estate-photo-editing
MLS Photo Enhancementimage-optimization-mls-photo-enhancement
Single Exposure Editingimage-optimization-single-exposure-editing
Social Media Photo Optimizationimage-optimization-social-media-photo-optimization
Glare and Reflection Reductionimage-optimization-glare-and-reflection-reduction
Exposure Balancingimage-optimization-exposure-balancing

Image Quality & Correction (image-quality-correction)#

Nombre del preset (EN)Valor de solicitud (presetId)
360 VR Enhanced Tourimage-quality-correction-360-vr-enhanced-tour
AI Photo Sharpeningimage-quality-correction-ai-photo-sharpening
Real Estate Photo Editingimage-quality-correction-real-estate-photo-editing
Compression Artifact Fiximage-quality-correction-compression-artifact-fix
Lens Distortion Correctionimage-quality-correction-lens-distortion-correction
Image Upscalingimage-quality-correction-image-upscaling
Noise Reductionimage-quality-correction-noise-reduction
Perspective Correctionimage-quality-correction-perspective-correction
Auto Crop & Straightenimage-quality-correction-auto-crop-straighten
Chromatic Aberration Fiximage-quality-correction-chromatic-aberration-fix
Vignette Removalimage-quality-correction-vignette-removal
MLS Photo Resizeimage-quality-correction-mls-photo-resize

Exterior Enhancement (exterior-enhancement)#

Nombre del preset (EN)Valor de solicitud (presetId)
Drone & Aerialexterior-enhancement-drone-aerial
Drivewayexterior-enhancement-driveway
Curb Appealexterior-enhancement-curb-appeal
Exterior Colorexterior-enhancement-exterior-color
Exterior Photoexterior-enhancement-exterior-photo
Lawn & Yardexterior-enhancement-lawn-yard
Poolexterior-enhancement-pool
Fence & Gateexterior-enhancement-fence-gate
Landscapingexterior-enhancement-landscaping
Roofexterior-enhancement-roof

Interior Enhancement (interior-enhancement)#

Nombre del preset (EN)Valor de solicitud (presetId)
Window Pullinterior-enhancement-window-pull
Occupied to Vacantinterior-enhancement-occupied-to-vacant
Enhance Hardwood Floors Photointerior-enhancement-enhance-hardwood-floors-photo
Interior Photointerior-enhancement-interior-photo
Flash Ambient Blending Real Estateinterior-enhancement-flash-ambient-blending-real-estate
Ceiling Light & Hot Spot Fixinterior-enhancement-ceiling-light-hot-spot-fix

Lighting, Color & Exposure (lighting-color-exposure)#

Nombre del preset (EN)Valor de solicitud (presetId)
Balance Highlight Shadow Real Estatelighting-color-exposure-balance-highlight-shadow-real-estate
Brighten Dark Interior Photolighting-color-exposure-brighten-dark-interior-photo
Brighten Dark Real Estate Photolighting-color-exposure-brighten-dark-real-estate-photo
Brightness Enhancerlighting-color-exposure-brightness-enhancer
Cozy Warm Interior Editinglighting-color-exposure-cozy-warm-interior-editing
Enhance Brightness Of Photolighting-color-exposure-enhance-brightness-of-photo
Enhance Natural Light Interiorlighting-color-exposure-enhance-natural-light-interior
Exposure Balancinglighting-color-exposure-exposure-balancing
Mixed Lighting Fixlighting-color-exposure-mixed-lighting-fix
Flat Photo Contrast Fixlighting-color-exposure-flat-photo-contrast-fix
Fluorescent Light Color Fixlighting-color-exposure-fluorescent-light-color-fix
How To Brighten Dark Photoslighting-color-exposure-how-to-brighten-dark-photos
Contrast Enhancementlighting-color-exposure-contrast-enhancement
Increase Brightness Listing Photolighting-color-exposure-increase-brightness-listing-photo
Interior Exposure Balancinglighting-color-exposure-interior-exposure-balancing
Lift Dark Shadows Real Estatelighting-color-exposure-lift-dark-shadows-real-estate
Overexposed Window Fixlighting-color-exposure-overexposed-window-fix
Color Correctionlighting-color-exposure-color-correction
Highlight Recoverylighting-color-exposure-highlight-recovery
Shadow Recoverylighting-color-exposure-shadow-recovery
Reduce Highlights In My Image To Balance Exposurelighting-color-exposure-reduce-highlights-in-my-image-to-balance-exposure
Color Cast Removallighting-color-exposure-color-cast-removal
Tungsten Daylight Mix Correctionlighting-color-exposure-tungsten-daylight-mix-correction
Warm Tone Enhancementlighting-color-exposure-warm-tone-enhancement
Cool Tone Enhancementlighting-color-exposure-cool-tone-enhancement
White Balance Fix Interior Photolighting-color-exposure-white-balance-fix-interior-photo
Turn On Lightslighting-color-exposure-turn-on-lights
Vibrance & Saturation Boostlighting-color-exposure-vibrance-saturation-boost
Natural Light Enhancementlighting-color-exposure-natural-light-enhancement

Sky Replacement (sky-replacement)#

Nombre del preset (EN)Valor de solicitud (presetId)
Blue Sky / Clear Skysky-replacement-blue-sky-clear-sky
Sunrise Skysky-replacement-sunrise-sky
Cloudy Skysky-replacement-cloudy-sky
Partly Cloudysky-replacement-partly-cloudy
Dramatic Cloudssky-replacement-dramatic-clouds
Sunset Skysky-replacement-sunset-sky
Soft Sunsetsky-replacement-soft-sunset
Dramatic Sunsetsky-replacement-dramatic-sunset
Luxury Sunset Tonessky-replacement-luxury-sunset-tones
Fix Gray Sky Real Estatesky-replacement-fix-gray-sky-real-estate
Golden Hour Skysky-replacement-golden-hour-sky
Night Sky / Starry Skysky-replacement-night-sky-starry-sky
Sky Replacementsky-replacement-sky-replacement

Virtual Twilight (virtual-twilight)#

Nombre del preset (EN)Valor de solicitud (presetId)
Bright Marketing Twilightvirtual-twilight-bright-marketing-twilight
Day To Dusk Photo Conversionvirtual-twilight-day-to-dusk-photo-conversion
Deep Blue Twilightvirtual-twilight-deep-blue-twilight
Light Subtle Twilightvirtual-twilight-light-subtle-twilight
Luxury Twilightvirtual-twilight-luxury-twilight
Midnight Blue Twilightvirtual-twilight-midnight-blue-twilight
Warm Sunset Twilightvirtual-twilight-warm-sunset-twilight

Weather & Seasonal Editing (weather-seasonal-editing)#

Nombre del preset (EN)Valor de solicitud (presetId)
Golden Hourweather-seasonal-editing-golden-hour
Blue Hourweather-seasonal-editing-blue-hour
Haze & Fog Removalweather-seasonal-editing-haze-fog-removal
Harsh Sunlight & Shadow Fixweather-seasonal-editing-harsh-sunlight-shadow-fix
Overcast To Sunnyweather-seasonal-editing-overcast-to-sunny
Rain & Wet Weather Fixweather-seasonal-editing-rain-wet-weather-fix
Spring Enhancementweather-seasonal-editing-spring-enhancement
Summer Enhancementweather-seasonal-editing-summer-enhancement
Night to Dayweather-seasonal-editing-night-to-day
Fall Foliageweather-seasonal-editing-fall-foliage
Snow / Winter Conditionsweather-seasonal-editing-snow-winter-conditions
Full Season Change / Season Swapweather-seasonal-editing-full-season-change-season-swap
Snow Removalweather-seasonal-editing-snow-removal

Holiday Decorations (holiday-decorations)#

Nombre del preset (EN)Valor de solicitud (presetId)
Christmas Exteriorholiday-decorations-christmas-exterior
Christmas Interiorholiday-decorations-christmas-interior
Easter Exteriorholiday-decorations-easter-exterior
Easter Interiorholiday-decorations-easter-interior
Halloween Exteriorholiday-decorations-halloween-exterior
Halloween Interiorholiday-decorations-halloween-interior
New Year Exteriorholiday-decorations-new-year-exterior
New Year Interiorholiday-decorations-new-year-interior
Thanksgiving Dining Roomholiday-decorations-thanksgiving-dining-room
Thanksgiving Exteriorholiday-decorations-thanksgiving-exterior
Thanksgiving Interiorholiday-decorations-thanksgiving-interior
Fourth of July / Independence Dayholiday-decorations-fourth-of-july-independence-day
Hanukkah Interiorholiday-decorations-hanukkah-interior
Spring / Ramadan Decorationsholiday-decorations-spring-ramadan-decorations
Valentine's Day Bedroomholiday-decorations-valentine-s-day-bedroom
Valentine's Day Exteriorholiday-decorations-valentine-s-day-exterior
Valentine's Day Interiorholiday-decorations-valentine-s-day-interior

Fire in Fireplace (fire-in-fireplace)#

Nombre del preset (EN)Valor de solicitud (presetId)
Add Fire To Fireplacefire-in-fireplace-add-fire-to-fireplace
Bright Marketing Firefire-in-fireplace-bright-marketing-fire
Modern Clean Firefire-in-fireplace-modern-clean-fire
Subtle Natural Firefire-in-fireplace-subtle-natural-fire
Traditional Cozy Firefire-in-fireplace-traditional-cozy-fire
Vibrant Showcase Firefire-in-fireplace-vibrant-showcase-fire

Object & Element Specific (object-element-specific)#

Nombre del preset (EN)Valor de solicitud (presetId)
Crack & Wall Repairobject-element-specific-crack-wall-repair
Floor Reflection Real Estateobject-element-specific-floor-reflection-real-estate
People & Pet Removalobject-element-specific-people-pet-removal
Trash Can Removalobject-element-specific-trash-can-removal
Remove Carsobject-element-specific-remove-cars
Clutter Removalobject-element-specific-clutter-removal
Date Stamp Removalobject-element-specific-date-stamp-removal
Sign Removalobject-element-specific-sign-removal
Glare Removalobject-element-specific-glare-removal
Mirror Reflection Fixobject-element-specific-mirror-reflection-fix
Remove Power Linesobject-element-specific-remove-power-lines
Stain Removalobject-element-specific-stain-removal
Watermark Removalobject-element-specific-watermark-removal
Window Reflection Removalobject-element-specific-window-reflection-removal
TV Screen Fixobject-element-specific-tv-screen-fix
Wire & Cable Removalobject-element-specific-wire-cable-removal

Respuestas de error#

Todos los errores usan esta estructura:

json
{
  "code": 5002,
  "message": "Invalid API Key",
  "data": null
}
CódigoNombreDescripción
1001FAILEDFallo genérico de la solicitud
1003INTERNAL_ERRORError interno del servidor
1011PARAM_ERRORParámetro de solicitud faltante o inválido
5002API_KEY_INVALIDClave API inválida o ausente
9010SCAN_TEXT_ERROREl texto del prompt falló la revisión
9038PROHIBITED_CONTENTEl contenido de la imagen generada fue rechazado
9051COINS_NOT_ENOUGHCréditos insuficientes

Para la lista completa de errores comunes, consulta Referencia de códigos de error.