# Real Estate Ad

> A professional real estate listing ad template

This is a [Bannx](https://bannx.com) template. Render any of its **pages** to an image (PNG, SVG, WebP) or PDF through the Bannx Render API, and customize the output by passing **tweaks** (variable overrides).

## Template

- Template ID: `real-estate-2`
- Category: real-estate
- Pages: 1
- Open in browser: https://bannx.com/templates/real-estate-2

## How to use

1. Pick a **page** below and note its **page ID**.
2. Call the Render API with that page ID. Override text, colors, and other values via the `tweaks` map (keys are the variable names listed below).
3. Authenticate with an API key (create one under **Settings → Space → Developers**) using the `Authorization: Bearer <token>` header. GET requests for this template require a token (or the space GET render secret `gt`).

Full docs: https://bannx.com/docs/rendering · https://bannx.com/docs/variables

## Quick demo (no API key)

AI agents and curious humans can render this **public** template with tweaks without an account. Mint a short-lived **demo token** (IP-throttled, ~1h TTL, max 5 per hour per IP) and pass it as `?demo=...` (or `Authorization: Bearer <token>`):

```bash
# 1. Mint a demo token (no auth required)
curl -s -X POST https://bannx.com/api/demo-token
# → { "token": "demo_…", "expiresAt": …, "quota": { … } }

# 2. Render with the token (public templates only)
curl -L "https://bannx.com/api/render/ftQey6zI9pfU34wTMttKO?format=png&output=binary&demo=demo_…" --output demo.png
```

Demo tokens only work on public templates and don't consume any space's credits. For production usage, create an API key under **Settings → Space → Developers** instead.

## Variables

| Name | Type | Default | Description |
|------|------|---------|-------------|
| `title` | string | `Hello World` |  |
| `propertyPrice` | string | `$2,450,000` |  |
| `propertyAddress` | string | `142 Sunset Ridge Drive` |  |
| `propertySuburb` | string | `Beverly Hills, CA 90210` |  |
| `beds` | string | `5` |  |
| `baths` | string | `4` |  |
| `garage` | string | `2` |  |
| `sqft` | string | `4,200` |  |
| `propertyDescription` | string | `Stunning luxury estate with panoramic views, gourmet kitchen, resort-style pool, and premium finishes throughout.` |  |
| `agentName` | string | `James Whitmore` |  |
| `agentPhone` | string | `+1 (310) 555-0192` |  |
| `badgeLabel` | string | `FOR SALE` |  |
| `brandName` | string | `PREMIER REALTY` |  |
| `ctaLabel` | string | `Book a Viewing` |  |
| `propertyImageUrl` | string | `https://images.unsplash.com/photo-1564013799919-ab600027ffc6?w=800&q=80` |  |
| `agentAvatarUrl` | string | `https://images.unsplash.com/photo-1560250097-0b93528c311a?w=120&q=80` |  |

## Pages

### Page 1

- Page ID: `ftQey6zI9pfU34wTMttKO`
- Size: 1200×630
- Variables: `subtitle`

## Example: render "Page 1"

POST (recommended):

```bash
curl -X POST "https://bannx.com/api/render" -H "Content-Type: application/json" -H "Authorization: Bearer YOUR_API_KEY" --data "{\"templateId\":\"real-estate-2\",\"draft\":false,\"format\":\"png\",\"output\":\"binary\",\"tweaks\":{\"title\":\"Hello World\",\"propertyPrice\":\"$2,450,000\",\"propertyAddress\":\"142 Sunset Ridge Drive\"},\"pageId\":\"ftQey6zI9pfU34wTMttKO\"}" -o render.png
```

GET (embed in an `<img>` / quick link):

```bash
curl -H "Authorization: Bearer YOUR_API_KEY" "https://bannx.com/api/render/ftQey6zI9pfU34wTMttKO?format=png&output=binary&templateId=real-estate-2&tweaks=%7B%22title%22%3A%22Hello+World%22%2C%22propertyPrice%22%3A%22%242%2C450%2C000%22%2C%22propertyAddress%22%3A%22142+Sunset+Ridge+Drive%22%7D" -o render.png
```
