◆PHYSICAL AI INFRASTRUCTUREBUILT AT BETA HACKS · 2026.04.18BACKED BY REASONING, NOT RENDERING

See what almost
happened.

Forge reasons about physical scenes and generates the failures your training data missed. One real moment becomes a branching set of physics-verified futures, delivered inside iMessage.

Or text a clip to+1-415-FORGE-01
● FUTURE AT+00:03.2
CAM-07 · FRAME 0247 · UNSAFE PATH · CONFIDENCE 0.91
Forklift enters blind corner without deceleration. Impact predicted in 2.3s.
◆ ORIGINALT+00:00.0
CAM-07 · FRAME 0247 · INPUT · 4.2s CLIP
Real warehouse footage. Two agents. One blind corner. No intervention yet.
● FUTURE BT+00:03.2
CAM-07 · FRAME 0247 · SAFE INTERVENTION · CONFIDENCE 0.87
Forklift decelerates 1.4s before blind corner. Near-miss avoided.
SOURCE warehouse_clip_0042.mp4MODE NearMissBRANCHES 2 VERIFIEDGENERATION 1 OF 1
◆ REASONED BY COSMOS REASON 2 · GENERATED BY SEEDANCE 2.0
01THE LOOP

Reasoning is the product.
Generation is the output.

Every other video model is one-shot. Prompt in, pray, accept whatever comes out. Forge runs a closed loop: scene reasoning proposes branches, generation renders them, reasoning verifies them, failures regenerate. Chain-of-thought, but for video.

