Module 1 · Contract Extraction

Turn an 80-page contract
into structured rules in minutes

CLIP™ Core is the AI-powered contract digitization layer for media & entertainment sales planners. Upload a licensing PDF — walk away with machine-readable eligibility rules, windows, caps, and pricing ready for the deal pipeline.

2–3 wks
Manual today
<2 hrs
With CLIP™
80+
Page contracts
95%
Rule coverage
≥80%
AI accuracy
📄
Distribution_Agreement_
FY2025.pdf
82 pages · 14.3 MB
🤖 Extracting rules…
✅ 24 segments confirmed
Qualifiers
Start Date
Caps
Rate Cards

Contracts are dense. Rules are buried. Revenue leaks.

A single licensing agreement between a studio and a streaming platform can run 80+ pages of legal language. Sales planners manually hunt through it to extract eligibility rules, dates, and pricing — a process that takes weeks, introduces errors, and delays deals.

🗓️
2–3 Weeks Per Contract
Manual interpretation of eligibility rules, term dates, and pricing tiers delays deal execution by weeks per contract.
🔍
Rules Buried in Legal Language
Critical qualification rules ("≥100 screens in USA AND not Documentary") are embedded in dense clause structures — easy to miss.
📑
Amendment Chaos
Contracts accumulate amendments over time. Without version tracking, planners apply wrong rules — creating financial exposure.
💸
15% Revenue Leakage
Eligible titles missed, wrong pricing applied, windows miscomputed — all flowing from manual rule management in spreadsheets.
CLIP™ Core solves this by
🤖 AI extracts contract header, term years, categories & rules from the PDF
👁️ Planner reviews, edits, and confirms each extracted value in a guided UI
🗄️ Every confirmed rule is persisted as structured JSON — ready for the execution engine
🔁 Full audit trail: AI-extracted value, user-confirmed value, timestamp — every change tracked
CLIP Forecast™Tier 3 · Revenue pipeline & prediction
CLIP Insights™Tier 2 · Eligibility execution engine
CLIP Core™Tier 1 · Contract digitization ← You are here

From PDF upload to confirmed rules — one guided path

Every contract follows the same five steps. The planner can review and edit any AI-extracted value before confirming. Nothing moves forward until the planner approves it.

📤
1
Contract Upload
Drag-and-drop a PDF (up to 200 pages). The system queues an async LLM extraction job and assigns a contractId. The planner can continue other work while extraction runs.
PDF ingestion Async LLM job Status polling
📋
2
Contract Metadata
AI extracts the contract header — who signed it, when it's effective, what territory & language it covers, and who the sales person in charge is. Each field shows a confidence badge. Low-confidence values are flagged for review.
Licensor / Licensee Effective date Territory & Language Currency & Pricing type
📅
3
Term Years
Contracts are divided into term years — the named time buckets during which the deal is active. AI identifies each term year's start date, end date, and type. The planner sees a timeline and confirms the structure.
Calendar year Fiscal year Contractual year Overlap validation
🗂️
4
Product Categories
AI identifies the title pools (product categories) the contract covers — e.g. "First Run Films", "Limited Release Films", "MFP/DTV". Each category has its own complete and independent rule set.
AI-identified pools Rename / add / delete Contract page refs Mutually exclusive
⚙️
5
Rule Extraction
The core step. For each product category, AI extracts 4 rule segments — Qualifiers, Start Date, Caps, and Rate Cards. The planner reviews each segment, edits rules where needed, and confirms. All 4 segments × all categories must be confirmed before submission.
Qualifiers Start Date Caps Rate Cards
Contract Status Lifecycle
PENDING
PROCESSING
EXTRACTION
COMPLETE
CONFIRMED
SUBMITTED

The contract's identity — extracted and confirmed

Before any rules are extracted, CLIP™ identifies who the contract is between, what it covers, and when it's active. Every field is extracted by AI, editable by the planner, and confirmed with a full audit trail.

