Recording of the visual regression run on v2fun.ai · v2fun — authed walkthrough.

In this video· click a step to jump to it

V
Passed ✓

Test recording

v2fun — authed walkthrough

90,821 ms · 115,410 pixels changed

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

Take this test with you

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

export async function test(page, baseUrl, screenshotPath, stepLogger) {
  const BASE = "https://v2fun.ai";
  const ENTRY = "/workspace?tab=image&model=gpt-image-2";
  const BIZ = "A friendly robot mascot for a developer tools startup, clean 3D render, soft studio lighting";
  const COOKIES = [{"name": "clientRegion", "value": "HU", "url": "https://v2fun.ai/"}, {"name": "i18n_redirected", "value": "en", "url": "https://v2fun.ai/"}, {"name": "_ga", "value": "GA1.1.569820333.1784176536", "url": "https://v2fun.ai/"}, {"name": "_gcl_au", "value": "1.1.1668044127.1784176536.2017612297.1784176538.1784176538", "url": "https://v2fun.ai/"}, {"name": "JSESSIONID", "value": "-ZlWSpL1BJk0StwmzaUBL45Y4tb8SDdBg--CcIny", "url": "https://api.prod.v2fun.ai/"}, {"name": "token", "value": "•••", "url": "https://v2fun.ai/"}, {"name": "user-info", "value": "%7B%22id%22%3A%222077615575123853314%22%2C%22username%22%3A%22klU9Xnlastestcloud%40gmail.com%22%2C%22realname%22%3Anull%2C%22nickName%22%3A%22Last%22%2C%22regionType%22%3A%22GLOBAL%22%2C%22avatar%22%3A%22upload%2Fimage%2F2026%2F07%2F16%2F20260716044527_e03f2253.jpg%22%2C%22birthday%22%3Anull%2C%22sex%22%3Anull%2C%22email%22%3A%22lastestcloud%40gmail.com%22%2C%22phone%22%3Anull%2C%22orgCode%22%3Anull%2C%22loginTenantId%22%3A0%2C%22orgCodeTxt%22%3Anull%2C%22status%22%3A1%2C%22delFlag%22%3A0%2C%22workNo%22%3Anull%2C%22post%22%3Anull%2C%22telephone%22%3Anull%2C%22createBy%22%3Anull%2C%22createTime%22%3A%222026-07-16%2012%3A45%3A27%22%2C%22updateBy%22%3Anull%2C%22updateTime%22%3A%222026-07-16%2012%3A45%3A28%22%2C%22activitiSync%22%3A1%2C%22userIdentity%22%3Anull%2C%22departIds%22%3Anull%2C%22relTenantIds%22%3Anull%2C%22clientId%22%3Anull%2C%22homePath%22%3Anull%2C%22postText%22%3Anull%2C%22bpmStatus%22%3Anull%2C%22izBindThird%22%3Afalse%2C%22isAdm%22%3A0%2C%22invitedAdmin%22%3Anull%2C%22isActivated%22%3A1%2C%22acceptDate%22%3Anull%2C%22isMember%22%3A0%2C%22invitationCode%22%3Anull%2C%22languageCode%22%3A%22en%22%2C%22hwOpenId%22%3Anull%2C%22hwUnionId%22%3Anull%2C%22hwPushToken%22%3Anull%7D", "url": "https://v2fun.ai/"}, {"name": "_ga_BH37PP25E7", "value": "GS2.1.s1784176535$o1$g1$t1784177127$j6$l0$h0", "url": "https://v2fun.ai/"}, {"name": "user-points", "value": "300", "url": "https://v2fun.ai/"}, {"name": "user-subscriptioner-info", "value": "%7B%22currentPlan%22%3A%7B%22id%22%3A%222027311875710873601%22%2C%22planKey%22%3A%22free%22%2C%22planName%22%3A%22%E5%85%8D%E8%B4%B9%E4%BC%9A%E5%91%98%22%2C%22planNameEn%22%3A%22Free%22%2C%22planDescription%22%3A%22%E8%BD%BB%E5%BA%A6%E5%88%9B%E4%BD%9C%E4%BD%93%E9%AA%8C%22%2C%22planDescriptionEn%22%3A%22Light%20Creative%20Experience%22%2C%22monthlyPoints%22%3A200%2C%22dailyCheckInPoints%22%3A20%2C%22concurrentTasks%22%3A1%2C%22queuePriority%22%3A%22LOW%22%2C%22modelDownloadLimit%22%3A20%2C%22assetStorageLimit%22%3A50%2C%22delFlag%22%3A0%2C%22createTime%22%3A%222026-02-27%2017%3A16%3A31%22%2C%22updateTime%22%3A%222026-07-02%2011%3A05%3A01%22%7D%2C%22nextBillingDate%22%3Anull%2C%22expireDate%22%3Anull%2C%22productType%22%3A%22free%22%2C%22currentSubStatus%22%3A%22ACTIVE%22%2C%22remainingPoints%22%3A300%2C%22payMethod%22%3Anull%2C%22currency%22%3Anull%2C%22cancelReason%22%3Anull%7D", "url": "https://v2fun.ai/"}];
  const LS = {"https://v2fun.ai": [{"name": "__tea_cache_first_prod-v2fun-ai", "value": "1"}, {"name": "_gcl_ls", "value": "{\"schema\":\"gcl\",\"version\":1,\"gsid_dc\":{\"value\":{\"joinId\":\"Y0V3UDfQDDaT7vdX9fmzSs3f_lHUq2IRmg\",\"lastJoinedTimeMs\":1784177073193},\"expires\":1784177373193},\"gcl_ctr\":{\"value\":{\"value\":5,\"timeouts\":0,\"errors\":0,\"eopCount\":0,\"creationTimeMs\":1784177127934},\"expires\":1791953127934}}"}, {"name": "__tea_cache_refer_prod-v2fun-ai", "value": "{\"refer_key\":\"https://v2fun.ai/login\",\"refer_title\":\"V2Fun - Login-Your Creativity Under Control\",\"refer_manual_key\":\"\",\"routeChange\":true}"}, {"name": "nuxt-color-mode", "value": "dark"}, {"name": "__tea_cache_tokens_prod-v2fun-ai", "value": "{\"web_id\":\"4130101611410761541\",\"user_unique_id\":\"4130101611410761541\",\"timestamp\":1784177116848,\"_type_\":\"default\"}"}]};
  const shot = async (n, label) => { try { await page.screenshot({ path: screenshotPath.replace(/\.png$/, '') + '-' + n + '.png', fullPage: true }); } catch (e) {} stepLogger.log(label || n); };
  const dismiss = async () => { try { await page.getByRole('button', { name: /skip|dismiss|got it|maybe later|not now|close|accept|ok$/i }).first().click({ timeout: 2000 }); } catch (e) {} };
  const SAFE = /log ?out|sign ?out|delete|remove|pay|subscribe|upgrade|buy|purchase|checkout|billing|cancel|archive|send email|charge|invite|\bpay\b/i;

  try { await page.context().addCookies(COOKIES); } catch (e) { stepLogger.warn('addCookies: ' + e.message); }
  await page.addInitScript((ls) => {
+70 more lines — claim the test to get the full code.

Checks run

Run
✓
Visual
53.70%
Text
—
DOM
✓
Network
+1612 −1599
Console
✓
A11y
B
Perf
117 over
URL
26 diverged
Variables
—
Full report
Log in →
115,410
Diff px
1m 31s
Duration
B
Accessible
WCAG 2.2 · 87
Review
Fast
Web Vitals

Notes from the demo run

AI-generated

We signed into V2Fun and walked the authenticated workspace: an AI image-to-3D generator with a rich category rail (Movie Icons, Sports Legends, Sci-Fi, Game Assets, Realistic Props...), a live credit balance, and a generation composer. It's a genuinely visual, gallery-first product that shows its value on first paint.

Highlights
  • Gallery-first workspace
    Landing straight into curated categories (Movie Icons / Game Assets / Realistic Props) shows what is possible before the user types anything, strong for a generative tool.
  • Visible credit balance
    Showing 320 credits up front sets clear, honest expectations about the free tier.
Friction points
  • Signup asks for a 6-digit code + birthday
    Email-code plus a birthday field adds three context switches before the workspace; your "Continue with Google" path (which we used) is far smoother, consider leading with it.

5 visual changes

Step 410,742 px changed
Before
Before
After
After
Diff
Diff
Step 513,630 px changed
Before
Before
After
After
Diff
Diff
Step 6937 px changed
Before
Before
After
After
Diff
Diff
Step 858,032 px changed
Before
Before
After
After
Diff
Diff
Step 1332,069 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.
57,604 test runs recorded · 1,174 products tested with Lastest

This test was built for v2fun.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.