AI Engineer Europe 2026
Let's go Bananas with GenMedia
Read the talk
From a book to images, video, music and voices
Guillaume Vernade builds a generative-media pipeline around The Wind in the Willows, showing how context, reference images and modality-specific prompts shape the results.
From a talk by Guillaume Vernade
Before you start: Basic Python and familiarity with model API requests will help you follow the notebook; running the media-generation steps also requires appropriate API access and billing.
Why should changing an image model require changing the API?
An image-generation application ought to be able to change models by changing a model name. Yet Imagen and Nano Banana exposed different APIs, making that simple substitution more work than it needed to be. This is the practical problem behind Guillaume Vernade’s introduction to generative media: powerful models still need interfaces developers can use coherently.
His career began in video-game production, continued through Stadia and brought him to DeepMind. Vernade approaches that problem as a developer advocate: providing documentation, code samples, demonstrations, skills and prompt guides, while carrying developers’ problems back to the teams building the models. The illustrated career slide makes that background visible; the API complaint makes its relevance concrete. He jokes that Imagen’s apparent disappearance as a brand might have won the argument for him by default.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
One multimodal ambition, separate releases
Images, sound and video are ordinary parts of the world an application must understand. Vernade describes a world model as accepting as many of these inputs as possible—including sensor data—and responding through multiple modalities. The ambition is an encompassing model; shipping separate image and video models creates smaller release boundaries, reducing the chance that improving one capability breaks another.
His account of early Gemini releases illustrates a different boundary: a model’s underlying capability and the behavior exposed to users can diverge. He recalls image understanding being suppressed in an early release, then residual refusal behavior appearing in later versions until the move to Gemini 2.0. That recollection should not be read as a complete public release history: Google’s December 2023 Pro Vision announcement already offered image input before Gemini 1.5. The proposed connection between earlier suppression and later refusals remains Vernade’s explanation.
The portfolio extends beyond media to vision-dependent robotics, agents, open models and specialist research systems. Vernade corrects the slide’s Gemma 3 label to Gemma 4, which he describes as newly released, and names AlphaEvolve, AlphaGenome and WeatherNext. He expects the year’s agent work to shift from discussion toward building. He reports GenMedia releases more often than monthly and a DeepMind-wide average of one release every five days, with smaller features arriving more frequently. That pace explains why SDKs, examples and developer guidance are continually moving targets.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Choose a model for each kind of output
Nano Banana 2 adds image sizing and aspect-ratio choices, search grounding and web-image grounding. The last capability supplies visual references for subjects such as architecture and animals, where knowing what something looks like matters as much as knowing its name. Vernade also describes restrictions on using images of newer buildings, so grounding is not available uniformly for every requested subject.
Veo 3.1 Lite offers a cheaper way to iterate on video prompts before moving to a more expensive result or upscaling. Vernade estimates $0.05 per generated second and about $0.40 for a video. The pricing table checked in August 2026 supports $0.05 per second specifically for 720p video with audio; $0.40 therefore corresponds to eight seconds under those conditions.
Lyria produces completed musical outputs: clips or full songs. Lyria RealTime instead keeps generating music while a session runs and accepts new prompts that steer the ongoing performance. Vernade describes it as predictive rather than the prompt-to-completed-output diffusion process he contrasts it with. He describes roughly two-second responsiveness when steering Lyria RealTime, rather than presenting a measured latency guarantee. The interaction resembles a DJ changing the mix while the music continues.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Turn a book into a bounded generation job
The workshop now moves from slides to a book-illustration notebook that participants can run alongside the demonstration. Vernade estimates the notebook run at about $1, with video generation accounting for most of the expense. Skipping video makes participation cheaper without removing the image workflow.
The pipeline starts with a book from Project Gutenberg. Gemini reads the book and writes prompts; the media models turn those prompts into character portraits, chapter illustrations, videos, music and narration. The Gemini Cookbook example combines capabilities that the repository also teaches separately through quickstarts and feature examples.
Setup requires an SDK recent enough to include the demonstrated music support and an API key from AI Studio. The main workflow uses paid access. For image-only participation, Vernade suggests the original Nano Banana model’s then-available free tier. His SDK guidance changes as he speaks, so the useful requirement is support for the selected models rather than an inferred minimum version.
The client loads the API key and enables automatic retries to handle overload, particularly when US traffic rises. Vernade describes five retries with a two-second delay. He selects Gemini 3.1 Flash Image Preview for Nano Banana 2, switches the text model from Gemini 2.5 Flash to Gemini 3 Flash, and chooses Lyria’s clip model and a Pro text-to-speech model.
Bound the workload before generating assets. The notebook has a payment-confirmation checkbox, although Vernade notices that he accidentally left it enabled by default. It also limits the number of characters and chapters. Those limits control both spending and waiting time: a whole book can expand into many independent generation requests.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Upload the book and establish a prompt contract
The source is Kenneth Grahame’s The Wind in the Willows. After downloading it from Project Gutenberg, the notebook uploads it with client.files.upload. That call leads to a useful distinction between Google’s access surfaces.
| Surface | Primary tradeoff |
|---|---|
| Consumer Gemini apps | Easy to use; limited model and parameter control |
| Vertex AI | Infrastructure, location and access control; more setup |
| Gemini Developer API | API-key onboarding; responsibility for protecting the key |
| AI Studio | Interactive model experimentation |
Vertex AI and the Developer API share an SDK, but their surrounding storage workflows differ. The Developer API’s file upload hides bucket creation and access-control configuration, making the uploaded file available to the model. A leaked API key remains a direct misuse risk.
The notebook creates a text chat so later requests retain the book and prior instructions. It also asks for structured output: each generated prompt has a name identifying its character or chapter and a prompt string. A Python schema makes that contract explicit:
python
from pydantic import BaseModel
class NamedPrompt(BaseModel):
name: str
prompt: str
The chat configuration requests JSON matching the schema, so downstream generation can consume fields instead of extracting instructions from free-form prose.
For the live run, Vernade adds Priority service, then tells participants to remove it if they want to save money. His recording-time comparison is:
| Tier | Price described in the workshop | Scheduling behavior |
|---|---|---|
| Standard | Standard price | Shared queue |
| Flex | 50% discount | Requests may wait minutes |
| Priority | Twice the standard price | Preferential scheduling |
These are his workshop descriptions, not a universal pricing or latency contract across models. He is unsure about Veo support and says Lyria does not yet support the option. The initial chat message then supplies the whole book while telling the model to wait for further instructions.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Give the cast a consistent visual identity
Leaving style unspecified repeatedly produces similar defaults, so Vernade supplies a colorful building-block style. Colab’s form annotations make that value easy to edit. System instructions then constrain the composition: no book-cover titles and no multi-panel images. Those rules address a specific failure mode—when the model knows it is illustrating a book, it may produce a cover instead of a portrait or scene.
Gemini first describes the main characters. An adult-only restriction remains in the prompt from an earlier version of the example; Vernade says it can now be removed. He distinguishes generating new images containing children from editing existing images containing children, which he describes as restricted in Europe at the time. That policy history explains the leftover instruction without making it part of the book pipeline’s essential design.
A separate image chat receives the character prompts. It sets the image response modality, aspect ratio, system instructions, style and the demo’s Priority option. Keeping it separate avoids mixing the text prompt-writing history with image outputs, while retaining earlier images for visual continuity. Mole and Water Rat appear first, followed by Toad—conspicuously larger than his car—and then Badger and Otter.
Sequential generation gives each turn the images produced before it. Independent asynchronous calls could reduce waiting, but would not preserve that same ordered dependency. The notebook also appends the generated character images to an array for reuse. Vernade calls this demonstration-level storage; the important asset is the saved character reference, not the array itself.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Move from conversation history to selected references
With Otter generated, the next request asks for one illustration prompt per chapter. It explicitly excludes multi-panel compositions and repeats character descriptions even though image references are available. The first implementation relies on chat history to carry appearance forward. That history has a cost: the SDK sends previous messages back on every call, including the book context, which can make repeated prompt generation slow.
The Interactions API offers a different context mechanism. A response supplies an interaction ID that a later request can reference, letting the server recover prior context. The same earlier interaction can also support branches: write lyrics, then branch into cover-image generation and song generation. Vernade’s tentative two-day retention answer is not a reliable storage contract; documentation checked in August 2026 specifies default retention of 55 days for paid interactions and one day for free interactions, with shorter paid retention configurable. His suggestion that Interactions might become the default at I/O is a forecast, not part of the demonstrated interface.
Vernade also points to automatic caching for reused context, while noting that ordinary API calls can benefit from caching too. The resulting illustrations show the riverbank, the road with Toad and the snowy forest. Their character consistency initially depends on the image chat retaining the earlier portraits.
A more explicit approach expands the structured output to include the characters appearing in each chapter. The application looks up their saved images and sends only those references with a unary generate_content request. The river scene uses Mole and Water Rat; the road scene’s requested cast includes Toad, Mole, Water Rat and a gray horse. A dictionary makes the lookup precise:
python
from pydantic import BaseModel
class ChapterPrompt(BaseModel):
name: str
prompt: str
characters: list[str]
def chapter_contents(chapter: ChapterPrompt, images_by_character: dict):
references = [
images_by_character[name]
for name in chapter.characters
]
return [chapter.prompt, *references]
Here, the dictionary holds previously generated image objects. A missing character raises a lookup error instead of silently substituting an unrelated image. The request’s context is now an explicit selection of assets, rather than the accumulated conversation.
For a larger production, Vernade would generate multiple views of each character—portrait, full body, side and rear—and select the view that matches the planned composition. That is a proposed improvement, not what this run establishes. The explicit-reference results look broadly similar to the chat-based ones. One snowy scene seems to show Water Rat attacking Mole; inspecting the prompt reveals that the intended action is a rescue. Preserving appearance does not guarantee that the depicted action reads correctly.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
A still-image prompt does not specify what happens next
The next stage passes the final chapter illustration to Veo 3.1. In this image-to-video path, the supplied image becomes the first frame; the first attempt reuses the illustration prompt. Vernade emphasizes how much that starting frame determines the video’s subsequent possibilities. Answering a model-selection question, he identifies plain Veo 3.1 as the quality-oriented option and describes Fast and Lite as smaller, faster variants doing less generation work. He chooses the larger model for the demonstration while leaving cheaper options available to participants.
The generated rescue clip includes sound and dialogue, but the wrong character speaks. The still-image prompt described a scene without adequately directing subsequent action or assigning speech. The image supplied a starting composition; it did not supply a complete temporal script.
Vernade adds another prompt-writing step:
- Give Gemini the chapter image.
- Ask for a Veo prompt describing the next few seconds after that image.
- Generate video from the same first frame using the new continuation.
The resulting prompt has Water Rat lower his silver pistols and reassure Mole. Mole exhales white plastic vapor in relief, then the pair begin walking away. The language retains the book’s old-fashioned tone while carrying forward the building-block material and clothing details.
Vernade judges the second clip better, although it contains no conversation. This is a more directed continuation, not a demonstration that every desired audiovisual detail is now controlled. He also warns against regenerating video endlessly: iteration costs become significant when a vague prompt invites repeated trial and error.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Compose related soundtracks without repeating the same song
For music, the workshop uses Lyria’s faster clip model. Vernade estimates $0.04 for a 30-second clip and $0.08 for a full song of up to three minutes. Gemini again supplies the prompts, this time asking for instrumental music that shares an identity across chapters while emphasizing what makes each chapter different.
Vernade attributes Gemini’s usefulness as a media prompt writer partly to training: he says Gemini-written prompts contribute substantially to GenMedia training data. He also describes internal prompt rewriting and recommends giving the model detailed direction instead of a one-line request. The playback provides a concrete comparison: pastoral music for spring and flowing water, a more adventurous treatment for the open road, and tension for the dark forest.
Lyria’s musical controls live largely in the prompt:
- Instrumentation and feel: Specify instruments, how they play, scale and BPM.
- Duration and development: Describe when the arrangement should change.
- Song structure: Identify an intro, verse, chorus or outro; the chorus indicates material intended to recur.
- Lyrics: Supply the words or ask the model to invent them.
Vernade changes the chapter request from instrumental tracks to songs whose lyrics explain the chapter events.
He reports that the 30-second music model generates in a few seconds in this workflow, while resending the book and writing prompts takes longer. The resulting songs describe Mole abandoning his cleaning and Toad dreaming of the road in a yellow-and-red caravan. Their themes remain similar to the earlier music: chat history helps preserve continuity, but also encourages the prompt writer to reuse familiar descriptions and musical ideas.
Lyrics are part of the generation prompt, and individual passages can be associated with moments in the song. The returned lyrics also carry timing information, making synchronized text or a karaoke interface possible. The final chapter song narrates Mole’s fear in the snowy wood and Ratty’s arrival to rescue him. The same chapter has now become an image, a moving scene and a musical retelling.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Make two configured voices sound like a larger cast
NotebookLM’s conversational audio offers a familiar example of two configured voices. The workshop explores how delivery instructions can make those voice slots support more perceived characters. Gemini extracts a passage from the book and rewrites it as a play, with narrator and character lines and a consistent speaking style for each character. The passage begins with the description of Water Rat’s small ears and silky hair and ends at the specified phrase about ears in the air.
The narrator gets one voice; the other characters share another. Parenthetical directions distinguish them through long poetic pauses, breathlessness, stuttering, whispers or emotional intensity. Repeating a character’s delivery across lines gives the listener a stable cue even when the underlying voice is shared.
The TTS request needs an explicit reading instruction. Vernade had lost time by supplying text without first asking the model to read it. He maps the narrator to Sulafat and the shared character slot to Fenrir. The corresponding prompt assembly can remain simple:
python
def reading_prompt(play_text: str) -> str:
return (
"Read this text. Follow the parenthetical delivery directions "
"and keep each character's speaking style consistent.\n\n"
+ play_text
)
voice_assignments = {
"narrator": "Sulafat",
"character": "Fenrir",
}
The voice assignments belong in the speech configuration; the play text carries the local performance directions.
Playback follows Mole and Rat meeting and boarding the boat. The characters sound distinguishable, although Vernade notices that both are speaking slowly; he also describes TTS generation itself as slow. Delivery steering creates character differences here without reliably controlling the pacing.
For a larger application, Vernade would keep actual character names in the transcript and maintain a separate baseline prompt for each character. A line can then add local excitement, fear or urgency without replacing that baseline identity. He also notes that the requested accent did not come through. Irish, Singlish and German accents are possible additional directions to explore, rather than successful results demonstrated here.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Change the source, then change the interaction
The book’s text is only one possible input. A large-context multimodal model can also work from an audiobook or video. Vernade starts another illustration run using The Adventures of Chatterer the Red Squirrel, this time requesting a futuristic science-fiction utopia with saturated neon lights. The narrative source and visual treatment are independently adjustable.
While that runs, he opens a Lyria RealTime example in AI Studio’s GenMedia gallery. The music begins with post-punk and neo-soul, then changes as he asks for more K-pop, more drums, less post-punk and finally a calmer mood. These are updates to an ongoing performance rather than requests for separate finished songs.
His game-production background suggests a natural application: let location, activity and player state steer the soundtrack. Forest exploration, cooking, fighting and remaining HP could each influence the prompt. He also describes Space DJ, where planets represent musical prompts and proximity changes their influence. Nearby Christmas music and Viking metal can produce surprising mixtures. The cookbook’s role is to make such combinations approachable through working examples, not just isolated model calls.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Availability and safety constrain the usable pipeline
An audience member’s company remains on Nano Banana 1 because it can offer employees only models hosted in Europe. Newer preview models are therefore unusable for that organization despite their capabilities. Vernade attributes the problem to Google Cloud’s global-endpoint policy for preview models. He expects that rule to persist and is advocating faster general availability instead.
Rapid successor releases complicate that route: in his example, Gemini 3.1 arrives before Gemini 3 reaches general availability, effectively restarting the preview progression. Vernade calls the European deployment problem a top advocacy priority, but gives no delivery date or commitment. For a residency-constrained organization, regional availability is a requirement to check before building around a new model.
Another participant has run Frankenstein in a retro-gaming style and obtained game-like characters. Vernade points out that graphic material may be toned down or refused, which helped motivate his choice of children’s books—although earlier restrictions on images of children had complicated those examples too. The background Chatterer run then reveals its futuristic neon squirrel. Style is flexible; source content and applicable restrictions still determine which requests can complete.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Use lyrics early and images as musical input
The extended Lyria demonstrations expose another useful pipeline boundary. Requesting text and audio returns lyrics before music. In the workshop’s interface, switching from generate_content to generate_content_stream lets the application consume those lyrics while audio is still being generated. A title or cover-image job can start from the lyrics without waiting for the full response. Current Lyria documentation instead illustrates interactions.create and structured response helpers; that is a newer request surface than the one shown in the recording.
The text output includes lyric timing, not just words. In the displayed example, a subsequent line begins at 4.8 seconds, and the final timing leaves 1.2 seconds without words. Such boundaries provide synchronization data for a player while preserving space for the instrumental ending.
Lyria can also take an image as input. Vernade notes that the earlier chapter illustrations could have helped condition their soundtracks, then demonstrates the idea with a photograph of a handwritten pot-au-feu shopping list. A request for an epic quest with opera voices transforms grocery shopping into dramatic stakes: beef shank and ribs become prizes, vegetables enter the story, and wilting celery signals urgency.
The performance uses multiple voices and turns bouquet garni into a recurring chorus. The distinctive result comes from combining concrete image content with a strong musical interpretation: the ingredients supply the subject, while the opera-quest instruction supplies the treatment.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Detailed instructions still need listening tests
Returning to Interactions, Vernade walks through a request with a model, input and response modalities. He objects to renaming the familiar content field, but the operational change is the returned interaction ID that can chain later requests. The output he opens does not visibly expose that ID, so the walkthrough explains the request shape without completing a visible chaining demonstration.
Musical prompting then becomes more specific. Vernade requests tempo control and a Risset accelerando illusion: music that seems to become faster continuously, potentially useful for exercise. He next tries a sequence of fast acoustic guitar for the first ten seconds, piano for the next ten, then full band. On listening, he explicitly says the output is not following the requested sequence. A timed arrangement prompt is a direction to the model, not an enforced timeline.
Section labels offer another way to describe development: intro, verse, outro, chorus and bridge. But the short clip leaves little room for that structure. Vernade moves to a full-song example with a brief intro, specified scale and intensity, and later verses. Playback begins slowly, then introduces drums, bass and more groove. He recommends the full-song model for complex arrangements because the clip model compresses its choices to make a short output interesting.
The remaining examples broaden the output beyond conventional songs. Supplied Nano Banana lyrics become a song about fruit switching into AI mode. A Shakespeare-like performance uses the model’s literary knowledge, although the attempted spoken treatment still contains music; Vernade says stronger instructions can request speech without background music.
A multilingual example switches languages within the same generation. Vernade notes occasional pronunciation errors, then plays a bilingual explanatory song. Across these experiments, the prompt carries the subject, language, structure, delivery and instrumental treatment. The examples are most informative when heard alongside the instructions: they reveal both the breadth of control and the places where requested details disappear.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Navigate the music instead of submitting another song
The session ends by opening the Space DJ application described earlier. Its glowing musical locations and weighted prompt list turn spatial movement into continuous steering. An audience member asks how to try it; Vernade identifies it by name, then navigates toward sea shanties. The model produces vocalizations even though he describes RealTime as not intended for voices.
As the style changes, apparent vocal continuity sometimes survives. Autopilot moves through the musical space without manual navigation, continuing the stream. Vernade explores Southern rock and Australian hip-hop before seeking a faster change. The application makes the ongoing prompt mixture tangible: moving through the interface changes the performance already in progress.
Vernade says the demonstrated session ends after ten minutes; he does not distinguish whether that limit belongs to Space DJ or the underlying API. An application meant to provide continuous music must therefore account for session lifecycle as well as musical steering. He notices the absence of a search button, finds speed metal and stops the performance. The final example turns generative media from a sequence of completed assets into a changing interface—one whose usefulness depends on navigation, continuity and operational limits as much as on the model’s output.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Resources
From the talk
The workshop notebook for illustrating a book with generative media models.
Explore musical genres in a spatial interface that continuously steers Lyria RealTime. Includes links to the demo and its source.
Further reading
The December 2023 announcement of Gemini's developer APIs, including the image-capable Pro Vision endpoint.
Updates since the talk
- Gemini API pricingDocumentation
Current model pricing, including image generation, Veo video and Lyria songs.
Server-side conversation state, interaction chaining and storage retention controls.
Generate music from text or images, work with lyrics, and prompt musical structure using the current API.
Read the complete timestamped transcript
- 0:00
[upbeat music] Good morning, everyone.
- 0:16
Thank you for being here so early in the morning and, um, to be able to [laughs] be the few ones who pass security to, uh, to be, actually be here.
- 0:25
Um, I'm, uh, I'm Guillaume, and I will talk... tell you about, uh, GenMedia in general. Um,
- 0:34
like, uh... so this is, this is my life as, um, as Nano Banana sees it. Um, basically, I, I joined Google six years ago. I used to be a video game producer before.
- 0:47
Um, I initially worked on Stadia, the streaming game company that, uh, product that, uh, that we killed, as so many other product. Um- [laughing] And, uh, and I've been at DeepMind for two years now.
- 1:03
Uh, and, uh, as I worked as a, um, what we called a developer advocate. So if you're not familiar with what a developer advocate, basically my, my job is to make sure that, uh, when-whenever we release things or whatever we release, uh, you guys, the developers, have everything you need to work with, uh, our products.
- 1:22
So you, you need documentations, you need code samples, you need, um, [clears throat] demos. Uh, now there's are new things that you need as well, like skills and, uh, prompt guides and, and things like that.
- 1:35
So making sure that you can, you can start right away and it works. Um, and on the other, on the other side, when I'm, uh, talking internally, um, um, that's the reason why it's advocate, because I'm advocating for the developers and trying to bring some, uh, let's say, common sense to the internal teams and making sure that
- 1:54
what we, what we release makes sense, uh, in the, in the real world, and it's not, uh, entirely developed, uh, for Google by, by Google. Um, a, a very good example of that is the Imagine models.
- 2:08
Uh, when we released... when we had, like Imagine and Nano Banana, the... each model has its, has-had its own set of API, which doesn't make any damn sense. Like you...
- 2:20
like a normal developer should be able to just swap the model name and it works. Uh, and I've, I've, I fought quite a long time for, for that. [laughing] I never managed to win.
- 2:31
But in the end, I think the Imagine brand is... doesn't exist anymore, so I kind of win by default. [laughing] Um, but yeah, you see, you see the kind of, uh, the kind of work I, I have to do on a daily basis.
- 2:44
Um, as I said, I'm mostly working on the GenMedia models, so we, like, um... and that's why the talk is about, uh, GenMedia. So, uh, if you, if you look at the world, your phone and a-anything like medias are everywhere.
- 2:58
So, uh, you have like images, videos, sounds, uh, everywhere. So it's really core in our world. And, um, and that was at the core of what DeepMind is, is building with, uh, with, uh, with our models.
- 3:11
Um, we... like you, you, you're starting to, uh, to hear with, uh, with Lucant's new startup, uh, about world model, but that's, uh, exactly what we have been trying to build at Google for, uh, since the beginning.
- 3:24
Um, and our vision of a world model is that it's, uh, it's a model that, as its name imply, understands the world, but meaning it can ingest, uh, as many modalities as possible.
- 3:34
So sound, videos, audio, uh, sensors, uh, whatever kind of all five senses and then, um, uh, outputs or like, uh, yeah, talks in, in different mo-- as many different modalities as possible.
- 3:49
So audio, text and, and, and so on and, and much more in the, in the future. Um, and we, we tend to, to have like specific models. Uh, we have all image generation models.
- 4:01
We have all video, uh, generation models. But deep down the, the goal is really to have like one models that encompass all of that. It's just that for release purposes it's easier to ship s-- like specific models than to, uh, only always update the main model and like have risks of, uh, breaking something else at the same
- 4:19
time. But like, uh, a quick, uh, a quick story, like when we released Gemini 1.0, it was two years ago. It, it seems... it feels like it was like years ago, like eons ago.
- 4:32
But, uh, the first, uh, Gemini model, Gemini 1.1, was meant to be multimodal because all of our models have always been multimodal. But since, I guess the testing was not finished or whate-whatever reason it wasn't there yet, um, they, they removed the, uh, image understanding, the multimodal understanding i-inputs from the model.
- 4:53
So the 1.1 was not multimodal, and then 1.5 came, and then this one was multimodal in, and I think that was the first one that was, uh, that was doing that.
- 5:01
And which once again, is crazy. Like it's, it was a year and a half ago, and now you don't imagine working with a model that is not a multimodal one.
- 5:10
Um, but still, when you were using that o- that one very often you were giving it an image and it was telling you, "Oh, I'm sorry, I'm just a, uh, LLM.
- 5:18
I can't, I can't deal with images." And that's just because some of the training that was ma- that was added at, at the end of 1.0 that was, "Oh, you know how to deal with image, but if you are asked, don't use it."
- 5:30
Though some of that training was still remaining in 1.5 and coming up for, from time to time. So that was, uh, yeah. That ki- it was kind of annoying for- [laughing] ...
- 5:38
until we, we shipped, we switched up to, um, to 2.0.
- 5:43
Um, so as I said, we don't only have the Gemini models in, um, at DeepMind, so we have, uh, all of the image, video, music generations. We have a couple of other very specific models.
- 5:54
We have the robotics one that is kind of a multimodal one as well because the vision is very important for, for robotics. Uh, we have a bunch of agents that we are shipping.
- 6:04
I think this year is going to be the, the year of agents. The real one. Last year was everybody talking of agents. This year is a- Is a year where we are actually going to build agents.
- 6:14
And we have the open models, and I forgot to update the slide because it's not Gemma 3 anymore, it's Gemma 4 since last week. And then bunch of, uh, research-y models like AlphaEvolve, uh, AlphaGenome, WeatherNext and so on that are very, like, s- very specific for research purposes.
- 6:34
Um, just on the, on, on GenMedia, we've shipped things, uh, on average, uh, more than every month. Uh, on, on the whole, if you just take all of DeepMind, we are shipping things every five days, uh, on average.
- 6:51
Someti- some weeks we're shipping two or three things. And if we had all of the small, small features, we are shipping multiple times per week, so it's, uh... That's why I'm, I'm, l- I and most of my colleagues are very busy because we always have, like, new things to, uh, to document and talk about.
- 7:07
Um, so very quickly about the new things that we shipped recently. Um, NanoBanana, we shipped NanoBanana 2, uh, which has, uh, new, uh, spec ratios, uh, from, uh, of, uh, like 520p pixels to, to 4K.
- 7:27
Um, it has search grounding as, uh, as you a- all know. But it also have, like, uh, image grounding. So if you can ask it to search for images on the web and use those images as grounding so that it knows, uh, uh, like, yeah, it has better knowledge about what, what things look like.
- 7:44
It's very useful for, uh, architecture stuff, for example, for, uh, animals and s- and things like that. Uh, there's a lot of
- 7:54
rules in total that I, I was not able to, uh, to all figure out. But, for example, buildings, they have to be old enough, uh, otherwise there are legal reasons we can't use the images.
- 8:04
So, um, that's-- But it's still, uh, very useful when, when it works. Uh, we have the Video models. You've heard about Video 3, Video 3.1. We, um, we just released last week, uh, Video 3.1 Lite, which is our cheapest model.
- 8:22
Uh, I think it's five cents per second, so forty c- forty cent for, for one video, which is very cheap. Uh, and the idea is that you can iterate on, um, on, on the, on the prompt that way and then upscale afterwards.
- 8:36
Um, and we have Lyria, which is our music generation model that we, um, that we released, uh, two weeks ago. Um, and with which you can create either, uh, thirty-second clips or full songs of three minutes.
- 8:52
I will, I will show you demos of all of that afterwards. That's the point of the, [chuckles] of the session anyway. And, uh, but, uh, there's also another Lyria model that, uh, people don't know about, that is called Lyria Real-Time, and that actually my, my favorite model.
- 9:06
Um, and this one is basically you, you, you create music as well, but it's not a, uh, a diffusion model like users where you just give a prompt and you get, uh, something out of it.
- 9:17
It's, uh, it's a predict model, so which means it's, uh, it's, it's basically a live model. So it creates music, and it's continue to create music, uh, in real-time until you stop it.
- 9:27
And you can just send new prompts, and it will, like a DJ, mix and, like, swap to the, to the new music in real-time, and, uh, real-time two seconds.
- 9:35
Uh, but, uh, but then, uh... And that's, that's quite fun to play with. Uh, if we have time at the end, I will, I will show you a demo.
- 9:43
Um, but as I said, uh, this is meant to be a workshop, so the goal is for you to, uh, to play with, uh, with the models and for me to show you codes instead of slides.
- 9:52
So, um, this is the content that we're going to use. Um, that's this one as well, if you can read what I wrote. Um,
- 10:06
and if that doesn't work, just tell me.
- 10:20
Are you all in? No.
- 10:24
Not yet.
- 10:25
No, it doesn't work?
- 10:29
No.
- 10:30
Oops. Let me, let me try double-check that the link works.
- 10:37
Enjoy. Yeah.
- 10:42
Uh, no. Uh, I have the title. [chuckles] [chuckles]
- 10:48
Cool. Um, are you all in? Okay. So, uh, full disclosure before we start, uh, this is using GenMedia models, which means they are all paid models. So, uh, running the, the notebook is going to cost you something like one dollar.
- 11:05
Uh, and you can just keep the video generation because that's, uh, most of the, of the cost of that, uh, of that one dollar.
- 11:14
So, um, the... Yep. Uh, can zoom in a bit.
- 11:23
Um, so the, the goal of that, uh, that content I prepared is to illustrate a book using the different, uh, GenMedia models. So the, what we are going to do is that we are going to, uh, to take a book that, uh, is, uh, is an open source one that I took on the Gutenberg, uh, lib- uh,
- 11:44
online library. And basically, we are going to use, uh, Gemini to come up with prompts and then the GenMedia to create, uh, the content for the prompts so that we can-- we will have images of the characters, imaging of the scenes, uh, videos of those, uh, those things and, and so on.
- 12:02
Um, and, uh, and that, uh, that example comes from what we call the cookbook. So we have, uh, we have this GitHub repo where we are posting examples of, uh, like both quick start guides to explain how to use a new model or how to use a new feature and also exam-- full, like, full-fledged examples like this
- 12:21
one on how to go further and to mix different features into, uh, into content. So if you, if you- Looking for ideas, that's a, that's a good place to, to check, uh, what you can do with the models.
- 12:34
So, um, basically introduction, uh, billing, um, so let's start. So the first thing is that you need to install the SDK. Um, you need the latest one because of im- uh, music generation that was, uh, shipped last week, uh, two weeks before, so actually you need the next one.
- 12:56
Um, so it's starting. And I should have done that. Um, and you will need an API key if you don't have an API key from, uh, from AI Studio, and you need...
- 13:10
the other side, you need that API key to be a paid one. Um, if you don't have a paid API key, you can still use the image generation examples by using the, uh, Nano Banana 1 model, which has a free tier.
- 13:23
So you can just swap the model we are going to use for, for this one.
- 13:29
And why is that so slow? I think.
- 13:38
Small, neat ears and [REDACTED:physical_attribute].
- 13:42
No.
- 13:42
It was the water rat. Then the two animals-
- 13:45
I think it's good
- 13:46
... regarded each other cautiously.
- 13:49
Okay. So then I'm just loading the, uh, the API key. Um, and I'm creating the client, uh, the GenAI clients. And you can see there, I added these parts that you, you...
- 14:01
we don't add in all of our examples. That is basically the auto retry, uh, thing because, like, if we are using Nano Banana 2 at the moment, so the...
- 14:11
especially in the evening when the US wakes up, uh, the model can be overloaded. So that's, uh, that's basic- That part basically says that it's going to be automatically retrying, uh, five times after two secs.
- 14:25
Um, a bunch of imports and then, uh, we are going to select all of the models that we are going to use. So, uh, in this case, um, uh, 3.1 flash image preview, which is Nano Banana 2, uh, Gemini 2.
- 14:40
2.5 flash. No.
- 14:41
Wonderful day.
- 14:42
Let's use-
- 14:43
You know I love-
- 14:44
... 3 point... 3 flash instead. Uh, Lyria clip to create, uh, 30-second cl- uh, music clips and, um,
- 14:54
and the TTS model, this one, the pro one. Up.
- 14:59
So and I added this checkbox that should have been false by default, but I made a mistake yesterday evening, uh, just so that you can... y- y- if you...
- 15:08
you, you won't be able... you should not be able to run the notebook by mistake if you don't want to pay. Um, then just, uh, I'm just setting limits here because, uh, uh, like a book can be, can have a lot of chapters, lots of characters, and that can be quite long to, uh, to, to generate.
- 15:24
So that's why I set up limits on how man- how many we want, uh, for the demo purposes and cost, uh, purposes as well.
- 15:32
Look ahead.
- 15:33
So, um, as I said, we are going to use, uh, an open source book, uh, that's, uh, Will... uh, The Wind, uh, in the Willows, uh, from Kenneth Grahame that I don't remember reading, but I think in the UK it's quite well-known.
- 15:48
Um, so basically I'm just downloading it from the Gutenberg project and, uh, and here I'm using, uh, f- client file upload, which is, um... You, you might know that we have basically two ways of using the Gemini A- the, the Gemini models.
- 16:08
We have the AI Studio Gemini API way, and you have Vertex. And the main difference between the two, and I can... maybe that's a good time to switch to this slide.
- 16:20
Up. Um, but, uh, we... y- you know, at Google, we like to basically create multiple products that are doing the same thing and confuse our users. That's kind of our, uh, motto.
- 16:33
Um, so that we're doing the same with, with AI. So we have a bunch of, uh... But actually when you think about it, it's, it c- it can make more sense.
- 16:41
So on the, on the left, we have what we call the cons- consumers app. So it's a fully developed, uh, app f- for... that are easy to use for anybody who is not technical.
- 16:53
So you can do plenty of things with the, with Gemini, but you, you are, you're lacking c- as a developer, you might be frustrated because you're lacking control about which models, which features, which parameters are, are being used.
- 17:04
And on the other end, we have, uh, Vertex AI, which is, uh, the exact opposite. It's meant for enterprise, so you have a lot of control. You can control on which data center it runs.
- 17:14
You can, uh, you have control o- about your buckets, who has access to what and, and so on. The only thing is that it comes with like... uh, with great powers comes great responsibilities.
- 17:24
So you... it's, it can be a pain for people to start there. So that's why we have the Gemini Developer API that are kind of a middle ground for, for developers, uh, where you can just create an API key and then start using the, um, the models right away.
- 17:39
We... which comes with s- security, uh, risks as well, that if your key leaks everybo- uh, anybody can, can just use it,
- 17:47
uh. Um, and, and AI Studio is like, is, is the kind of the, the same vein that's it's, uh, it's meant to be a place where you can test a model and, uh, and play with them, uh, as easily as possible.
- 18:01
And the good thing is that we have the same SDK between Vertex AI and Developer API, so you can s- swap from another, one to another. So there's no wrong place to start playing with the models because you can always change.
- 18:13
Um, and then we can skip that. And I can go back here because actually what I was going to say is that we actually have a few differences between when you're using Vertex and when you're using, uh, the Gemini API.
- 18:26
Um, because, uh- Like, the, the goal of the Gemini API is basically to hide all of the complexity from Vertex. And one of those complexity is creating buckets, creating ACLs for the buckets, giving rights and, and, and all of those things.
- 18:40
So the Gemini API have, has that, uh, that API that calls that is called file upload. And basically what it does is that you upload a file and then it's easily ac- accessible from the model.
- 18:52
Um, so I upload the file and then I c- I will use, uh, I will use what we call chat mode. So basically, uh, what it does is that it, it chains requests and it keeps the history of it, uh, so that it's, uh, it's easier to, to keep all of the context.
- 19:09
And in this case, it's going to be good because we are going to feed the whole book to, uh, to the model, uh, thanks to the, the large context window.
- 19:17
And that's why, uh, it's going to be useful in, in, in our case because, um... I'm going to run that while I talk. Um, it's, uh, it's going to be useful because we...
- 19:29
Like, for image generation it's, it's always a good idea to know what's, what have been generated pre- uh, previously, so it c- it keeps the same styles and, and things like that.
- 19:38
Um, I'm also going to use structured output so that we... Like, we have a structure about what the, the model outputs, and we, we can, we can talk the same language, which is going to be very simple.
- 19:47
I want it to generate prompts, and I want the prompts to have a name, uh, so that we know it's, if it's a chapter, a character, or something, and the prompt in itself.
- 19:57
So I'm just creating like, uh, initializing the, the chat clients, uh, with the response type, uh, JSON, the scheme that I, that I'm providing, and something that we shipped yesterday that is a service tier priority.
- 20:11
So don't do that yourself. I think you should remove that line. Um, what, what it does is that it basically, uh... It's, it's... Yeah, we shipped that last week.
- 20:23
So we have, uh, three service tiers. You have the normal one. You're paying the normal price. You're, like, uh, in the queue with everybody else. And we have another one that is called Flex, and that's basically I don't care if that takes a long time, but I want to pay, uh, to, to pay less.
- 20:38
So you're going to have a f- a 50% discount, but your request can be, uh, can be delayed and, and so on, up to a few minutes. And on the other end, you have priority, where you are going to pay twice the price, but at the same time you're, you're kind of guaranteed that it's going to be
- 20:55
fast because you will go- you will have the fast track like, uh, in the airport or anywhere, anywhere else. So yesterday I added that, and I'm, I'm going to use that to be certain that it works well for me.
- 21:05
But for you, you might want to save a few bucks and not add that here. How much more expensive? So twice. Twice. Okay. Yeah.
- 21:15
Um, and I'm, I'm not sure it works with View anyways, which is the most expensive ones, uh, of the model. And, uh, not with Lla yet, so. Okay. Yeah.
- 21:24
Yeah. Um, so anyway, so I'm starting with, uh, I've created the ch- this chat, and what I'm going to do is to send it a first message that basically says, uh, "I'm feeding you the, the whole book.
- 21:37
Uh, I don't need to do anything with w- with the book yet, but you have it. It's in your context and the instructions we, we'll follow."
- 21:46
And then we are going to define the style. Uh, usually I just set nothing and then I let, uh, Gemini come up with its own style. Uh, but then, but I'm getting tired of having exactly the same styles or same style always, so let's write something.
- 22:03
Um, uh, a colorful, um, building block style. Um,
- 22:18
well, let's, let's go with that. Let's see what's... how it goes. So I'm just defining a style. And by the way, if you're using, uh, Colab, this, uh, Colab has those things that they called, um, they call magics, and that's kind of nice to, to create those notebooks and to have the, like, forms that people can fill,
- 22:40
and that's just, uh, that fits into the, into the code.
- 22:45
Um, then some system instructions, uh, to, to, to, uh, to direct the model, uh, like to, uh, into the s- the kind of images that we want. 'Cause the problem I had at the beginning when I was working on those examples is whenever you ask a portrait image and the model knows it's about a book, it tends
- 23:06
to create, like, cover pages and to add a title, and that's, uh, I didn't want those styles, or to create, uh, ones with different panels, and I didn't want that either.
- 23:15
So, uh, just, that's just what the system instructions are about.
- 23:20
And then, like, we can start, uh, working and basically, uh, I'm going to ask it to create prompts for each characters of the book. So, uh, can you describe the main characters, only the adults?
- 23:32
Uh, actually you... we could remove that because it's, it was just from the beginning of Nano Banana when, uh, you could not generate, uh, kids' images in Europe, but it's not, it's not true anymore.
- 23:42
Uh, so, um, you can, you can create image from nothing, uh, with kids, but you can't, uh, edit images with kids. That's, uh, that's a current limitation in Europe.
- 23:57
But anyway, here's all, uh, all prompts for, for each character, and then we can move to, uh, creating, uh, the, the, the images for, for each of them. And what I'm going to do is that I'm going to create another chat just for the images, 'cause I don't want to mix the, the text and the, and the
- 24:17
images output. But I want it to be a chat so that it will have all of the history of the previous images it, uh, it created. Um, so I'm, I'm setting up with the responsibility image, the aspect ratio we want, the system instructions we decided, uh, did, and the style, and priority as, as I said before.
- 24:36
Um, and here we go. So here's the mole. That's nice.
- 24:46
Here's the, uh, water rat. And that's actually way faster now that I'm using priority, so this works. [laughs]
- 24:57
Um, I, I could have done it, uh, in a better way and, like, make all of the calls asynchronous. That would have, wouldn't have worked with, uh, with chat mode, but that would have been a way to, to make it faster.
- 25:09
Um, I think it's good enough. The, the toad. Oof, way bigger than the car for some reason.
- 25:17
It's a child book. Yeah. Uh, and then Mr. Badger. Um,
- 25:25
yeah, so as you see, like, this is mainly a demonstration of what you can do. Like, uh, every time I run it, I- I'm thinking like, "Oh, if I was to optimize it, there is plenty of better ways to do, to do that."
- 25:38
Um, but... And, uh, b- um, the badger, and then the author will be at the end. Um, one of the thing I'm doing in the code, if I go up, is that I'm also saving all of the generated image from the character in a, in an array, and I will explain afterwards why I'm doing that.
- 25:58
And that's, once again, I'm just appending them one after another. It- in, in real world, I would, I would save them in a, in a better way. Um, [laughs]
- 26:10
so, and up, and the author is here. So now we can do- we can move to the next phase, which is basically illustrating the book. So, uh, same thing, like I'm going to ask, uh, the chat, uh, okay, "For each chapter, give me a prompt to illustrate the- what's happening.
- 26:25
It should be a single image, not a multi-tiered one." Uh, I'm trying to force it to describe the character again, even though, uh, there I will have the images as references, just because it's, uh, it's, it's still better.
- 26:39
So let's go with that. That should be quite fast. Um, well, the same thing, like the, the, the way it works with chat, it's, uh, it's keeping an history that is basically all the previous messages, and it's sending back the history to, to the model every time we make a, we make a call.
- 27:01
Um, which can be, like in this case, since it's res- it's basically resending the book all the time to the model. So that's, that's the reason why it, it can be quite slow.
- 27:10
Um, we actually, uh, released new API a few month ago that are called the Interactions API. Um, let's run that while I talk. Um, and the, and the main difference between the, the new API and, uh, and the old ones is that the new APIs are going to be stateful and stateless.
- 27:29
And what, what, what it changes is that every time you, you make a call, you get an interactions ID, and you can reuse that interactions ID in future calls, and it will recover all of the, all of the context directly from the server.
- 27:44
So you don't, you don't need to re-upload the same context again and again and again at every turn of the conversation. And it's also making it easier to, um, to, uh, to fork the discussion.
- 27:57
Uh, for example, like you create, uh, you want to create a song, and with, with images and, uh, with a cover image. You can create the lyrics with one model, and then you, you, you, you fork it and in, on one end you create the c- images, and the other end you, you create the, uh, the song.
- 28:14
You had a question. Uh, how long do you store the, the session? Huh? How long do you store the session? Is it- Um, that's a good question. I think it's two days, something like that.
- 28:27
Um, it's still, it's still in, uh, in preview, so, uh... But, uh,
- 28:33
there is good chances at, at IO we make it the default API. Um, but I, yeah, I don't... I, I'm not using it enough to, yeah, to know. Uh, one of the cool thing it does as well is that since, uh, it knows that it's context that you're going to reuse, it's auto ca- automatically caching it as
- 28:50
well, so it makes it cheaper to, to run. But even though those, th- the normal API are also doing the same, but, um. So we have our chapter. So the third chapter is next to the river.
- 29:03
So the, the mole and the, and the b- and, uh, forgot his name, characters are together. Then it's on the road with the, with the toad,
- 29:16
and then in the forest in the snow. Oof, scary. [laughs]
- 29:23
So, see, and that's, uh, and, uh, and basically what I, what I did there is that I used the fact that we were using the, the history to, uh, to, to trust the model to have all of the, all of the previous images of the character so that, uh, it would remember, uh, how they look like and
- 29:43
what's, uh, and how to, uh, create new, um, images of them.
- 29:49
Um, but, uh, there are actually better ways to do that. So I tried another way, uh, which is basically to create a new, um, a new, uh, structured output that is basically the name of the chapter, the prompt, but also the list of the characters that are appearing in this chapter, and that's actually what I was doing
- 30:10
if I was wanted t- to do it at scale with like, uh, more than a few char- uh, characters. And basically, I'm, um, I'm going to ask the model to, uh, to give me a prompt for each chapter, but also to give me the, uh, to have, uh, thanks to the list of characters, I will only give
- 30:29
it as references the, the right images for the,
- 30:34
for the chapter. So I'm going to basically get the same thing here.
- 30:41
Up. And so the first, in the first image, that should be the mole and the water rat. In the third one... In the f- second one, Mr. Toad, mole, water rat, gray horse.
- 30:51
And the, and the third one, mole and water rat again. Um, so I created a very dirty, uh, script that basically, uh, search through the s- the character images that we, that we saved earlier so that I can give it a list of characters, and it was, uh, going to, to give me the list of images to,
- 31:11
uh, to, to give to the model. Uh, did I run it? Yeah. And, and basically I'm going to do the same thing and go to, and generate images for each chapter, but this time, instead of on relying on chat mode, I'm going to use generate content, so the, like, unary call.
- 31:27
But I'm going to pass it the images that are, uh, from the characters that are specifically in this, uh, in this chap- in this chapter image.
- 31:39
So it should give slightly better context to the model, uh, of about what to, um, what to, uh, what to display and how to show them. Um,
- 31:51
let's see if it's works better. I think if...
- 32:01
And, uh, like, like I said, like, if I wanted to do it at scale, I would, I would, uh, have a lot of improvement I would do, uh, about that.
- 32:10
Uh, and one of them would be that I think I would generate more than one image per, per character. I think I would have, uh, been one portrait image and then one full, uh, full, uh, full body image, and then maybe from the side, from the, from the back, and ask the model to tell me which exactly,
- 32:24
which, uh, like how they are going to be displayed so that I can give, uh, give the, Nano Banana exactly the, the, the reference we need for the, for the, uh, for the generation.
- 32:37
So here they are. Um, and see, it's more or less the same, to be honest. But, uh,
- 32:52
except that this time, I don't know why it's, uh, it seems to be attacking the mole for some reason. [laughs]
- 32:58
I don't think that's what the story is about. It's that, uh- [laughs] You, you, you might know better than me. [laughs]
- 33:04
Um, we can, we can check the prompt. What the, what does the prompt it says? La, la, la.
- 33:11
No, it doesn't say anything about attacking the... No, it's rescuing him. [laughs] [laughs]
- 33:21
Yeah. Yeah, that's, uh, that's basically how you can, uh, you can use the, um, uh, use the model. Uh, for, for those who came, the content I'm showing, you can, you can op- you can open it there.
- 33:36
And, uh, it's, uh, it's a collab that is about taking a book and creating, uh, images and videos to illustrate the book, uh, and the characters. So we went through, um, creating prompts for each character and then generating images for each of those characters, and then creating new prompts for each chapter, and then, uh, creating, uh, images
- 33:58
for the chapters, uh, using the reference that we have from the, from the images. If you can't see what I wrote, it's goo.gle/cookbook-illustration.
- 34:12
Um, so, uh, and then we're going to try to move to the next phase with the, with videos now. Uh, so we are going to use, uh, Veo to generate, uh, videos of those, uh, of those images.
- 34:27
So I'm going to swap to the bigger model because I can pay for it. You can, you can skip to the, stay to, uh, stay with the cheapest one if you don't want to spend too much.
- 34:37
Um, and basically I'm going to, uh, just do exactly, like, take the last chapter, take the last image, uh, and, and basically send it the same prompt and the, and the reference image.
- 34:50
So that's what I do here. So when I pass an image to Veo, that's basically use... It's going to use it as the first frame for the video. Um, and funnily enough, like, most of the,
- 35:03
most of the, like, a lot of the training for video generation model is actually image generation because I think the most important part of, uh, generating a video is generating the first frame so that it knows where to start with and then what to do with it.
- 35:17
Um, so-
- 35:20
So what's the best video model? Is it-
- 35:22
It's, uh, the one that doesn't have light or fast, so.
- 35:27
So fast is just a faster version of the same-
- 35:29
Yeah. That's, uh, the-
- 35:31
Even more expensive, but faster.
- 35:33
Yeah.
- 35:34
Okay.
- 35:34
So Veo 3.1 is, uh, is the main Veo model, and the other ones are basically, uh, like, smaller versions of it that are running fa- uh, slightly faster and, like, basically doing less, less, uh, generation terms.
- 35:49
And yes, I said I was going to repeat the questions, and I forgot. The questions was which one is, uh, faster, the, the mo- the better model among the three.
- 36:00
Um, I guess the doors just opened. [laughs] Um,
- 36:07
it's still very early. So up we can see where it goes.
- 36:12
Wait, but it innovates this image.
- 36:14
Let's get out of this dreadful place. [laughs]
- 36:16
Oh, thank you, Water Rat. I thought I was done for.
- 36:19
Yeah, it saved. And, and there were sounds. I don't know if we... Can we have more sounds so we can see what-
- 36:26
Yeah.
- 36:28
Quick, give me your hand. We must get out of this dreadful place. [laughs]
- 36:33
Oh, thank you, Water Rat. I thought I was done for.
- 36:37
That's, that's not that bad, except the wrong character is speaking. That's a problem with basically using the same prompt when you, when you create the videos and the, and the audio, be- and the, and the image because it doesn't have the extra content about what exactly is meant to be happening afterwards.
- 36:51
Ah, okay.
- 36:52
So that's why I add another... I added another example that is basically we're going to do the same, except we are going to add one more step that is basically asking Gemini to come up with a new, um, a new prompt just for the, just for the video and to explain what's, what's happening afterwards.
- 37:11
So, um, that's what I did. I'm going to animate this, the, the CC, this chapter image, and can you create a prompt with view about what's happening in the next few seconds after the initial image?
- 37:22
Um, and I'm passing it the ima- the last image that it knows exactly where to start. Um, up.
- 37:32
And while it runs, since, you know, we have yet again new people who came, if you want to follow on your laptop, that's, uh, that's a link to open the, the collab I'm showing.
- 37:41
So goo.gle/cookbook-illustration. And, uh, what we're doing, what we are doing at the moment is illustrating, um, the book that is called, uh, Will of the Willow, something like that.
- 37:56
Um, and, uh, and creating images and then now videos to illustrate what's happening in the book. So we came up with, um, with a prompt that is like, "In a colorful building block style, the Water Rat in his, uh, round brown face and blue jersey lowers his silver pistols and offers a reassuring pat to the mole's shoulder.
- 38:18
The mole in his black velvet smoking suit ex-, uh, exhales a puff of white plastic vapors in relief, and as his pink snout twitches,
- 38:27
they turn and begin to walk together," blah, blah, blah, blah, blah. What's, what's interesting in the prompt is that I feel like it's, uh, it, it got the, the, the style of the book.
- 38:36
So the prompt is kind of written in the same style, it's the same old-ish style of, uh, of, of speaking as well. Um, and we can see that it's realized that, uh, um, it's, um, it's not attacking the mole, it's just saving it and then, and, and so on.
- 38:54
And, um, and also what's, uh, what we can see from there is that, uh, you remember I set, I set some system instruction at the beginning saying that, uh, whenever it describe characters, it should always try to describe li- uh, what they look like and all.
- 39:08
So it added what... how they are dressed all the time, so, uh, which also helps with the character consistency. So let's see if this one is better. [grunts]
- 39:27
I think it's better, except there's no, there's no discussion. [laughs]
- 39:35
So you, you can try with yourself, just be careful. As I said, uh, earlier, video generation can be expensive, so don't, don't try it like a hundred times, uh, until you get it.
- 39:46
Uh, it can be, it can be ca- ca- expensive. Then, um, we have this new, uh, Lyria model that we shipped two weeks ago that is our new music generation model.
- 39:58
And the, basically, as I said, it's just a, a model to which you can give a prompt, and it will come up with a, with a song. And, uh, and you have two different models.
- 40:08
You have the clip model that is creating forty-second, uh, musics. Uh, like I think it's for, for four cents per song. And you have the full song model that is creating, uh, up to three minutes, uh, songs, and it costs like twice as much to eight cents per, uh, per music.
- 40:27
Um, for the sake of the demonstration here, I'm using the clip model, uh, so the fastest one. Um,
- 40:34
so we are going to do, to use exactly the same, the same trick as before. So we are going to have Gemini create the, uh, the prompts for the music generation.
- 40:45
So, uh, so I'm asking it to create, uh, instrumental songs for each chapter and to create, uh, to create them for Lyria. Keep the consistency between the chapters, uh, but at the same time highlighting the what, uh, what's specific in each chapter so that, uh, like, I don't want like three times or four times the same, the
- 41:05
same song. I want different ones for, for each song. And, and by the way, something that I forgot to say is that as, as you can imagine, like, we have like multiple models, we have multiple teams inside of, uh, inside of DeepMind, but actually, uh, all of them are working together.
- 41:22
And the big part of the training data for the GenMedia models is, uh, is being made with the help of Gemini. Uh, so, so basically, all of our GenMedia models are trained with like prompts that are written by Gemini.
- 41:36
So that's also why Gemini is quite good at, at creating, uh, the prompts for, for the, for the GenMedia models because, yeah, it's, uh, they, they are, they have been trained to, uh, to listen to him very well.
- 41:47
So, uh, it's, uh, that's, that's why these kind of, uh, of tricks of having Gemini write the prompts for you, uh, works quite well.
- 41:56
Um, and in any case, deep down, there's always a bit of rewriting of your prompts that are being done by the GenMedia models before it's actually, uh, starting to generate.
- 42:05
Just because otherwise, when people are sending like one-liners, they're... they... the, the models won't, won't be, won't do anything interesting with a, with a one-liner. S- And, um, so usually the longer your prompt, the more interesting it's going to be and the more likely it's g- it's going to be following what you're, um, what you're asking for.
- 42:27
So I think I talked a lot because it's, uh, like the, uh, music generation is actually quite very fast, so we can see the different songs. [classical music]
- 42:43
I think that fits with a pastoral suit, uh, with spr- uh, representing spring and flow- and flowing waters. [classical music]
- 42:55
And see next one, the open road. [upbeat music] Feels more adventurous, yes?
- 43:10
And then the dark forest. Let's see. [tense music]
- 43:27
Well, and you can see, you can see the prompt here, like, it, it comes with which, uh, which, um, instruments to use, how to use them. Um, what's, uh, what's interesting with the Lyria model is that it's actually...
- 43:39
You-- Everything is managed in the prompt. You don't have that... You don't r- you don't have parameters at all at, at the moment. So if you want the song to be a certain duration, you can just ask in the prompt.
- 43:49
If you want the song to be using w- a certain scale, you can ask it in the prompt. If you want a certain BPM, you ask in the, in, in the prompt as well, and the model is really good at understanding everything you ask in the prompt.
- 44:01
And you can ask... Like, it doesn't make sense for thirty-second songs, uh, much, but, like, if you- you're building a longer song, you can, you can say, "During the first thirty second, that's what I want the songs to be," and then it switch to something else after.
- 44:16
Uh, or you can say, "This is the intro, this is the outro, this is the," uh, always forget how to say that in English, but the, the part that, uh, that is coming up multiple times in the song so that it knows exactly how to...
- 44:28
Chorus?
- 44:31
Chorus.
- 44:31
Um, this knows, uh, that this part needs to be repeated, and that it needs to be the same thing and the same model. And if you want, uh, lyrics, you can either provide the lyrics or, um, or, uh, or just, uh, let it in-invent lyrics.
- 44:49
So let's say we are going to change that. We are going to create, uh, songs with chapter. Um, add lyrics
- 45:00
to describe what's happening up in the chapter.
- 45:11
Up. And let's see how it goes with lyrics this time.
- 45:18
As I said, music generation is quite fast, like, uh, especially the thirty-second model takes a few sec to, to generate things. The, the longer, uh, part here is actually sending, sending the book again to the model and to ask it for, um, for prompts.
- 45:38
Uh, I think it didn't... I think it didn't work here. [upbeat music]
- 45:47
Mole and work flung-
- 45:50
I think it does work.
- 45:52
Mole flung down his brush and ran to the sun.
- 45:59
Away from the cleaning and work to be done.
- 46:06
And see this one. [upbeat music]
- 46:09
Toad in his caravan of yellow and red.
- 46:15
Dreamed of the dusty high roads ahead.
- 46:22
And, like, uh, you can see that the, the theme of the songs is quite the same. That's, uh, kind of the, the price we have to pay for using Chatnode, because it remembers the prompt it did before.
- 46:31
So we ask for new prompts, but it still has a memory of, uh, what it did before. So I think it's kind of encoded to kind of use the same kind of prompt and describe the scene the same way.
- 46:42
Uh, but still, it's, uh, it's very funny to, to work with the lyrics. And you... As you can see in the prompt, it's basically just, like, adding the lyrics in the prompt, and the model understand that this, these are the lyrics I need to, I need to play and then add in the song.
- 46:57
Um, and you can also say that this, this specific, uh, part, uh, this, uh, is, is set at exactly this moment in the, in the song. This part is, uh, is, uh, is, is, um, is being set another moment.
- 47:11
And if you check the output of the Lyria model, you actually have the whole lyrics with the times. So you can create a karaoke app or something like that using what you get from out of the model.
- 47:22
Let's, let's try the third one.
- 47:24
Into the wild wood where the shadows are deep, and evil faces through the hollow trees peep. Mole is in terror and lost in the snow, till Ratty arrives with his pistols aglow.
- 47:48
Yeah, we could do, uh, we could do musical with that.
- 47:53
Um, so that's, that's for music generation. And then, um, we have, uh, we also have a text, uh, generation models, and I'm going to show you something, uh, very fun.
- 48:05
I guess you all know about the all text-to-speech mo- uh, model because everybody loved the, uh, Notebook LM integration that can create, um, uh, a podcast. And, uh, and that's actually great that you can select two different voices, so you have two, two characters talking with each other.
- 48:22
But I'm going to show you a trick that, uh, with which you can actually create something that is basically, uh, you, you can add more characters than actually two, uh, when you're creating, uh, discussions with the TTS model.
- 48:35
So here's what I'm going to do. Uh, I'm going to ask the model to extract a specific dialogue from the, from the book, just because I didn't want to copy-paste it.
- 48:44
Um, so I told it that it starts with small, neat ears and, and, uh, [REDACTED:physical_attribute], and ends with his ears in the air. Um, but then I asked it to write it as a play, so that it's basically a transcript of wh- which, which, uh, what which character should be, uh, should be saying.
- 49:02
And the, and the trick is that I'm asking it to create a specific style of the, of way of speaking for each character, even though it's going to be using the same voice.
- 49:11
And to, and to write the transcript that way. So when it's a narrator, I'm going to use one specific voice, and when it's all of the other character, it's going to be the same voice for all of them.
- 49:22
Um, so nar- so narrator is saying something, and then character is saying something, and then write the style between parentheses, and that's what is going to tell the model how to s- how to, how to talk.
- 49:33
And that's, that's something that you can also use to say, "Oh, is i-i- it is saying this part very, uh, like whispering. And then this part is like, has a lot of emotion in it," and you can, you can play with the way the character talks.
- 49:47
But I'm, I'm going to, uh, use that to ask the model to come up with very different ways f- from the same voice to, to, uh, to talk when each character is talking, and that's actually creates, uh, the feeling of a- actual different voices for, for each of them.
- 50:05
So, and then I'm going to pass that to the TTS model and to, uh, and to ask it to, to read it, basically. Uh, one of the trick, and like I got ...
- 50:16
I, I lost f- 15 minutes about, because of that yesterday evening. So this... Well, you cannot just give it the text to read. You always have to start with, "Read this text," or something like that.
- 50:28
Otherwise, it, uh, for some reason, it doesn't know that it needs to read the text that is giving it, gi- given to it. Um, and, uh, this is, uh, very complex.
- 50:38
Uh, I think there's no simple way to, to set it up. But basically what I say is, "Speaker narrator is using the v- the voice, uh, Sulafat, and character is using Fenrir."
- 50:49
And this is all text. So narrator talks, then the character, the first character talk, and that's, uh, is going to have long poetic pauses. And then the second one is breathless, uh, and, uh, and very stutter.
- 51:04
And you can see that we can, we can guess which character is which one because it's the same, uh, way of speaking that is reused for each of those lines.
- 51:15
And it's still running. The problem, uh, with the TTS model is that it's a very good model, but it's not a very fast one. Um, the reason for that, it's a-
- 51:24
Small neat ears and thick silky hair. It was the water rat. Then the two animals stood and regarded each other cautiously.
- 51:35
Again. Again.
- 51:35
"Hello, Mole." "H- hello, Rat." "Would you like to come over?" "Oh, it's all very well to, to talk." The rat said nothing, but stooped and unfastened a rope and pulled on it, then lightly stepped into a little boat, which the mole had not observed.
- 51:58
The rat sculled smartly across and made fast. Then he held up his forepaw as the mole stepped gingerly down. "Lean on that. Now then, step lively." The mole, to his surprise and rapture, found himself actually seated-
- 52:18
They're not very lucky. They are both turning very slowly
- 52:18
... in the stern of a real boat. "This has been a, a wonderful day. Do you know, I've never, never been in a boat before in all my life."
- 52:31
"What? Never been in a ... You never... Well, I... What have you been doing then?" "Is it-" [laughs] "Is it so nice as all that?"
- 52:43
Yeah. We can stop that. But like, you, you, you can, you can see, you, you couldn't guess that we are using the same voice, uh, for, for the two characters, uh, being like, say, say, clearly we're, uh, steered into different directions.
- 52:54
And you can use this trick to actually, uh, create like multiple characters, multiple voices for those characters and, uh, and make it seems like seamless for, for, for users.
- 53:05
As I said, uh, earlier, this is meant to be just demonstration on how to do it. If you want to d- if you were to do, to do it like, uh, at scale, that's ex- that...
- 53:16
I would not do this kind of like create, uh, trick like that. I would actually create a, a full transcript with the actual names and then keep on the side a prompt for each character.
- 53:27
And maybe sometimes you still want to, uh, you st- you don't want to talk all of them exactly uh, uh, the same way because sometimes they still need to be excited even though they, they talk very slow and, and so on.
- 53:38
But still, that's, uh, that's, uh, that's just to show how good the, the TTS model is at creating, uh, different voices. And even though I asked it to force an accent, it didn't f- it didn't do it.
- 53:50
But you can also play with like this character as an Irish accent. This one is Singlish. This one speak f- uh, with a German accent or whatever. And that's, uh, that's also a very easy way to, uh, to create different feeling, uh, about the, about the character for, of, uh, with us- using the same voice.
- 54:08
Um, we're nearly at time for the, for the questions. But like, uh, just to finish, like, uh, we, we used a very large context window of the model, uh, to, to fit it to full book and fit it multiple times the full book because with chat we, we just, uh, upload it all the time.
- 54:25
But since it's, uh, it's a multi- multimodal in model, you can ... You just... It's, uh, it work with all the things than just text. So you can just fit it like an audiobook.
- 54:36
Uh, you can fit it a, uh, video as well. You, like you can play with that and not just, uh, get, uh, get limited to, uh, to text to, uh, to be straight on things.
- 54:45
So this is another example with, uh, with another book, which, which one, which is, uh, The Adventures of Chatterer the Red Squirrel. And, and we are basically going to do the same thing.
- 54:56
I'm going to run all of it at the same time.
- 55:00
Uh, and this time, I basically ask it, uh, somewhere, uh, to use a style that is futuristic, science fiction, utopia, saturated neon lights. So it's going to be not the kind of squirrel you are expecting.
- 55:14
No. Um, yeah. And while it runs, I think, uh... Oh, I said I was going to show you, um, so we also have, like, I think you all know about, uh, AI Studio, but, uh, in AI Studio we have a gallery with lots of, uh, example apps that we are building, and I wanted to show you.
- 55:34
Uh, it's going to be in GenMedia. Uh, as I told you, we have the Lyria model that is creating musics, uh, songs. We, but we also have the... Uh, no, not this one.
- 55:47
Let's, let's go with it. Ah. Up. This one's better. We also have the Lyria real time, um, model I was talking about. And, and basically, you are asking it to create, uh, to, to make music that is post-punk tunes and neo-soul at the same time. [electronic music]
- 56:07
But you can say, "Okay, I want more K-pop,
- 56:11
and slightly more drums." I don't know what post-punk is, so I don't want it.
- 56:23
And see, you can hear the music changing.
- 56:27
And let's go with something, like, more chill.
- 56:46
So I think that, as I said, that's my favorite model because I think it's underused and I, I, I... Like, there's plenty of things I, I can imagine doing.
- 56:53
Like I, as I said, I come from the video game industry, so one of the things I would have tried is can you create music in real time for the player depending on, like, where you...
- 57:03
in which region they are. In, are they in the forest? Are they jumping? Are they cooking? Are they fighting? Uh, how much HP do they have? And so, so, so the music could change in real life, in real time.
- 57:16
And so that's, uh, yeah. Those are the kind of things you can, you can try. And, uh, for some reason, the link is not there, but there's another very cool example, uh, our colleagues who are working on this model made.
- 57:27
It's basically, uh, you are in space, and each planet is a prompt, and you can move through the planets, and depending on which planet you are close to, the music changes.
- 57:37
So you can just move around, uh, the planets. And sometimes there are weird things happening because, like, Christmas songs is just next to Viking metal. So, uh- [laughs] ... the, the mix can be, it can be quite funny.
- 57:50
Um, so that's it for the, for the presentation. I have some time for questions now.
- 57:59
Up. [applause] Thank you. [laughs] Yeah, and for those who arrived too late, like, you can, you can check the, the content afterwards. And as I said, uh, we have this, this cookbook that is basically a GitHub repo where we are adding, uh, the quick starts on how to use the models, uh, uh, kind of some, some tricks, and also
- 58:23
examples of, uh, like, uh, more complex AI, more, more complex things you can build when you are mixing different capabilities and models.
- 58:32
I have a question. I, I don't know if you can answer it, but-
- 58:34
Yeah, I think for questions we need mic, so that it's, I don't need to repeat them. [laughs]
- 58:42
One second.
- 58:45
You fade out, uh... I know where it is.
- 58:48
One, two, one, two, one, two, one, two.
- 58:52
So, so thank you first of all very much for this nice demo. It was a lot of fun to follow along. I have a question. Um, in our company, we, um, we offering to all em- employees, um, also some of, of models, and I think we are still on Nano Banana 1 because we can only offer models
- 59:14
hosted in the U- in Europe. And basically, all the new models are still-
- 59:18
Yeah
- 59:18
... in preview, so we don't have access to it. Do you know if this will change?
- 59:23
So, uh, the short answer is no.
- 59:25
Okay.
- 59:26
Uh, but I, like, I was expecting the question because every, like, uh, it's, it's a pain for everyone in, uh, in Europe. As I, as I said, my job is to bring the feedback from the developers and to try to make things change.
- 59:37
So that's, that's part of the, one of the fights I'm fighting at the moment, uh, so that we, uh, we have some, some ways to offer better, a better, uh, exit for, for, or better ways to use a model for, for people in Europe.
- 59:49
'Cause, uh, in Europe, we care about, uh, like data privacy and data sovereignty and all of that. So I know it's a, it's a problem. Um, so the, the, the core of the p- problem in a way, it's, uh, the rule that, uh, at Google Cloud that, uh, every preview model is only available on, uh, global endpoints.
- 1:00:09
Um, so that's, uh, is unlikely to change. But what we are going to try to change is to release, uh, the model in global accessibility, uh, faster. The, the problem we have, we had with Nano Banana 2 and the Pro and, uh, and, uh, like Gemini 3.3 as well, is that we release models too quickly back to
- 1:00:31
back. And so instead of like having, uh, Gemini 3 going GA, we released Gemini 3.1, and so we, like, kind of reset the, the pre- the, the preview counter.
- 1:00:41
Uh, so that's, uh... We, we need to, we need to make, to do something about that. But yeah, I, I know. I, I hear you. It's, uh, it's kind of my P Zero thing that I want to change, um.
- 1:00:52
Thank you.
- 1:00:58
And, like, have you, have you run the notebook at the same time?
- 1:01:01
Yes.
- 1:01:03
Which side were you... Oh, wow. [laughs] [laughs] Did someone else run it at the same time and with a different style and that, uh... Or maybe a different book?
- 1:01:15
Um.
- 1:01:16
No?
- 1:01:16
I, I looked for Frankenstein.
- 1:01:18
Oh.
- 1:01:20
And choose like retro ga-
- 1:01:23
Sure
- 1:01:23
So, so I did the Frankenstein book, and choose like a retro gaming style, and it was quite interesting. So, um,
- 1:01:32
yeah.
- 1:01:33
Yeah.
- 1:01:33
So the character looked very video game-like.
- 1:01:40
Oh, yeah. [laughs] And, um, yeah, the, the main difficulty with, uh, with books like Frankenstein is that sometimes the model is not going to be, uh, allowing t- to, uh, things that are too, like, let's say, graphic that could be happening in the book.
- 1:01:57
So, uh, it can be a bit toned down. Or worse, it's not going to, uh, to accept to, uh, to show the image. Um, yeah. That's why I settled with kids books for the- [laughs] ...
- 1:02:08
for the example. That's easier. [laughs] Ex- except when I was not able to, uh, make, uh, images of c- of, uh, childrens, which was also another limiting factor.
- 1:02:19
Um, yeah. I can show you other... I don't know what, uh, page afterwards is going to show. I can show you an other cool demos that we have related to GenMedia.
- 1:02:30
Um, in the meantime, if, if you have questions, just, uh, raise your hand and, uh, and we can... Up.
- 1:02:38
Uh, up. If we're going back here. See, that's, uh,
- 1:02:46
whatever. Uh, that's the, uh, futuristic neon style of a version of, uh, of Chatter, the, the squirrel. [laughs]
- 1:03:05
Up. Um. I can show you, um, a bit more about Lyria because it's new and, uh, you likely already know everything about Nano Banana. Um,
- 1:03:20
up. So as I said earlier, when you work with, um, with Lyria, the... you always get, uh, two outputs. Well, if you, if you set the modalities to be, uh, they're audio and text, you will get two outputs, and the first output is going to be the, the lyrics, and the second output is going to be the
- 1:03:39
music. Um, and that's actually one of the few model where it's very interesting to use, uh, streaming. So when you do generate content here, you can use generate_content_underscore stream.
- 1:03:52
And what it does that you receive the first part first, and then the second part afterwards. So you get the lyrics first, so if you want to do something, uh, according to the lyrics, like creating an image or, uh, like giving a- this song a title, then you can do it while the music i- is, uh, is
- 1:04:09
still generating, and you don't have to wait for the full output to be, to be there.
- 1:04:14
So you get the, you get the lyrics and you get the timing. So the... this, um, this sentence is going to be said at the beginning, and then after 4.8 sec, it's going to say something else, and so on.
- 1:04:25
So you can, you can hear-
- 1:04:26
The air is still and cold up here. The mountain tops are sharp and clear. And then a streak of gentle gold.
- 1:04:40
So yeah. And then you can do-- and you can provide the same thing. And here it's only, like, you can see m- the last one, it's providing when it starts and when it ends because it wants to have, like, 1.2 second without, uh, without being said at the end.
- 1:04:56
Um, up. Uh, you can also create images from, uh, music from images. So that's one of the thing that I forgot to do in, uh, in today's demo. Like, I should have also gave the, the, the images from the, from the chapter so that it would have been used, uh, as a reference to create the first image.
- 1:05:14
So I use this picture of, uh, like, a grocery list for, for making a pot-au-feu, and then it will come up with a song about doing a pot-au-feu. [dramatic music]
- 1:05:32
What was the prompt again? An epic song with opera voices about this quest.
- 1:05:39
See? It's becoming epic.
- 1:05:43
The scrolls are dry. The ink is ancient. The list is long. The soul is patient. Beef shank and ribs, the holy prize.
- 1:05:59
In the cellar where the shadow lies. The carrots and the turnips weep.
- 1:06:07
And that's so also nice that you can use multiple voices as well.
- 1:06:10
The destiny is at the gate.
- 1:06:12
I'm going to skip ahead a bit.
- 1:06:13
The fate or chance. The time is gone. The celery wilts, the celery wilts. The end is near. The final moment of the quest is here.
- 1:06:29
Bouquet garni, bouquet garni.
- 1:06:31
That's the chorus I like. [laughs]
- 1:06:34
The cloves, the cloves, the salt.
- 1:06:37
So, uh, but then, um, and, oh, I, I talked about the interactions API earlier, about there being all new, uh, ways of using the API. So that's an example using those.
- 1:06:46
So it basically was the same as, uh, the current API. Um, so you give a model, you give an input, and you get re- responsibility modalities. Uh, yeah. Phillip, who worked on that, is not there, so I can say it.
- 1:06:59
I would not have renamed, uh, uh, content to input because it's going to confuse everybody, but that's how it is. Um, and then you get the output and that's, um...
- 1:07:12
And if we can check in the output, I think, no. Uh, yeah. We don't, we don't see it here. But there's, uh... And then it works basically the same way, except you get this, uh, interactions ID that you can use to, uh, to chain things
- 1:07:27
Um, and then that's, uh, yeah, that's one with images and prompting. Um, what you can do as well is you can use the BPM part. So you can... You, you want a song that is very fast or very slow, so that's, that introduces [upbeat music] And I even t- uh, told it to use a reset accelerando illusion, so it
- 1:07:47
gives the, uh, the illusion that the music is getting faster and faster and faster. [upbeat music]
- 1:07:53
So if you want, uh, music for when you do your sports routine, that's, uh, how you do it.
- 1:08:00
And as I said, you can give like, a specific time. So the first 10 second are going to be fast acoustic guitar, and then it goes into piano for 20 sec- for 10 more sec, and then it's full band afterwards, so [upbeat music]
- 1:08:21
Actually, it's not following it. [laughs] Okay, forget, forget what I just saw... showed [laughs] [laughs]
- 1:08:32
For some reason. And then, but the easiest way is like this. You can use the, the... You can give the structure. So that's how I want my intro, that's how I want my verse, that's what I want my outro, and that's 30 second song, so it's not...
- 1:08:45
Like, you, you won't have the chorus, but you can also add the chorus and, uh, the bridge and so on. So, um-
- 1:08:51
The darkness breaks, the shadows fall.
- 1:08:55
Where is it about? Ah, yes, the sunset
- 1:08:57
Hear the dawn's triumphant call. A golden light, a glorious sight. Chasing night with Heaven's might.
- 1:09:13
Our hearts resound for-
- 1:09:15
Yeah. I need to make made a better, like, longer song, I think, for this example. Um, but you can also chain all of that into, uh... Like, everything together.
- 1:09:26
So this is a full song where, uh, from, from the s- uh, first two second I have an intro. I, I can tell exactly which, uh, which scale to use, how intense it's going to be, and then it move to another verse, and so on and so on, and that's, uh, how you can get something very, uh,
- 1:09:43
complex. [slow romantic music] So it starts very, very slow, and then if we move,
- 1:09:52
the drums, uh, and bass started and so on, so we should be in this part. It's still laid back.
- 1:10:00
And, and it's starting to be, yeah, to add grooves and so on. So if you, if you want to create complex things, it's better to use a full song model because it's, uh...
- 1:10:13
The, the, the short one is taking shortcuts to actually build something that is interesting in 30 seconds.
- 1:10:20
And as, as I already showed, you can provide the lyrics, so it's, uh, creating a song about Nano bananas.
- 1:10:25
Yellow peel, a tiny sweet. The Nano banana, a tropical treat. But wait, it hums, it starts to create. Switching into AI mode.
- 1:10:37
Um, but, uh, and, and what's, what's funny as well is that you can use it to create things that are basically not, not, uh, songs. So you can, uh, you can ask it to create, uh, music, but without...
- 1:10:49
With very calm, uh, music in the background and just some- something reading a text or, or, or something like that. So this... And this one I'm using the reasoning capabilities of the model to...
- 1:10:59
And its, its knowledge about what Shakespeare is doing. And so to, to create a text that is basically, uh-
- 1:11:05
The fleeting candle-
- 1:11:06
... something that looks like Shakespearean
- 1:11:07
... of my life burns low. And all my glories to the grave must go.
- 1:11:21
Oh, heavy grace to be at last at peace.
- 1:11:26
And...
- 1:11:29
Grant my weary soul a sweet release
- 1:11:33
And I didn't really tell it to read, so that's why there's still music, but you can, you can really steer it into not having background music at all and, uh, and just, uh, say things.
- 1:11:43
And you... It works also in different languages, so you can, uh, you can just ask it to, uh, to, to, uh, to create songs in all languages that you want.
- 1:11:51
Sometimes there are a few words that are not pronounced the right way. It's still, uh, it's, it's still g- getting better. Uh- [singing] And this one I try to ask Gravit to, um, to use two different languages in the same song and s- and since it's the same as, uh, TTS and live models that we have, it's really
- 1:12:08
good at switching, um, switching the, the, the language in the middle of the, of the generation. [singing]
- 1:12:18
And once again, I'm using the model knowledge of things because it's basically trying to explain how Google Thought is working, uh, in music. [singing]
- 1:12:28
Ole!
- 1:12:29
Um, and instrumental. You, you saw it. So yeah, there's plenty of, uh, very cool things to, uh, to build with, uh, with the Lyria models, so give, give it a try.
- 1:12:37
It's, uh, it's very easy to use and, uh, because everything is in the prompt. So, yeah.
- 1:12:45
Cool.
- 1:12:47
Do you have any other question? No? What do you want, uh, Paige to show you afterwards?
- 1:12:57
Ooh.
- 1:12:57
She has, she has seven more minutes to prepare, uh, something new in her, in her presentation. [laughs]
- 1:13:02
True. Uh, and also just for, uh, for clarification, I'm not sure if this was announced to the, uh, to all of y'all, um, but there are some electrical issues in the building.
- 1:13:12
Um, so, uh, there, uh, y'all are like the lucky valiant few that made it here earlier this morning. Um, the, uh, most of the attendees were not allowed into the building.
- 1:13:24
Um, and so, uh, the, uh... We'll do the session that's coming up at 10:40, but we'll also be bringing back everybody in the afternoon who was going to be presenting in the morning to do kind of like a, a whistle stop tour of all of the Google DeepMind things for the a-
- 1:13:42
So if you would prefer to come back for the afternoon workshop, you can. It'll just be at 1:00 PM.
- 1:13:53
So, and that was the example I was talking about.
- 1:13:56
Ooh.
- 1:13:56
It's just, I don't know where Christmas songs are, but, uh-
- 1:13:59
How can you try this, um, by your own?
- 1:14:02
You just search for Space DJ, and it's available online. [upbeat music]
- 1:14:10
Can you move the, to put the songs, uh, higher? [upbeat music]
- 1:14:22
She chants this, so it, it could be nice. [singing]
- 1:14:26
So the model is not meant to do voices, but it can do some kind of like, uh, vocalizations like that.
- 1:14:34
Uh. [singing] It was not that bad at, uh, using the same voice and switching the style of music and everything.
- 1:14:55
Yeah. And you have an autopilot, so it just moves around and, like, creates music, uh, until you stop it. [singing]
- 1:15:04
Yeah, Southern rock. I think Nashville songs. Yeah. [singing]
- 1:15:19
Yeah, it's not moving fast enough. Let's move s- [laughs] Let's move to another place. [singing]
- 1:15:33
[REDACTED:origin] hip-hop. [rapping] Turn table, turn tables. [rapping]
- 1:15:51
[REDACTED:origin] hip-hop, I guess. [laughs] No, no [REDACTED:origin] here? [laughs]
- 1:15:58
Um, but yeah, that's, uh, that's a very cool model, and, uh, the only thing is that the session ends after 10 minutes so that you- so you have to run it, uh, at, at the time.
- 1:16:08
But, uh, like, in theory it should work. [rapping] That's...
- 1:16:17
It's just missing a search button. Speed metal. [metal music]
- 1:16:30
So I will stop with that. [laughs] But yeah. Give it, give it a try. It's a really cool model to play with.
- 1:16:37
Um, okay. So yeah, I guess that's it. I will still be around if you have other questions, things you want to discuss that you didn't want to be on camera.
- 1:16:49
So yeah. [audience cheering] [audience applauding] Thank you. [upbeat music]