Contract Metadata
Step 2 of 5
Contract Name
Sony Pictures — Netflix Distribution Agreement FY2025
● 0.94 confidence
Licensor
Sony Pictures Entertainment Inc.
● 0.97 confidence
Licensee
Netflix Streaming Services International
● 0.96 confidence
Sales Person in Charge
James Whitfield ✏️
⚠ 0.61 — verify
Effective Date
January 1, 2024
● 0.99 confidence
Territory
USA · Argentina · United Kingdom · France · Germany
● 0.92 confidence
Currency
USD
● 0.99 confidence
✅ Confirm Metadata & Continue
What gets extracted
🏢
Licensor & Licensee

The studio (seller) and streaming platform (buyer). Includes the sales person officially in charge of the deal — sometimes different from the submitting user.

📅
Effective Date & Contract Term

When the contract becomes active. Combined with term years, this defines the full contractual period.

🌍
Territory & Language

Which geographies and language versions are covered. Affects how qualifier rules are evaluated — many rules are territory-scoped.

💰
Currency & Pricing Type

The deal currency (USD, EUR…) and whether pricing is flat fee, revenue share, or MG. Used as default context for Rate Card segment.

📺
Primary Media

The distribution medium covered — SVOD, TVOD, EST, theatrical, etc.

≥ 0.70 — shown normally
< 0.70 — ⚠ verify flag shown
Not found — field left blank

The contract's time structure — named periods, not window types

A term year is simply a named bucket of time during which the contract is active. It is not a window type. Windows are computed per-movie from the Start Date rules. The term year defines the boundary — a movie's computed window must overlap a term year for that movie to be eligible in that year.

What a term year IS
A labelled date range. The contract is active during these periods. Caps reset at the start of each term year. A movie is "in" a term year if its licensing window overlaps that range.
What a term year is NOT
A window type. The window (how long Netflix can show a movie) is defined in the Start Date segment — computed individually per movie. Term years don't define windows.
📆
Calendar Year

Jan 1 – Dec 31 of a specific year. Most common in streaming deals.

📊
Fiscal Year

Licensor or licensee's financial year — may start in April, July, etc.

📝
Contractual Year

Custom date range assigned by the contract — e.g. "Year 1: Mar 15, 2024 – Mar 14, 2025".

Netflix Distribution Agreement — 4 Term Years
TY 1
Jan 2024 → Dec 2024
TY 2
Jan 2025 → Dec 2025
TY 3
Jan 2026 → Dec 2026
TY 4
Jan 2027 → Dec 2027
↓ Movie windows computed from Start Date rules
Movie A
Jan–May 2024
TY1 ✅
Movie C
Sep 24–Jan 25
TY1+2 ⚠️
Movie E
Feb–Jun 2025
TY2 ✅
Jan 2024Jan 2025Jan 2026Jan 2027Dec 2027

Independent title pools — each with its own complete rule set

A contract doesn't apply one set of rules to all movies. It defines separate product categories — named pools of titles that behave differently. Each category has its own Qualifiers, Start Date, Caps, and Rate Cards. A title can only belong to one category at a time.

📄
Licensing Contract
Sony · Netflix · FY2025
⟶ AI identifies categories ⟶
First Run FilmsCat 70
Ltd Release LACat 71
Other Ltd ReleaseCat 72
Library TitlesCat 73
Local / Art FilmsCat 74
MFP / DTV FilmsCat 75
Category Who qualifies? Window Cap / year Overflow sort
70
First Run Films
Wide theatrical release
US theatrical · ≥100 screens · NOT documentary 15 mo · Earlier of theatrical 33 Avail Date
71
Limited Release LA
Spanish/Portuguese
US theatrical · ≥10 screens · Spanish or Portuguese · Argentina release 15 mo · +19 mo after theatrical 10 Avail Date
72
Other Ltd Release
Non-US-origin
US theatrical · ≥10 screens · NOT US origin · UK theatrical 15 mo · Earlier of theatrical 10 Avail Date
73
Library Titles
Back catalog
Defined per contract Per contract 3 Box Office ↓
74
Local / Art Films
B&W arthouse
01 Distribution · NOT franchise 789377/813190 · B&W + France/Germany criteria Per contract 2 Box Office ↓
75
MFP / MFTV / DTV
Made-for-platform
titleType IN [DTV, MOW, MFTV] · No theatrical release Per contract 22 Avail Date
🔒 Mutual exclusivity: Every qualifier tree is designed so a title can satisfy only one category. A US blockbuster on 1,200 screens goes to Cat 70. A Spanish film on 8 US screens with Argentina release goes to Cat 71. They never overlap.

