Skip to content

Use cases · Video

Video intelligence for critical industries.

bem pulls the essential data out of the messiest information there is. Port cameras, patrol footage, broadcasts, and reels go in. Typed records come out, timestamped, with an audit trail on every run.

  • 7.6 slanded · The container lands securely onto the truck trailer bed.
  • 4.8 scrouches_at_fence · thermal infrared camera
  • 9.7 stransfer · rigid inflatable boat (rib) alongside fishing vessel
  • BX 4072plate.text · rear · hatchback, white
  • 3.6 smedium · Front view of a vintage car parked in the pouring rain with headlights on.
  • 9 spothole · left edge · high
  • 00:33OT · 3rd & 7 · 16 - 23 · touchdown
  • $3.74Grade A Pasture Raised Large Brown Eggs · Marketside
  • 8.99Circle Sign · shelf tag
  • 00:11forecast · Lip-Bu Tan, Intel CEO
  • 00:09A Kittle Goes A Long Way · ALUMINUM FREE
  • 00:03blue stripe · light blue, brown

01Critical operations

CCTV, dashcam, drone, and thermal video, read to the second.

The cameras critical industries already run. Press play, or let it run: each line of the record lights up as the video reaches it, and pressing a line takes the video there. The footage was generated for this page so it can be shown in full. The records are real bem runs on it.

01LogisticsTerminal operators, carriers

Generated footage

0:00 / 0:12

A crane move becomes a berth log.

A quay camera watches one container come off a ship and onto a truck. bem logs each phase of the move to the second, counts the people on the quay and what they are wearing, and says whether anyone was under the load.

The schema asks for

  • site
  • equipment[]
  • container{}
  • truck{}
  • events[]
  • moves_completed
  • personnel{}
  • people_under_load

What it feedsCrane productivity per berth, a time-stamped record of every move, and a safety check on each lift.

Quay camera, one container move. The footage was generated for this page; the record is what bem returned for it.

bem returns6.0 s

site
Container port terminal
equipment
Ship-to-shore gantry crane, Semi-trailer truck
container.length_class
40-foot
moves_completed
1
personnel.count
2
personnel.ppe
Hard hat, High-visibility vest
personnel.position
Standing safely on the quay side away from the vehicle and container lift.
people_under_load
false
events[]
secondeventdescription
0hoistThe crane hoists a brown container off a cargo ship.
2.5traverseThe crane traverses horizontally carrying the container toward the waiting truck.
5lowerThe container is lowered down onto the flatbed trailer of the yellow truck.
7.6landedThe container lands securely onto the truck trailer bed.
9.5truck_departsThe truck drives forward and departs the loading zone.

Recorded bem run, one Extract function. All rows shown. Not every field is shown.

02ManufacturingPlants, yards, vehicle logistics

Generated footage

0:00 / 0:12

A plant exit camera becomes a gate-out record.

An ordinary security camera over the exit lane: a finished car rolls past rows of wrapped stock and out the door. bem reads the plate off the moving car, describes the vehicle, notes the worker at the door and what he is wearing, and logs the moment it leaves the building.

The schema asks for

  • site
  • area
  • vehicle{}
  • plate{}
  • events[]
  • workers_visible
  • worker_ppe[]
  • door_open
  • exited_by_end

What it feedsA gate-out record for every unit by plate, matched to its build order, from cameras the plant already has.

CCTV, plant exit lane. The footage was generated for this page; the record is what bem returned for it.

bem returns4.8 s

site
factory storage warehouse
area
indoor vehicle holding area
plate.text
BX 4072
plate.position
rear
plate.plate_color
yellow background with black characters
vehicle.body_style
hatchback
vehicle.color
white
vehicle.visible_damage
false
workers_visible
1
worker_ppe
high-vis vest
door_open
true
exited_by_end
true
events[]
secondeventdescription
8passes_workersThe car passes the worker in the high-vis vest standing near the exit door.
11.2exits_buildingThe vehicle drives through the open doorway and exits the building.

Recorded bem run, one Extract function. 2 of 3 events shown. Not every field is shown.

03DefenseNavies, coast guards, maritime security

Generated footage

0:00 / 0:12

Patrol footage becomes a contact log.

An aircraft holds its camera on a trawler sitting still on open water. A small boat runs in, comes alongside, and bales start changing hands. bem identifies both vessels, says which one is under way, and logs the approach, the moment they meet, and the transfer.

