Skip to main content
Use the Templates API to discover available templates programmatically and retrieve template details before starting a generation flow. This is useful when building a custom front end, internal selection layer, or automated content workflow.

Template Overview

Structure

Defines the content format and sections.

Inputs

Defines required user-provided fields.

Category

Groups templates by content purpose.

Generation

Guides request setup before submission.

List Templates

Get Template by Slug

The response includes a length block: the template’s word bounds, deliverable_max (the longest range any tier can finish in its time budget), tiers (per tier, the longest range it can finish, max_words, and why it is ruled out regardless of length, excluded), its substantive floor, the default preset, and each preset with its range and, per tier, whether that tier can deliver it and why not. Pass vertical_id to include the context’s rules; a context whose verification blocks unverified content rules out Quick. length is null for page-sized templates such as feature screenplays.
The response also includes parameter_constraints. It is null for most templates. For a template that declares which of its options can be combined, it lists each rule: the options it applies when chosen, the values it excludes, the bounds it requires, and the reason shown when a request breaks it, plus the options resolved from auto at submission. Generation refuses a request that breaks a rule with a 422 before anything is charged; see Generate content.

Supported Operations

Integration Flow

1

Fetch available templates

Call GET /templates to retrieve the current template catalog.
2

Select a template

Use the template slug as the template_id in generation requests.
3

Read input requirements

Retrieve template details to understand required fields and optional parameters.
4

Build the request form

Use the template response to guide user input collection.
5

Submit generation

Send the selected template, style profile, and structured input to POST /api/generate.

Best Practice

Use template detail responses to drive your form layer. This makes your integration more resilient because input requirements come from the template definition instead of hard-coded assumptions.
Avoid hardcoding template catalogs in production integrations. Fetch templates from the API so your interface stays aligned with WriterzRoom updates.
A template controls content type, required inputs, structure, section expectations, and output format.
Templates define the structure of the output. Style profiles define tone, voice, pacing, audience fit, and writing behavior.
Use /templates/{slug} before generation when you need to build dynamic forms or validate required fields.

Style Profiles API

Retrieve available writing styles for generation setup.

Generate Content

Submit a request using the selected template.
Last modified on October 26, 2026