Every category is defined by exactly 4 segments

For each product category, CLIP™ extracts four types of rules. Think of them as four questions the contract answers — Who? When? How many? How much? All four must be confirmed before the contract can be submitted.

🔍
QualifiersWho belongs?
+
📅
Start DateWhen is the window?
+
🎯
CapsHow many titles?
+
💰
Rate CardsHow much to pay?
=
Complete
Category Rule
🔍
Qualifiers
Who belongs to this category?

Qualifiers are non-date attribute rules on product metadata. They test whether a movie belongs to this category before any other rule is applied. If a title fails the qualifier, the other 3 segments are irrelevant for that title.

Example Rule Tree
[ALL OF]
theatricalRelease has value 📍 USA
numberOfScreens 100 📍 USA
genre NOT IN ["Documentary"]
Rules are AND / OR / NOR trees — unlimited nesting depth
Territory scope pins rules to a specific geography (📍 USA, Argentina…)
Never uses date-offset operators — those belong in Start Date
📅
Start Date
When does the licensing window open — and for how long?

Start Date rules define a formula, not a fixed date. The formula is run individually for each qualifying movie — because every movie has a different theatrical release date. The window duration is fixed by the contract.

Example — Earlier Of formula
[EARLIER OF]
Theatrical Date + 19 months 📍 USA
Physical Date (LVR) + 15 months
Duration: 15 months
Window = start date + fixed duration · end date is derived, not stored
Earlier Of → picks earliest date (protects licensee)
Later Of → picks latest date (protects licensor's holdbacks)
$HOME_OFFICE → dynamic territory resolved per title at runtime
🎯
Caps
How many titles can be licensed per term year?

The simplest segment — one number. Caps define the maximum title count the licensee can take from this category in each term year. When more movies qualify than the cap allows, the overflow sort rule decides which titles fill the slots.

Example — Cat 70 (First Run Films)
33
titles / term year
Overflow → sorted by Avail Date
Pro (seller): freely license any qualifying title up to the cap
⚠️ Con: paired MG in Rate Cards creates shortfall penalty if volume is low
Cap or No Cap — "No Cap" means all qualifying titles with valid windows are taken
Overflow sort: Avail Date (earliest window) or Box Office ↓ (highest earner)
💰
Rate Cards
How much does the licensee pay per title?

Rate Cards define the pricing structure for the category. Prices can be flat fees per title, revenue share percentages, minimum guarantees, or tiered structures that change with box office performance.

Example — Tiered by US Box Office
< $5M$50,000 / title
$5M – $25M$125,000 / title
$25M – $100M$300,000 / title
> $100M$600,000 / title
Types: Flat fee · Revenue share · Minimum Guarantee · Tiered
Scope: per title / per run / total
MG = commercial floor — shortfall triggers penalty if titles < threshold
QualifiersStart DateCapsRate Cards
Cat 70
Cat 71
Cat 72
Cat 73
Cat 74
Cat 75
6 confirmed / 24 total
6 categories × 4 segments = 24 confirmations required before the contract can be submitted to the downstream rule engine.
Submit Contract →

Ready to go deeper?

The full PRD covers real contract rule trees, JSON anatomy, data models, API surface, and non-functional requirements — everything an architect needs to design the technical implementation.

View Full Technical PRD →