The schema asks for

  • view
  • sea_state
  • vessels[]
  • underway
  • events[]
  • alongside_at_end
  • transfer_observed

What it feedsA contact report written as the footage arrives, and a searchable log of every rendezvous across a season of patrols.

Aerial patrol camera, two vessels. The footage was generated for this page; the record is what bem returned for it.

bem returns6.6 s

view
high-angle aerial drone shot
sea_state
calm sea surface with gentle ripples
vessels[0].type
fishing vessel
vessels[0].description
blue hull with rusted areas, stationary with anchor line in water
vessels[0].underway
false
vessels[1].type
rigid inflatable boat (rib)
vessels[1].description
grey and white rib with outboard motor
vessels[1].underway
true
alongside_at_end
true
transfer_observed
true
events[]
secondeventdescription
0.8second_vessel_appearsA small inflatable boat enters from the left side of the frame.
1.2approachesThe inflatable boat approaches the stationary fishing vessel.
6.8comes_alongsideThe inflatable boat comes alongside the fishing vessel and a person prepares to board.
9.7transferA person from the inflatable boat transfers items or boards the fishing vessel.

Recorded bem run, one Extract function. 4 of 5 events shown. Not every field is shown.

04DefenseBase security, critical infrastructure

Generated footage

0:00 / 0:12

A thermal camera becomes a perimeter event log.

Night, a fence line, an aircraft on the apron behind it. bem reads the thermal picture: two people come out of the trees, one goes to the fence and crouches at its base, the other hangs back and watches. Each step has its second.

The schema asks for

  • sensor
  • scene
  • persons_count
  • events[]
  • at_fence
  • behaviour
  • background_assets[]

What it feedsAn alert with the reason attached, and a log an operator can check in seconds, not a wall of monitors.

Thermal camera, airfield fence line. The footage was generated for this page; the record is what bem returned for it.

bem returns7.8 s

sensor
thermal infrared camera
scene
airport perimeter fence at night with airplane in the background
persons_count
2
at_fence
true
behaviour
Two individuals approach an airport perimeter fence at night, with one crouching near the fence while the other stands watch in the background.
background_assets
perimeter chain-link fence with barbed wire, large airplane on runway, runway lights, trees and bushes
events[]
secondeventdescription
2.1appearsTwo figures appear near the bushes by the perimeter fence.
4approaches_fenceOne figure runs towards the fence line while the other stands back.
4.8crouches_at_fenceThe first figure crouches down at the base of the chain-link fence.
4.8stands_watchThe second figure stands stationary in the background, keeping watch.

Recorded bem run, one Extract function. All rows shown. Not every field is shown.

05InsuranceClaims, fleets, motor insurers

Generated footage

0:00 / 0:12

A dashcam clip becomes an incident account.

Rain, a residential street, a van coming out of a side road. bem gives the neutral account a claims handler needs first: the conditions, each vehicle and what it did, whether anything touched, and whether the car carrying the camera was involved. It does not assign fault.

The schema asks for

  • camera
  • road
  • weather
  • road_surface
  • vehicles[]
  • events[]
  • collision_occurred
  • camera_vehicle_involved
  • entered_from_side_road
  • injuries_visible

What it feedsA first notice of loss that fills itself in, and a fleet's near misses sorted without anyone watching the tape.

Dashcam, wet residential street. The footage was generated for this page; the record is what bem returned for it.

bem returns9.0 s

camera
Forward-facing dashcam mounted inside a vehicle traveling on a wet road.
road
Residential street with two lanes and a sidewalk on the right.
weather
Overcast and rainy
road_surface
Wet asphalt
vehicles[].label
orange hatchback, white van
entered_from_side_road
white van
collision_occurred
false
camera_vehicle_involved
false
injuries_visible
false
events[]
secondeventdescription
2.3vehicle_aheadThe orange hatchback ahead applies its brake lights.
7.5camera_vehicle_stopsThe camera vehicle slows down and comes to a stop behind the stopped vehicles.

Recorded bem run, one Extract function. 2 of 3 events shown. Not every field is shown.

06InfrastructureRoad agencies, utilities, inspectors

Generated footage

0:00 / 0:12

A drone pass becomes a pavement survey.

A drone flies a stretch of two-lane road, looking straight down. bem lists each defect as it comes into view: what kind it is, where across the road it sits, and how bad it is. The pothole at the edge gets its own line.

The schema asks for

  • view
  • surface
  • defects[]
  • type
  • position
  • severity
  • defect_count
  • traffic_present

