# AX Check: storylane.io
Checked 2026-09-29.

Storylane's quickstart and pricing are clear and easy to find fast.
Docs give a 3-step record/edit/share guide and pricing lists all five tiers with exact dollar amounts, seats, and limits upfront.

## Onboarding needs a login

## Coding sessions
All three independent sessions (DeepSeek V4.1 Flash, Kimi K3, Qwen 3.8 Max) completed the task, pulling live pricing pages into full tables covering Free through Enterprise tiers with seat counts and plan assumptions, no login wall encountered.

### DeepSeek V4.1 Flash
[View public run](https://agents.withgauge.com/p/runs/12130fca-43ab-4a05-bc0e-67408dc3b21e) · [Read transcript](https://www.ax-check.com/storylane.io/sessions/deepseek.json)
Final output gives a full pricing table (Free/Starter/Growth/Premium/Enterprise, monthly vs annual, seat counts) scraped live from storylane.io/pricing (seq 35-45), with plan/seat assumptions stated.
#### End-to-end onboarding
- **Onboarding needs a login**: The agent found a real developer surface (External REST API, oEmbed API, MCP, webhooks) and correctly wired a Bearer-auth API client, confirming the wiring against a live 401 response. It never obtained a real Storylane API key or workspace ID (those require signing in to a Storylane workspace and generating a key manually), so no authenticated product operation (e.g., listing real demos) was ever performed. All calls made were either public/unauthenticated (oEmbed) or explicitly unauthenticated probes returning 401.
  Event 88:

  ```text
  Authenticated API calls need a paid workspace API key + workspace ID, which I don't have here. The wrapper is wired correctly — I confirmed a bogus key returns a clean 401
  ```
  Event 55:

  ```text
  api.storylane.io: 401
  ```
  Event 82:

  ```text
  HTTP 401 Unauthorized
  {"error":"API Key is missing, invalid or expired. Please contact support to obtain a new API Key."}
  ```
  Event 33:

  ```text
  1. Sign in to your Storylane workspace.
  2. Go to **Settings → Integrations**.
  3. Find **API keys** and click **View key**.
  4. Copy the **Workspace ID** displayed in the modal.
  5. Click **Generate new key** to create an API key.
  ```

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

#### Blockers
- **No self-service way to get a real Storylane API key**: Storylane's External API requires a paid workspace, manual sign-in, and manually generating an API key plus workspace ID from Settings → Integrations. This is normal product behavior (a standard login/credential wall), not a product defect, but it stopped the agent from exercising real authenticated calls (demos, leads, accounts, sessions) beyond a 401 wiring check.
  Event 33:

  ```text
  1. Sign in to your Storylane workspace.
  2. Go to **Settings → Integrations**.
  3. Find **API keys** and click **View key**.
  ```
  Event 88:

  ```text
  Authenticated API calls need a paid workspace API key + workspace ID, which I don't have here.
  ```

#### Suggested Changes
- **Add a sandbox/trial API key option to the External API quickstart**: On the External API doc (docs.storylane.io/integrations-demo-suite/integrations-and-data-flow/external-api), the only path to a key is 'Sign in to your Storylane workspace' plus a paid plan. Adding a free-tier or sandbox key option would let developers validate the API end-to-end without a purchase; verify by having a fresh account generate a key and successfully call GET /api/connect/v1/workspaces/:workspace_id/demos.
  Event 33:

  ```text
  The API is available to users on all paid plans. If you need help, contact us at <support@storylane.io>.
  ```

### Kimi K3
[View public run](https://agents.withgauge.com/p/runs/a4690c07-2ca7-4b38-9aff-9d92fae3d4b5) · [Read transcript](https://www.ax-check.com/storylane.io/sessions/kimi.json)
Final summary lists Free/Starter/Growth/Premium/Enterprise tiers with concrete $ figures and names the key assumption that the External API is gated to paid plans (Starter and up), sourced from storylane.io/pricing (seq 19).
#### End-to-end onboarding
- **End-to-end onboarding not demonstrated**: The agent never obtained real Storylane credentials during the session. It read documentation showing that API keys must be generated manually inside a signed-up, paid Storylane workspace (Settings -> Integrations -> API keys), then wrote a local Python client and explicitly stated it could not run it end-to-end because it lacks an account/email and cannot pay for a plan. No authenticated call to the hosted API was ever made; the script exits with a setup message when run without credentials.
  Event 92:

  ```text
  Set STORYLANE_API_KEY and STORYLANE_WORKSPACE_ID first.
  Generate them in Storylane: Settings -> Integrations -> API keys (paid plans).
  exit=1
  ```
  Event 98:

  ```text
  I can't execute the API example end-to-end: generating an API key requires signing up for a workspace **and being on a paid plan**, which I can't do (no email/identity, and signup isn't automatable here).
  ```

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

#### Blockers
- **API key generation requires manual signup on a paid plan**: Storylane's External API requires a human to sign in to a workspace, navigate to Settings -> Integrations, and generate an API key, and the API itself is only available on paid plans. This is normal product-required authentication, not a defect; the agent correctly identified it as an unresolved dependency it could not self-serve and stopped short of an authenticated call.
  Event 56:

  ```text
  The API is available to users on all paid plans. If you need help, contact us at <support@storylane.io>.
  ```
  Event 56:

  ```text
  1. Sign in to your Storylane workspace.
  2. Go to **Settings → Integrations**.
  3. Find **API keys** and click **View key**.
  ```
  Event 98:

  ```text
  generating an API key requires signing up for a workspace **and being on a paid plan**, which I can't do (no email/identity, and signup isn't automatable here)
  ```
- **Demo recording is not scriptable via API**: The core content-creation step (recording a demo) requires a browser extension and human interaction with a target product; the External API only covers publishing, link/session management, stats, and leads. This is a product design constraint the agent surfaced rather than an error on its part.
  Event 98:

  ```text
  demo creation itself isn't an API operation — recording requires their Chrome extension and a human clicking through a product, so the capture/edit loop isn't something I can drive headlessly.
  ```

#### Suggested Changes
- **Add a sandbox or test API key option for evaluating the External API without a paid plan**: The docs state the API is gated to paid plans and requires manual key generation inside a signed-up workspace (docs.storylane.io/integrations-demo-suite/integrations-and-data-flow/external-api). A free-tier or trial API key path would let developers validate integration code before committing to a paid plan; verify by confirming a Free-plan workspace can generate a working Bearer token against /api/connect/v1/workspaces/:workspace_id/demos.
  Event 56:

  ```text
  The API is available to users on all paid plans. If you need help, contact us at <support@storylane.io>.
  ```
- **Clarify in the External API doc that demo creation is not supported via API**: The external-api.md page lists capabilities (list/publish demos, links, sessions, leads) but does not state upfront that recording new demo content is excluded and requires the browser extension. Add an explicit note near the 'With the API, you can' list; verify by checking a developer reading only that section would not assume demo creation is possible via API.
  Event 56:

  ```text
  With the API, you can:
  ```
  Event 98:

  ```text
  demo creation itself isn't an API operation — recording requires their Chrome extension and a human clicking through a product
  ```

### Qwen 3.8 Max
[View public run](https://agents.withgauge.com/p/runs/b0a796ca-467f-47d7-801c-e1be91953d32) · [Read transcript](https://www.ax-check.com/storylane.io/sessions/qwen.json)
Final output gives a full plan/price table pulled live from storylane.io/plans and explicitly states the pricing model assumptions (per creator seat not per traffic, unlimited viewers, annual ~20% discount, add-on seat costs, paid-tier API/webhook gating).
#### End-to-end onboarding
- **End-to-end onboarding not demonstrated**: No Storylane credentials existed in the sandbox and none were obtained during the session. The agent built a full External API CLI but explicitly could not run it against real data, and it self-reported this limitation. The only 'authenticated' probe used placeholder values (STORYLANE_API_KEY=x) and correctly received a 401. The public oEmbed endpoint (no auth) was called successfully, but that is not an authenticated product operation.
  Event 186:

  ```text
  No Storylane credentials exist in this environment, so the authenticated API paths are implemented and error-checked (`401 API Key is missing, invalid or expired`) but not run against real data.
  ```
  Event 156:

  ```text
  STORYLANE_API_KEY=x STORYLANE_WORKSPACE_ID=y node scripts/storylane-api.mjs demos; echo "exit=$?"
  ```
  Event 157:

  ```text
  error: GET /api/connect/v1/workspaces/y/demos -> 401 Unauthorized
  {"error":"API Key is missing, invalid or expired. Please contact support to obtain a new API Key."}
  ```

#### Hallucinated URLs
- **Guessed api docs subdomain returned 404**: The agent tried an invented docs URL at the API host (api.storylane.io/api/v1/docs) which returned 404. This is a plausible guess rather than a link copied from documentation, and the agent immediately moved on to the real docs site, so it did not block progress, but it is a genuine invented URL that failed.
  Event 14:

  ```text
  for u in "https://api.storylane.io/api/v1/docs" "https://docs.storylane.io" "https://apidocs.storylane.io" "https://www.storylane.io/pricing"; do echo "== $u"; timeout 15 curl -sS -L -o /dev/null -w "%{http_code} %{url_effective}\n" "$u"; done
  ```
  Event 16:

  ```text
  == https://api.storylane.io/api/v1/docs
  404 https://api.storylane.io/api/v1/docs
  ```

#### Blockers
- **No self-serve path to real API credentials**: Generating a Storylane API key and workspace ID requires a human to sign in to the web UI (Settings -> Integrations -> API keys) and click through the key generation flow. This is normal product authentication behavior, not a defect, but it fully prevented the agent from exercising any authenticated endpoint against live data in this session.
  Event 41:

  ```text
  1. Sign in to your Storylane workspace.
  2. Go to **Settings → Integrations**.
  3. Find **API keys** and click **View key**.
  4. Copy the **Workspace ID** displayed in the modal.
  5. Click **Generate new key** to create an API key.
  ```
  Event 186:

  ```text
  No Storylane credentials exist in this environment, so the authenticated API paths are implemented and error-checked (`401 API Key is missing, invalid or expired`) but not run against real data.
  ```
- **No REST endpoint to create demo content**: The External API can list, publish, and manage links/tokens but has no create-demo endpoint; authoring content (screenshots/video to demo, adding steps) is only available via MCP tools or the GUI editor. This is a product design gap for a fully headless build pipeline, not an agent error.
  Event 186:

  ```text
  **Authoring demos is not in the REST API.** No `POST /demos`. You can read demos, publish them, and manage links/tokens, but creating or editing demo *content* requires the MCP tools (`convert_images_to_demo`, `add_step`, `personalise_demo`) or the web UI.
  ```

#### Suggested Changes
- **Publish an OpenAPI spec for the External API**: The docs page for the External API (integrations-demo-suite/integrations-and-data-flow/external-api) only offers a Postman collection and prose examples; there is no machine-readable spec. Add an OpenAPI/Swagger definition linked from that same page, and verify it by generating a client and hitting one endpoint without hand-transcribing field names from markdown.
  Event 41:

  ```text
  Open the [Storylane Public Postman Collection](https://www.postman.com/team-storylane/storylane-public/collection/2zkg7jc/storylane-connect?action=share\&creator=17698894).
  ```
- **Fix broken Zendesk link in the embed platform table**: On the 'Embed on Website or Product' docs page, the Zendesk platform link in the supported-platforms table uses a broken protocol (broken://) instead of a real app.storylane.io share URL like the other platform links in the same row. Update it to a valid https:// share link and confirm by clicking it from the rendered docs page.
  Event 42:

  ```text
  <a href="broken://pages/LD4mpLhDi4E61mPEXfnD"><strong>Zendesk</strong></a>
  ```
- **Document that demo creation requires MCP or the GUI**: The External API doc page lists what the API can do but never states that demo creation/content-editing is out of scope for REST and only available via MCP or the web editor. Add an explicit note near the top of the External API page (where capabilities are listed) so developers don't assume a POST /demos endpoint exists; verify by checking the page states MCP or GUI is required for content creation.
  Event 41:

  ```text
  With the API, you can:
  
  * List and publish demos, and retrieve their content and engagement stats
  * List workspace hubs
  * Create and manage demo and hub links, including passcodes, expiration dates, and other access controls
  ```

### Task given to each agent
Help me build a simple example using Storylane. 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: B · 84/100 (provisional)
Grades come from completed site checks. Coding sessions and skipped checks do not affect the score.

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

  ```text
  Homepage returned text/html for a Markdown Accept header; no Markdown representation offered.
  ```

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

  ```text
  llms.txt links docs, pricing, signup, and many product and doc pages with organized sections.
  ```

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

  ```text
  llms.txt groups links under Demos, Platform, Pricing, Docs and FAQ with starting guidance.
  ```

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

  ```text
  llms.txt mentions MCP via the MCP library link and docs; no API or skills offered.
  ```

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

  ```text
  Quick Start Guide served as standalone Markdown at /quick-start-guide.md, 1326 tokens.
  ```

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

  ```text
  Quick Start Guide gives concrete steps: record, edit, share your demo.
  ```

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

  ```text
  Markdown guide is 1326 tokens, well under the 8000-token budget.
  ```

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

  ```text
  Homepage Markdown unsupported, so link preservation across formats cannot be judged.
  ```

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

  ```text
  Quick Start Guide gives concrete steps: record via Chrome extension, edit, then share the demo.
  ```

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

  ```text
  Quickstart's Chrome extension, Figma plugin, and desktop app links resolve; docs pages fetched successfully.
  ```


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

  ```text
  Docs quick-start guide gives three concrete steps: record, edit, share your first demo.
  ```

- **Skipped** — Installation commands are extractable

  ```text
  No CLI or package install commands; setup is a Chrome extension and desktop apps.
  ```

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

  ```text
  Quick-start steps and links are readable without interaction; Markdown version available.
  ```

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

  ```text
  Quick start says create a Storylane account; sign-up and support contact are given.
  ```


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

  ```text
  Pricing page renders plan tiers and prices directly in fetched HTML without interaction.
  ```

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

  ```text
  Prices stated: Free $0, Starter $50, Growth $625, Premium $1500, Enterprise custom.
  ```

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

  ```text
  Units explicit: per month, seats, per-additional-seat costs, AI avatar minutes, account reveal limits.
  ```

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

  ```text
  3 of 3 sessions were judged on pricing; 0 fell short. DeepSeek V4.1 Flash: Final output gives a full pricing table (Free/Starter/Growth/Premium/Enterprise, monthly vs annual, seat counts) scraped live from storylane.io/pricing (seq 35-45), with plan/seat assumptions stated. Kimi K3: Final summary lists Free/Starter/Growth/Premium/Enterprise tiers with concrete $ figures and names the key assumption that the External API is gated to paid plans (Starter and up), sourced from storylane.io/pricing (seq 19). Qwen 3.8 Max: Final output gives a full plan/price table pulled live from storylane.io/plans and explicitly states the pricing model assumptions (per creator seat not per traffic, unlimited viewers, annual ~20% discount, add-on seat costs, paid-tier API/webhook gating). This behavioural item does not affect the fast grade.
  ```


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

  ```text
  No API reference or OpenAPI spec appears in the fetched Storylane documents.
  ```

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

  ```text
  MCP server URL, OAuth/M2M setup, and full tool list documented at docs.storylane.io.
  ```

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

  ```text
  No CLI install path documented; Storylane offers a desktop app and Chrome extension, not a CLI.
  ```

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

  ```text
  No SDK or developer package registry result supplied for Storylane.
  ```

- **Skipped** — Agent skills are published

  ```text
  No agent skills published or referenced in the fetched Storylane documents.
  ```



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