---
title: ToolRouter — Tool Detail
description: Detailed documentation for a ToolRouter tool including skills, parameters, and examples.
url: https://toolrouter.com/tools/persona-generator
---
# Persona Generator

Create customer personas with demographics, psychographics, goals, pain points, and messaging angles — plus multi-angle portrait turnaround sheets. For marketing strategy, copywriting, ad targeting, and product development. Describe your business and audience to get presentable personas.

- **Version:** 0.03
- **Categories:** marketing, ai
- **Workflow:** create_persona → generate_persona → generate_images

## Skills (3)

### Create Persona (Full) (`create_persona`)

Generate persona profiles with demographics, psychographics, goals, pain points, messaging, plus multi-angle portrait sheets (front/left/right/back). All in one call. Takes ~70s per persona. Async — poll with get_job_result. Render sheets inline via sheet_N_url.

**Parameters:**

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `business_description` | string | Yes | What the business does — product/service overview in 1-3 sentences |
| `target_description` | string | Yes | Who the target audience is — their role, context, and what they care about |
| `count` | number | No | Number of personas to generate (1-5, default: 1) [default: 1] |
| `locale` | string | No | Target locale — affects names, locations, currency, cultural references (e.g. "UK", "US", "Japan") [default: "US"] |
| `additional_context` | string | No | Extra context — industry specifics, brand positioning, segments to focus on |
| `style` | string | No | Optional style direction for portrait images (e.g. "professional headshot", "casual outdoor setting") |

**Returns:** Persona profiles with demographics, goals, pain points, messaging, and portrait paths. Render inline with sheet_N_url images — bold labels, short bullets, no separate document.

**Examples:**

*Generate 2 personas for an electrician booking platform:*

```json
{
  "business_description": "An online platform for booking qualified electricians in London. Same-day availability, upfront pricing, all electricians are vetted and insured.",
  "target_description": "Property owners and landlords who need electrical work done in their rental properties — EICR certificates, safety inspections, repairs.",
  "count": 2,
  "locale": "UK"
}
```

*Generate a single persona for a DevOps SaaS:*

```json
{
  "business_description": "CI/CD platform that deploys to any cloud in under 60 seconds. Zero-config, auto-scaling, SOC 2 compliant.",
  "target_description": "Engineering leaders at mid-to-large companies who care about deployment reliability and reducing infrastructure overhead."
}
```

### Generate Persona Profiles (`generate_persona`)

Generate detailed persona profiles — demographics, psychographics, goals, pain points, objections, behavior patterns, messaging angles, and a photo description for image generation. Use this when you want to review or edit profiles before generating portraits.

**Parameters:**

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `business_description` | string | Yes | What the business does — product/service overview in 1-3 sentences |
| `target_description` | string | Yes | Who the target audience is — their role, context, and what they care about |
| `count` | number | No | Number of personas to generate (1-5, default: 1) [default: 1] |
| `locale` | string | No | Target locale — affects names, locations, currency, cultural references (e.g. "UK", "US", "Japan") [default: "US"] |
| `additional_context` | string | No | Extra context — industry specifics, brand positioning, segments to focus on |

**Returns:** Array of persona profiles with demographics, psychographics, goals, pain points, behavior, messaging angles, and photoDescription for portrait generation

**Examples:**

*Generate 3 personas for a property management SaaS:*

```json
{
  "business_description": "Cloud-based property management software for landlords and letting agents. Handles tenant screening, rent collection, maintenance requests, and compliance tracking.",
  "target_description": "UK landlords and letting agents managing residential rental portfolios of 5-50 properties.",
  "count": 3,
  "locale": "UK"
}
```

*Generate a single persona for a fitness app:*

```json
{
  "business_description": "AI-powered personal training app with custom workout plans, nutrition tracking, and progress photos.",
  "target_description": "Health-conscious adults aged 25-45 who want to get fit but struggle with consistency and motivation."
}
```

### Generate Persona Turnaround Sheets (`generate_images`)

Generate multi-angle turnaround sheet portraits (front/left/right/back) from persona photo descriptions. Composites into a 2x2 grid. Takes ~70s per persona. Async — poll with get_job_result. Render sheets inline via sheet_N_url.

