Render paint colors from hex values
Repaint the walls, ceiling or cabinet fronts of any scene in an exact color, sent as a hex value. No product is needed.
Updated
How paint renders work
A paint render takes a color instead of a product. It repaints the scene’s own picture in that exact color, so any room works, including a picture you uploaded yourself. Your colors do not need to be products in your catalog first.
A paint render is 1 credit, the same as any other render.
Send a color
Send paint in place of product_id, with the color’s hex value and, if you like, your own name for it:
curl -X POST https://www.skipshoot.com/api/v1/renders \
-H "Authorization: Bearer $SKIPSHOOT_SECRET_KEY" \
-H "Idempotency-Key: paint-812-harbour-blue" \
-H "Content-Type: application/json" \
-d '{
"scene_id": 812,
"paint": {
"hex": "#4A78B8",
"name": "Harbour Blue"
}
}'The name is yours, up to 60 characters: a color name, a code, or both. It is shown back to you on the render and never changes what is rendered; only the hex value does.
Accepted hex formats
| You send | Read as |
|---|---|
#4A78B8 | #4A78B8 |
4a78b8 | #4A78B8 |
#4AB | #44AABB |
Six hex digits, or the three-digit short form, with or without the #, in either case. Renders report the color back as #RRGGBB in capitals. Anything else is refused with 422 and nothing is charged.
Surfaces that take paint
- Paint goes on walls, ceilings and cabinet fronts. Name one of those surfaces with
surface_id, or leave it out and the first of them in the scene is used. - Painting a wall repaints every painted wall in view, as a room painted one color would look.
- Naming any other kind of surface, such as a floor or a sofa, is refused with
422, and nothing is charged. So is a scene with no wall, ceiling or cabinets.
Render a whole color range
Put each color in a batch, up to 100 at a time. Every color in a range is then shown in the same room, which makes them easy to compare.
curl -X POST https://www.skipshoot.com/api/v1/renders \
-H "Authorization: Bearer $SKIPSHOOT_SECRET_KEY" \
-H "Idempotency-Key: coastal-range-library" \
-H "Content-Type: application/json" \
-d '{
"renders": [
{
"scene_id": 812,
"paint": {
"hex": "#4A78B8",
"name": "Harbour Blue"
}
},
{
"scene_id": 812,
"paint": {
"hex": "#E8DCC8",
"name": "Linen"
}
},
{
"scene_id": 812,
"paint": {
"hex": "#6B7F5E",
"name": "Sage Field"
}
}
]
}'Read the result
A paint render carries its color in paint, and product is empty:
{
"render": {
"id": "8c41f7b6-2d8c-4e7b-9a05-3f2b8e9a6c1d",
"status": "completed",
"scene": {
"id": 812,
"name": "Library"
},
"product": {
"id": null,
"name": null
},
"paint": {
"hex": "#4A78B8",
"name": "Harbour Blue"
},
"surface": "Walls",
"image_url": "https://…",
"upscale_status": "not_requested",
"error": null,
"created_at": "2026-10-21T14:03:12.000Z"
}
}Want shoppers to try your colors in their own rooms? The website visualizer does that on your product pages.
Something these pages do not answer? Email admin@skipshoot.com and we’ll help.
