DEV Community

lucas white
lucas white

Posted on Edited on AI-assisted

Ozil Goal AI: turn one portrait into a 15-second football video

I built Ozil Goal AI to turn a single adult portrait into a short football goal video. You supply the person and their outfit. The app places them in a football scene and produces a 15-second vertical MP4 with generated sound.

The idea is easy to describe. Explaining what someone is buying takes more care. A still image can look convincing while the next second contains a strange foot movement or a ball that disappears. A download button can exist somewhere on a page and still be hard to find. Removing registration saves a step, but then the delivery email has to carry much of the job an account normally does.

The current flow uses one photo, a fixed scene and a private order link. There is no prompt editor. I wanted someone who likes the example to be able to understand the purchase without learning how to direct an AI video.

The photo does more than supply a face

The input is one clear photo of a consenting adult. The app accepts JPEG, PNG and WebP, with a 10 MB limit. The person should be easy to distinguish from the background, and their face should be visible. If a particular outfit is part of the idea, it needs to appear in the photo too.

An office outfit on a football pitch is part of the joke. Keeping the clothes from the photo gives the scene some of its personality. The page includes complete examples made with fictional adults in different clothes, so visitors can compare a source photo with the resulting video. Those examples are product demonstrations, not customer testimonials.

There is no separate shirt selector, second-person goalkeeper upload or resolution menu in this flow. That matters when choosing a photo: the photo is the main creative input. Someone who needs a specific team kit or a friend cast as the goalkeeper should know before paying that this version does not provide those controls.

Selecting a photo first shows a local preview. Continuing uploads it for processing and opens the package and email step. The button now says "Continue — choose your pack." Calling that button "Generate my video" made the next screen less predictable, because generation does not start at that point.

Watching the whole example should be part of buying

The output is 15 seconds, 720p, vertical 9:16 and MP4, with generated sound. Those specifications are useful, but they do not tell you whether the action holds together.

The public example is free to play without signing in. It uses a fictional adult portrait and shows a complete generated result. I also put five moments from the video beside a replay checklist. A visitor can use those moments to check the action instead of stopping at the first attractive frame.

Start with the person. Does the face remain recognizable when the head turns? Does the outfit stay reasonably consistent? Then follow the ball through the sequence. It should be possible to understand where it came from and what contact changed its direction. Watch the goalkeeper and defenders too. A good-looking main character does not make a collision or an unexplained change of position less distracting.

The finish deserves particular attention. In the current sample, the ball briefly leaves the lower edge of the frame as the camera follows the shot toward the goal. The full crossing of the goal line is not visible. The page says this. I cannot use a frame of the ball near the net as proof that the entire entry was shown correctly.

Sound also needs a full playthrough. A clip can have an audio track while a kick lands at the wrong moment or the crowd response feels disconnected from the action. The presence of sound and the quality of its timing are separate things to judge.

Another photo can change the result, including facial detail and clothing. Watching the sample helps you decide which imperfections would bother you. It cannot tell you how often they will occur across other orders, and I do not present it as a measured success rate.

Why I kept new orders out of an account dashboard

New orders do not require an account. After reviewing the photo, the buyer chooses a pack and enters a delivery email twice. Payment confirmation starts the first video. Emails provide access to the order and its result, including any unused videos in that order.

For someone making a short clip, creating an account felt like an extra task before they had received anything. Email delivery keeps the purchase closer to the way people expect a small digital order to work. They can leave the page while the video is processing and return through the email later.

A mistyped email address matters more when it is the route back to the purchase. The confirmation field catches mismatches, although it cannot tell whether someone typed the same wrong address twice. The buyer still needs to check it before continuing to payment.

The order link also needs a clear explanation. It opens a private order and can provide access to remaining videos. It should be kept out of a group chat or a public post. When someone wants to show friends the finished clip, sharing the downloaded MP4 is the straightforward option.

If the email is lost, the site has a "Find my order" entry with recovery instructions. Recovery may require contacting support with a payment receipt or order reference. I do not want a missing email to make someone assume they need to buy the same pack again.

Getting the file should feel like the job is finished

An earlier completion email had a link that took the recipient back to the website. That technically gave them a way toward the result, but the download action was not obvious enough once they arrived. The feedback was direct: the user had received an email saying the video was ready and still could not find where to save it.

The completion email now separates watching the result from downloading the MP4. The result page has a visible download action, and it explains how to save the file before editing or sharing it. Someone clicking "Download" should get a file, without having to search through a creation form.

I also keep photo retention separate from video retention in the email. Saying "your file is kept" without naming the file is too vague when the same order contains both a personal photo and a generated clip.

Once the MP4 is on the device, the user can open it in an editor, add a caption or upload it to a social app. The exact sharing steps depend on the browser and destination app. I would rather give a clear download path than imply that every social platform accepts a video through the same button.

Before posting, watch the saved file. Check any face changes or awkward movements at the size people will see on their phones.

What the payment buys, including the awkward cases

The current USD packs are $9.90 for one video, $18.90 for two and $45.90 for five. These are one-time purchases without a subscription or automatic renewal. Unused videos in new orders have no automatic expiry. The amount and currency shown at checkout are the ones to review before paying.

Watching the examples is free. Generating a video with your own photo is paid; this flow does not include a free generation allowance.

Each confirmed technical failure restores the count used by that attempt to its original order. If a later attempt also fails technically, its count is restored too. The wording needs to make that clear rather than leave "restored once" open to interpretation as a limit of one restoration per order.

A completed video with visual imperfections is a different case. It still uses a count, even if the buyer decides not to share it. Another attempt uses another count. Returning a generation count is also separate from returning money; billing and cash-refund requests go through support and the refund policy.

If a task enters review, the buyer should check the existing order instead of paying or submitting again. The published rule is that a task still unresolved 24 hours after entering review is closed and its used count restored. Service interruptions can delay that handling. If the count is still missing, support can investigate using the receipt. This is a deadline for resolving an uncertain task, not a promise that every video finishes within a particular number of minutes.

A photo and a finished video have different lifetimes

Uploaded photos are automatically deleted after seven days. Finished videos have no automatic expiry unless deletion is requested. The site provides a way to contact support about deletion, and I still recommend saving a local copy of a video someone wants to keep.

These two rules appear together because "no automatic expiry" can otherwise sound as though it applies to the uploaded face photo as well. It does not. That distinction belongs in the buying flow and delivery email, where someone is likely to read it, rather than only in a policy page.

Use photos you have permission to use, and keep the project within the adult-photo requirement. Ozil Goal AI is an independent project, unaffiliated with any player, club or competition. The generated clips are fictional scenes, not footage of someone taking part in a real match.

The question I still want feedback on

The changes I keep coming back to are small: renaming the button before checkout, asking for the email twice, putting an actual download link in the completion email. They address specific places where someone could misunderstand the next step. I do not have conversion data that proves which change matters most.

I am less certain about how much sample analysis belongs before checkout. A long checklist can make a lighthearted product feel like homework. A looping clip without any explanation makes it too easy to overlook the part that breaks the illusion. For now, the page pairs the full video with a few moments to inspect.

For a paid creative tool, would that combination give you enough information to decide, or would you want a different kind of preview before buying?

You can see the current flow at Ozil Goal AI, or go directly to the complete football video example.

Top comments (0)