What it feedsA defect list per kilometre with the frame each one was found in, ready to become work orders.

Drone, looking straight down. The footage was generated for this page; the record is what bem returned for it.

bem returns6.6 s

view
Aerial view looking straight down at the road
surface
Asphalt with longitudinal cracking, transverse cracking, patches, and a pothole
defect_count
5
traffic_present
false
defects[]
secondtypepositionseveritydescription
0longitudinal crackcentre linehighSevere longitudinal cracking runs continuously along the center line of the road.
3transverse crackleft lanemediumA transverse crack branches outward from the center line towards the left edge.
8.5patchcentre line and left lanemediumA circular asphalt patch covers a repaired section across the center line.
9potholeleft edgehighA large pothole damages the pavement and edge near the left shoulder.

Recorded bem run, one Extract function. 4 of 5 defects shown. Not every field is shown.

07AgricultureGrowers, agronomists, crop insurers

Generated footage

0:00 / 0:12

A field flyover becomes a crop report.

A drone crosses a cornfield with one patch that is plainly not like the rest. bem names the crop, separates the healthy field from the stressed area, notes the irrigation rig, and says what someone should go and check on the ground.

The schema asks for

  • view
  • crop
  • planting
  • zones[]
  • condition
  • extent
  • overall_condition
  • equipment_visible[]
  • follow_up

What it feedsA scouting list for the agronomist, and evidence for a crop claim, from a flight that was already scheduled.

Drone survey, cornfield. The footage was generated for this page; the record is what bem returned for it.

bem returns6.6 s

crop
corn
planting
row crop
overall_condition
mostly healthy with a central anomaly
equipment_visible
pivot irrigation system
follow_up
Check soil moisture levels and irrigation coverage in the center section.
zones[]
secondconditionlocationextentdescription
0healthysurrounding fieldlargeThe surrounding field consists of tall, healthy green corn plants growing in neat rows.
0stressedcenter cut-out sectionmediumThe central section has dried out or harvested corn stalks and exposed soil forming a shape.

Recorded bem run, one Extract function. All rows shown. Not every field is shown.

02Retail, e-commerce, and media

Shelf audits, product listings, returns, and media catalogs, from video.

The same idea on the shop floor, in the product catalog, at the returns desk, and in a film library. Generated footage again, and real bem runs on it.

08Retail intelligenceStore operations, CPG field teams

Generated footage

0:00 / 0:12

An aisle walk becomes an out-of-stock list.

A phone moves along the juice aisle: full shelves, then a bay with almost nothing on it. bem names the category, finds each empty stretch, says which shelf it is on and what sits next to it, and notes that the price labels are still there.

The schema asks for

  • store_area
  • category
  • gaps[]
  • shelf
  • width
  • neighbours
  • gap_count
  • price_labels_present
  • facing_quality

What it feedsA restock task while the walk is still going, and on-shelf availability by store without a manual count.

Phone walk, beverage aisle. The footage was generated for this page; the record is what bem returned for it.

bem returns6.2 s

store_area
Beverage aisle
category
Juice
gap_count
4
price_labels_present
true
facing_quality
Neatly aligned on stocked sections
gaps[]
secondshelfwidthneighboursdescription
1.5second from topwideberry juice bottlesA wide empty section on the second shelf from the top.
2.1third from topwideberry juice bottlesA large empty gap spanning most of the third shelf from the top.
3.2bottomwideorange and blue juice bottlesAn extensive empty area on the bottom shelf.

Recorded bem run, one Extract function. 3 of 4 gaps shown. Not every field is shown.

09E-commerceMarketplaces, catalog teams

Generated footage

0:00 / 0:12

A product video becomes a listing.

A seller uploads a turntable video and nothing else. bem returns the product type and where it belongs in the catalog, the colours, materials and closure it can see, which angles the video covers, and a draft title and bullets with no brand invented.

The schema asks for

  • product_type
  • category_path
  • colors[]
  • upper_material
  • sole
  • closure
  • branding_visible
  • views[]
  • suggested_title
  • suggested_bullets[]

What it feedsA catalog entry drafted from the video alone, ready for a person to approve.

Studio turntable, running shoes. The footage was generated for this page; the record is what bem returned for it.

bem returns5.3 s

