Un solo endpoint

Cada vendedor hace su anuncio a su manera.
El listado debería parecer uno solo.

Los vendedores hacen las fotos en garajes, entradas y aparcamientos. Pasa todo el flujo por una sola llamada POST y cada ficha del listado vuelve con un fondo común y, al lado, la marca, el modelo y las medidas para moderar.

curl -X POST https://api.auto.happyin.app/v1/frames \
  -H "Authorization: Bearer $CAR_API_KEY" \
  -F "image=@ad_88213.jpg" \
  -F "background=marketplace-neutral" \
  -F "plate=hide"
POST /v1/batches
{
  "images": ["s3://ads/88213.jpg", "… 9 999 more"],
  "background": "marketplace-neutral",
  "webhook": "https://api.company.com/hooks/car"
}
import { Car } from "@happyin/car";

const car = new Car({ apiKey: process.env.CAR_API_KEY });
const { image_url, vehicle } = await car.frames.create({
  image: fs.createReadStream("ad_88213.jpg"),
  background: "marketplace-neutral",
});
if (vehicle.model !== ad.model) flagForReview(ad.id);
Llamada síncrona: la foto procesada y los datos del vehículo llegan en la misma respuesta.Lotes de hasta 10.000 fotos y un webhook al terminar. Los reintentos corren de nuestra cuenta.SDK para Node y Python, con los mismos campos que la API REST.

El recorrido de un anuncio, de la foto a la ficha

entradaEl vendedor sube una fotoUn garaje, una entrada, un aparcamiento: lo que sea, también fotos de noche.
01Se localiza el cocheUna máscara separa la carrocería del fondo por su contorno, incluidos cristales y retrovisores.
02Se identifica el cocheMarca, modelo, tipo de carrocería y medidas, con un nivel de confianza.
03Se sustituye el fondoTu escena, una sombra ajustada al ángulo de la foto y la matrícula oculta o sustituida.
salidaPublicado en el listadoUna foto de 2048 px y los datos en JSON, directos a tu cola de publicación.
La respuesta

No solo una imagen. También datos para moderar.

El modelo reconoce el coche en la foto, diga lo que diga el vendedor en el título. Compara ambos datos y detecta errores y fotos de otro coche antes de publicar.

vehicle.make / modelLa marca y el modelo según la foto, no según el título del anuncio.
vehicle.bodyTipo de carrocería: berlina, liftback, todocamino, familiar.
vehicle.dimensions_mmLargo, ancho, alto, batalla, altura libre al suelo.
vehicle.confidenceConfianza del modelo: tú fijas el umbral para la moderación automática.
plateLa matrícula detectada: oculta, sustituida o sin tocar.
{
  "id": "frm_01J9X4K2",
  "status": "done",
  "image_url": "https://cdn.auto.happyin.app/…jpg",
  "vehicle": {
    "make": "Skoda", "model": "Octavia",
    "body": "liftback", "confidence": 0.89,
    "dimensions_mm": {
      "length": 4689, "width": 1829,
      "height": 1470, "wheelbase": 2686
    }
  },
  "plate": "hidden",
  "background": "marketplace-neutral"
}
Una exposición de concesionario con ventanales de suelo a techo sobre la ciudad
Una sola llamada
10k
fotos en una sola tarea
01Lotes de hasta 10.000 fotos, webhook al terminar y reintentos si algo falla: todo de nuestra parte.
02Pagas por foto procesada, con precio según tu volumen.

El fondo de tu plataforma, parte de tu marca

Sube tu escena una sola vez con PUT /v1/backgrounds y, a partir de ahí, todos los anuncios llegan con ese fondo.

Fondo de la biblioteca «marketplace-neutral»marketplace-neutral
Fondo de la biblioteca «showroom-bright»showroom-bright
Fondo de la biblioteca «street-soft»street-soft
Fondo de la biblioteca «studio-grey»studio-grey
Conexión

Una clave de prueba, al momento y con sandbox.

La clave llega por correo y el sandbox devuelve los mismos campos que producción. Tu desarrollador puede integrarlo por su cuenta; si necesitas ayuda, lo conectamos juntos en una llamada.

Precio según tu volumen; para más de 100.000 fotos al mes hay una tarifa aparte.

Cómo tratamos los datos que nos envías: consulta nuestra política de privacidad.