API

Una petición.
Un anuncio listo.

Envías una foto, un fondo y una matrícula — recibes la foto procesada en 2048 px y los datos del vehículo.

No necesitas entender nada de esto. ¿Tienes programadores propios? Con esta página pueden conectarlo todo. ¿No los tienes? Lo conectamos nosotros: danos acceso a tu web o CRM, nos encargamos del resto y te enseñamos el resultado con tus propias fotos.

~600fotos por hora
Matrículaocultarla, difuminarla o sustituirla por la tuya
Sin redibujarla carrocería queda tal como en la foto
curl -X POST https://api.auto.happyin.app/v1/frames \
  -H "Authorization: Bearer $CAR_API_KEY" \
  -F "image=@IMG_4412.jpg" \
  -F "background=bright-showroom" \
  -F "plate=1234 BCD" \
  -F "output=2048x1536"
import car_happyin as car

client = car.Client(api_key=CAR_API_KEY)
job = client.frames.create(
    image=open("IMG_4412.jpg", "rb"),
    background="bright-showroom",
    plate="1234 BCD",
)
result = job.wait()          # blocks until it's ready
result.save("IMG_4412_showroom.jpg")
print(result.vehicle.model, result.vehicle.dimensions_mm)
import { Car } from "@happyin/car";

const car = new Car({ apiKey: process.env.CAR_API_KEY });
const job = await car.frames.create({
  image: fs.createReadStream("IMG_4412.jpg"),
  background: "bright-showroom",
  plate: "1234 BCD",
});
const result = await job.wait();   // blocks until it's ready
await result.save("IMG_4412_showroom.jpg");
Llamada síncrona: la respuesta llega en la misma petición. Para lotes, usa /v1/batches.El SDK se instala con un solo comando; lotes y webhooks, en el mismo cliente.
// lo que devuelve
{
  "id": "frm_01J9X4K2",
  "status": "done",
  "image_url": "https://cdn.auto.happyin.app/frm_01J9X4K2.jpg",
  "vehicle": {
    "make": "Skoda", "model": "Octavia",
    "body": "liftback", "confidence": 0.89
  },
  "plate": "1234 BCD",
  "background": "bright-showroom"
}

Cinco métodos

POST/v1/framesUna foto → foto procesada y datos del vehículo. Síncrono.
POST/v1/batchesHasta 10.000 fotos en una sola tarea. Un webhook avisa al terminar.
GET/v1/backgroundsLa biblioteca de fondos y las escenas que hayas subido.
PUT/v1/backgrounds/{id}Sube tu propio fondo o tu guía de marca.
POST/v1/identifySolo identificación: marca, modelo, tipo de carrocería y medidas — sin cambio de fondo.
Conexión

No necesitas programadores. Pero si los tienes, les va a gustar.

Tres formas de empezar. Elige la que mejor te encaje: en cualquiera de ellas las primeras 30 fotos son gratis.

01 · sin programadores

Lo conectamos nosotros

Nos dejas una solicitud, te llamamos, nos das acceso a tu web o CRM y configuramos la exportación nosotros. Tú solo revisas el resultado y nos dices qué fondo prefieres.

Lo configuramos nosotros
02 · sin programadores

Solo el panel

No hay nada que conectar: sube una carpeta de fotos, elige un fondo y descarga las fotos listas. Funciona en el navegador — cualquiera de tu equipo puede usarlo.

Sin integración
03 · con programadores propios

API y clave

Una petición POST, tres parámetros y la respuesta en la misma conexión. SDK para Python y Node, sandbox y clave de prueba: todo en el panel.

Desde esta página
La respuesta

No solo una imagen.
También datos.

Junto con la foto devolvemos la marca, el modelo, el tipo de carrocería y las medidas — listos para pasarlos directamente al anuncio o usarlos en la moderación de anuncios.

¿De dónde vienen las medidas? →
{
  "id": "frm_01J9X4K2",
  "status": "done",
  "image_url": "https://cdn.auto.happyin.app/frm_01J9X4K2.jpg",
  "vehicle": {
    "make": "Skoda", "model": "Octavia",
    "body": "liftback", "confidence": 0.89,
    "dimensions_mm": {
      "length": 4689, "width": 1829, "height": 1470,
      "wheelbase": 2686, "clearance": 155
    }
  },
  "plate": "1234 BCD",
  "background": "bright-showroom"
}