# AX Check: help.descript.com
Checked 2026-09-22.

Docs are clear and machine-readable, but pricing isn't stated upfront
Guides, API reference, MCP server, and CLI docs all resolve cleanly. Pricing page wasn't fetched, so plan prices and limits stayed unverified.

## Onboarding needs a login

## Coding sessions
Of three independent sessions, only one completed the full task. That session found a per-plan pricing table (Free/Hobbyist/Creator/Business/Enterprise) but flagged the figures as approximate since the pricing page itself wasn't directly accessible. The other two sessions did not complete.

### DeepSeek V4 Pro
[View public run](https://agents.withgauge.com/p/runs/81e4ba7f-de06-4367-be1e-d0e23a029ea6) · [Read transcript](https://www.ax-check.com/help.descript.com/sessions/deepseek.json)

Session findings unavailable.

### Kimi K3
[View public run](https://agents.withgauge.com/p/runs/e44a76e3-eb71-4e61-81ee-31212172c8ef) · [Read transcript](https://www.ax-check.com/help.descript.com/sessions/kimi.json)
Final output gives a per-plan pricing table (Free/Hobbyist/Creator/Business/Enterprise) with annual-vs-monthly distinction and explicitly flags the numbers as approximate because the pricing page is JS-rendered and only partially scraped.
#### End-to-end onboarding
- **End-to-end onboarding not demonstrated**: The agent never attempted credential acquisition or any authenticated API call. It concluded early that Descript has no public API/SDK and stopped, per the task's explicit instruction to stop if no developer workflow exists. No sign-up, token generation, or product operation was attempted.
  Event 30:

  ```text
  No public API or SDK. descript.com/developers returns 404, there's no API documentation, and no official SDK in any package registry.
  ```
  Event 30:

  ```text
  I'm not stuck on credentials, network, or setup. The product simply doesn't expose a developer surface.
  ```

#### Hallucinated URLs
None identified in this transcript.

#### Blockers
- **No public Descript API or SDK found**: The agent searched for a developer surface (developers page, npm, PyPI, help center) and found no official API, SDK, or documentation tying Descript to programmatic access. This is product behavior (or absence of a documented feature) rather than agent error or a credential/environment issue — the packages found on npm/PyPI were unrelated third-party projects, not Descript's SDK.
  Event 8:

  ```text
  404 https://www.descript.com/developers
  ```
  Event 9:

  ```text
  descript@4.0.26 | MIT | deps: 1 | versions: 138
  descript
  https://github.com/descript-org/descript
  ```
  Event 30:

  ```text
  The descript packages on npm and PyPI are unrelated projects — a Yandex server framework and an old Python lib, not the Descript product.
  ```

#### Suggested Changes
- **Publish a developer/API page or explicitly state none exists**: Requesting https://www.descript.com/developers returned a 404 rather than either API documentation or a clear statement that no public API exists. Add a real developers page (or update the marketing site to link to one) so tools and users don't have to infer the absence of an API from a broken link and empty package registry searches. Verify by requesting the same URL and confirming it resolves to actual content.
  Event 8:

  ```text
  404 https://www.descript.com/developers
  ```
- **Make the pricing page usable without JavaScript rendering**: The pricing page at descript.com/pricing returned obfuscated JSON-in-HTML rather than readable static pricing text, forcing the agent to guess at tier prices via regex heuristics (e.g., Hobbyist and Business showed 'priceLabel: null' instead of a visible number). Render at least the plan names and prices as plain, crawlable HTML so scripted or accessibility tools can read exact pricing. Verify by fetching the page with a simple HTTP client and confirming prices appear in the raw response body.
  Event 15:

  ```text
  Business\",\"priceLabel\":null,\"seatsText\":\"Scale to a team of 5
  ```
  Event 28:

  ```text
  Hobbyist -> ['"priceLabel\\":null']
  ```

### Qwen 3.8 Max
[View public run](https://agents.withgauge.com/p/runs/6b1a3bff-0cbb-47e4-862d-9d6ebb6106df) · [Read transcript](https://www.ax-check.com/help.descript.com/sessions/qwen.json)

#### End-to-end onboarding
- **Onboarding needs a login**: No Descript API key was ever available in the sandbox environment. The agent correctly identified that tokens must be created manually inside the Descript app (Settings > API tokens) and cannot be issued programmatically. It built and dry-ran a client/quickstart script, and separately confirmed live endpoints require auth (401 with no/garbage token, and a 500 with a fake-shaped key), but never obtained a real token and never executed an authenticated operation against the hosted API. Session ended with the README explicitly stating this was not executed live.
  Event 81:

  ```text
  no-key path -> GET /status failed (500): {"statusCode":500,"error":"Internal Server Error","message":"An internal server error occurred"}
  ```
  Event 61:

  ```text
  {"statusCode":401,"error":"Unauthorized","message":"Missing authentication"}
  ```
  Event 92:

  ```text
  **Not executed live**: no `DESCRIPT_API_KEY` was available in this environment, so no real
  project was created and no credits were spent. Add the env var and pass `--run`.
  ```

#### Hallucinated URLs
None identified in this transcript.

#### Blockers
- **No self-service way to obtain a Descript API token**: The Descript API requires a bearer token that can only be created through the Descript desktop/web app under Settings > API tokens, shown once at creation. This is a normal login/credential requirement, not a product defect, but it fully blocked any live/authenticated run in this unattended session. The agent worked around it by dry-running the request payloads and validating error paths (401 for missing/garbage token) instead of a real create-project call.
  Event 37:

  ```text
  1. In Descript, open **Settings** and select **API tokens** from the sidebar. Then click **Create token**.
  ```
  Event 61:

  ```text
  {"statusCode":401,"error":"Unauthorized","message":"Missing authentication"}
  ```
- **Malformed API key returns HTTP 500 instead of 401**: Passing a plausible-but-fake key in the documented `dx_bearer_...:dx_secret_...` format caused the live API to return a 500 Internal Server Error rather than a client-side 401/403. This is product behavior on the hosted endpoint (not a test-environment artifact, since it was a real network call to descriptapi.com) and could mislead developers into thinking the service is down rather than that their key is malformed.
  Event 83:

  ```text
  expected failure -> 500 {"statusCode":500,"error":"Internal Server Error","message":"An internal server error occurred"}
  ```

#### Suggested Changes
- **Return 401 (not 500) for malformed-but-recognizable API key formats**: On POST/GET calls to descriptapi.com/v1/status (and other endpoints) when the Authorization header contains a value matching the documented dx_bearer_...:dx_secret_... shape but with invalid credentials, return a 401 Unauthorized with a message like 'Invalid token' (as already happens for a generic garbage bearer token) instead of a 500 Internal Server Error. Verify by sending a malformed-format key to /v1/status and confirming a 4xx response.
  Event 83:

  ```text
  expected failure -> 500 {"statusCode":500,"error":"Internal Server Error","message":"An internal server error occurred"}
  ```
  Event 88:

  ```text
  {"statusCode":401,"error":"Unauthorized","message":"Invalid token","attributes":{"error":"Invalid token"}}
  ```

### Task given to each agent
Help me build a simple example using Descript. Tell me how pricing works, and briefly tell me whether this product will be easy for you to manage. Let me know if you get blocked. If this product has no developer workflow you can act on, say so plainly and stop. Stay light: use the hosted product through its SDK or API. Do not start local service stacks or wait for long-running commands; if the quickstart requires either, say so plainly and stop.

No product credentials were supplied and no purchases were authorized.

## Score: A · 100/100 (provisional)
Grades come from completed site checks. Coding sessions and skipped checks do not affect the score.

### Clarity
- **Pass** — Homepage answers Markdown requests

  ```text
  Homepage returned text/markdown with 200 when requested with Accept: text/markdown.
  ```

- **Pass** — llms.txt provides an actionable documentation index

  ```text
  llms.txt returns 200 with a large organized index of docs pages and descriptions.
  ```

- **Pass** — llms.txt provides navigation guidance

  ```text
  llms.txt groups links by topic with descriptive titles and summaries for navigation.
  ```

- **Pass** — llms.txt mentions offered API, MCP, and skills

  ```text
  llms.txt lists Descript API, MCP, Zapier, and SquadCast API/webhook pages.
  ```

- **Pass** — A compact guide representation exists

  ```text
  llms.txt and .md pages provide compact Markdown guide representations.
  ```

- **Pass** — A focused guide is directly retrievable

  ```text
  get-started-with-descript.md is a focused, directly retrievable six-step guide.
  ```

- **Pass** — Equivalent instructions fit a token budget

  ```text
  Guide is 2199 tokens, well under 8000 and below its HTML extraction.
  ```

- **Pass** — Product-docs links survive format changes

  ```text
  Markdown guide retains working product-docs links to record, edit, export pages.
  ```

- **Pass** — The compact guide is independently actionable

  ```text
  Get started guide gives six concrete steps from import through export with linked detail pages.
  ```

- **Pass** — Install and next-step links resolve

  ```text
  Fetched install, quickstart and next-step pages all returned 200 with usable content.
  ```


### Onboarding
- **Pass** — Docs lead to a relevant quickstart

  ```text
  llms.txt and Get started guide give a step-by-step workflow from recording through export.
  ```

- **Skipped** — Installation commands are extractable

  ```text
  Descript is a desktop/web app; no CLI or package install commands are offered.
  ```

- **Skipped** — Code examples are available without interaction

  ```text
  No code examples are offered; this is a consumer video editor, not a developer API product.
  ```

- **Skipped** — Prerequisites and auth boundaries are explicit

  ```text
  Getting-started guide covers account setup but no API auth boundary is shown here.
  ```


### Pricing
- **Skipped** — Pricing is readable without interaction

  ```text
  No pricing page fetched; only a billing help section link was seen.
  ```

- **Skipped** — Prices are stated, not gated

  ```text
  No pricing page fetched; no prices observed in supplied evidence.
  ```

- **Skipped** — Pricing units and limits are explicit

  ```text
  No pricing page fetched; units and limits not observed.
  ```

- **Pass** — Agents identify pricing and its assumptions

  ```text
  1 of 3 sessions were judged on pricing; 0 fell short. Kimi K3: Final output gives a per-plan pricing table (Free/Hobbyist/Creator/Business/Enterprise) with annual-vs-monthly distinction and explicitly flags the numbers as approximate because the pricing page is JS-rendered and only partially scraped. This behavioural item does not affect the fast grade.
  ```


### Activation
- **Pass** — An API reference or OpenAPI spec is reachable

  ```text
  API page links to docs.descriptapi.com with request schemas and code samples.
  ```

- **Pass** — An MCP server is documented and well-formed

  ```text
  MCP overview documents server, auth via Descript login, and Claude/ChatGPT/Cursor/custom setup.
  ```

- **Pass** — A CLI install path is documented

  ```text
  API page documents installing the CLI and running imports, edits, searches from terminal.
  ```

- **Skipped** — SDK packages resolve on their registries

  ```text
  No registry lookup for a Descript SDK or packaged CLI package was supplied.
  ```

- **Skipped** — Agent skills are published

  ```text
  No agent skills surface is offered or referenced in the fetched documentation.
  ```



[Full report data](https://www.ax-check.com/help.descript.com/report.json)
