---
title: "Run Vision Analysis"
method: POST
path: "/api/v1/projects/{project_id}/vision-analysis"
---

# Run Vision Analysis

`POST /api/v1/projects/{project_id}/vision-analysis`

## Request

- Base URL: `https://api.clipmaster.app` (the document declares no server; this is the origin it was published from)
- URL: `https://api.clipmaster.app/api/v1/projects/{project_id}/vision-analysis`
- Auth: HTTP bearer

Run (or re-run) the smart-crop + speaker-layout analysis on a completed
project. Serves failure recovery and post-upload enablement.

Pricing: duration-based (same as upload), EXCEPT when the analysis was
enabled at upload but stored no camera data — that retry is free, the
user already paid for it.

Poll GET /projects/{id}/status: project_config.vision_rerun_status
transitions running → completed | failed.

## Path parameters

- `project_id` integer, required

## Response `200`

Successful Response

- VisionAnalysisRunResponse: Response for POST /projects/{id}/vision-analysis (on-demand analysis).
  - `project_id` integer, required
  - `status` string, required
  - `tokens_reserved` integer, required
  - `progress_url` string, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/clipmaster/apis/semantic-video-clip-ai-agent.md) · [All operations](https://skmtc.dev/clipmaster/apis/semantic-video-clip-ai-agent/llms.txt) · [OpenAPI document](https://skmtc.dev/clipmaster/apis/semantic-video-clip-ai-agent/revisions/c9b8333cd22b?raw)
