From 3bac3d81f2394a75e7e44c63efc87edd2a100490 Mon Sep 17 00:00:00 2001 From: russellwheatley Date: Thu, 7 Aug 2025 12:05:35 +0100 Subject: [PATCH] feat(firebase-ai): Imagen model support - includes docs update with example usage - includes unit tests and a local manual test in e2e app ---- Co-authored-by: Daniel La Rocque Co-authored-by: hsubox76 Co-authored-by: Tanzim Hossain Co-authored-by: Josh Soref <2119212+jsoref@users.noreply.github.com> Co-authored-by: DellaBitta --- .spellcheck.dict.txt | 1 + docs/ai/usage/index.md | 34 +++ packages/ai/__tests__/ai-model.test.ts | 138 ++++++++++ packages/ai/__tests__/count-tokens.test.ts | 4 +- packages/ai/__tests__/imagen-model.test.ts | 162 +++++++++++ packages/ai/lib/index.ts | 32 ++- packages/ai/lib/models/imagen-model.ts | 158 +++++++++++ packages/ai/lib/models/index.ts | 1 + .../ai/lib/requests/imagen-image-format.ts | 78 ++++++ packages/ai/lib/requests/request-helpers.ts | 42 +++ packages/ai/lib/requests/request.ts | 1 + packages/ai/lib/requests/response-helpers.ts | 52 ++++ packages/ai/lib/types/imagen/index.ts | 19 ++ packages/ai/lib/types/imagen/internal.ts | 129 +++++++++ packages/ai/lib/types/imagen/requests.ts | 257 ++++++++++++++++++ packages/ai/lib/types/imagen/responses.ts | 82 ++++++ packages/ai/lib/types/index.ts | 1 + tests/local-tests/ai/{ai.js => ai.tsx} | 169 ++++++++---- tests/local-tests/vertexai/base-64-media.ts | 36 +++ tests/package.json | 1 + yarn.lock | 1 + 21 files changed, 1346 insertions(+), 52 deletions(-) create mode 100644 packages/ai/__tests__/ai-model.test.ts create mode 100644 packages/ai/__tests__/imagen-model.test.ts create mode 100644 packages/ai/lib/models/imagen-model.ts create mode 100644 packages/ai/lib/requests/imagen-image-format.ts create mode 100644 packages/ai/lib/types/imagen/index.ts create mode 100644 packages/ai/lib/types/imagen/internal.ts create mode 100644 packages/ai/lib/types/imagen/requests.ts create mode 100644 packages/ai/lib/types/imagen/responses.ts rename tests/local-tests/ai/{ai.js => ai.tsx} (63%) create mode 100644 tests/local-tests/vertexai/base-64-media.ts diff --git a/.spellcheck.dict.txt b/.spellcheck.dict.txt index 498969c4a2..4d9306b7f5 100644 --- a/.spellcheck.dict.txt +++ b/.spellcheck.dict.txt @@ -91,6 +91,7 @@ Homebrew HTTP HTTPS IDFA +Imagen installable integrations Intellisense diff --git a/docs/ai/usage/index.md b/docs/ai/usage/index.md index a47cf39142..b0524a6470 100644 --- a/docs/ai/usage/index.md +++ b/docs/ai/usage/index.md @@ -394,6 +394,40 @@ function App() { } ``` +## Generating images from text + +You can ask an Imagen model to generate a single image or multiple image by prompting with text: + +```js +