product_type
Sneakers
category_path
Shoes > Athletic > Running
colors
white, orange, grey
upper_material
mesh
sole
thick rubber foam sole
closure
lace-up
branding_visible
false
suggested_title
White and Orange Athletic Running Shoes
suggested_bullets[0]
Breathable mesh upper with vibrant orange side accents
suggested_bullets[1]
Max-cushion platform sole for impact absorption
suggested_bullets[2]
Secure lace-up closure with padded tongue
views[]
secondviewdescription
0side, toe pointing rightSide profile of the right shoe showing its thick white sole and orange accent stripe.
1.2three-quarterThree-quarter front view of the pair of shoes on the rotating platform.
3.7front (toe)Front view focusing on the toes and laces of both sneakers.

Recorded bem run, one Extract function. All rows shown. Not every field is shown.

10E-commerceReturns, fulfilment, marketplaces

Generated footage

0:00 / 0:12

A returns desk becomes an inspection record.

An overhead camera watches a parcel come back. bem follows the hands: the box opens, a kettle comes out, a finger traces the crack down its body. The record says what the item is, what came with it, where the damage is, and that it cannot go back on the shelf.

The schema asks for

  • station
  • item{}
  • parts_present[]
  • packaging
  • condition{}
  • events[]
  • resellable

What it feedsA refund decision with the evidence attached, and a grade for every returned unit.

Overhead camera, returns desk. The footage was generated for this page; the record is what bem returned for it.

bem returns5.9 s

station
Inspection workstation
item.type
Kettle
item.color
White
parts_present
Kettle, Power base
packaging
Cardboard box with inner packaging
condition.damaged
true
condition.damage_type
Crack
condition.damage_location
Front body of the kettle
condition.severity
functional
resellable
false
events[]
secondeventdescription
0opens_parcelThe worker opens the cardboard box parcel.
2.6removes_itemThe worker removes the kettle from the box.
4.1inspects_itemThe worker holds up the kettle to inspect its exterior.
6.1indicates_damageThe worker points out the prominent crack on the kettle's body.
10.4sets_downThe worker sets the kettle down on its power base.

Recorded bem run, one Extract function. All rows shown. Not every field is shown.

11Media & entertainmentStudios, streamers, archives

Generated footage

0:00 / 0:12

A film scene becomes catalog labels.

Twelve seconds of a noir: a man in a trench coat on a wet street, a car with its lamps on, a woman in a hat. bem returns what a catalog needs to file it: genre and sub-genres, era, mood, a shot list with the second each cut lands, who is in it, advisories, keywords, and a logline. It also catches that the picture is not purely black and white.

The schema asks for

  • content_type
  • genre
  • sub_genres[]
  • era_depicted
  • color
  • mood[]
  • shots[]
  • characters[]
  • dialogue_present
  • content_advisories{}
  • keywords[]
  • logline

What it feedsCatalog metadata, search, and content classification across a library nobody has time to watch.

Film scene, three shots. The footage was generated for this page; the record is what bem returned for it.

bem returns6.8 s

content_type
feature film scene
genre
Mystery
sub_genres
Noir, Thriller, Crime
era_depicted
1940s
color
mixed
mood
suspenseful, moody, mysterious, gritty
setting
Rain-slicked city streets at night
shot_count
3
characters[0]
A person in a fedora and trench coat walking
characters[1]
A woman wearing a wide-brimmed hat with dark clothing and red lipstick sitting inside a car
dialogue_present
false
content_advisories.violence
none
content_advisories.weapons_visible
false
keywords
noir, rain, vintage car, fedora, mysterious, detective, black and white, night
logline
A mysterious figure walks a wet, dark city street before a woman waits in a vintage car during a rainstorm.
shots[]
secondshot_typedescription
0wideA figure in a trench coat and fedora walks down a rainy, dark city street.
3.6mediumFront view of a vintage car parked in the pouring rain with headlights on.
6.5close-upA woman in a wide-brimmed hat and dark clothing sits inside a car.

Recorded bem run, one Extract function. All rows shown. Not every field is shown.

03Seven real posts

Sports, esports, news, and social video: real posts, real records.

Nothing here was staged. Each one is a public post, sent to bem as it is: cuts, captions, crowd noise, and shaky hands included. Watch it, then read what came back.

12EsportsTournament organisers, teams, data providers

A tournament round becomes a scoreboard record.

Nineteen seconds of a Counter-Strike broadcast: one player's view, a scoreboard across the top, a row of player cards along the bottom, then a cut to his face and the crowd. bem reads the round and the score off the overlay, sees that the bomb is down, names the player being watched and his team, and marks where the broadcast cuts away.

