One request.
A finished card.
Send a photo, a background and a plate — get back a processed photo at 2048 px plus the vehicle data.
You don't need to figure this out yourself. Have your own developers? They can wire it all up from this page. No developers? We'll connect it for you: send us access to your site or CRM, and we'll handle the rest and show you the result on your own photos.
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=AB12 CDE" \ -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="AB12 CDE",
)
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: "AB12 CDE",
});
const result = await job.wait(); // blocks until it's ready
await result.save("IMG_4412_showroom.jpg");{
"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": "AB12 CDE",
"background": "bright-showroom"
}Five methods
/v1/framesOne photo → a processed photo plus vehicle data. Synchronous./v1/batchesUp to 10,000 photos in one job. A webhook fires when it's done./v1/backgroundsThe background library plus any scenes you've uploaded./v1/backgrounds/{id}Upload your own background or brand guideline./v1/identifyIdentification only: make, model, body type, dimensions — no background replacement.You don't need developers. But if you have them, they'll like this.
Three ways to get started. Pick whichever fits — the first 30 frames are free on any of them.
We connect it
Leave a request, we call you, take access to your site or CRM, and set up the export ourselves. You just review the result and say which background you like.
We set it upJust the dashboard
Nothing to connect: upload a folder of photos, pick a background, download the finished ones. Works right in the browser — anyone on your team can run it.
No integrationAPI and a key
One POST request, three parameters, the response in the same connection. Python and Node SDKs, a sandbox and a test key are in the dashboard.
From this pageNot just a picture.
Data too.
Along with the photo we return the make, model, body type and dimensions — ready to drop straight into your listing or use for moderation.
Where the dimensions come from →{
"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": "AB12 CDE",
"background": "bright-showroom"
}