Templates
Templates Overview
27 structured UI component templates that return consistent JSON shapes.
The Core Idea
Traditional placeholder text APIs return paragraphs. yaddayadda returns structured UI components.
Every template works in two modes:
- Yadda Ipsum (free) — template structure filled with static nonsense text, correctly sized per field
- AI mode (requires key) — same structure filled with contextual, tone-aware generated content
The JSON shape is identical in both modes. Build against the free tier, upgrade to AI without changing code.
Default Behavior
If no template parameter is specified, the API defaults to paragraphs — standard generated paragraphs, compatible with every other lorem ipsum API. Templates are a power feature, not a requirement.
Template Groups
Page Sections
| Template ID | Description | Parameters |
|---|---|---|
hero_section | Headline, subheadline, body, primary CTA, secondary CTA | — |
features_grid | Feature cards with title and description | count (3–6) |
pricing_table | Tier names, prices, features, CTAs, highlighted flag | tiers (3–5) |
testimonials | Quote, person name, role, company | count (3–6) |
faq_section | Question and answer pairs | count (4–10) |
cta_banner | Headline, body, primary CTA, secondary CTA | — |
stats_row | Metric value and label pairs | count (4–6) |
how_it_works | Numbered steps with title and description | count (3–6) |
Navigation & Structure
| Template ID | Description |
|---|---|
navbar | Logo text, menu items, CTA button |
footer | Multi-column links, tagline, copyright, social links |
breadcrumbs | Navigation breadcrumb trail (3–5 items) |
sidebar_nav | Grouped sections with heading and nav items |
Content Blocks
| Template ID | Description | Parameters |
|---|---|---|
blog_post | Full post: title, author, sections, pull quote, conclusion | — |
team_section | Headline, subheadline, member cards | count (3–8) |
product_card | E-commerce listing with name, price, rating, review | count (1–8) |
timeline | Chronological events with date, title, description | count (4–8) |
UI Micro-Content
| Template ID | Description | Parameters |
|---|---|---|
form_fields | Form with labeled fields, placeholders, helpers | count (4–10) |
notifications | Success, warning, error, info messages | — |
empty_states | Empty section messages with headline, body, CTA | count (3–6) |
onboarding_steps | Step number, title, body, CTA | count (4–6) |
dashboard_widgets | Widget title, description, metric, trend | count (4–8) |
settings_page | Settings with label, description, control type | — |
error_pages | 404, 500, 403 with headline, body, CTA | — |
Composite Templates
| Template ID | Description |
|---|---|
landing_page | Complete landing page: hero, features, stats, testimonials, pricing, FAQ, CTA, footer |
dashboard_page | Sidebar nav, header, widget grid, notifications |
blog_index | Page title, subtitle, blog post cards |
ecommerce_page | Category header, filters, product cards, pagination |
Using the count Parameter
Templates with repeating elements accept a count parameter. Each template defines its own valid range:
# 4 feature cards
curl "https://api.yaddayadda.io/v1/generate?template=features_grid&count=4"
# 5 FAQ items
curl "https://api.yaddayadda.io/v1/generate?template=faq_section&count=5"If count is outside the valid range, it's clamped to the nearest boundary. If omitted, the template default is used.