This article could have been just another roundup of ten neural networks for creative generation. But then the reader would get a bunch of services with referral links, and would hardly ever put these tools into practice. 

How to make creatives for iGaming | GoAff

That’s why we decided to build this guide differently. We’ll look at tools available to everyone and show how to use them most effectively with concrete examples. 

Advantages of AI Creatives

AI creatives are great because they help you launch ideas faster. Buy a subscription → create a detailed prompt with ChatGPT → get a ready result. In addition, AI-generated creatives:

  • Lower the entry barrier. To create your first working version, you no longer need to master complex photo editors or know how to edit videos. It’s enough to clearly describe what should be in the frame, and then refine the result as you go;
  • Give more room for testing. Instead of 1–2 options, you can quickly make several creatives with different approaches, visuals, and accents. In the tough competition and new reality after Andromeda, it’s not so much about the beauty of the creatives, but their quantity and variety.

AI-generated creatives are useful not because they fully replace humans, but because they make the work faster, easier, and more flexible. They help you test ideas, find successful approaches, and avoid wasting resources on weak options. 

Neural Networks for Static Generation

You can find hundreds of neural networks online that create images. But the beauty is that the best ones have long been invented and are available to most — NanoBanana and ChatGPT. You can get the basic version of Google’s image generator for free, while access to OpenAI’s powerhouse is subscription-based. 

Let’s not waste time and show how well both neural networks handled a simple task: 

prompt
photorealistic vertical facebook ad creative, 4:5 ratio, brazilian man 25-30 years old, attractive but realistic, casual streetwear, sitting in a modern dim room with neon red ambient light, focused and excited while playing Aviator on his smartphone, phone clearly visible in hand close to camera, realistic crash game interface on screen with a very high multiplier frozen at x120+, dynamic upward red flight graph, bright cashout button, intense game moment, cinematic composition, shallow depth of field, natural skin texture, realistic fingers and phone grip, premium mobile gambling atmosphere, sense of tension and anticipation, clean background, high contrast, ultra detailed, realistic lighting, social media advertising style, no extra objects, no clutter, visually clear focal point on the smartphone screen and player reaction, brazilian vibe, polished commercial photography, hyper realistic, premium quality
negative prompt
cartoon, illustration, low quality, blurry, overedited face, bad anatomy, extra fingers, broken hands, distorted phone, unreadable screen, fake ui, too much text, watermark, logo distortion, duplicate objects, messy background, low contrast, flat lighting, unrealistic skin, exaggerated expression, cheap looking ad, cropped phone, deformed screen

To create the prompt, we turned to ChatGPT, attaching a link to an article from the neural network developers’ blog. Such materials are called cookbooks. We also added information from this article. Thanks to this, ChatGPT generated a prompt specifically adapted for NanoBanana parameters.

NanoBanana

The generation result is shown below. The tool is free, so all images will have a logo in the bottom right corner. 

Example of creativity in NanoBanana | GoAff

Creating a creative is easy. Now our task is to find out how easy it is to edit it. As an example, let’s ask to overlay Google Play and AppStore logos on the image, after removing their backgrounds. 

Store pictures | GoAff

We gave no comments on what Aviator should look like. The AI found and styled the screen itself. In less than a minute, both badges blended seamlessly into the image. 

An example of a creative in NanoBanana with store icons | GoAff

Now we decided to make the task harder and add text. We didn’t give any specific instructions, just asked for text in Brazilian. Specifically Brazilian: in reality, people in Brazil speak Brazilian Portuguese. The system didn’t get confused and provided text in the correct language, not standard Portuguese.  

iGaming creative in NanoBanana 1 | GoAff

We weren’t satisfied with the design style, so we asked for something even more interesting. Let’s assume NanoBanana handled the task. 

iGaming creativity in NanoBanana 2 | GoAff

At the next stage, we decided to replace the guy with a girl. If you don’t look closely, it turned out quite well. However, an attentive reader will notice that the hands didn’t change. 

iGaming creativity in NanoBanana 3 | GoAff

After 1–2 prompts asking to make the hands look more feminine, the result became believable. 

iGaming creativity in NanoBanana 4 | GoAff

At the final stage, we attached a screenshot with text from another creative, asking to copy this text onto the photo and place it organically in the center. 

