If you have tried to animate a single portrait with a general-purpose image-to-video model, you have probably hit the same two problems. The face starts to drift by the third second. And you cannot tell whether a new prompt is actually better, because last week's attempt is buried in a chat log.
This post is a pattern for making that work comparable. The job is a short vertical clip from one approved photo — a meme-style format, not an open-ended cinematic shot. Treat the prompt as a structured record, not as a vibe.
I work on ViralVideoAI, a template-led product that hides this machinery behind a one-tap flow. The text below does not require that product. It is a portable specification for any image-to-video system that accepts a still frame and a prompt.
A template is a record, not a magic sentence
A freeform prompt is easy to write and hard to reuse. Here, a structured template is a record with a stable shape:
- a scene family (what the shot is about)
- a motion level (how much the camera and the action are allowed to move)
- the prompt and an optional negative prompt
- proposed constraints, such as aspect ratio and duration
- a rights precondition for the reference photo
- a short human checklist, used after you generate, not as a score
The structure is deliberately boring. You can change one variable — locked camera versus a gentle push-in — and keep the subject, action, and exclusions fixed. You can hand the same record to a colleague and still know, a month later, what you asked for. This is a method, not a claim that structured prompts win a published benchmark.
A small, text-only starter set
We published a starter dataset, Consent-First Vertical Video Prompt Starter on Hugging Face (under the viralvideoai account), under CC BY 4.0. It has twelve original English prompts: six scene families, each at low and moderate motion — a short walk toward camera, a jacket-color change on a sofa, a small holiday two-step, serving a dish, a cartoon cat at a toy mixing desk, and a cartoon dog at a toy drum kit.
The package is text only: no weights, photos, videos, or model results. It is not a validated benchmark, and we have not scored it. Five seconds and 9:16 are proposed test targets, not measured outputs or a provider promise.
Load the records with Hugging Face datasets, or read the JSONL with the standard library:
from datasets import load_dataset cases = load_dataset( "viralvideoai/consent-first-vertical-video-prompts", split="test", ) print(cases[0]["id"], cases[0]["motion_level"]) print(cases[0]["prompt"]) What one record looks like
Here is walking-low-v1, lightly formatted. The wording is the original prompt from the dataset:
{ "id": "walking-low-v1", "scene_family": "walking", "subject_type": "adult", "motion_level": "low", "target_aspect_ratio": "9:16", "target_duration_seconds": 5, "prompt": "Portrait 9:16, five seconds. A consenting adult walks three steps toward a fixed camera in a plain studio. Keep the same face, clothing and body proportions throughout. Use a locked camera, a plain background and one slow action. No text, logos, recognizable performers, branded costumes, famous choreography or copyrighted music. Silent output.", "negative_prompt": "identity drift, extra limbs, malformed hands or paws, flicker, warped objects, watermarks, celebrity likeness, copied audio" } Its pair, walking-moderate-v1, keeps the three-step walk and changes only the camera line to a gentle push-in. One axis, not a new scene. The other families use the same skeleton: the outfit pair changes only a jacket color; the pet pairs are written as obviously fictional animation and ask the model to preserve fur pattern and head shape. Exclusions — no copyrighted music, famous choreography, or celebrity likeness — belong in the prompt, not in a footnote.
How to write the prompt so the record stays testable
A writing pattern that has held up for this set — a practice, not a quality score:
- Frame and clock first. “Portrait 9:16, five seconds.” If a provider cannot honor those limits, the run is not comparable; note that, or adapt the target and record the change.
- One subject, one action. Three steps toward camera is easier to check than “walks around, waves, and turns.”
- Say what must not change. Face, clothing, and proportions for a person; fur pattern and head shape for a stylized pet.
- Declare the camera. Locked versus a gentle push-in is a clean pair. Wide orbital moves make errors harder to attribute.
- Put exclusions in the prompt. No on-screen text, logos, recognizable performers, branded costumes, famous choreography, or copyrighted music. This dataset asks for silent output, so you are not requesting a viral sound.
- Keep a negative prompt, and record whether the system accepts one. Many interfaces do not. That is a condition of the run.
The reference photo is a precondition, not a field in the file: a photo you own and may use. For an adult, explicit consent. For a pet, a lawful owner-provided photo, and no staging that stresses the animal. No celebrity or public-figure likenesses. The dataset contains no media; do not add real photos to it.
A comparison protocol you can actually finish
The dataset card suggests a protocol. This is that checklist, not results we have already collected.
- Use only photos you have the right to process; for people, consenting adults.
- Keep one reference fixed when you compare systems or settings.
- Record the model or workflow, version, date, seed if exposed, settings, and whether a negative prompt was accepted.
- Generate only if you choose to — the text is usable without spending credits. Then inspect identity or fur stability, object continuity, motion, framing, and rights as separate questions.
- Mark each check pass, fail, or uncertain, with a one-line note. Do not turn twelve starter items into a fake leaderboard.
If a service hides prompts or cannot target a five-second 9:16 clip, it is out of scope for this protocol, not “worse.”
Where a product template fits
Structured text is right when you want to inspect or compare the instruction. It is the wrong tool when you only need a known format shipped today.
ViralVideoAI is in that second category: you pick a trend template, add the requested photo or photos, and do not write a prompt. As of 10 November 2026, its public site describes a 9:16 MP4 with sound and no watermark, says sign-in is required, and says there is no free trial. Those are the site's own statements, not a render test. Catalog size changes; check the live index rather than a number copied from an article.
Use the dataset when you want the wording. Use a packaged template when you want the format and can live without editing the prompt. Either way, the photo still has to be consented, and a generated clip can still be infringing even if the prompt asked otherwise.
Disclosure: ViralVideoAI is our own product. This article was drafted with AI assistance and checked against the published dataset card and ViralVideoAI's public pages. It is a method write-up, not a benchmark or a performance claim.