**Parameters:**

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `descriptions` | array | Yes | Array of photo description strings — typically the photoDescription field from each persona |
| `style` | string | No | Optional style direction applied to all portraits (e.g. "professional headshot", "casual outdoor") |

**Returns:** Portrait objects with turnaround sheet (2x2 grid) and individual angle image paths. Display sheets inline via sheet_N_url.

**Examples:**

*Generate turnaround sheets from persona descriptions:*

```json
{
  "descriptions": [
    "A 42-year-old South Asian man with short greying hair, wearing a navy polo shirt. Standing in front of a terraced house, holding a set of keys. Friendly but tired expression.",
    "A 35-year-old white woman with shoulder-length brown hair, wearing a blazer over a casual top. Sitting at a desk with a laptop, natural office lighting."
  ]
}
```

*Generate a single turnaround sheet with style override:*

```json
{
  "descriptions": [
    "A 28-year-old Black woman with natural hair, wearing athletic wear. Checking her phone after a workout, slight smile."
  ],
  "style": "warm golden hour lighting, outdoor park setting"
}
```

## Quick Start

```bash
# Via CLI
TOOLROUTER_API_KEY=tr_live_xxx npx -y toolrouter-mcp call persona-generator create_persona --business_description An online platform for booking qualified electricians in London. Same-day availability, upfront pricing, all electricians are vetted and insured. --target_description Property owners and landlords who need electrical work done in their rental properties — EICR certificates, safety inspections, repairs. --count 2 --locale UK

# Via REST API
curl -H "Authorization: Bearer tr_live_xxx" \
     -d '{"tool":"persona-generator","skill":"create_persona","input":{"business_description":"An online platform for booking qualified electricians in London. Same-day availability, upfront pricing, all electricians are vetted and insured.","target_description":"Property owners and landlords who need electrical work done in their rental properties — EICR certificates, safety inspections, repairs.","count":2,"locale":"UK"}}' \
     https://api.toolrouter.com/v1/tools/call
```

## Frequently Asked Questions

### What is the difference between the full persona and the review-first path?

`create_persona` gives you the persona and the portrait sheet in one async run. `generate_persona` is the lighter review step when you want to inspect the profile before generating images.

### Can I generate more than one persona at a time?

Yes. The tool supports a persona count, so you can create a small set of audience profiles instead of repeating the same prompt manually.

### How does locale affect the output?

Locale changes the names, references, and cultural framing of the persona, which makes the result feel grounded in a specific market instead of generic.

### What do the portrait sheets include?

The full flow can return multi-angle turnaround sheets with front, left, right, and back views, which is handy when you need a presentable visual reference for a persona.

---

## Get Started with ToolRouter

**Already connected?** Call any tool with `use_tool({ tool, skill, input })`. Browse tools with `discover` or visit https://toolrouter.com/llms-full.txt

**New to ToolRouter?** Connect with one command (no API key needed — auto-provisions on first use):

```bash
# MCP (Claude Code, Codex CLI)
claude mcp add toolrouter -- npx -y toolrouter-mcp

# MCP (Cursor, Windsurf, Cline, VS Code, Gemini CLI, Claude Desktop)
{"mcpServers":{"toolrouter":{"command":"npx","args":["-y","toolrouter-mcp"]}}}

# Claude Chat / Claude Cowork / Claude Mobile — add as a connector:
# Settings → Connectors → Add custom connector → URL: https://api.toolrouter.com/mcp

# ChatGPT — add as an app:
# Settings → Apps → Advanced settings → enable Developer mode → Create app → MCP Server URL: https://api.toolrouter.com/mcp

# CLI (works instantly, no restart needed)
npx -y toolrouter-mcp tools                    # browse all tools
npx -y toolrouter-mcp search "seo"             # search by keyword
npx -y toolrouter-mcp call seo analyze_page --url https://example.com
```

Free tools work immediately. For paid tools, visit https://toolrouter.com/claim to add credits.

All platforms: https://toolrouter.com/connect | Full catalog: https://toolrouter.com/llms-full.txt | Docs: https://toolrouter.com/docs