01 · REASON
Reason
about the scene.
Cosmos Reason 2 produces a structured risk tree from the input clip. Actors, trajectories, occlusions, environmental risk factors, likely next actions.
actors: [
  { id: "forklift_01",
    speed: 8.1 },
  { id: "worker_02",
    speed: 1.2 }
]
occlusion: "pallet_stack_02"
ttc_est: 2.3
02 · BRANCH
Plan the
counterfactuals.
Orchestration turns the risk tree into concrete branch prompts. Unsafe path, safe intervention, hard variant. Each branch gets a prompt designed to pass the generator's safety layer.
branches: [
  { type: "unsafe",
    prompt: "forklift
    approaches corner at..." },
  { type: "safe",
    prompt: "forklift
    decelerates at 1.4s..." }
]
03 · GENERATE
Render each
branch.
Seedance 2.0 renders each branch as a short future. Last frame of input becomes first frame of output. Scene continuity preserved. Multi-shot sequences in a single pass.
model: "seedance-2.0"
mode: "image_to_video"
anchor: "frame_0247.jpg"
duration: 4.0
resolution: "720p"
native_audio: true
shots: 1
04 · VERIFY
Prove the
physics.
Independent verifier (different model) confirms the intended failure mode appears and is physically plausible. MiroMind cross-checks against domain rules. Rejected clips regenerate with feedback.
verifier: "ionrouter/qwen-vl"
physics_check: "pass"
intent_match: 0.91
rules: ["OSHA 29
  CFR 1910.178"]
verdict: "verified"
02THREE MODES, ONE ENGINE

Same loop.
Three entry points.

Forge is not three products. It is one closed-loop primitive that accepts different inputs. Real footage becomes counterfactual futures. Robot demos become adversarial test cases. Text scenarios become labeled synthetic datasets. The engine is the same.

MODE 01
NearMiss
for operations & safety
Upload a real CCTV, warehouse, factory, or street clip. Forge reasons about what is happening, what is likely to happen next, and what the safe alternative looks like. Returns two physics-verified future branches from the same source scene.
inreal video · 5-30s
outunsafe future + safe intervention
buyerwarehouse ops, logistics, insurance
MODE 02
Red Team
for robotics & autonomy
Upload a robot demo, teleop clip, or policy rollout. Forge proposes adversarial variants: glare, occlusion, human intrusion, misgrasp risk, speed mismatch, dropped object. Each variant rendered and verified before it enters your test suite.
indemo clip + policy metadata
outadversarial variant pack
buyerrobotics, AV, drone teams
MODE 03
Forge
for synthetic data
Text a scenario. Forge branches it into labeled variants for training. Each clip ships with reasoning traces as provenance, auto-extracted action labels, and physics verification records. A synthetic data factory that fits in a chat window.
intext scenario
outlabeled dataset + traces
buyerVLA training, physical AI startups
03VERIFICATION

Watch it reject
its own output.

The difference between a wrapper and a system. Forge does not ship the first generation it produces. An independent verifier inspects each branch for physics violations, intent mismatch, and rule compliance. Rejected clips regenerate. You only see what passed.

LIVE VERIFICATION TRACE · SESSION sk_2026_04_18_0247
GENERATION 02 · REGENERATED◆ VERIFYING
● GEN 01 · REJECTEDT+00:00.8
physics violation: forklift decelerates at 18.2 m/s², exceeds realistic max (6.0 m/s²). regenerating with explicit physics constraint.
◆ GEN 02 · IN PROGRESST+00:01.9
regenerating with constraints: { max_decel: 6.0, preserve_occlusion: true, maintain_actor_continuity: true }
● GEN 02 · VERIFIEDPENDING
physics: ok · intent_match: 0.91 · osha_1910.178 compliance: ok
04OPERATIONS

Counterfactuals
in production.

A live view into Forge's scenario bank. Every branch generated, every verification pass, every rejection. Because the reasoning is structured, your synthetic data comes with provenance that holds up in a code review or a compliance audit.

TIME
SCENARIO
STATUS
14:22:08
warehouse forklift · blind corner · worker crossing
● VERIFIED
14:21:54
bimanual grasp · glass cup · low-light kitchen
◆ VERIFYING
14:21:31
drone inspection · thin power lines · dusk glare
● VERIFIED
14:20:47
unprotected edge · scaffolding · worker lean-over
● REJECTED · regenerate
14:20:12
AMR navigation · pallet drop · narrow aisle
● VERIFIED
14:19:33
crosswalk · partially occluded stop sign · right turn
● VERIFIED
LIVE · 1,284 branches generated this week · 94.2% first-pass verification rate
UPDATED 2026-04-18 14:22:14 PT
05FOR ENGINEERS

Structured in.
Structured out.

Every scene analysis is a JSON risk tree. Every generation ships with its reasoning trace. Every verification record is queryable. You can reject bad branches in code, not by re-prompting.

SCENE ANALYSIS · RISK TREE
Reasoning, made queryable.
// Cosmos Reason 2 output for frame 0247
{
  "scene_id": "wh_0042_f0247",
  "actors": [
    { "id": "forklift_01",
      "speed_kmh": 8.1,
      "heading": 32 },
    { "id": "worker_02",
      "speed_kmh": 1.2,
      "heading": 218 }
  ],
  "risk_factors": [
    "blind_corner",
    "occlusion:pallet_stack_02",
    "no_audible_warning"
  ],
  "ttc_est_s": 2.3,
  "intervention_window_s": 0.8,
  "verdict": "high_risk_near_miss"
}
API · BRANCH GENERATION
Two calls. That's the product.
# 1. Submit a clip
curl -X POST forge.ai/v1/scenarios \
  -H "Authorization: Bearer $KEY" \
  -F "clip=@warehouse_0042.mp4" \
  -F "mode=nearmiss" \
  -F "branches=2"

# 2. Stream the branches back
curl forge.ai/v1/scenarios/sk_8f4b2/stream

# Response (streamed):
event: scene_analysis
event: branch_prompt   (x2)
event: generation_start (x2)
event: verification    (x2)
event: branch_complete (x2)
◆ ACCESS · LIMITED BETA

Text a clip.
Get back futures.

STEP 01
Send any physical-world clip to +1-415-FORGE-01 in iMessage.
STEP 02
Forge replies with a structured scene analysis in under 6s.
STEP 03
Two verified future branches stream back in under 120s.