The schema asks for

  • game
  • map_site
  • hud{}
  • observed_player
  • observed_player_health
  • team_left_players[]
  • segments[]
  • sponsors_on_overlay[]

What it feedsRound-by-round match data, a searchable highlights archive, and sponsor exposure, straight from the broadcast.

BLAST Premier on YouTubeCounter-Strike 2 tournament broadcast, 0:19. The first 19 seconds of a longer highlights video.

bem returns6.2 s

game
Counter-Strike 2
hud.round
ROUND 18 / 24
hud.score_left
11
hud.score_right
6
hud.bomb_planted
true
map_site
A
observed_player
NiKo
observed_player_health
91
team_left_players
TeSeS, kyousuke, karrigan, m0NESY, NiKo
sponsors_on_overlay
Corpay, GamingMalta
segments[]
secondkinddescription
0gameplayNiKo holding an angle with an AK-47 on site A
16.2player cameraNiKo in the booth wearing headset
17.7crowdCrowd cheering and clapping in red lighting

Recorded bem run, one Extract function. All rows shown. Not every field is shown.

13Sports dataLeagues, broadcasters, betting

@nflTop 5 plays of Week 9, 0:56.

A top-five countdown becomes a play-by-play table.

The league's own Week 9 countdown: five plays cut from five broadcasts, each with a different score bug. bem reads the rank, the score, the quarter, the clock, and the down off the screen for every play, and says what happened.

The schema asks for

  • league
  • presented_by
  • plays[]
  • rank
  • score_on_bug
  • quarter
  • game_clock
  • down_and_distance
  • play_type
  • touchdown
  • description

bem returns24.0 s

league
NFL
play_count
5
presented_by
Jersey Mike's Subs
plays[0].matchup
TB at CHI
plays[]
timestamprankscore_on_bugquartergame_clockdown_and_distancetouchdowndescription
00:005TB 0 - CHI 71st6:103rd & 8trueA player rushes through defenders and breaks free into the end zone for a touchdown.
00:1040 - 01st5:433rd & 23trueA deep pass is completed and the receiver breaks away down the sideline for a touchdown.
00:24313 - 143rd1:321st & GOALfalseAn attempted reception in the end zone results in a fumble near the goal line.
00:33216 - 23OT1:083rd & 7trueA receiver catches a pass over the middle and dashes down the field for a long touchdown.
00:43124 - 93rd8:203rd & 6trueA receiver makes a contested catch in the end zone right at the pylon for a touchdown.

Recorded bem run, one Extract function. All rows shown. Not every field is shown.

What it feedsA searchable play index, a highlights feed, or a sponsor report, built from footage that already aired.

14Retail intelligenceBrands, category and insights teams

@bobbyparrishCreator product roundup, Walmart, 1:39.

A creator's grocery run becomes a price and claims sheet.

A creator walks a Walmart and recommends five products to camera. bem returns each one with its brand, the price on the shelf tag, the claims printed on the pack, and the reason he gave, in his words.

The schema asks for

  • retailer
  • format
  • products[]
  • price
  • pack_claims[]
  • why_recommended
  • quote
  • other_brands_on_shelf[]
  • call_to_action

bem returns7.5 s

retailer
Walmart
format
creator product roundup
products[0].quote
“This dozen is cheaper than the organic non-pasture raised eggs. Epic deal.”
other_brands_on_shelf
Bettergoods, Dave's Killer Bread, Purely Elizabeth, Bare, Cheerios, Kashi
call_to_action
“Make sure to give me a follow so you never miss out on really good, good bobby approved food.”
products[]
priceproductbrandpack_claimswhy_recommended
$3.74Grade A Pasture Raised Large Brown EggsMarketsidePasture Raised · CA Cage Free · Farm FreshIt's pasture-raised, certified humane, and cheaper than the organic non-pasture-raised eggs.
$7.26Grass-Fed Ground Beef 80% Lean / 20% FatMarketside100% Grass-Fed & Finished · Beef Raised with No Antibiotics or Added Hormones EVERIt's 100% grass-fed beef with 80/20 fat ratio, which provides more flavor and is cheaper than the leaner 93/7 option.
$13.82California Extra Virgin Olive OilGreat Value100% California · First Cold Pressed · Smooth & BalancedIt is single origin from California, comes in a glass bottle, and has an unbeatable price per ounce.
$5.92Stone Milled Mighty Wheat Organic BreadOne Mighty MillOrganic Bread · No Seed Oils · 5g Plant Protein · No Refined SugarIt uses organic grains, EVOO, and stone-milled flour to make nutrient-dense bread.

