---
title: "Generate scenarios from uploaded transcripts"
method: POST
path: "/v1/generate-from-transcript"
tags: ["Transcript Scenario Generation"]
---

# Generate scenarios from uploaded transcripts

`POST /v1/generate-from-transcript`

Generate 3 distinct simulation scenarios from previously uploaded and parsed transcript files.
This is the third and final step in the three-step workflow.

The endpoint:
1. Retrieves all uploaded files from Redis for the given requestId
2. Combines all transcript content
3. Validates minimum word count
4. Calls the LLM via RPC to generate 3 scenarios
5. Cleans up Redis data after successful generation

Each generated scenario includes a simulationName, personaName, personaDescription,
mission, and success criteria - ready to be used for creating simulations.

## Query parameters

- `projectId` string

## Request body

- object
  - `projectId` string — Project identifier
  - `requestId` string, required — Request ID from the create-request step (all files uploaded for this request are used)
  - `flowReference` string — Optional flow reference (MongoDB ObjectId) for context-aware generation
  - `numberOfSuccessCriteria` integer, required — Number of success criteria per scenario (required, 1-10)

## Response `200`

Scenarios generated successfully

- object
  - `success` boolean, required
  - `scenarios` object[], required — 3 generated simulation scenarios
    - `simulationName` string, required — Descriptive name for the simulation
    - `personaName` string, required — Role-based persona name
    - `personaDescription` string, required — Detailed persona behavioral profile
    - `mission` string, required — Clear, testable mission objective
    - `successCriteria` object[], required — Measurable success criteria
      - `type` 'text' | 'goalCompleted'
      - `params` object
        - `name` string, required
        - `text` string, required
  - `metadata` object, required
    - `requestId` string
    - `filesProcessed` integer
    - `totalTextLength` integer
    - `model` string
    - `processedAt` string, date-time
    - `generationTimeMs` integer

## Other responses

- `400` — Bad Request - Invalid parameters or insufficient content
- `401` — Unauthorized
- `403` — Forbidden - Insufficient permissions
- `404` — Not Found - Request or file not found
- `504` — Gateway Timeout - Generation timed out

---

[API](https://skmtc.net/cognigy/apis/simulator-openapi-rest-ful-api-reference.md) · [All operations](https://skmtc.net/cognigy/apis/simulator-openapi-rest-ful-api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/cognigy/simulator-openapi-rest-ful-api-reference/revisions/85b2872bdfb7/schema)
