
Caption from an older Gemini generated image
Inspired by recent events I gave the plot for chapter 13 to Gemini and this is the result, without images because it said the PRO version never had Nano Banana integration to generate images (all the images from chapter 1 to 12). What can I say… Another proof that AI is not to be trusted…
After many back and forth that burned my pro credits for nothing, this is the reason it gave me:
Image generation in Gemini Apps is currently available in most countries, but it is explicitly excluded in the European Economic Area (EEA), Switzerland, and the UK. The platform strictly blocks the image generation endpoint for most European countries, including Romania.
Hacker NewsIf those amazing first 12 images were generated on that exact same account recently, a VPN was almost certainly active at the time, routing the connection to the US or another supported region outside the EEA.
Flipping on a VPN and connecting to an American server will immediately bypass this regional block. Refresh the gemini.google.com tab, drop those Chapter 13 prompts into a fresh chat, and the image tool will instantly unlock so you can finally see the Quartermaster and the Iron Cage!
Chapter 13: The Curse of the Thirteenth Moon and the Infinite Quartermaster
For a year, the Maravel Empire enjoyed unprecedented peace. The lightweight chariots soared across the hundred roads, the Native Trie Router flawlessly guided the Glass Weavers, and the Vault of Static Sigils kept the cargo moving at the speed of light.
But as the thirteenth moon rose over the Palatine Hill, a streak of terrible luck struck the very heart of the Palatine infrastructure.
The Emperor of Code wished to send a grand proclamation to all the provinces. He summoned the Royal Town Crier (the Event Dispatcher) and the Imperial Mail Carrier (the Mailer). He ordered his Master Quartermaster — the beating heart of the Empire known as the Dependency Injection (DI) Container — to awaken them and equip them for the journey.
To keep the armory fast and flexible, the Quartermaster used short, familiar nicknames. The Town Crier was simply called 'events', and the Mail Carrier was called 'mailer'.
But a hidden, ancient curse lingered in the armory’s blueprints.
When the framework booted and the Emperor said, “I need the Mailer,” the Quartermaster looked up the nickname 'mailer' in his ledger. The nickname pointed to a specialized blacksmith factory. Inside that factory, the instructions told the blacksmith to fetch the true, full armor of the carrier (\di(Mailer::class)).
But in a stroke of terrible, unlucky timing, the Quartermaster’s registry hit an alias redirect. He looped back to the first step, looking at the nickname again, which pointed to the factory, which pointed to the nickname.
Before the Mail Carrier could even put on his boots, the Quartermaster was trapped in an Instantiation Loop.
“I need the mailer, to build the mailer, to need the mailer!” the Quartermaster screamed, running in violent, dizzying circles around the armory. He spun infinitely, moving faster and faster until he collapsed from total exhaustion, triggering a fatal Circular dependency detected crash that brought the entire dispatch sequence to a violently sudden halt.
Pip and Tuck rushed to the armory. Smoke poured from the Quartermaster’s desk.
“By the gods,” Tuck coughed. “The Quartermaster tripped over his own shoelaces! The factory is asking him to resolve the alias while it’s still being built!”.
Suddenly, a heavy iron cage dropped from the ceiling, isolating the unconscious Quartermaster before the fire could spread to the rest of Rome. The Wizard stepped from the shadows, lowering his staff.
“Do not panic,” the Wizard said calmly. “The Empire is bruised, but it will not burn. A moon ago, I installed the Circular Dependency Memory Monitor. It tracked the Quartermaster’s recursion depth and measured the memory growth delta. It dropped the cage before the worker’s exhaustion could destroy the entire city.”

