---
title: "Generate Formatted Transcript Endpoint"
method: POST
path: "/v1/generate-formatted-transcript"
tags: ["Digital Humans"]
---

# Generate Formatted Transcript Endpoint

`POST /v1/generate-formatted-transcript`

Take a raw transcript and return the structured transcript, derived utterances, and speaks_first.

## Headers

- `X-API-Key` string, required

## Request body

- GenerateFormattedTranscriptRequest
  - `original_transcript` string, required — Raw transcript in any format

## Response `200`

Successful Response

- GenerateFormattedTranscriptResponse
  - `formatted_transcript` object[], required — Structured transcript: [{"role": "USER"|"AGENT", "utterance": "..."}]
  - `description` string, required — JSON-encoded list of user utterances (the intent/description field)
  - `speaks_first_config` SpeaksFirstConfig — Configuration for whether the digital human speaks first and how. Stored as JSONB in Supabase (speaks_first_config).
    - `speaks_first` boolean, required — Whether the digital human speaks first in the call
    - `mode` 'custom' | 'ai_generated', nullable — When speaks_first is true: 'custom' (user-provided message) or 'ai_generated' (no message)
    - `message` string, nullable — When mode is 'custom', the message the digital human says first

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/getbluejay/apis/bluejay-api.md) · [All operations](https://skmtc.net/getbluejay/apis/bluejay-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/getbluejay/bluejay-api/revisions/18bc44e35414/schema)
