saas · Sep 21, 2026

photovideos.net

We found more conversion tactics here than on 44% of the 1,350 multi-step SaaS funnels we have measured.

5 conversion tactics detected

4 pages walked · measured by Roentgen 1.27.0

Put this x-ray to work Brief your AI X-ray your funnel
How this was measured

Measured by Roentgen 1.27.0 on 2026-09-21. A capture is read once and its measurements freeze there, so the stamp says which ruleset read this one.

This is detection coverage, not a verdict — it counts the conversion tactics we could prove are present, out of the 11 that apply to a saas funnel. A low count means we did not detect those patterns, not that the funnel is weak.

Against all 1,781 multi-step funnels, more conversion tactics than 54% of them.

Walk 23 links on the entry page, 17 walkable. 3 matched a funnel step; we captured 4 pages in all, this one included.

The short version, in 5 parts

  1. Proven on the page

    5 conversion tactics detected, each backed by text on the page

    Compares itself against alternatives
    comparison grid: 8 rows
    Answers buyer objections
    Frequently Asked Questions
    Offers a free trial or free tier
    free tier

    + 2 more with evidence

    See all 5

  2. Not seen

    6 of 11 applicable tactics we checked for and did not see

    Pricing tiers
    Named plan tiers with per-month / per-seat pricing.
    Press / "as seen in"
    Media logos or an "as seen in / featured in" claim borrowing publication credib…
    Demo / docs entry
    A "book a demo" or documentation / API entry point.

    + 3 more

    See what we looked for

  3. Flagged

    5 of 18 build checks flagged, each with a fix

    Body text size
    Smallest sampled text is 12px, below the 13px floor this check uses.
    Named controls
    4 buttons/links have no accessible name (icon-only, no aria-label).
    Render-blocking resources
    11 stylesheets/scripts in <head> block first paint.

    + 2 more

    See the fixes

  4. Walked

    4 pages walked, Homepage / Lander to Use Cases

    Step 1
    Homepage / Lander
    Step 2
    Pricing
    Step 3
    Product Photo To Video

    + 1 more step

    Walk it frame by frame

  5. In their words

    The headline: Photo to Video AI Free

    Promise
    Use Photo to Video AI Free to animate images online. Upload a picture, describe the motion, and create an AI…
    Prices shown
    $40 · $21.9 · $60

    Read every quote

Captured Homepage / Lander
Step 1 · Homepage / Lander1 / 4

What we recorded

The funnel, frame by frame

4 steps walked

see their whole funnel without clicking through it. scored step by step

measuredextracted directly from the live page. a fact, not an opinion
Homepage / Lander
01

Homepage / Lander

▲ strongest
5 tactics

$40 +5 more  ·  Save 20%  ·  1 proof point

ComparisonFAQTrust badgesFree trialLogo wall
Pricing
02

Pricing

4 tactics

$40 +5 more  ·  Save 20%  ·  subscription  ·  1 proof point

ComparisonFAQTrust badgesFree trial
Product Photo To Video
03

Product Photo To Video

4 tactics
FAQTrust badgesFree trialLogo wall
Use Cases
04

Use Cases

▼ thinnest
4 tactics
ComparisonTrust badgesFree trialLogo wall

In their own words

37 quoted

the entry page’s own title, headline, buttons and prices — quoted, never paraphrased

measuredextracted directly from the live page. a fact, not an opinion
Page title
Photo to Video AI Free – Animate Images Online
Meta description
Use Photo to Video AI Free to animate images online. Upload a picture, describe the motion, and create an AI video for social media, ads, and more.
Headline
Photo to Video AI Free
Section headings
Photo to Video AI ExamplesPopular Photo Animation Use CasesHow to Turn a Photo into a Video with AICreate Natural AI Videos from Still ImagesChoose Your PlanPhoto to Video AI Credit PricingWhat Creators Say About Photo to Video AIFrequently Asked Questions+8 more, not shown
Buttons and links
AI ToolsModelsUse CasesEnglishSign InUpload an image to startCreate a Product VideoTry Natural MotionWrite a Motion PromptCreate a Social Video+2 more, not shown
Prices on the page
$40$21.9$60$36.9$250$148.9

Sections

6 identified

structural bands identified on this funnel, cropped from its own capture

measuredextracted directly from the live page. a fact, not an opinion
Nav section of photovideos.net
Nav0% down the page
Hero section of photovideos.net
Hero0% down the page
Features section of photovideos.net
Features35% down the page
Pricing section of photovideos.net
Pricing50% down the page
FAQ section of photovideos.net
FAQ79% down the page
Footer section of photovideos.net
Footer97% down the page

Elements

1 harvested

the atomic pieces — price anchors, ratings, guarantees — with their verbatim on-page text

measuredextracted directly from the live page. a fact, not an opinion
Price anchor element
Price anchor“$40”

What we found

5 tactics

conversion tactics we could prove are present, with the on-page text that evidences each

measuredextracted directly from the live page. a fact, not an opinion

objection2 of 2

Compares itself against alternatives comparison grid: 8 rows
Answers buyer objections Frequently Asked Questions