iGaming creativity in NanoBanana 5 | GoAff

The system did poorly with this task, but for a free tool, the functionality is quite sufficient. An affiliate just needs to register with Google, go to Google AI Studio, select the free NanoBanana version, and start generating creatives. 

ChatGPT

A ChatGPT subscription with decent functionality costs $20 per month, although you can find it cheaper on some sites. 

The DALL·E 3 neural network is responsible for generating models in ChatGPT. We couldn’t find a cookbook for it, so we used the same prompt as for NanoBanana. The result is shown in the screenshot below. 

iGaming Creatives in ChatGPT 1 | GoAff

Note: the R$ symbol, which stands for the Brazilian real, was added by ChatGPT itself without any extra comments from our side. The AI also handled integrating the store badges well. 

iGaming Creatives in ChatGPT 2 | GoAff

Next, we asked to add the same text: “+500 free spins for registration! Grab them now!”. The result came out in Spanish and was not quite correct in terms of translation. 

iGaming Creatives in ChatGPT 3 | GoAff

Then we asked to somehow improve this text to make it look brighter and more interesting. ChatGPT came up with two options:

iGaming Creatives in ChatGPT 4 | GoAff

The next step was to change the gender of the main character. Except for the male fingers and hairy hands, it turned out quite well. 

iGaming Creatives in ChatGPT 5 | GoAff

After a couple more prompts, we managed to get a result with female hands, but couldn’t fix the translation. 

Gaming Creatives in ChatGPT 6 | GoAff

So we decided to simply provide the ready-made text for insertion and got a decent creative option for testing. 

Final iGaming creative in ChatGPT | GoAff

Using ChatGPT and NanoBanana through your personal account is the best solution. The thing is, you can find services for $5–10 that offer several neural networks at once, but they access the same AIs via API, sometimes through intermediaries. Because of this, the model’s output quality may decrease, producing high-quality but odd results.

Which neural networks can generate video

For example, we’ll take Sora and Veo, as these are proven models from major companies. Practice shows their capabilities are enough for full-scale production, unlike Chinese counterparts. We’ll create a clip with the same message, but adapt it for different AIs. For Sora, for instance, we’ll use the developer cookbook:

