Skip to content

Automating product demo videos: an API integration checklist

October 20, 2026

Generating a video is an asynchronous workflow. An integration has to prepare the scenario, decide whether it is ready to render, follow the job, inspect the result and publish the right asset. Treating the whole process as one request makes retries and cost control harder to reason about.

DemoBro at demobro.com exposes project, render and sharing operations through an HTTP API and MCP. The current HTTP tool catalogue and OpenAPI schema are available at /api/v1/tools/ and /api/v1/openapi.json on the DemoBro API. The tool catalogue is the source for current argument names; an old screenshot or video is not an API contract.

1. Choose your entry point and permissions

Use the HTTP API when your application or workflow owns the sequence. Use an MCP-compatible agent when you want an agent to prepare and operate the workflow from an editor or other client. Both interfaces use the same underlying tool definitions and account limits.

Create a DemoBro API key with the permissions required by the operations you intend to call. Keep it in a secret manager, not a URL, repository or customer record. The versioned HTTP API accepts a bearer key:

Authorization: Bearer dmbr_…
Content-Type: application/json

A key’s permissions, expiry, rate limits and monthly quotas still apply. HTTP and MCP calls share the same counters. A separate transport does not create a separate credit allowance.

2. Prepare a reproducible scenario

Start from an existing project or a public template. Adapt the product URL, the actions and narration to the exact version you want to show. DemoDSL is the scenario format; DemoBro is the service that captures and renders the result. The DemoDSL documentation describes the format.

Call validate_demo_config and estimate_demo_cost with the prepared YAML before starting a render. Validation can reject invalid configuration, but it cannot promise that a selector will still match tomorrow’s interface. Keep a stable demo environment and review what appears on screen.

Decide how the capture reaches the product. A public site capture does not provide access to a private application. The connected-browser workflow has its own selected-tab authorisation, sign-in and capture requirements.

3. Separate the cost decision from execution

Make the estimate visible to the person or workflow responsible for spending credits. Start create_render for an existing project, or use render_demo_from_yaml when that is the appropriate operation for your integration.

Keep the returned render_id. Do not assume that a network timeout means the job was never created. A repeated creation request may start another render. First check the saved job identifier and its state; only create another job when that is the intended action.

An estimate is not a universal fixed price. The selected scenario, narration, duration and plan rules determine the work and credits involved. Review pricing alongside the quote returned for your actual configuration.

4. Follow the asynchronous job

Use get_render, wait_for_render or the documented server-sent events route for wait_for_render. The SSE endpoint is /api/v1/tools/wait_for_render/stream/; it emits progress and a terminal result or error. A disconnected waiting client does not cancel the underlying render.

The versioned API preserves tool results. A successful HTTP response can contain a business error such as error, isError, quota_exceeded or concurrency_limited. Check the response body and terminal state before treating the job as a completed video. Protocol and authentication failures also require handling, including rate-limit responses.

Keep a record of the project ID, render ID, terminal state and resulting URL. Avoid placing secrets or full customer briefs in operational logs.

5. Inspect the asset before sharing

A completed job still needs a content check. Watch the output, confirm that the product state and narration match, and inspect visible customer information. Automated generation does not establish that a claim is accurate or that a visible record can be published.

Create a share link only after the video is ready for its audience. DemoBro supports share-link operations and viewing statistics. These measure activity on the shared page and player when tracking is enabled; they do not measure email opens or establish sales attribution.

6. Make maintenance part of the workflow

Keep the scenario alongside the change that prompted it. When an interface changes, review the affected actions and regenerate the relevant output. Text edits, a new narration language and a different product workflow may require different amounts of capture or rendering.

For a first integration, choose one short, non-sensitive product task. Verify validation errors, quota exhaustion, a waiting-client disconnect and the completed-video path before adding unattended jobs. This is an integration checklist, not a report of a production benchmark.

Continue with the developer setup, API reference, and API automation use case in French. For format selection, read video versus interactive walkthrough.