---
title: "Render Sentence"
method: POST
path: "/v3/voice/render/with-sentence"
tags: ["voice"]
---

# Render Sentence

`POST /v3/voice/render/with-sentence`

## Request

- Base URL: `https://api.etymolt.com`
- URL: `https://api.etymolt.com/v3/voice/render/with-sentence`
- Auth: none declared

Render a sentence containing the brand name. Used for "elevator pitch preview".

## Request body

- SentenceRequest: Sentence-template render request. Security (R4 P0-1, 2026-05-17): both `brand` and `sentence_template` are user-controlled. The validator below ensures the template only contains the literal `{brand}` placeholder — no nested braces, no attribute access forms like `{brand.__class__}`. This defangs the Python ``str.format`` SSTI primitive (information disclosure via interpreter-graph walk). The accent service uses ``str.replace`` rather than ``str.format`` as a second layer of defense.
  - `brand` string, required
  - `sentence_template` string, required: Sentence with {brand} placeholder, e.g. 'Hi, I'm from {brand}.'
  - `persona_key` string
  - `as_json` boolean

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/etymolt/apis/etymolt-verify-ai-generated-brand-names.md) · [All operations](https://skmtc.dev/etymolt/apis/etymolt-verify-ai-generated-brand-names/llms.txt) · [OpenAPI document](https://skmtc.dev/etymolt/apis/etymolt-verify-ai-generated-brand-names/revisions/7228ffa1efa7?raw)