prompt
create a photorealistic vertical ad video, 9:16, 6–8 seconds, designed like a premium facebook mobile gambling ad for a brazilian audience.
the main character is a young brazilian woman, 23–28 years old, naturally attractive, realistic face, warm tan skin, long dark brown hair, expressive eyes, subtle makeup, wearing a simple fitted black top. she must look like a real person from a commercial shoot, not like a model from a fashion campaign, and not exaggerated.
her hand must look feminine: slim fingers, softer palm, elegant wrist, narrower forearm, smooth skin, neat beautiful manicure with short or medium natural nails, light nude polish. absolutely no masculine hand proportions, no rough knuckles, no thick fingers, no hairy arm.
scene and atmosphere she is sitting in a dim modern room with a soft premium gambling vibe, warm dark background, blurred red neon accent lights, cinematic night atmosphere. the environment should feel realistic and expensive, like a real mobile ad shoot. no clutter, no random objects, no cheap background details. keep the background softly blurred so attention stays on the girl and the phone.
video structure
shot 1 — opening, 0.0–2.5 sec medium close-up. the girl is looking down at her smartphone with intense focus, holding it naturally in one hand near chest level.
her face shows anticipation and concentration, like she is watching a live round in a crash game.
the camera is slightly handheld but smooth, very subtle natural motion, realistic commercial style.
soft cinematic lighting on her face, warm red highlights on hair and shoulders.
she glances at the screen, eyes widen, lips part slightly as she realizes the multiplier is getting huge.
shot 2 — emotional reaction, 2.5–4.2 sec her expression changes from concentration to genuine excitement.
she smiles, then gives a surprised happy reaction as if the multiplier has reached a huge x.
she quickly turns the smartphone toward the camera in one smooth natural motion, bringing the screen closer to lens.
the movement must feel realistic, fluid, human, not robotic.
the camera slightly pushes in as the phone comes forward.
shot 3 — phone reveal hero shot, 4.2–6.2 sec the phone is now the main focal point, held close to camera in portrait orientation.
screen is bright, sharp, readable, realistic, high contrast.
show a crash-style game interface inspired by aviator aesthetics, with a dark interface, glowing red upward curve, small plane icon, and a huge multiplier around x120.5 prominently displayed in yellow.
show a bright green action button similar to “SAQUE” / cash out, with realistic betting values in brazilian reais, such as R$100,00 and R$12.050,00.
the phone must look like a real modern smartphone, correct reflections, clean bezel, correct perspective, no deformed edges, no broken interface, no unreadable nonsense.
the girl remains visible behind the phone, softly blurred, smiling with excitement.
text animation, 5.2–7.5 sec after the phone reveal, a large promo text flies in dynamically from below with impact, centered in the lower part of the frame, matching the style from the reference:
top line in bold yellow brush-style lettering:
+500 FREESPINS second line in bold white italic / brush block lettering:
NA REGISTRO! third line on a red painted brush stroke banner in white bold text:
GARANTA AGORA!
the text should appear with strong energy, like a premium gambling promo animation: fast entrance, slight bounce, tiny sparks or glow accents, but still realistic enough for a social ad.
the text must be large, centered at the bottom, highly readable, visually similar to a real edited ad.
keep the typography expressive and aggressive, like a high-converting casino promo creative.
visual style ultra realistic commercial cinematography, natural skin texture, accurate facial proportions, clean teeth, realistic mouth movement, realistic female hand anatomy, premium lighting, shallow depth of field, detailed smartphone reflections, cinematic contrast, red-and-black color palette, brazilian ad vibe, polished but believable.
the mood is excitement, anticipation, big win energy, but grounded in realism.
important realism requirements no cartoon look
no ai-looking face
no distorted hands
no thick masculine fingers
no extra fingers
no merged fingers
no warped phone
no unreadable game screen
no fake gibberish interface
no plastic skin
no overblown facial expression
no random jewelry unless subtle
no exaggerated body proportions
no fake influencer aesthetic
everything must feel like a real ad shoot for a mobile casino campaign
negative prompt
low quality, blurry, cartoon, anime, illustration, cgi look, plastic skin, uncanny face, distorted anatomy, masculine hand, hairy female arm, thick fingers, extra fingers, broken hand, warped phone, unreadable screen, gibberish text, malformed typography, duplicate limbs, cheap background, flat lighting, overexposed skin, robotic movement, stiff pose, awkward arm angle, deformed nails, ugly manicure, fake smile, overacting, low detail, low realism, bad perspective, floating objects, messy composition

This prompt will work for Sora, Sora 2, and Veo.

Sora and Sora 2

Sora is available for free to anyone with a ChatGPT Plus subscription. You can see the result of Sora’s work here.

The second version of Sora handled things a bit differently, and on the first try the video quality wasn’t great.

But with the second clip it already looked more like a creative.

Sora can truly be called the best model for video generation, but it doesn’t have much time left. Not long ago, the creators announced they are shutting down the product and will discontinue API access on September 24, 2026. 

We’ll share later how to use Sora’s features easily and without paying for a subscription. 

Veo

Veo is also a paid-only model. Previously, Google allowed up to 10 free generations per day, but now you can only create videos through a paid API key. To get one, you need to link a card and top up your balance. If you don’t have a payment card, you can always find one online. The exchange rate isn’t very favorable, but you can get a card within 5–10 minutes.

It will most likely reject aggressive gambling creatives and return an error. For example, the prompt for Sora was not executed by the neural network. That’s why we decided to make the prompt more neutral:

Create an ultra-realistic vertical commercial video for a Brazilian audience.
Format:
9:16 vertical, 8 seconds, premium social-ad cinematography, realistic polished finish.
Main character:
A young Brazilian woman, 23–28 years old, naturally attractive and believable, warm tan skin, long dark brown hair, expressive eyes, subtle makeup, wearing a simple fitted black top.
She must look like a real person from a premium commercial shoot, not like a fashion model, not exaggerated, not artificial.
Her hand must look clearly feminine and realistic: slim fingers, elegant wrist, soft palm, smooth skin, neat short-to-medium natural nude manicure.
No masculine proportions, no thick fingers, no rough knuckles, no extra fingers, no distorted hand anatomy.
Setting:
She is sitting in a dim modern interior with a premium night-time atmosphere.
Warm dark background, soft red neon accents, cinematic shallow depth of field, realistic expensive ambiance.
Background stays clean, softly blurred, no clutter, no distracting objects.
Shot 1 — 0.0 to 2.7 sec:
Medium close-up.
She looks at her smartphone with focused anticipation, holding it naturally near chest level in one hand.
Her expression suggests she is watching a fast-paced mobile game round reach an exciting moment.
Subtle smooth handheld realism.
Soft cinematic light on her face, warm red highlights on hair and shoulders.
Her eyes widen slightly as the on-screen action intensifies.
Shot 2 — 2.7 to 4.7 sec:
Her expression shifts into genuine excitement.
She smiles with happy surprise.
In one smooth natural movement, she turns the smartphone toward the camera and brings it closer to the lens.
The motion must feel human, fluid, elegant, believable, not robotic.
The camera gently pushes in.
Shot 3 — 4.7 to 8.0 sec:
The phone becomes the hero object in portrait orientation, close to camera.
The screen is bright, sharp, realistic and readable.
Show a premium arcade-style flight game interface: dark UI, glowing red upward curve, small plane icon, and a dramatic high-score moment.
Keep the interface sleek, energetic, and believable for a premium mobile game promo.
The phone must look physically correct: realistic reflections, clean bezel, correct perspective, no warped edges, no broken interface, no gibberish.
The woman remains visible behind the phone, softly blurred, smiling with excitement.
Promo text overlay from 5.8 sec onward:
Top line: SPECIAL BONUS
Second line: NEW EVENT
Third line on a red brush-stroke banner: PLAY NOW
The promo text appears dynamically from below with strong premium ad energy, centered in the lower frame.
Fast entrance, slight bounce, subtle glow accents, very readable, polished social-ad finish.
Audio:
Generate synchronized premium audio.
Soft room ambience, subtle tension build in the first half, rising sound as the on-screen action grows, energetic reveal accent when the phone turns to camera, polished impact hit when the promo text appears.
No voiceover.
Visual style:
Ultra-realistic commercial cinematography, natural skin texture, realistic facial proportions, premium lighting, shallow depth of field, crisp smartphone reflections, cinematic contrast, red-and-black palette, believable excitement, polished but realistic finish.
Negative prompt:
low quality, blurry, cartoon, anime, illustration, cgi, plastic skin, uncanny face, distorted anatomy, masculine hand, thick fingers, extra fingers, merged fingers, warped phone, unreadable screen, gibberish interface, malformed typography, duplicate limbs, cheap background, flat lighting, robotic movement, stiff pose, awkward arm angle, deformed nails, fake smile, overacting, messy composition 

You can view the generation result here.

How to Quickly Create Creatives Without a Subscription

There is an online service called OpenRouter, originally designed for developers working with LLM via API. But with a bit of effort, it can also be used for affiliate marketing purposes.

The main advantage of the service is the ability to top up with crypto. Deposit USDC, create an API key, and you can use the models as long as you have funds. You can work with it directly from PowerShell. 

Once you fund your account and create a key, enter the following commands in PowerShell. First, send a request to the OpenRouter server for authorization.

$env:OPENROUTER_API_KEY=’INSERT_NEW_KEY’
$headers = @{
  Authorization = “Bearer $env:OPENROUTER_API_KEY”
  “Content-Type” = “application/json”
}

Next, export the full list of video models with the following command: 

$all = Invoke-RestMethod -Method Get -Uri “https://openrouter.ai/api/v1/videos/models” -Headers $headers
$all | ConvertTo-Json -Depth 10 | Set-Content .\video_models.json -Encoding UTF8

For convenience, display it as a table on the screen. 

$all.data | Select-Object id,name | Format-Table -Auto

There aren’t many models in OpenRouter, but they’re enough to generate both test creatives and ready-to-use options for uploading. 

Once you choose a model, insert its name into the request below. This command will help you export all requirements and customizable parameters of the selected LLM. 