Recorded bem run, one Extract function. 4 of 5 products shown. Not every field is shown.

What it feedsA feed for brand and category teams: which products creators recommend, at what price, and why.

15Shelf auditsRetail operations, merchandising

@aldi.mademedoitAisle walk, Aldi seasonal finds, 9:09. bem was sent the first two minutes.

A phone walk down the aisle becomes a shelf record.

Someone films the seasonal aisle at Aldi, shelf by shelf. bem lists each product the camera stops on, reads the price off the shelf tag, and says where each price came from.

The schema asks for

  • retailer
  • section
  • seasonal_theme
  • items[]
  • brand
  • shelf_price
  • price_source
  • items_with_price

bem returns22.1 s

retailer
Aldi
section
Home Finds / Christmas
seasonal_theme
Christmas
items[]
timestampproductbrandshelf_priceprice_source
00:125 FT. (152 cm) LED Flocked Alpine TreeMerry Momentsnullnone
00:23Holiday Food StorageMerry Moments5.99shelf tag
00:34Circle SignMerry Moments8.99shelf tag
00:51Kitchen MatMerry Moments6.99shelf tag
01:26Gel ClingsMerry Moments1.99shelf tag
01:30Mirror House CandleMerry Moments5.99shelf tag

Recorded bem run, one Extract function. 6 of 12 items shown. Not every field is shown.

What it feedsPrice checks, assortment tracking, and planogram audits from footage a phone already took.

16News monitoringResearch desks, comms, compliance

@yahoofinanceInterview clip, Intel's CEO, 0:34.

A CEO interview clip becomes a list of statements.

A 33-second cut from a finance interview. bem names the speaker from the lower-third graphic, reads the headline on screen, and returns each claim with a verbatim quote and the moment it was said.

The schema asks for

  • outlet
  • headline_on_screen
  • speakers[]
  • topic
  • statements[]
  • stance
  • forward_looking
  • companies_mentioned[]

bem returns12.3 s

outlet
Yahoo Finance Invest
headline_on_screen
INTEL CEO: AI INVESTORS NEED TO BE MORE PATIENT
speakers[0].name
Lip-Bu Tan
speakers[0].title
Intel CEO
speakers[0].identified_by
lower-third graphic
topic
AI investments and patient capital
forward_looking
true
statements[]
timestamptypeclaimquote
00:00factAI capital requirements are extremely large in the scale of trillions of dollars.“The capital requirement is humongous. And then the trillion of dollars.”
00:11forecastAI investors need to be patient because returns will take longer to materialize.“I think the money spent is well spent, but the return will be slower to come in. So people have to be more patient…”
00:27opinionDebt financing structures for AI are becoming challenging.“So in term of the debt financing structure, financing, those become challenging.”

Recorded bem run, one Extract function. All rows shown. Not every field is shown.

What it feedsMedia monitoring and research: who said what, when, and in their own words.

17Ad analysisMarketing, legal, competitive intel

@oldspiceProduct ad, NFL collection, 0:16.

A 16-second ad becomes a claims inventory.

A product spot with no dialogue to lean on: four packs and an end card. bem returns each product with its format, the scent printed on it, the player it is themed around, and every claim on the pack.

The schema asks for

  • advertiser
  • campaign_line
  • licensed_partner
  • products[]
  • on_pack_claims[]
  • claims[]
  • end_card
  • call_to_action
  • disclaimers[]

bem returns5.6 s

advertiser
Old Spice
campaign_line
THE GREATEST SMELL IN THE NFL
licensed_partner
NFL
claims
24/7 PROTECTION · SHOWER 24/7 FRESH · ALUMINUM FREE
disclaimers
[ ]
call_to_action
null
duration_seconds
15.75
products[]
timestampnameformatscentfeatured_personon_pack_claims
00:01Shake & Breakdry spraySwagger + Spin MovesBijan Robinson24/7 PROTECTION · ANTIPERSPIRANT
00:03Catch Me If You Lambbody washDeep Sea + DimesCeeDee LambSHOWER 24/7 FRESH
00:06Saquon Is On Onedry spraySantal + SpeedSaquon Barkley24/7 PROTECTION · ANTIPERSPIRANT
00:09A Kittle Goes A Long Waydeodorant stickMusk + Moving ChainsGeorge KittleALUMINUM FREE

Recorded bem run, one Extract function. All rows shown. Not every field is shown.