proof1 of 4

Shows customer logos or a trusted-by claim logos: Upload Your Photo, Describe the Motion, Marketing Creator, Content Creator, Family

offer1 of 2

Offers a free trial or free tier free tier

checkout1 of 2

Lead-capture form e.g., "Animate this portrait with subtle head movement and wind in the hair.", email

What we didn’t find

6 of 11 applicable

applicable tactics we checked for and did not see on any step we reached

measuredextracted directly from the live page. a fact, not an opinion

What we didn’t see6 of 11 applicable

Pricing tiers 873 of the 1,673 SaaS funnels we checked
Press / "as seen in" 642 of the 2,417 funnels we checked
Demo / docs entry 575 of the 1,683 funnels we checked
Proof above the fold 381 of the 2,420 funnels we checked
Usage / adoption proof 289 of the 2,043 funnels we checked
Scarcity / urgency copy 125 of the 2,417 funnels we checked

Absence is a measurement, not a recommendation: we do not know why a tactic is missing, whether it belongs here, or whether adding it would change anything. Where a walk stopped early, a tactic living deeper would also read as not detected.

How well it’s built

18 run · 5 flagged

contrast, mobile, typography, accessibility, weight — each with what would fix it

measuredextracted directly from the live page. a fact, not an opinion

5 of 17 measured checks need work1 could not be measured — not counted either way

Body text size

type:body-text-size

Smallest sampled text is 12px, below the 13px floor this check uses.

FixKeep body copy ≥15-16px; reserve sub-13px for fine print only.

Named controls

a11y:named-controls

4 buttons/links have no accessible name (icon-only, no aria-label).

FixAdd aria-label to icon-only buttons and links.

Render-blocking resources

weight:render-blocking-resources

11 stylesheets/scripts in <head> block first paint.

FixDefer non-critical JS (defer/async) and inline only critical CSS.

Oversized images

weight:oversized-images

21 images are shipped at more than 2x the width shown.

“hero-desktop.webp?dpl=dpl_G8T8GqpNs9QZjr” is 1672px wide, displayed at 211px

FixServe responsive sizes (srcset/sizes) matching the rendered width.

Tap-target size (mobile)

mobile:tap-target-size-mobile

112 of 187 interactive targets are under 44×44px on mobile.

smallest: “Home” at 39×17px

FixGive tappable controls a ≥44×44px hit area. the touch minimum.

Worth knowing7

Line length

14 paragraphs run past ~95 characters per line.

FixCap measure at ~60-75ch for comfortable reading.

type:line-length
Form labels

6 form fields rely on placeholder text as the only label.

FixBack placeholders with a real <label>. placeholder text vanishes on input.

a11y:form-labels
Heading levels

1 heading skips a level (e.g. <h2> followed by <h4>). Screen-reader users navigate by this outline.

FixStep heading levels one at a time; use CSS for size, not a deeper level.

a11y:heading-levels
Label in name

8 controls have an aria-label that does not contain its visible text, so voice-control users cannot activate it by saying what they see.

FixMake the accessible name start with the visible label text.

a11y:label-in-name
Keyboard reachability

5 elements look clickable but cannot be reached by keyboard.

FixUse <button>/<a>, or add role + tabindex="0" and a key handler.

structure:keyboard-reachability
Autocomplete hints

No autocomplete attributes across 4 fields. browsers cannot autofill.

FixAdd autocomplete="email"/"tel"/"name" to identity fields.

forms:autocomplete-hints

Not measurable1

Page weight

At least 3.5 MB across 167 measurable resources, but 193 cross-origin resources did not expose a size. The true weight cannot be determined from the page.

weight:page-weight

Clear5

Text contrast (WCAG AA) · Mobile viewport · Language declared · Image alt text · Inline validation

Brand kit

5 colour roles

palette by on-page usage · type rendered live

measuredextracted directly from the live page. a fact, not an opinion
full palette ordered by on-page usage %
accent#0f172a
bg#ffffff
surface#ffffff
text#ffffff
See the roles applied
accent

Body copy in their text role, on a surface card.

the roles, doing their job
The quick brown fox72px
Jumps over the lazy dog48px
A subheading in their voice36px

Body copy set at their measured paragraph size. This is how their product reads to a first-time visitor. same family, same scale, same weight.

  • List item one, at body scale
  • List item two
  • List item three
Type scale, weights & families
SIZE SCALE
12pxAa
14pxAa
16pxAa
18pxAa
20pxAa
24pxAa
30pxAa
36pxAa
48pxAa
72pxAa
WEIGHTS
Aa400
Aa500
Aa600
Aa700
FAMILIES
Inter
rendered in their own type system · webfont not loaded. system fallback if uninstalled

Measured, found none

1 of 9 layers

layers we ran on this funnel that came back empty

measuredextracted directly from the live page. a fact, not an opinion

Playbook match — which funnel play this page runs — measured, evidence-quoted

We ran this pass on the pages we captured and found nothing to show. That is a measurement of this funnel, not a recommendation — and it is a different statement from a layer we never ran, which does not appear here at all.

Similar crawls