$modelId = “openai/sora-2-pro”
$model = $all.data | Where-Object { $_.id -eq $modelId }
$model | ConvertTo-Json -Depth 10 | Set-Content .\model_caps.json -Encoding UTF8
$model | ConvertTo-Json -Depth 10

You can copy the result from the screen into ChatGPT so it can develop an effective prompt. 

Now you need to create a prompt. The easiest way is to put it into a variable as shown below.

$modelId = “openai/sora-2-pro”
$prompt = @’
Create an ultra-realistic vertical commercial video, 9:16, 8 seconds, with premium mobile-ad cinematography for a Brazilian audience.
Main subject:
A young Brazilian woman, 23–28 years old, naturally attractive and believable, warm tan skin, long dark brown hair, expressive eyes, subtle makeup, wearing a simple fitted black top. She must look like a real person from a premium commercial shoot, not like a fashion model, not exaggerated, not artificial.
Her hand must look clearly feminine and realistic: slim fingers, elegant wrist, soft palm, smooth skin, neat short-to-medium natural manicure with nude polish. No masculine proportions, no rough knuckles, no thick fingers, no extra fingers, no distorted hand anatomy.
Setting:
She is sitting in a dim, modern interior with a premium night-time mood. Warm dark background, soft red neon accents, cinematic shallow depth of field, expensive realistic ambiance. The background stays blurred and clean, with no clutter and no distracting objects.
Shot 1 — 0.0 to 2.7 sec:
Medium close-up. She is looking at her smartphone with intense focus, holding it naturally near chest level in one hand. Her expression shows concentration and anticipation, as if she is watching a live crash-style game round. Subtle handheld realism, very smooth commercial camera movement. Soft cinematic key light on her face, warm red highlights on hair and shoulders. Her eyes widen slightly and her lips part as she realizes the multiplier is rising dramatically.
Shot 2 — 2.7 to 4.7 sec:
Her expression shifts from tension to genuine excitement. She smiles and reacts with happy surprise. In one natural fluid movement, she turns the smartphone toward the camera, bringing it closer to the lens. The motion must feel human, elegant, believable, not robotic. The camera slightly pushes in during the move.
Shot 3 — 4.7 to 8.0 sec:
The phone becomes the visual hero in portrait orientation, close to camera. The screen is bright, sharp, realistic and clearly readable. Show a premium crash-style game interface inspired by aviator aesthetics: dark UI, glowing red upward curve, small plane icon, a very large multiplier around x120 prominently displayed, a bright green action button, and betting values in Brazilian reais. The phone must look physically correct: realistic reflections, clean bezel, correct perspective, no warped edges, no broken interface, no gibberish. The woman remains visible behind the phone, softly blurred, smiling with excitement.
Promo text overlay — from 5.8 sec onward:
Large dynamic promo text appears from below with strong ad energy, centered in the lower part of the frame. Top line: +500 FREESPINS. Second line: NO REGISTRO! Third line on a red brush-stroke banner: GARANTA AGORA!
Audio:
Add premium synchronized audio: soft room ambience, subtle UI tension buildup in the first half, a satisfying rising sound as the multiplier grows, a sharp energetic reveal accent when the phone turns to camera, and a polished commercial impact hit when the promo text appears. No voiceover.
Visual style:
Ultra-realistic commercial cinematography, natural skin texture, accurate facial proportions, realistic mouth and eye behavior, premium lighting, shallow depth of field, crisp smartphone reflections, cinematic contrast, red-and-black palette, Brazilian mobile-ad vibe, believable excitement, premium but realistic finish.
Hard realism constraints:
No cartoon look, no CGI look, no plastic skin, no uncanny face, no distorted anatomy, no extra fingers, no merged fingers, no thick masculine hand, no warped phone, no broken interface, no unreadable nonsense text, no fake influencer aesthetic, no exaggerated body proportions, no overacting, no cheap background.
Negative prompt:
low quality, blurry, cartoon, anime, illustration, cgi, plastic skin, uncanny face, distorted anatomy, masculine hand, thick fingers, hairy female arm, extra fingers, merged fingers, broken hand, warped phone, unreadable screen, gibberish interface, malformed typography, duplicate limbs, flat lighting, overexposed skin, robotic movement, stiff pose, awkward arm angle, deformed nails, ugly manicure, fake smile, overacting, messy composition
‘@

