---
title: "Rescan Voice Blocks Endpoint"
method: POST
path: "/generate/voice_block_scan"
tags: ["generate"]
---

# Rescan Voice Blocks Endpoint

`POST /generate/voice_block_scan`

## Request

- Base URL: `https://api.framesail.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.framesail.com/generate/voice_block_scan`
- Auth: HTTP bearer

Re-derive voice blocks from the active script. Assets (and their
reference images) are left untouched — this is the non-destructive
alternative to a full script_scan after a script edit.

Synchronous: the cut is deterministic (generation/voice_blocks.py), so
there is no model to pick, no job to queue and nothing to bill.

## Request body

- RescanVoiceBlocksRequest
  - `project_id` string, required

## Response `200`

Successful Response

- object

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/framesail/apis/framesail-api.md) · [All operations](https://skmtc.dev/framesail/apis/framesail-api/llms.txt) · [OpenAPI document](https://skmtc.dev/framesail/apis/framesail-api/revisions/12602eae0820?raw)
