Quick answer
To make the ESPN-style AI video, upload one photo and use a broadcast player-introduction setup: render a finished 'starting lineup' frame with your name, number, position, and a stat line in a lower-third, then have a video model ANIMATE that graphic on — it builds in element by element, then locks, while you stand there subtly alive under arena spotlights. Generate on Seedance 2.0 (it renders the animated lower-third and crowd audio), keep it de-branded (no real network or team logos), and post it like a real broadcast intro. Starrd's Starting Lineup template does it in one tap.
What You're Trying to Make
You know the shot: the house lights drop, a spotlight hits a single player, the crowd roars, and a broadcast graphic sweeps on-screen with the starting lineup — name, number, position, stat line. This is that moment, except the player is you, generated from one photo. The lower-third animates on like a real motion-graphics package, then locks, while you stand there under the arena lights, quietly alive.
This guide walks through how to make one: what photo to use, how to render the graphic so the text is crisp, the exact prompt that makes the lower-third build on instead of sitting there static, which model to run it on, and how to post it. By the end you'll have a repeatable, generation-ready workflow.
Fastest way — the Starting Lineup template does all of this from one face photo: it renders your personalized name-and-stats broadcast frame, animates the lower-third on, and hands back a 10-second prime-time intro in a few minutes — no prompt writing. Want to roll your own and pick your own stat line? The full method's below. ↓
The whole hook is the named, animated chyron — your name and stats building on-screen like a real broadcast package. A fan cam catches you as a spectator with no name; this makes you the athlete being introduced.
Where This Came From
In June 2026, ESPN aired AI-generated "living portraits" of NBA legends during the Finals — iconic still photos of players like Tony Parker subtly animated to move as commercial-break bumpers. The internet roasted them as "AI slop" (the re-rendered faces drifted so far they barely looked like the players), and the network pulled them after Game 1.
The creator flip writes itself. Instead of a network animating a legend — and getting it wrong by over-moving the face — you put yourself on the broadcast, on purpose, as a personalized player introduction. It's the named-chyron member of the broadcast fan-cam family that's been running all year: the baseball fan cam, the courtside NBA cut, the F1 paddock, the World Cup fan cam. The difference: those catch you in the crowd. This one gives you a name, a number, and a stat line — the starting-lineup graphic, animating on, all yours.
The lesson from ESPN's misfire is baked into the recipe below: the face barely moves. Over-animation is exactly what got the real portraits mocked. The motion belongs to the graphic, not the person.
The Fastest Way — Use the Starting Lineup Template on Starrd
The Starting Lineup template is live in the Starrd library. It packages every step in this guide — the finished broadcast frame with your personalized name and stats, the animated lower-third that builds on, the identity lock, the de-brand — into a single upload.
- Pick a clear face photo. One person, front or three-quarter view, eyes open, decent lighting.
- Open the Starting Lineup template in the Starrd app or web library.
- Upload the photo and tap generate. The template renders your personalized "starting lineup" broadcast frame with an image model strong at text, then animates the lower-third on and generates a 10-second prime-time intro on Seedance 2.0 — clean open, the graphic builds in, locks, you settle into the camera.
100 credits, a few minutes. No prompt writing, no model picking. Add your name, number, position, stats, or a whole different sport in director's notes and it rebuilds the graphic around them.
Starting Lineup
Put your name on the broadcast — a prime-time starting-lineup intro. The lower-third (your name, number, stats) animates on and locks while you settle into the camera. 1 photo, 1 tap.
The rest of this guide is for people who want to roll their own — pick your own stat line, swap the sport, or run it on a different model.
Or, Build It Yourself — What You Need
Three things:
- A clear face photo of the subject. Front or three-quarter view, eyes open, good lighting. One person only.
- An image model strong at dense on-screen text (for the finished frame with the lower-third) plus a video model that accepts a reference image (to animate it). GPT Image 2 for the frame, Seedance 2.0 for the animation, is the crispest combo.
- A platform to post on. TikTok, Reels, and X are where broadcast formats go viral.
You don't need editing software, After Effects, or a jersey.
Step 1 — Pick Your Reference Photo
The photo you feed the model is the face that ends up on the broadcast. Choose well and you save wasted generations.
Use:
- A clear, well-lit photo of one person
- Front-facing or three-quarter angle
- Eyes open, neutral or faintly confident "game face"
- Natural lighting, minimal filtering
Avoid:
- Group photos (the model gets confused about who's who)
- Sunglasses or anything covering the face
- Low-resolution or motion-blurred shots
- A recognizable celebrity face (the model fights identity lock and viewers instantly clock it)
Step 2 — Decide Your Name, Number, Position, and Stat Line
Lock these before you render anything — they're the words the graphic has to spell correctly.
- Name: use a short surname in the chyron. Long full names shrink the type and invite garbling.
REEDreads;CHRISTOPHER REEDINGTON JR.does not. - Number: any jersey number. It appears on the kit and in the graphic's number block.
- Position + stat line: pick a sport and its three headline stats. Basketball:
GUARD·PTS 28 · REB 6 · AST 11. Football:QUARTERBACK·YDS · TD · QBR. Soccer:STRIKER·G · A · SOG. Keep the numbers plausible and short.
Three stat modules is the sweet spot — enough to read as a real broadcast card, few enough that the model renders every character cleanly.
Step 3 — Write the Prompt
This is a two-part recipe, and that split is the whole trick.
Part A — the finished "end-state" frame (image model). Render one still: you at broadcast distance (waist-up, face well under 40% of the frame, crowd behind) in a dimmed arena with intro spotlight beams, haze, and LED boards — with the full lower-third already composited in. Let the image model, which is far better at crisp text than a video model, bake the graphic perfectly.
Part B — animate it on (video model). Feed that frame to the video model as the reference, and describe the lower-third as a timed 2D graphics overlay that builds on and then locks to match the reference. This is what makes it move instead of sitting there.
Treat @Image1 as the FINISHED broadcast player-introduction frame — it defines the exact end-state design, layout, and TEXT of the lower-third (a de-branded "starting lineup" stat card, lower-left: royal-blue number block "11", surname "REED" in condensed white caps, "GUARD" beneath, and "PTS 28 · REB 6 · AST 11"). The clip animates INTO this state. The lower-third is a flat 2D broadcast graphics overlay in screen space — it animates independent of the camera, then locks to match @Image1.Single broadcast camera, essentially locked off with only the faintest drift. Hold broadcast distance the whole time (waist-up, face under 40% of frame) — never a tight close-up.[0-1s] Opens CLEAN — the player is hero-lit and subtly alive (breathing, a slight settle, eyes toward the lens), NO lower-third yet. [1-3s] The lower-third ANIMATES ON in sequence like a live-TV motion-graphics package: the number block slides up from the lower edge and snaps in; the name panel wipes open to the right, unfurling "REED"; a bright light-sweep glints across the glass; the position line fades up; the stat modules pop on one by one, left to right; a thin accent line draws across the base. Each element lands with a broadcast whoosh. [3-6s] Fully assembled, matching @Image1 exactly — the graphic LOCKS and holds perfectly static and crisp (no warping, no value changes). The player gives a slight head turn toward the lens and a confident chin-lift, one slow blink. [6-10s] The player holds steady eye contact, calm intensity; camera flashes twinkle in the crowd bokeh. The locked lower-third stays crisp to the end.Audio: a hyped arena PA intro — "AND NOW... YOUR STARTING POINT GUARD... NUMBER ELEVEN... REEED!" — the crowd erupts on the name, motion-graphics whoosh as the graphic builds, a driving intro sting, then crowd roar. No real team or network names spoken.Premium prime-time broadcast realism, broadcast lens compression, natural skin texture, NOT a beauty filter. Avoid: the graphic appearing fully-formed at 0s, warping the locked text or changing its numbers, a tight close-up, the face filling the frame, a wide smile forming, any real network or team logo, a "LIVE" tag.
The non-negotiable elements:
- "Treat @Image1 as the FINISHED end-state... animates INTO this state" — this is what lets the graphic build on while still matching a crisp, pre-rendered design.
- "Opens CLEAN... NO lower-third yet" — without it, the model renders the graphic fully-formed from frame one and you lose the whole build-on.
- The sequence of mograph verbs — "slides up," "wipes open," "light-sweep glints," "pop on," "draws across." Broadcast packages animate element by element; naming each beat is what produces the build.
- "LOCKS and holds perfectly static" — after it assembles, the graphic must freeze. A chyron that keeps drifting or re-rendering its numbers reads as fake instantly.
- The face barely moves — a breath, one blink, a slight settle. This is the ESPN lesson: over-animating the face is the tell.
Step 4 — Pick a Model
- Seedance 2.0 — what Starrd runs on. Best-in-class prompt adherence, which is why it can open clean and animate the lower-third on cue, and it renders legible text plus the PA/crowd audio. The safest pick.
- GPT Image 2 — for Part A, the still end-state frame. It's the strongest at dense, correctly-spelled on-screen text, so the baked lower-third comes out crisp.
- Kling 3.0 / Runway Gen-4 / Veo 3.1 — solid at animating the person, but less reliable at building a text graphic on. Usable if you keep the graphic simple.
If you have no preference, GPT Image 2 for the frame → Seedance 2.0 for the animation. (See our Seedance vs Kling vs Veo breakdown.)
Step 5 — Generate and Iterate
First generations rarely nail it. Common failures and fixes:
The graphic is there from the first frame (no build-on). Strengthen the clean open: "The first second is a CLEAN frame with NO lower-third; the graphic MUST start absent and animate on." Add "graphic appearing fully-formed at 0s" to the avoid list.
The locked graphic warps or its numbers change. Add: "Once locked, the lower-third is a static image overlay — identical position, text, and values in every frame after it assembles."
The face over-moves (a wide smile, a big head turn). Dial it down: "Only a subtle breath, one slow blink, and a slight 5–10° head settle. No wide smile forming, no big head turn."
It pushes into a tight close-up. Add: "Camera nearly locked off; hold broadcast distance the whole clip — the face stays well under 40% of the frame."
The text is garbled. Render the still frame (Part A) on an image model strong at text, and keep the name a short surname.
Budget 3–5 generations before a keeper. If you're 8+ deep, reread the prompt and hunt for anywhere the graphic isn't described as a timed overlay.
Step 6 — Post It
The generation is half the work. How you post decides whether it gets 200 views or 2 million.
Caption framing. Post it like a real intro — "they finally put me in the starting lineup 😤" or "number eleven, checking in." That files it as sports content, not an AI demo. (Platforms increasingly require AI-disclosure labels — comply, but your caption copy still matters within those rules.)
Native 16:9, then crop. The broadcast look reads best in 16:9; generate wide, then center-crop to 9:16 for TikTok/Reels if you need vertical.
Timing. Post during a live game window — sports content peaks when real games are on.
Don't over-edit. No extra text overlays, no music bed on top. The clip already has its own graphic and PA audio; piling on gives away that you're trying to make it go viral.
Common Mistakes That Tank Your Video
- The graphic never builds on. If it's static from frame one, you've lost the entire hook. Force the clean open.
- Over-animating the face. The exact thing that got ESPN's real portraits roasted. Subtle breath and one blink, nothing more.
- A locked graphic that keeps moving. After it assembles, it must freeze. Drifting or re-rendering numbers is an instant tell.
- A long full name. Shrinks the type and garbles. Use a short surname.
- A tight beauty close-up. Broadcast intros hold distance with the crowd visible. A glam crop kills the realism.
- A real network or team logo. Rendered logos trip copyright moderation and break the de-branded look. Keep colors generic and the corner bug abstract.
- A recognizable celebrity face. The model fights identity lock and viewers instantly clock it.
Window of Opportunity
Broadcast-realism formats have been the throughline of 2026, and the ESPN AI-portrait moment handed the player-intro version a wave of free attention. Trends like this have weeks, not months, before saturation. If a broadcast intro with your name on it is the goal and the two-part prompt above sounds like a chore, the Starting Lineup template at the top of this guide is this exact workflow in one tap.
Courtside
The celebrity-row version — the broadcast catches you front row at the Finals, no prompt engineering.
Related Reading
- How to Make a Courtside NBA AI Video — the celebrity-row fan-cam cousin of this format
- How to Make the AI World Cup Fan Cam Video — the broadcast catches you in the stands
- How to Make the AI Soccer Poster — and Animate It Into a Lineup Reveal — the soccer campaign-poster version of a lineup graphic
- Seedance 2.0 Prompt Guide — the full framework for prompts that don't look like AI video
- Seedance vs Kling vs Veo — which model to pick and why