Now we send the prompt to the server with the specified parameters. 

$body = @{
  model = $modelId
  prompt = $prompt
  aspect_ratio = “9:16”
  duration = 8
  resolution = “1080p”
  generate_audio = $true
} | ConvertTo-Json -Depth 5

It should look like this:

The next command will let you get the video generation status and a preliminary link to it.

$submit = Invoke-RestMethod -Method Post -Uri “https://openrouter.ai/api/v1/videos” -Headers $headers -Body $body
$submit | ConvertTo-Json -Depth 10

Now export this link to the environment so it doesn’t get lost.

$pollUrl = $submit.polling_url
if ($pollUrl.StartsWith(“/”)) { $pollUrl = “https://openrouter.ai$pollUrl” }
$pollUrl

At the next stage, simply send this request and wait for the system to create the clip.

do {
  Start-Sleep -Seconds 5
  $status = Invoke-RestMethod -Method Get -Uri $pollUrl -Headers $headers
  $status.status
} while ($status.status -notin @(“completed”,”failed”))
$status | ConvertTo-Json -Depth 10

After that, wait until the status is complete. 

When the generation is finished, a link to the video will appear in the command line.

Once this process is complete, all further work with Sora2 can be done in a single request:

$env:OPENROUTER_API_KEY=’INSERT_YOUR_KEY’
$headers = @{
  Authorization = “Bearer $env:OPENROUTER_API_KEY”
  “Content-Type” = “application/json”
}
$body = @{
  model = “openai/sora-2-pro”
  prompt = @’
Create an ultra-realistic vertical commercial video for a Brazilian audience.
Format:
9:16 vertical, 8 seconds, premium mobile-ad cinematography, realistic social ad quality.
Main character:
A young Brazilian woman, 23–28 years old, naturally attractive and believable, warm tan skin, long dark brown hair, expressive eyes, subtle makeup, wearing a simple fitted black top.
She must look like a real person from a premium commercial shoot, not like a fashion model, not exaggerated, not artificial.
Her hand must look clearly feminine and realistic: slim fingers, elegant wrist, soft palm, smooth skin, neat short-to-medium natural nude manicure.
No masculine proportions, no thick fingers, no rough knuckles, no extra fingers, no distorted hand anatomy.
Setting:
She is sitting in a dim modern interior with a premium night-time atmosphere.
Warm dark background, soft red neon accents, cinematic shallow depth of field, realistic expensive ambiance.
Background stays clean, softly blurred, no clutter, no distracting objects.
Shot 1 — 0.0 to 2.7 sec:
Medium close-up.
She looks at her smartphone with intense focus, holding it naturally near chest level in one hand.
Her expression shows anticipation, as if she is watching a live crash-style game round.
Subtle smooth handheld realism.
Soft cinematic light on her face, warm red highlights on hair and shoulders.
Her eyes widen slightly as the multiplier rises dramatically.
Shot 2 — 2.7 to 4.7 sec:
Her expression shifts into genuine excitement.
She smiles with happy surprise.
In one smooth natural movement, she turns the smartphone toward the camera and brings it closer to the lens.
The motion must feel human, fluid, elegant, believable, not robotic.
The camera gently pushes in.
Shot 3 — 4.7 to 8.0 sec:
The phone becomes the hero object in portrait orientation, close to camera.
The screen is bright, sharp, realistic and readable.
Show a premium crash-style game interface inspired by aviator aesthetics: dark UI, glowing red upward curve, small plane icon, a huge multiplier around x120, a bright green action button, and betting values in Brazilian reais.
The phone must look physically correct: realistic reflections, clean bezel, correct perspective, no warped edges, no broken interface, no gibberish.
The woman remains visible behind the phone, softly blurred, smiling with excitement.
Promo text overlay from 5.8 sec onward:
Top line: +500 FREESPINS
Second line: NO REGISTRO!
Third line on a red brush-stroke banner: GARANTA AGORA!
The promo text appears dynamically from below with strong premium ad energy, centered in the lower frame.
Fast entrance, slight bounce, subtle glow accents, very readable, polished social-ad finish.
Audio:
Generate synchronized premium audio.
Soft room ambience, subtle tension build in the first half, rising sound as the multiplier grows, energetic reveal accent when the phone turns to camera, polished impact hit when the promo text appears.
No voiceover.
Visual style:
Ultra-realistic commercial cinematography, natural skin texture, realistic facial proportions, premium lighting, shallow depth of field, crisp smartphone reflections, cinematic contrast, red-and-black palette, believable excitement, polished but realistic finish.
Negative prompt:
low quality, blurry, cartoon, anime, illustration, cgi, plastic skin, uncanny face, distorted anatomy, masculine hand, thick fingers, hairy female arm, extra fingers, merged fingers, warped phone, unreadable screen, gibberish interface, malformed typography, duplicate limbs, cheap background, flat lighting, robotic movement, stiff pose, awkward arm angle, deformed nails, fake smile, overacting, messy composition
‘@
  aspect_ratio = “9:16”
  duration = 8
  resolution = “1080p”
  generate_audio = $true
} | ConvertTo-Json -Depth 6
$submit = Invoke-RestMethod -Method Post -Uri “https://openrouter.ai/api/v1/videos” -Headers $headers -Body $body
$submit | ConvertTo-Json -Depth 10 | Tee-Object -FilePath .\submit.json
$pollUrl = $submit.polling_url
if ($pollUrl.StartsWith(“/”)) { $pollUrl = “https://openrouter.ai$pollUrl” }
do {
  Start-Sleep -Seconds 5
  $status = Invoke-RestMethod -Method Get -Uri $pollUrl -Headers $headers
  $status | ConvertTo-Json -Depth 10 | Set-Content .\status.json -Encoding UTF8
  $status.status
} while ($status.status -notin @(“completed”,”failed”))
if ($status.status -eq “completed”) {
  $contentUrl = $status.unsigned_urls[0]
  $contentUrl | Set-Content .\content_url.txt -Encoding UTF8
  curl.exe -L “$contentUrl” -H “Authorization: Bearer $env:OPENROUTER_API_KEY” –output result.mp4
  Get-Item .\result.mp4 | Select-Object Name,Length
  start .\result.mp4
} else {
  $status | ConvertTo-Json -Depth 10
}

After this script, the system will sequentially execute all previous steps and immediately launch the video once it is ready. It is recommended to download it right away, as it is not stored on the servers for long. An alternative way to download is to log in to your OpenRouter account, go to the logs tab, select your job, and download it.

A more neutral version of the prompt for Veo, allowing you to get a creative in one click, is presented below:

$headers = @{
  Authorization = “Bearer $env:OPENROUTER_API_KEY”
  “Content-Type” = “application/json”
}
$modelId = “google/veo-3.1”
$prompt = @’
Create an ultra-realistic vertical commercial video for a Brazilian audience.
Format:
9:16 vertical, 8 seconds, premium social-ad cinematography, realistic polished finish.
Main character:
A young Brazilian woman, 23–28 years old, naturally attractive and believable, warm tan skin, long dark brown hair, expressive eyes, subtle makeup, wearing a simple fitted black top.
She must look like a real person from a premium commercial shoot, not like a fashion model, not exaggerated, not artificial.
Her hand must look clearly feminine and realistic: slim fingers, elegant wrist, soft palm, smooth skin, neat short-to-medium natural nude manicure.
No masculine proportions, no thick fingers, no rough knuckles, no extra fingers, no distorted hand anatomy.
Setting:
She is sitting in a dim modern interior with a premium night-time atmosphere.
Warm dark background, soft red neon accents, cinematic shallow depth of field, realistic expensive ambiance.
Background stays clean, softly blurred, no clutter, no distracting objects.
Shot 1 — 0.0 to 2.7 sec:
Medium close-up.
She looks at her smartphone with focused anticipation, holding it naturally near chest level in one hand.
Her expression suggests she is watching a fast-paced mobile game round reach an exciting moment.
Subtle smooth handheld realism.
Soft cinematic light on her face, warm red highlights on hair and shoulders.
Her eyes widen slightly as the on-screen action intensifies.
Shot 2 — 2.7 to 4.7 sec:
Her expression shifts into genuine excitement.
She smiles with happy surprise.
In one smooth natural movement, she turns the smartphone toward the camera and brings it closer to the lens.
The motion must feel human, fluid, elegant, believable, not robotic.
The camera gently pushes in.
Shot 3 — 4.7 to 8.0 sec:
The phone becomes the hero object in portrait orientation, close to camera.
The screen is bright, sharp, realistic and readable.
Show a premium arcade-style flight game interface: dark UI, glowing red upward curve, small plane icon, and a dramatic high-score moment.
Keep the interface sleek, energetic, and believable for a premium mobile game promo.
The phone must look physically correct: realistic reflections, clean bezel, correct perspective, no warped edges, no broken interface, no gibberish.
The woman remains visible behind the phone, softly blurred, smiling with excitement.
Promo text overlay from 5.8 sec onward:
Top line: SPECIAL BONUS
Second line: NEW EVENT
Third line on a red brush-stroke banner: PLAY NOW
The promo text appears dynamically from below with strong premium ad energy, centered in the lower frame.
Fast entrance, slight bounce, subtle glow accents, very readable, polished social-ad finish.
Audio:
Generate synchronized premium audio.
Soft room ambience, subtle tension build in the first half, rising sound as the on-screen action grows, energetic reveal accent when the phone turns to camera, polished impact hit when the promo text appears.
No voiceover.
Visual style:
Ultra-realistic commercial cinematography, natural skin texture, realistic facial proportions, premium lighting, shallow depth of field, crisp smartphone reflections, cinematic contrast, red-and-black palette, believable excitement, polished but realistic finish.
Negative prompt:
low quality, blurry, cartoon, anime, illustration, cgi, plastic skin, uncanny face, distorted anatomy, masculine hand, thick fingers, extra fingers, merged fingers, warped phone, unreadable screen, gibberish interface, malformed typography, duplicate limbs, cheap background, flat lighting, robotic movement, stiff pose, awkward arm angle, deformed nails, fake smile, overacting, messy composition
‘@
$body = @{
  model = $modelId
  prompt = $prompt
  aspect_ratio = “9:16”
  duration = 8
  resolution = “720p”
  generate_audio = $true
} | ConvertTo-Json -Depth 6
$submit = Invoke-RestMethod -Method Post -Uri “https://openrouter.ai/api/v1/videos” -Headers $headers -Body $body
$submit | ConvertTo-Json -Depth 10 | Tee-Object -FilePath .\submit.json
$pollUrl = $submit.polling_url
if ($pollUrl.StartsWith(“/”)) { $pollUrl = “https://openrouter.ai$pollUrl” }
do {
  Start-Sleep -Seconds 5
  $status = Invoke-RestMethod -Method Get -Uri $pollUrl -Headers $headers
  $status | ConvertTo-Json -Depth 10 | Set-Content .\status.json -Encoding UTF8
  $status.status
} while ($status.status -notin @(“completed”,”failed”))
$status | ConvertTo-Json -Depth 10
if ($status.status -eq “completed”) {
  $contentUrl = $status.unsigned_urls[0]
  $contentUrl | Set-Content .\content_url.txt -Encoding UTF8
  curl.exe -L “$contentUrl” -H “Authorization: Bearer $env:OPENROUTER_API_KEY” –output veo_result.mp4
  Get-Item .\veo_result.mp4 | Select-Object Name,Length
  start .\veo_result.mp4
} else {
  “Generation failed”
}

Note that videos are stored on the server for literally one day and then deleted. You won’t be able to edit them via PowerShell or use them as references. That’s why your prompt needs to be well thought out from the start. 

Conclusion

Since 2024, it’s hard to see AI as just a toy for generating images. For an affiliate marketer, it’s a working tool that helps quickly create static creatives, test ideas, launch videos, and avoid wasting extra resources on long production from scratch. But you shouldn’t expect magic from neural networks either: good results still depend on a clear prompt, the right model choice, and the ability to refine creatives manually when needed.

For quick and straightforward tasks, it’s better to use popular tools like ChatGPT and NanoBanana, while for more flexible tests and videos, you can connect OpenRouter with Sora or Veo when you need more control over the process. The main advantage of this approach is that it allows you not just to generate beautiful images, but to build a clear system for working with creatives: from the idea and first draft to a ready-to-test version or even uploading to your ad campaign.