Recording of the visual regression run on anyvids.ai · Anyvids — app walkthrough.

In this video· click a step to jump to it

A
Passed

Test recording

Anyvids — app walkthrough

94,071 ms · 5,348,515 pixels changed

We built this regression test for anyvids.ai — it's yours to keep, free.

Take this test with you

This is a real Playwright test, recorded against anyvids.ai. Claim it into your own workspace and re-run it on every deploy — free.

export async function test(page, baseUrl, screenshotPath, stepLogger) {
  const shot=(n,s)=>screenshotPath.replace('.png','-'+n+'-'+(String(s).replace(/[^a-z0-9]+/gi,'-').replace(/^-|-$/g,'').toLowerCase().slice(0,22)||'view')+'.png');
  let idx=1, post=0;
  const cap=async(s,full)=>{ stepLogger.log('Scenario '+idx+': '+s); await page.screenshot({path:shot(idx,s),fullPage:full!==false}); idx++; };
  const accept=async()=>{ await page.getByRole('button',{name:/accept all|got it|^accept$|dismiss|^close$|skip|maybe later|not now|^ok$|continue/i}).first().click({timeout:1200}).catch(function(){}); };
  const backfill=async(entry,MIN)=>{ if(post>=MIN) return; await page.goto(entry,{waitUntil:'domcontentloaded'}).catch(function(){}); await page.waitForTimeout(1800); const total=await page.evaluate(function(){return Math.max(document.body.scrollHeight,document.documentElement.scrollHeight);}).catch(function(){return 0;}); const vh=await page.evaluate(function(){return window.innerHeight;}).catch(function(){return 900;}); let y=0,seg=1; while(post<MIN && idx<=16 && y<total){ await page.evaluate(function(yy){window.scrollTo(0,yy);},y).catch(function(){}); await page.waitForTimeout(600); stepLogger.log('Scenario '+idx+': overview '+seg); await page.screenshot({path:shot(idx,'overview-'+seg),fullPage:false}); idx++;post++;seg++; y+=Math.floor(vh*0.9); } while(post<MIN && idx<=16){ await page.waitForTimeout(300); await page.screenshot({path:shot(idx,'view-'+seg),fullPage:true}); idx++;post++;seg++; } };
  const ORIGIN='https://anyvids.ai';
  await page.goto(ORIGIN+'/home',{waitUntil:'domcontentloaded'}).catch(function(){}); await page.waitForLoadState('networkidle',{timeout:8000}).catch(function(){}); await page.waitForTimeout(3000); await cap('workbench-home'); post++;
  // My Assets — the generated Lastest video
  await page.goto(ORIGIN+'/assets',{waitUntil:'domcontentloaded'}).catch(function(){}); await page.waitForLoadState('networkidle',{timeout:8000}).catch(function(){}); await page.waitForTimeout(3500); await cap('my-assets-lastest-video'); post++;
  // try to open the video (click first asset card / video)
  try { await page.locator('video, [class*=card] img, [class*=asset] img, a[href*="text-to-video"], a[href*="/video"]').first().click({timeout:4000}).catch(function(){}); await page.waitForTimeout(3000); await cap('video-open'); post++; } catch(e){}
+11 more lines claim the test to get the full code.

Checks run

Run
Visual
100.00%
Text
DOM
Network
+70 −70
Console
A11y
C
Perf
70 over
URL
20 diverged
Variables
Full report
Log in →
5,348,515
Diff px
1m 34s
Duration
C
Accessible
WCAG 2.2 · 75
B
Fast
Web Vitals · 85

Notes from the demo run

AI-generated

Anyvids is a one-stop AI media workbench: it puts every top text/image-to-video and image model (Veo, etc.) behind one login with a shared credit balance (you start with 10 free credits). The signed-in 'My workbench' fans out into a deep tool catalog — AI Video, AI Image, AI Avatar/Character, image editor, movie maker, ad generator, animation, frames-to-video — plus an Assets library for your generations. It's a broad, model-agnostic creative surface rather than a single generator.

Highlights
  • One key, every model
    Instead of juggling separate Veo/image/avatar tools, the whole top-model roster sits behind one account and one credit balance — a genuine convenience play.
  • Free credits up front
    10 credits on signup means a new user can generate something real before paying — the right way to demo a generative tool.
  • Deep tool catalog
    ~20 authed surfaces (text-to-video, image-to-video, reference-to-video, motion control, ad generator…) make it feel like a workbench, not a one-trick generator.
Friction points
  • Google-only sign-in
    Auth is Google-only (no email/password) — fast for most, but a hard Google dependency and a drop-off risk for users who avoid social login.
  • Catalog discoverability
    The sheer number of tool routes is powerful but can overwhelm a first-timer; a 'most popular' or 'start here' rail would help orient new creators.

8 visual changes

Step 125,118 px changed
Before
Before
After
After
Diff
Diff
Step 22,085,176 px changed
Before
Before
After
After
Diff
Diff
Step 32,085,110 px changed
Before
Before
After
After
Diff
Diff
Step 448 px changed
Before
Before
After
After
Diff
Diff
Step 5944 px changed
Before
Before
After
After
Diff
Diff
Step 6497,331 px changed
Before
Before
After
After
Diff
Diff
Step 7650,841 px changed
Before
Before
After
After
Diff
Diff
Step 93,947 px changed
Before
Before
After
After
Diff
Diff

Share this run

Earned · Lastest awards

Proof your app is not AI slop

LASTEST
starter
regressions
0
Badges stay live, ratchet upward, only downgrade on confirmed regression.
56,412 test runs recorded · 958 products tested with Lastest

This test was built for anyvids.ai — claim it free

One click copies the test and baseline screenshots into your own Lastest workspace. Re-run on every deploy and catch regressions before your users do — free, no card required.