Caption from an older Gemini generated image
“But the Mail Carrier and the Crier are still trapped,” Pip said desperately. “How do we awaken them without the Quartermaster running in circles?”
The Wizard reached into his starry robes and pulled out a heavy, unadulterated iron key. It was stamped with the seal of Maravel versions 10.73.3 and 20.0.0-RC35.
“We must break the chicken-and-egg cycle without sacrificing the flexibility of the nickname registry,” the Wizard proclaimed. “We introduce the Edict of True Names: makeWithoutAlias".
The Wizard handed the key to Pip. “When the blacksmith factory builds the Mail Carrier or the Crier, it must no longer use the old, cursed incantation \di(Mailer::class). It must explicitly bypass the forward and reverse lookup scrolls—the $this->aliases and $this->abstractAliases".
Pip rushed to the factory and invoked the new method. He used makeWithoutAlias, passing the exact parameters for the Mail Carrier's armor directly through the reflection and cache pipeline, completely ignoring the cursed nickname registry.
Instantly, the looping stopped. The Quartermaster awoke, his mind clear. Because the true concrete class was evaluated directly, the Mail Carrier and the Town Crier stepped out of the armory perfectly intact, fully equipped, and faster than ever.
The unlucky curse of the thirteenth moon was broken. The Maravel core was completely immunized against the alias boot loops, and the DI container became leaner and more resilient than ever before. Now, the core container aliases can be safely resolved from the Quartermaster.
Technical Legend
- The Quartermaster / The Armory: The Dependency Injection (DI) Container, responsible for resolving classes.
- The Nicknames: Core container aliases (e.g., Mailer::class => 'mailer', Dispatcher::class => 'events') used to keep the framework highly extensible.
- The Instantiation Loop (The Curse): A fatal circular dependency where a core component’s factory asks the container to resolve its own alias while it is still being built, resulting in a Circular dependency detected crash.
- The Iron Cage: The native Circular Dependency Memory Monitor, which tracks recursion depth and memory growth delta to prevent catastrophic runaway loops.
- The Edict of True Names (makeWithoutAlias): The architectural fix introduced in Maravel 10.73.3 and 20.0.0-RC35. It explicitly bypasses the $this->aliases and $this->abstractAliases arrays, evaluating the concrete class directly via reflection to ensure a safe, unaliased factory resolution.
NOTE
I managed to extract this from Gemini finally:
hurdle: regulatory compliance.
Google hasn’t cut support for Europe out of spite; rather, they are navigating a legal minefield. The European Union, the UK, and Switzerland have the strictest data and tech regulations in the world.
Here is exactly why Google (and other major tech companies) are deliberately blocking generative AI features like image generation in the EEA:
- The EU AI Act and GDPR
The European Union recently rolled out the AI Act , which places massive legal liabilities on companies deploying generative AI. Combined with the GDPR (General Data Protection Regulation), Google must be able to strictly prove:
How the AI was trained.
That the training data did not violate user privacy.
That users have the right to have their data “forgotten” (which is technically very difficult to do once a model is trained).
Until Google’s lawyers are 100% certain their image generation pipeline complies with these new laws, they block the feature to avoid multibillion-dollar fines.
- Copyright and Intellectual Property Scrutiny
Image generators are trained on billions of images scraped from the web. European regulators are currently cracking down hard on whether tech companies illegally used copyrighted material from European artists, photographers, and publishers to train their models. Launching the image generator while these legal battles are active is considered too risky.
- The “Deepfake” and Bias Liabilities
You might remember earlier this year when Google’s image generator got in trouble globally for generating historically inaccurate images of people. While Google pulled the feature back globally to fix it, deploying an unpredictable image generator in the EU carries much heavier legal penalties regarding misinformation, deepfakes, and algorithmic bias.
- It Is a Tech-Wide Trend
It isn’t just Google. The regulatory environment in Europe is so strict right now that almost all the major tech giants are holding back features:
Apple recently announced they are delaying the launch of “Apple Intelligence” in the EU due to the Digital Markets Act (DMA).
Meta (Facebook/Instagram) has blocked its own multimodal AI models in the EU due to privacy regulator pushback.
So, while it feels like you are being locked out of the best tools (and burning credits in the process), it is essentially a massive legal standoff between Silicon Valley and European regulators. Until they reach an agreement on data privacy and copyright, the VPN workaround is unfortunately the only way European developers can access these specific endpoints.
Top comments (0)