Skip to main content
POST

Overview

Creating a topic initiates the commentary generation workflow. The topic is sent to your selected licensed personas, and their creators are notified to generate commentary.
Human-in-the-Loop: Commentary generation involves human creators who inject their unique perspective. This ensures high-fidelity, authentic responses but means generation is not instant. Use the Status endpoint to monitor progress.

Request

string
required
The topic content (question, statement, or prompt). 10-100 characters maximum.
string[]
required
Array of persona UUIDs to send this topic to. Must have active licenses. Use GET /personas to see your licensed personas.
string
Your content identifier for correlation (e.g., bet line ID, article slug). Max 256 characters, alphanumeric plus -_.: only. Case-sensitive. See Content Correlation Guide for details.
string[]
default:"['text']"
Desired output formats: text, audio, video
object
Custom metadata to attach (returned in responses and webhooks).

Response

string
Unique identifier for the topic. Use this to check status and fetch commentaries.
string
Your content identifier (if provided). Returned in all responses and webhooks for correlation.
string
The topic content.
integer
Number of personas that will generate commentary.
array
Per-persona status:
  • sent - Successfully sent to creator for commentary
  • not_licensed - No active license for this persona
  • duplicate - Already sent within 24 hours
string
Always pending on creation.

What Happens Next

After creating a topic, the workflow proceeds:
  1. Topic Sent - Creators are notified via email
  2. Opinion Injected - Creator adds their unique perspective
  3. Commentary Generated - AI generates the commentary
  4. Creator Approved - Creator reviews and approves
  5. Ready to Fetch - Use GET /topics/:id/commentaries
Use GET /topics/:id/status to poll for progress without fetching full commentary content.