Complete setup guide

From a signed-in product to a finished demo.

Follow these steps once, then re-render whenever your product or story changes. The most important detail: connect the product while logged in as the exact role you want the video to show.

Install AISVY Connect from Chrome Web Store

Watch the full walkthrough before you start:

Before you begin

Have these ready.

Your product URL

Use the public URL of the app AISVY should open and record.

The right account role

Decide whether the demo should show an admin, team member, customer, or another role.

One focused story

Choose one workflow and the actions that make it valuable.

01

Install the Chrome extension

Open the AISVY Connect listing in the Chrome Web Store and choose Add to Chrome. Pin AISVY Connect to your browser toolbar so it is easy to find during the connection step.

AISVY Connect is only used when you explicitly start a connection and click Capture session. It does not receive your AISVY password.

02

Create a project in AISVY

Sign in at aisvy.com, open the dashboard, and choose New project.

  1. Give the project a clear name, such as Acme — Invite a teammate.
  2. Enter the base URL of the product you want to record, for example https://app.example.com.
  3. Choose Create project.
03

Connect the session for the role you want to show

On the project page, find Recording session and choose Connect with extension.

  1. A new tab opens at your product URL.
  2. Sign in on that tab using an account with the exact role and permissions you want in the demo. For example, use an admin account for an admin walkthrough or a customer account for a customer experience. Do not connect an account with a different role and expect AISVY to switch roles later.
  3. Return to the product tab if needed, click the pinned AISVY Connect icon, and choose Capture session.
  4. Approve Chrome’s per-site permission prompt. AISVY Connect captures the session for the site you explicitly selected; your password never reaches AISVY.
  5. Wait for the project page to report that the session is connected.

Cookie-based vs token-based login. The extension captures cookie-based sessions (Clerk, Rails, Django, most web apps). If your app stores its login in the browser as a token — common in single-page apps such as Supabase, Auth0, or Firebase — use the manual capture below instead: run npx playwright open --save-storage=auth.json https://app.example.com, sign in, close the window, and paste auth.json into the Recording session box. Manual capture saves cookies and localStorage, so it covers both. A render that fails with Session expired despite a saved session is usually a sign the app is token-based — switch to manual capture.

04

Create your demo script with YAML

In the project page, open Add a demo script. Give the script a name, then paste the YAML into the large Script (YAML) field.

You can write it yourself, or ask Claude, Codex, ChatGPT, or another AI coding tool to create a detailed AISVY YAML script. Give the AI the product URL, the exact role/account, the workflow, the actions to perform, what should be narrated, and reliable selectors or visible labels. Ask it to return only a valid AISVY script and to keep it dimension-agnostic. One script is reused for every platform format.

name: Invite a teammate
baseUrl: https://app.example.com

# Authentication comes from the connected browser session.
# Do not put real passwords or cookies in this file.
auth:
  check:
    selector: "[data-testid=app-shell]"
    urlNotMatching: "/sign-in"

ttsProvider: openai
voice: nova
voiceInstructions: Warm, confident product walkthrough. Clear and unhurried.

# Optional: keep narrated numbers aligned with the live product.
bindings:
  workspace_name:
    selector: "[data-testid=workspace-name]"
    transform: trim
    fallback: "Acme"

steps:
  - action: navigate
    url: /dashboard
    narration: Welcome to the workspace.

  - action: wait
    selector: "[data-testid=app-shell]"
    minDurationMs: 900

  - action: highlight
    selector: "[data-testid=workspace-name]"
    bubble: Your workspace, in one place.
    narration: This is the main workspace for {{workspace_name}}.
    minDurationMs: 1800

  - action: click
    selector: "button:has-text('Invite teammate')"
    narration: I start by inviting a teammate.

  - action: wait
    selector: "[role=dialog]"

  - action: fill
    selector: "input[name=email]"
    text: teammate@example.com
    narration: I add the teammate's email address.

  - action: select
    selector: "select[name=role]"
    value: member
    narration: Then I choose the member role.

  - action: click
    selector: "button:has-text('Send invite')"
    narration: One click sends the invitation.

  - action: wait
    selector: "text=Invitation sent"
    minDurationMs: 1200

  - action: scroll
    y: 500
    narration: The activity history keeps the whole team in the loop.

  - action: pause
    narration: That is the complete workflow, from workspace to invitation.
    minDurationMs: 1600

Paste the complete YAML directly into the Script (YAML) textarea, then choose Save script. Replace the example URL, selectors, labels, and values with the ones from your product. The AI-generated script must describe the UI that the connected role can actually see.

05

Select the narrator

The narrator selector is in the same Add a demo script panel, above the YAML field. First choose a provider, then choose a voice.

  • OpenAI provides the built-in voices and uses the worker’s OPENAI_API_KEY.
  • ElevenLabs provides the selectable named voices and uses the worker’s ELEVENLABS_API_KEY.

The voice choice is saved with the script, so all platform cuts use the same narrator and stay consistent.

06

Choose the platform formats

After the script is saved, its card shows the format choices. Select any combination of:

9:16TikTok, Reels, Shorts4:5Facebook feed1:1Instagram feed16:9YouTube

AISVY charges one render credit per selected cut. The page shows the total before rendering. Select all four when you want a complete platform pack.

07

Render, review, and download

Choose Render selected cuts on the script card. AISVY queues one job per selected format, records the connected session, adds the selected voiceover, syncs captions, and produces the platform-specific video.

Watch the Render jobs panel on the right side of the project page. When a job is marked succeeded, choose Download. Each finished cut includes the rendered video, and caption files are generated for upload where available.

08

Update or reconnect when needed

When your product or message changes, edit or add a new script and render again. If the site session expires, use Connect with extension again with the correct role, or choose Disconnect before replacing the session.

If a render fails with Session expired, reconnect the same role-specific account. If the site uses bot protection, allow the AISVY render worker through your WAF or bot management.

Ready to make your first cut?

Install AISVY Connect, then start with one focused workflow.

Start creating