What it feedsA creative library, competitive tracking, and claims review before an ad runs.

18E-commerceMarketplaces, catalog teams

@targetdoesitagainTry-on, four colourways, 0:07.

A seven-second try-on becomes a product listing.

A shopper films four colourways of one fleece in a store mirror. bem returns the garment, each variant with its colours and how it was shown, and a draft title and bullets grounded in what is visible.

The schema asks for

  • garment_type
  • department
  • retailer
  • variants[]
  • fabric
  • fit
  • styled_with[]
  • suggested_title
  • suggested_bullets[]
  • price_shown

bem returns4.5 s

garment_type
quarter-zip fleece pullover
department
women's apparel
retailer
Target
fabric
fuzzy sherpa fleece
styled_with
medium wash straight-leg jeans, dark loafers
suggested_title
Women's Patterned Sherpa Fleece Quarter-Zip Pullover
suggested_bullets[0]
Soft sherpa fleece fabric keeps you cozy and warm
suggested_bullets[1]
Convenient quarter-zip front closure with contrast trim
price_shown
null
variants[]
timestamppatterncolorsshown
00:00zebra stripeblack, beige, redworn
00:01pink checkerboardpink, whiteon hanger
00:03blue stripelight blue, brownboth
00:05red floraloff-white, redworn

Recorded bem run, one Extract function. All rows shown. Not every field is shown.

What it feedsA product catalog: a try-on video becomes listing attributes and draft copy for review.

These are public posts, shown with Instagram's and YouTube's own embeds and credited to their publishers. bem is not affiliated with or endorsed by any of them.

04One workflow

From video to a decision, in one workflow.

Extract turns the video into a record. The rest of the platform takes it from there: match it to your data, apply your policies, and send the result where the work happens.

Input

  • VIDVideoMP4 or MOV
  • AUDIts audio trackTranscribed with the picture

Components

  1. 01ClassifyKnows an ad from an interview from an aisle walk, and sends each the right way.
  2. 02ExtractSamples the frames, transcribes the audio, and returns the fields in your schema.
  3. 03EnrichMatches what was seen to your catalog, roster, or price file.
  4. 04DecideApplies your policies to the record.
  5. 05SendDelivers the result to your system.

Decision

Send to claims review

The ad makes three product claims (24/7 PROTECTION, SHOWER 24/7 FRESH, ALUMINUM FREE) and shows no on-screen disclaimer. Policy: a claim with no disclaimer goes to review.

Claims and disclaimers are from the recorded run on the Old Spice ad above. The policy and the decision are an example.

05For developers

The video extraction API: a schema and a file.

Define the record you want once. Then send video to the same endpoint you would send a PDF to. The response is your schema, filled in.

terminalbem API v3
# 1. Say what you want back
curl -X POST https://api.bem.ai/v3/functions \
  -H "x-api-key: $BEM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "functionName": "ad-breakdown",
    "type": "extract",
    "outputSchemaName": "AdBreakdown",
    "outputSchema": {
      "type": "object",
      "properties": {
        "advertiser":    { "type": "string" },
        "campaign_line": { "type": "string" },
        "products": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "timestamp": { "type": "string", "description": "MM:SS" },
              "name":      { "type": "string" },
              "format":    { "type": "string" },
              "on_pack_claims": { "type": "array", "items": { "type": "string" } }
            }
          }
        },
        "disclaimers": { "type": "array", "items": { "type": "string" } }
      }
    }
  }'

# 2. Send the video
curl -X POST https://api.bem.ai/v3/workflows/ad-breakdown/call \
  -H "x-api-key: $BEM_API_KEY" \
  -F "wait=true" \
  -F "file=@spot.mp4"
responsetransformedContent
{
  "advertiser": "Old Spice",
  "campaign_line": "THE GREATEST SMELL IN THE NFL",
  "products": [
    {
      "timestamp": "00:01",
      "name": "Shake & Break",
      "format": "dry spray",
      "on_pack_claims": ["24/7 PROTECTION", "ANTIPERSPIRANT"]
    },
    {
      "timestamp": "00:03",
      "name": "Catch Me If You Lamb",
      "format": "body wash",
      "on_pack_claims": ["SHOWER 24/7 FRESH"]
    },
    {
      "timestamp": "00:06",
      "name": "Saquon Is On One",
      "format": "dry spray",
      "on_pack_claims": ["24/7 PROTECTION", "ANTIPERSPIRANT"]
    },
    {
      "timestamp": "00:09",
      "name": "A Kittle Goes A Long Way",
      "format": "deodorant stick",
      "on_pack_claims": ["ALUMINUM FREE"]
    }
  ],
  "disclaimers": []
}

