Real estate listing video with an AI avatar: fair housing script check

Describe the home, not the buyer. A fair housing word check in Python, a listing-photo scene on Sume Avatar 1.0, and the cost of a 45-second listing clip.

5 min readSume
All posts

Write the script about the property and check it for words that describe people before you render. A listing video with an AI presenter is still an advertisement, and the Fair Housing Act covers advertisements in any form. The Fair Housing Institute's advertising guidelines, read 2026-10-06, say it prohibits 'any notice, statement, or advertisement' indicating preference, limitation or discrimination because of race, color, religion, sex, handicap, familial status or national origin.

What the page flags

Words and imagery rules from the Fair Housing Institute page, read 2026-10-06.
TopicWhat the page says
Restrictive buzzwordsSteer clear of restricted, exclusive and limited
Family statusNever use "no children"; "no pets" is listed as permissible
ReligionPhrases like Christian roommate are prohibited
DisabilityRestrictions such as no wheelchairs violate the rules
AcceptableMaster bedroom, desirable neighborhood, walk-in closets, walk to bus stop
ImageryShow both majority and minority groups, both sexes, persons with disabilities and, when appropriate, children
Equal Housing Opportunity logoOptional, but viewed favorably by regulators

A word check before you render

This script flags phrases from the page. It is a first pass, not a legal review, and a clean result does not make a script compliant.

import re

FLAG = ["no children", "christian roommate", "no wheelchairs",
        "restricted", "exclusive", "limited"]

def check(script: str) -> list[str]:
    low = script.lower()
    return [w for w in FLAG if re.search(r"\b" + re.escape(w) + r"\b", low)]

script = ("Welcome to 14 Maple Lane. Three bedrooms, a walk-in closet "
          "in the master bedroom, and a great view of the park.")
hits = check(script)
print("review these:", hits) if hits else print("no flagged phrases")

Rendering the video

Use the property photo as the scene. In POST /v1/avatar-1.0/talking-video, scene: { "type": "photo", "image_url": "https://..." } takes a public HTTPS photo, and product_image is optional. A video is 4-60 seconds, with the avatar presenting a script of roughly 125 words at most for 45 seconds, since Sume estimates 2.8 words a second.

Run an avatar video preview first. It shows the first-frame stills, so you can check that the composition does not imply who the home is for.

Cost

A 45-second clip without a product image costs, per Sume's pricing code on main, $8.28 at standard ($0.184 a second), $11.03 at plus ($0.245) and $24.75 at max ($0.55). Keep the property facts, price and agent details in the description, where you can edit them without a new render.

Keep the compliance check in your own workflow, ahead of the paid call. Sume renders the words you send; it does not review them for housing law. If you use a multi-scene plan, run the check on every scene's text, not only the opener.

Imagery counts too. The page asks for diverse communities, so a property photo with a neutral scene prompt is safer than a prompt that describes the kind of household the home is for. Describe the room, the light and the street, and leave buyers out of the scene text.

Sources

Related posts

More in Use cases

All Use cases posts

Written by Sume