06More to build

More video analysis use cases, wherever a camera is already recording.

Most of this footage exists today and nobody reads it. A schema turns it into something a system can act on.

  • Defense

    Full-motion video review

    Hours of aerial and maritime footage become an activity log: what was seen, when, and for how long, ready for an analyst to check.

  • Defense

    Maintenance and inspection video

    A walkaround of an aircraft, vehicle, or vessel becomes a findings list tied to the moment each one appears.

  • Government

    Body-worn and dash camera footage

    Incident video becomes a timeline of events and statements, so a records request takes hours and not weeks.

  • Government

    Infrastructure inspection

    Drone passes over bridges, roads, and pipelines become defect records with the frame they were found in.

  • Insurance

    Claim walkarounds

    A policyholder's phone video of the damage becomes a list of what is damaged, where, and how badly.

  • Industrial

    Safety camera review

    Who entered which zone, wearing what, and when. The record goes to the shift supervisor, not a wall of monitors.

  • Logistics

    Dock and yard footage

    Trailer arrivals, door assignments, and load condition, logged from the cameras already on the building.

  • Finance

    Earnings and investor video

    Each statement an executive makes, with the quote, the timestamp, and whether it looks forward.

  • Healthcare

    Recorded visits and training

    Structured notes from recorded sessions, with every field traceable to the moment it was said.

  • Marketplaces

    Seller and listing video

    What is actually in the video, checked against what the listing says is for sale.

  • Media

    Sponsorship and brand exposure

    Which brands were on screen, when, and for how long, across a season of footage.

  • Compliance

    Sponsored content review

    Is the disclosure there, what was claimed, and what offer terms were shown. Each answer with its timestamp.

07Reliability

Video data you can rely on.

  • 01

    Your schema, not ours

    You decide the fields. The same video returns a play index for one team and a sponsor report for another.

  • 02

    Picture and sound together

    Frames are sampled and the audio track is transcribed, so a price on a shelf tag and a quote to camera land in one record.

  • 03

    A timestamp on what happened

    Ask for the moment and each event comes back with it, so a person can jump to the second and check.

  • 04

    An audit trail on every run

    What went in, what came out, and which version of the function produced it. Open any result and trace it to its input.

  • 05

    The same workflow as documents

    Video is one more input. Classify, Enrich, Decide, and Send work on it exactly as they do on a PDF.

  • 06

    Priced per call

    A video costs the same per function call as any other file. There is no per-minute meter.

08Questions

Questions about video intelligence.

What is video intelligence?

Video intelligence is turning footage into structured data a system can act on: what happened, who or what was involved, and when. With bem you define the record you want as a JSON schema, send the video, and get that record back with a timestamp on each event and an audit trail on the run.

What kinds of video can bem read?

Any footage a person could watch and describe: CCTV and security cameras, thermal cameras, dashcams, drone and aerial footage, phone video, studio product video, broadcasts, and social video. The examples on this page cover ports, plants, patrols, perimeters, roads, fields, store aisles, returns desks, film scenes, sports, esports, news, and ads.

Which video formats and file sizes does bem accept?

MP4 and MOV. A workflow call accepts files up to 50 MB each, sent as a multipart upload or as base64 JSON.

Does bem use the audio as well as the picture?

Yes. Frames are sampled and the audio track is transcribed, so what is said and what is shown land in the same record. A price on a shelf tag and a quote to camera come back together.

Can I get timestamps for what happens in a video?

Yes. Ask for the moment in your schema and each event comes back with it. Every example on this page with an events list was produced that way, and a person can jump to the second and check.

How long does it take to process a video?

In the recorded runs on this page, a 12-second clip took about 5 to 9 seconds and two minutes of aisle footage took 22 seconds. Each example shows the time its run took.

How is video priced?

Per function call, the same as any other file. There is no per-minute or per-frame meter, and the first 100 function calls are free.

How is this different from traditional video analytics?

Traditional video analytics ships a fixed detector for each task. With bem you describe the record you need in a schema, so the same footage can return a play index for one team and a sponsor report for another. The result then runs through the same workflow as your documents: Classify, Enrich, Decide, and Send, with an audit trail on every run.

Send your first video.

The first 100 function calls are free. Pricing is per task, not per token or page. Pay as you go, with no lock-in.