Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Image Generation support using Imagen #8683

Merged
merged 37 commits into from
Feb 21, 2025
Merged

Add Image Generation support using Imagen #8683

merged 37 commits into from
Feb 21, 2025

Conversation

dlarocque
Copy link
Contributor

@dlarocque dlarocque commented Dec 17, 2024

Adds Image Generation support using Imagen.

See go/firebase-vertex-imagen-api (internal) for all API changes.

In addition to the Imagen API, this also introduces a new VertexAIModel class. This base class eliminates the duplicate logic in GenerativeModel and ImagenModel for initializing the API settings and fully qualified model name.

Copy link

changeset-bot bot commented Dec 17, 2024

🦋 Changeset detected

Latest commit: 4a306fa

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 2 packages
Name Type
firebase Minor
@firebase/vertexai Minor

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

Copy link
Contributor

@hsubox76 hsubox76 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks pretty good, just some nits (mostly about doc formatting) and small questions.

@dlarocque dlarocque changed the title WIP Add Image Generation support with Imagen Jan 3, 2025
@dlarocque dlarocque changed the title Add Image Generation support with Imagen Add Image Generation support using Imagen Jan 3, 2025
@google-oss-bot
Copy link
Contributor

google-oss-bot commented Jan 3, 2025

Size Report 1

Affected Products

  • @firebase/app-check

    TypeBase (b92592d)Merge (02ce42e)Diff
    browser26.3 kB26.4 kB+128 B (+0.5%)
    main27.3 kB27.4 kB+128 B (+0.5%)
    module26.3 kB26.4 kB+128 B (+0.5%)
  • @firebase/vertexai

    TypeBase (b92592d)Merge (02ce42e)Diff
    browser29.2 kB33.7 kB+4.51 kB (+15.4%)
    main30.0 kB34.7 kB+4.61 kB (+15.3%)
    module29.2 kB33.7 kB+4.51 kB (+15.4%)
  • bundle

    TypeBase (b92592d)Merge (02ce42e)Diff
    app-check (CustomProvider)37.4 kB37.5 kB+102 B (+0.3%)
    app-check (ReCaptchaEnterpriseProvider)39.9 kB40.0 kB+102 B (+0.3%)
    app-check (ReCaptchaV3Provider)39.9 kB40.0 kB+102 B (+0.3%)
  • firebase

    TypeBase (b92592d)Merge (02ce42e)Diff
    firebase-app-check-compat.js22.6 kB22.7 kB+89 B (+0.4%)
    firebase-app-check.js24.9 kB25.0 kB+101 B (+0.4%)
    firebase-compat.js792 kB792 kB+92 B (+0.0%)
    firebase-vertexai.js24.4 kB27.5 kB+3.05 kB (+12.5%)

Test Logs

  1. https://storage.googleapis.com/firebase-sdk-metric-reports/uUUO5QJZlb.html

@google-oss-bot
Copy link
Contributor

google-oss-bot commented Jan 3, 2025

Size Analysis Report 1

Affected Products

  • @firebase/app-check

    • initializeAppCheck

      Size

      TypeBase (b92592d)Merge (02ce42e)Diff
      size11.2 kB11.3 kB+100 B (+0.9%)
      size-with-ext-deps36.4 kB36.5 kB+102 B (+0.3%)
  • @firebase/vertexai

    • ArraySchema

      Size

      TypeBase (b92592d)Merge (02ce42e)Diff
      size4.61 kB5.10 kB+493 B (+10.7%)
      size-with-ext-deps22.5 kB23.0 kB+502 B (+2.2%)

      Dependency

      TypeBase (b92592d)Merge (02ce42e)Diff
      variables

      14 dependencies

      BlockReason
      DEFAULT_LOCATION
      FinishReason
      FunctionCallingMode
      HarmBlockMethod
      HarmBlockThreshold
      HarmCategory
      HarmProbability
      HarmSeverity
      SchemaType
      Task
      VERTEX_TYPE
      name
      version

      17 dependencies

      BlockReason
      DEFAULT_LOCATION
      FinishReason
      FunctionCallingMode
      HarmBlockMethod
      HarmBlockThreshold
      HarmCategory
      HarmProbability
      HarmSeverity
      ImagenAspectRatio
      ImagenPersonFilterLevel
      ImagenSafetyFilterLevel
      SchemaType
      Task
      VERTEX_TYPE
      name
      version

      + ImagenAspectRatio
      + ImagenPersonFilterLevel
      + ImagenSafetyFilterLevel

    • BlockReason

      Size

      TypeBase (b92592d)Merge (02ce42e)Diff
      size2.52 kB3.01 kB+493 B (+19.6%)
      size-with-ext-deps20.4 kB20.9 kB+502 B (+2.5%)

      Dependency

      TypeBase (b92592d)Merge (02ce42e)Diff
      variables

      14 dependencies

      BlockReason
      DEFAULT_LOCATION
      FinishReason
      FunctionCallingMode
      HarmBlockMethod
      HarmBlockThreshold
      HarmCategory
      HarmProbability
      HarmSeverity
      SchemaType
      Task
      VERTEX_TYPE
      name
      version

      17 dependencies

      BlockReason
      DEFAULT_LOCATION
      FinishReason
      FunctionCallingMode
      HarmBlockMethod
      HarmBlockThreshold
      HarmCategory
      HarmProbability
      HarmSeverity
      ImagenAspectRatio
      ImagenPersonFilterLevel
      ImagenSafetyFilterLevel
      SchemaType
      Task
      VERTEX_TYPE
      name
      version

      + ImagenAspectRatio
      + ImagenPersonFilterLevel
      + ImagenSafetyFilterLevel

    • BooleanSchema

      Size

      TypeBase (b92592d)Merge (02ce42e)Diff
      size4.61 kB5.11 kB+493 B (+10.7%)
      size-with-ext-deps22.5 kB23.0 kB+502 B (+2.2%)

      Dependency

      TypeBase (b92592d)Merge (02ce42e)Diff
      variables

      14 dependencies

      BlockReason
      DEFAULT_LOCATION
      FinishReason
      FunctionCallingMode
      HarmBlockMethod
      HarmBlockThreshold
      HarmCategory
      HarmProbability
      HarmSeverity
      SchemaType
      Task
      VERTEX_TYPE
      name
      version

      17 dependencies

      BlockReason
      DEFAULT_LOCATION
      FinishReason
      FunctionCallingMode
      HarmBlockMethod
      HarmBlockThreshold
      HarmCategory
      HarmProbability
      HarmSeverity
      ImagenAspectRatio
      ImagenPersonFilterLevel
      ImagenSafetyFilterLevel
      SchemaType
      Task
      VERTEX_TYPE
      name
      version

      + ImagenAspectRatio
      + ImagenPersonFilterLevel
      + ImagenSafetyFilterLevel

    • ChatSession

      Size

      TypeBase (b92592d)Merge (02ce42e)Diff
      size14.8 kB15.3 kB+500 B (+3.4%)
      size-with-ext-deps33.7 kB34.2 kB+502 B (+1.5%)

      Dependency

      TypeBase (b92592d)Merge (02ce42e)Diff
      variables

      27 dependencies

      BlockReason
      DEFAULT_API_VERSION
      DEFAULT_BASE_URL
      DEFAULT_FETCH_TIMEOUT_MS
      DEFAULT_LOCATION
      FinishReason
      FunctionCallingMode
      HarmBlockMethod
      HarmBlockThreshold
      HarmCategory
      HarmProbability
      HarmSeverity
      LANGUAGE_TAG
      PACKAGE_VERSION
      POSSIBLE_ROLES
      SILENT_ERROR
      SchemaType
      Task
      VALID_PARTS_PER_ROLE
      VALID_PART_FIELDS
      VALID_PREVIOUS_CONTENT_ROLES
      VERTEX_TYPE
      badFinishReasons
      logger
      name
      responseLineRE
      version

      30 dependencies

      BlockReason
      DEFAULT_API_VERSION
      DEFAULT_BASE_URL
      DEFAULT_FETCH_TIMEOUT_MS
      DEFAULT_LOCATION
      FinishReason
      FunctionCallingMode
      HarmBlockMethod
      HarmBlockThreshold
      HarmCategory
      HarmProbability
      HarmSeverity
      ImagenAspectRatio
      ImagenPersonFilterLevel
      ImagenSafetyFilterLevel
      LANGUAGE_TAG
      PACKAGE_VERSION
      POSSIBLE_ROLES
      SILENT_ERROR
      SchemaType
      Task
      VALID_PARTS_PER_ROLE
      VALID_PART_FIELDS
      VALID_PREVIOUS_CONTENT_ROLES
      VERTEX_TYPE
      badFinishReasons
      logger
      name
      responseLineRE
      version

      + ImagenAspectRatio
      + ImagenPersonFilterLevel
      + ImagenSafetyFilterLevel

    • FinishReason

      Size

      TypeBase (b92592d)Merge (02ce42e)Diff
      size2.52 kB3.01 kB+493 B (+19.6%)
      size-with-ext-deps20.4 kB20.9 kB+502 B (+2.5%)

      Dependency

      TypeBase (b92592d)Merge (02ce42e)Diff
      variables

      14 dependencies

      BlockReason
      DEFAULT_LOCATION
      FinishReason
      FunctionCallingMode
      HarmBlockMethod
      HarmBlockThreshold
      HarmCategory
      HarmProbability
      HarmSeverity
      SchemaType
      Task
      VERTEX_TYPE
      name
      version

      17 dependencies

      BlockReason
      DEFAULT_LOCATION
      FinishReason
      FunctionCallingMode
      HarmBlockMethod
      HarmBlockThreshold
      HarmCategory
      HarmProbability
      HarmSeverity
      ImagenAspectRatio
      ImagenPersonFilterLevel
      ImagenSafetyFilterLevel
      SchemaType
      Task
      VERTEX_TYPE
      name
      version

      + ImagenAspectRatio
      + ImagenPersonFilterLevel
      + ImagenSafetyFilterLevel

    • FunctionCallingMode

      Size

      TypeBase (b92592d)Merge (02ce42e)Diff
      size2.53 kB3.02 kB+493 B (+19.5%)
      size-with-ext-deps20.4 kB20.9 kB+502 B (+2.5%)

      Dependency

      TypeBase (b92592d)Merge (02ce42e)Diff
      variables

      14 dependencies

      BlockReason
      DEFAULT_LOCATION
      FinishReason
      FunctionCallingMode
      HarmBlockMethod
      HarmBlockThreshold
      HarmCategory
      HarmProbability
      HarmSeverity
      SchemaType
      Task
      VERTEX_TYPE
      name
      version

      17 dependencies

      BlockReason
      DEFAULT_LOCATION
      FinishReason
      FunctionCallingMode
      HarmBlockMethod
      HarmBlockThreshold
      HarmCategory
      HarmProbability
      HarmSeverity
      ImagenAspectRatio
      ImagenPersonFilterLevel
      ImagenSafetyFilterLevel
      SchemaType
      Task
      VERTEX_TYPE
      name
      version

      + ImagenAspectRatio
      + ImagenPersonFilterLevel
      + ImagenSafetyFilterLevel

    • GenerativeModel

      Size

      TypeBase (b92592d)Merge (02ce42e)Diff
      size17.5 kB18.1 kB+581 B (+3.3%)
      size-with-ext-deps36.5 kB37.0 kB+581 B (+1.6%)

      Dependency

      TypeBase (b92592d)Merge (02ce42e)Diff
      classes

      ChatSession
      GenerativeModel
      RequestUrl
      VertexAIError
      VertexAIService

      ChatSession
      GenerativeModel
      RequestUrl
      VertexAIError
      VertexAIModel
      VertexAIService

      + VertexAIModel

      variables

      27 dependencies

      BlockReason
      DEFAULT_API_VERSION
      DEFAULT_BASE_URL
      DEFAULT_FETCH_TIMEOUT_MS
      DEFAULT_LOCATION
      FinishReason
      FunctionCallingMode
      HarmBlockMethod
      HarmBlockThreshold
      HarmCategory
      HarmProbability
      HarmSeverity
      LANGUAGE_TAG
      PACKAGE_VERSION
      POSSIBLE_ROLES
      SILENT_ERROR
      SchemaType
      Task
      VALID_PARTS_PER_ROLE
      VALID_PART_FIELDS
      VALID_PREVIOUS_CONTENT_ROLES
      VERTEX_TYPE
      badFinishReasons
      logger
      name
      responseLineRE
      version

      30 dependencies

      BlockReason
      DEFAULT_API_VERSION
      DEFAULT_BASE_URL
      DEFAULT_FETCH_TIMEOUT_MS
      DEFAULT_LOCATION
      FinishReason
      FunctionCallingMode
      HarmBlockMethod
      HarmBlockThreshold
      HarmCategory
      HarmProbability
      HarmSeverity
      ImagenAspectRatio
      ImagenPersonFilterLevel
      ImagenSafetyFilterLevel
      LANGUAGE_TAG
      PACKAGE_VERSION
      POSSIBLE_ROLES
      SILENT_ERROR
      SchemaType
      Task
      VALID_PARTS_PER_ROLE
      VALID_PART_FIELDS
      VALID_PREVIOUS_CONTENT_ROLES
      VERTEX_TYPE
      badFinishReasons
      logger
      name
      responseLineRE
      version

      + ImagenAspectRatio
      + ImagenPersonFilterLevel
      + ImagenSafetyFilterLevel

    • HarmBlockMethod

      Size

      TypeBase (b92592d)Merge (02ce42e)Diff
      size2.52 kB3.02 kB+493 B (+19.5%)
      size-with-ext-deps20.4 kB20.9 kB+502 B (+2.5%)

      Dependency

      TypeBase (b92592d)Merge (02ce42e)Diff
      variables

      14 dependencies

      BlockReason
      DEFAULT_LOCATION
      FinishReason
      FunctionCallingMode
      HarmBlockMethod
      HarmBlockThreshold
      HarmCategory
      HarmProbability
      HarmSeverity
      SchemaType
      Task
      VERTEX_TYPE
      name
      version

      17 dependencies

      BlockReason
      DEFAULT_LOCATION
      FinishReason
      FunctionCallingMode
      HarmBlockMethod
      HarmBlockThreshold
      HarmCategory
      HarmProbability
      HarmSeverity
      ImagenAspectRatio
      ImagenPersonFilterLevel
      ImagenSafetyFilterLevel
      SchemaType
      Task
      VERTEX_TYPE
      name
      version

      + ImagenAspectRatio
      + ImagenPersonFilterLevel
      + ImagenSafetyFilterLevel

    • HarmBlockThreshold

      Size

      TypeBase (b92592d)Merge (02ce42e)Diff
      size2.53 kB3.02 kB+493 B (+19.5%)
      size-with-ext-deps20.4 kB20.9 kB+502 B (+2.5%)

      Dependency

      TypeBase (b92592d)Merge (02ce42e)Diff
      variables

      14 dependencies

      BlockReason
      DEFAULT_LOCATION
      FinishReason
      FunctionCallingMode
      HarmBlockMethod
      HarmBlockThreshold
      HarmCategory
      HarmProbability
      HarmSeverity
      SchemaType
      Task
      VERTEX_TYPE
      name
      version

      17 dependencies

      BlockReason
      DEFAULT_LOCATION
      FinishReason
      FunctionCallingMode
      HarmBlockMethod
      HarmBlockThreshold
      HarmCategory
      HarmProbability
      HarmSeverity
      ImagenAspectRatio
      ImagenPersonFilterLevel
      ImagenSafetyFilterLevel
      SchemaType
      Task
      VERTEX_TYPE
      name
      version

      + ImagenAspectRatio
      + ImagenPersonFilterLevel
      + ImagenSafetyFilterLevel

    • HarmCategory

      Size

      TypeBase (b92592d)Merge (02ce42e)Diff
      size2.52 kB3.01 kB+493 B (+19.6%)
      size-with-ext-deps20.4 kB20.9 kB+502 B (+2.5%)

      Dependency

      TypeBase (b92592d)Merge (02ce42e)Diff
      variables

      14 dependencies

      BlockReason
      DEFAULT_LOCATION
      FinishReason
      FunctionCallingMode
      HarmBlockMethod
      HarmBlockThreshold
      HarmCategory
      HarmProbability
      HarmSeverity
      SchemaType
      Task
      VERTEX_TYPE
      name
      version

      17 dependencies

      BlockReason
      DEFAULT_LOCATION
      FinishReason
      FunctionCallingMode
      HarmBlockMethod
      HarmBlockThreshold
      HarmCategory
      HarmProbability
      HarmSeverity
      ImagenAspectRatio
      ImagenPersonFilterLevel
      ImagenSafetyFilterLevel
      SchemaType
      Task
      VERTEX_TYPE
      name
      version

      + ImagenAspectRatio
      + ImagenPersonFilterLevel
      + ImagenSafetyFilterLevel

    • HarmProbability

      Size

      TypeBase (b92592d)Merge (02ce42e)Diff
      size2.52 kB3.02 kB+493 B (+19.5%)
      size-with-ext-deps20.4 kB20.9 kB+502 B (+2.5%)

      Dependency

      TypeBase (b92592d)Merge (02ce42e)Diff
      variables

      14 dependencies

      BlockReason
      DEFAULT_LOCATION
      FinishReason
      FunctionCallingMode
      HarmBlockMethod
      HarmBlockThreshold
      HarmCategory
      HarmProbability
      HarmSeverity
      SchemaType
      Task
      VERTEX_TYPE
      name
      version

      17 dependencies

      BlockReason
      DEFAULT_LOCATION
      FinishReason
      FunctionCallingMode
      HarmBlockMethod
      HarmBlockThreshold
      HarmCategory
      HarmProbability
      HarmSeverity
      ImagenAspectRatio
      ImagenPersonFilterLevel
      ImagenSafetyFilterLevel
      SchemaType
      Task
      VERTEX_TYPE
      name
      version

      + ImagenAspectRatio
      + ImagenPersonFilterLevel
      + ImagenSafetyFilterLevel

    • HarmSeverity

      Size

      TypeBase (b92592d)Merge (02ce42e)Diff
      size2.52 kB3.01 kB+493 B (+19.6%)
      size-with-ext-deps20.4 kB20.9 kB+502 B (+2.5%)

      Dependency

      TypeBase (b92592d)Merge (02ce42e)Diff
      variables

      14 dependencies

      BlockReason
      DEFAULT_LOCATION
      FinishReason
      FunctionCallingMode
      HarmBlockMethod
      HarmBlockThreshold
      HarmCategory
      HarmProbability
      HarmSeverity
      SchemaType
      Task
      VERTEX_TYPE
      name
      version

      17 dependencies

      BlockReason
      DEFAULT_LOCATION
      FinishReason
      FunctionCallingMode
      HarmBlockMethod
      HarmBlockThreshold
      HarmCategory
      HarmProbability
      HarmSeverity
      ImagenAspectRatio
      ImagenPersonFilterLevel
      ImagenSafetyFilterLevel
      SchemaType
      Task
      VERTEX_TYPE
      name
      version

      + ImagenAspectRatio
      + ImagenPersonFilterLevel
      + ImagenSafetyFilterLevel

    • ImagenAspectRatio

      Size

      TypeBase (b92592d)Merge (02ce42e)Diff
      size?3.02 kB? (?)
      size-with-ext-deps?20.9 kB? (?)

      Dependency

      TypeBase (b92592d)Merge (02ce42e)Diff
      functions?

      registerVertex

      ?
      classes?

      VertexAIService

      ?
      variables?

      17 dependencies

      BlockReason
      DEFAULT_LOCATION
      FinishReason
      FunctionCallingMode
      HarmBlockMethod
      HarmBlockThreshold
      HarmCategory
      HarmProbability
      HarmSeverity
      ImagenAspectRatio
      ImagenPersonFilterLevel
      ImagenSafetyFilterLevel
      SchemaType
      Task
      VERTEX_TYPE
      name
      version

      ?
      enums??

      External Dependency

      ModuleBase (b92592d)Merge (02ce42e)Diff
      @firebase/app?

      _registerComponent
      registerVersion

      ?
      @firebase/component?

      Component

      ?
      @firebase/logger?

      Logger

      ?
    • ImagenImageFormat

      Size

      TypeBase (b92592d)Merge (02ce42e)Diff
      size?3.30 kB? (?)
      size-with-ext-deps?21.2 kB? (?)

      Dependency

      TypeBase (b92592d)Merge (02ce42e)Diff
      functions?

      registerVertex

      ?
      classes?

      ImagenImageFormat
      VertexAIService

      ?
      variables?

      18 dependencies

      BlockReason
      DEFAULT_LOCATION
      FinishReason
      FunctionCallingMode
      HarmBlockMethod
      HarmBlockThreshold
      HarmCategory
      HarmProbability
      HarmSeverity
      ImagenAspectRatio
      ImagenPersonFilterLevel
      ImagenSafetyFilterLevel
      SchemaType
      Task
      VERTEX_TYPE
      logger
      name
      version

      ?
      enums??

      External Dependency

      ModuleBase (b92592d)Merge (02ce42e)Diff
      @firebase/app?

      _registerComponent
      registerVersion

      ?
      @firebase/component?

      Component

      ?
      @firebase/logger?

      Logger

      ?
    • ImagenModel

      Size

      TypeBase (b92592d)Merge (02ce42e)Diff
      size?9.23 kB? (?)
      size-with-ext-deps?27.2 kB? (?)

      Dependency

      TypeBase (b92592d)Merge (02ce42e)Diff
      functions?

      constructRequest
      createPredictRequestBody
      getClientHeaders
      getHeaders
      handlePredictResponse
      makeRequest
      registerVertex

      ?
      classes?

      ImagenModel
      RequestUrl
      VertexAIError
      VertexAIModel
      VertexAIService

      ?
      variables?

      23 dependencies

      BlockReason
      DEFAULT_API_VERSION
      DEFAULT_BASE_URL
      DEFAULT_FETCH_TIMEOUT_MS
      DEFAULT_LOCATION
      FinishReason
      FunctionCallingMode
      HarmBlockMethod
      HarmBlockThreshold
      HarmCategory
      HarmProbability
      HarmSeverity
      ImagenAspectRatio
      ImagenPersonFilterLevel
      ImagenSafetyFilterLevel
      LANGUAGE_TAG
      PACKAGE_VERSION
      SchemaType
      Task
      VERTEX_TYPE
      logger
      name
      version

      ?
      enums??

      External Dependency

      ModuleBase (b92592d)Merge (02ce42e)Diff
      @firebase/app?

      _isFirebaseServerApp
      _registerComponent
      registerVersion

      ?
      @firebase/component?

      Component

      ?
      @firebase/logger?

      Logger

      ?
      @firebase/util?

      FirebaseError

      ?
    • ImagenPersonFilterLevel

      Size

      TypeBase (b92592d)Merge (02ce42e)Diff
      size?3.03 kB? (?)
      size-with-ext-deps?20.9 kB? (?)

      Dependency

      TypeBase (b92592d)Merge (02ce42e)Diff
      functions?

      registerVertex

      ?
      classes?

      VertexAIService

      ?
      variables?

      17 dependencies

      BlockReason
      DEFAULT_LOCATION
      FinishReason
      FunctionCallingMode
      HarmBlockMethod
      HarmBlockThreshold
      HarmCategory
      HarmProbability
      HarmSeverity
      ImagenAspectRatio
      ImagenPersonFilterLevel
      ImagenSafetyFilterLevel
      SchemaType
      Task
      VERTEX_TYPE
      name
      version

      ?
      enums??

      External Dependency

      ModuleBase (b92592d)Merge (02ce42e)Diff
      @firebase/app?

      _registerComponent
      registerVersion

      ?
      @firebase/component?

      Component

      ?
      @firebase/logger?

      Logger

      ?
    • ImagenSafetyFilterLevel

      Size

      TypeBase (b92592d)Merge (02ce42e)Diff
      size?3.03 kB? (?)
      size-with-ext-deps?20.9 kB? (?)

      Dependency

      TypeBase (b92592d)Merge (02ce42e)Diff
      functions?

      registerVertex

      ?
      classes?

      VertexAIService

      ?
      variables?

      17 dependencies

      BlockReason
      DEFAULT_LOCATION
      FinishReason
      FunctionCallingMode
      HarmBlockMethod
      HarmBlockThreshold
      HarmCategory
      HarmProbability
      HarmSeverity
      ImagenAspectRatio
      ImagenPersonFilterLevel
      ImagenSafetyFilterLevel
      SchemaType
      Task
      VERTEX_TYPE
      name
      version

      ?
      enums??

      External Dependency

      ModuleBase (b92592d)Merge (02ce42e)Diff
      @firebase/app?

      _registerComponent
      registerVersion

      ?
      @firebase/component?

      Component

      ?
      @firebase/logger?

      Logger

      ?
    • IntegerSchema

      Size

      TypeBase (b92592d)Merge (02ce42e)Diff
      size4.61 kB5.11 kB+493 B (+10.7%)
      size-with-ext-deps22.5 kB23.0 kB+502 B (+2.2%)

      Dependency

      TypeBase (b92592d)Merge (02ce42e)Diff
      variables

      14 dependencies

      BlockReason
      DEFAULT_LOCATION
      FinishReason
      FunctionCallingMode
      HarmBlockMethod
      HarmBlockThreshold
      HarmCategory
      HarmProbability
      HarmSeverity
      SchemaType
      Task
      VERTEX_TYPE
      name
      version

      17 dependencies

      BlockReason
      DEFAULT_LOCATION
      FinishReason
      FunctionCallingMode
      HarmBlockMethod
      HarmBlockThreshold
      HarmCategory
      HarmProbability
      HarmSeverity
      ImagenAspectRatio
      ImagenPersonFilterLevel
      ImagenSafetyFilterLevel
      SchemaType
      Task
      VERTEX_TYPE
      name
      version

      + ImagenAspectRatio
      + ImagenPersonFilterLevel
      + ImagenSafetyFilterLevel

    • NumberSchema

      Size

      TypeBase (b92592d)Merge (02ce42e)Diff
      size4.61 kB5.10 kB+493 B (+10.7%)
      size-with-ext-deps22.5 kB23.0 kB+502 B (+2.2%)

      Dependency

      TypeBase (b92592d)Merge (02ce42e)Diff
      variables

      14 dependencies

      BlockReason
      DEFAULT_LOCATION
      FinishReason
      FunctionCallingMode
      HarmBlockMethod
      HarmBlockThreshold
      HarmCategory
      HarmProbability
      HarmSeverity
      SchemaType
      Task
      VERTEX_TYPE
      name
      version

      17 dependencies

      BlockReason
      DEFAULT_LOCATION
      FinishReason
      FunctionCallingMode
      HarmBlockMethod
      HarmBlockThreshold
      HarmCategory
      HarmProbability
      HarmSeverity
      ImagenAspectRatio
      ImagenPersonFilterLevel
      ImagenSafetyFilterLevel
      SchemaType
      Task
      VERTEX_TYPE
      name
      version

      + ImagenAspectRatio
      + ImagenPersonFilterLevel
      + ImagenSafetyFilterLevel

    • ObjectSchema

      Size

      TypeBase (b92592d)Merge (02ce42e)Diff
      size4.61 kB5.10 kB+493 B (+10.7%)
      size-with-ext-deps22.5 kB23.0 kB+502 B (+2.2%)

      Dependency

      TypeBase (b92592d)Merge (02ce42e)Diff
      variables

      14 dependencies

      BlockReason
      DEFAULT_LOCATION
      FinishReason
      FunctionCallingMode
      HarmBlockMethod
      HarmBlockThreshold
      HarmCategory
      HarmProbability
      HarmSeverity
      SchemaType
      Task
      VERTEX_TYPE
      name
      version

      17 dependencies

      BlockReason
      DEFAULT_LOCATION
      FinishReason
      FunctionCallingMode
      HarmBlockMethod
      HarmBlockThreshold
      HarmCategory
      HarmProbability
      HarmSeverity
      ImagenAspectRatio
      ImagenPersonFilterLevel
      ImagenSafetyFilterLevel
      SchemaType
      Task
      VERTEX_TYPE
      name
      version

      + ImagenAspectRatio
      + ImagenPersonFilterLevel
      + ImagenSafetyFilterLevel

    • POSSIBLE_ROLES

      Size

      TypeBase (b92592d)Merge (02ce42e)Diff
      size2.57 kB3.06 kB+493 B (+19.2%)
      size-with-ext-deps20.5 kB21.0 kB+502 B (+2.5%)

      Dependency

      TypeBase (b92592d)Merge (02ce42e)Diff
      variables

      15 dependencies

      BlockReason
      DEFAULT_LOCATION
      FinishReason
      FunctionCallingMode
      HarmBlockMethod
      HarmBlockThreshold
      HarmCategory
      HarmProbability
      HarmSeverity
      POSSIBLE_ROLES
      SchemaType
      Task
      VERTEX_TYPE
      name
      version

      18 dependencies

      BlockReason
      DEFAULT_LOCATION
      FinishReason
      FunctionCallingMode
      HarmBlockMethod
      HarmBlockThreshold
      HarmCategory
      HarmProbability
      HarmSeverity
      ImagenAspectRatio
      ImagenPersonFilterLevel
      ImagenSafetyFilterLevel
      POSSIBLE_ROLES
      SchemaType
      Task
      VERTEX_TYPE
      name
      version

      + ImagenAspectRatio
      + ImagenPersonFilterLevel
      + ImagenSafetyFilterLevel

    • Schema

      Size

      TypeBase (b92592d)Merge (02ce42e)Diff
      size4.61 kB5.10 kB+493 B (+10.7%)
      size-with-ext-deps22.5 kB23.0 kB+502 B (+2.2%)

      Dependency

      TypeBase (b92592d)Merge (02ce42e)Diff
      variables

      14 dependencies

      BlockReason
      DEFAULT_LOCATION
      FinishReason
      FunctionCallingMode
      HarmBlockMethod
      HarmBlockThreshold
      HarmCategory
      HarmProbability
      HarmSeverity
      SchemaType
      Task
      VERTEX_TYPE
      name
      version

      17 dependencies

      BlockReason
      DEFAULT_LOCATION
      FinishReason
      FunctionCallingMode
      HarmBlockMethod
      HarmBlockThreshold
      HarmCategory
      HarmProbability
      HarmSeverity
      ImagenAspectRatio
      ImagenPersonFilterLevel
      ImagenSafetyFilterLevel
      SchemaType
      Task
      VERTEX_TYPE
      name
      version

      + ImagenAspectRatio
      + ImagenPersonFilterLevel
      + ImagenSafetyFilterLevel

    • SchemaType

      Size

      TypeBase (b92592d)Merge (02ce42e)Diff
      size2.52 kB3.01 kB+493 B (+19.6%)
      size-with-ext-deps20.4 kB20.9 kB+502 B (+2.5%)

      Dependency

      TypeBase (b92592d)Merge (02ce42e)Diff
      variables

      14 dependencies

      BlockReason
      DEFAULT_LOCATION
      FinishReason
      FunctionCallingMode
      HarmBlockMethod
      HarmBlockThreshold
      HarmCategory
      HarmProbability
      HarmSeverity
      SchemaType
      Task
      VERTEX_TYPE
      name
      version

      17 dependencies

      BlockReason
      DEFAULT_LOCATION
      FinishReason
      FunctionCallingMode
      HarmBlockMethod
      HarmBlockThreshold
      HarmCategory
      HarmProbability
      HarmSeverity
      ImagenAspectRatio
      ImagenPersonFilterLevel
      ImagenSafetyFilterLevel
      SchemaType
      Task
      VERTEX_TYPE
      name
      version

      + ImagenAspectRatio
      + ImagenPersonFilterLevel
      + ImagenSafetyFilterLevel

    • StringSchema

      Size

      TypeBase (b92592d)Merge (02ce42e)Diff
      size4.61 kB5.10 kB+493 B (+10.7%)
      size-with-ext-deps22.5 kB23.0 kB+502 B (+2.2%)

      Dependency

      TypeBase (b92592d)Merge (02ce42e)Diff
      variables

      14 dependencies

      BlockReason
      DEFAULT_LOCATION
      FinishReason
      FunctionCallingMode
      HarmBlockMethod
      HarmBlockThreshold
      HarmCategory
      HarmProbability
      HarmSeverity
      SchemaType
      Task
      VERTEX_TYPE
      name
      version

      17 dependencies

      BlockReason
      DEFAULT_LOCATION
      FinishReason
      FunctionCallingMode
      HarmBlockMethod
      HarmBlockThreshold
      HarmCategory
      HarmProbability
      HarmSeverity
      ImagenAspectRatio
      ImagenPersonFilterLevel
      ImagenSafetyFilterLevel
      SchemaType
      Task
      VERTEX_TYPE
      name
      version

      + ImagenAspectRatio
      + ImagenPersonFilterLevel
      + ImagenSafetyFilterLevel

    • VertexAIError

      Size

      TypeBase (b92592d)Merge (02ce42e)Diff
      size2.83 kB3.32 kB+493 B (+17.4%)
      size-with-ext-deps20.7 kB21.2 kB+502 B (+2.4%)

      Dependency

      TypeBase (b92592d)Merge (02ce42e)Diff
      variables

      14 dependencies

      BlockReason
      DEFAULT_LOCATION
      FinishReason
      FunctionCallingMode
      HarmBlockMethod
      HarmBlockThreshold
      HarmCategory
      HarmProbability
      HarmSeverity
      SchemaType
      Task
      VERTEX_TYPE
      name
      version

      17 dependencies

      BlockReason
      DEFAULT_LOCATION
      FinishReason
      FunctionCallingMode
      HarmBlockMethod
      HarmBlockThreshold
      HarmCategory
      HarmProbability
      HarmSeverity
      ImagenAspectRatio
      ImagenPersonFilterLevel
      ImagenSafetyFilterLevel
      SchemaType
      Task
      VERTEX_TYPE
      name
      version

      + ImagenAspectRatio
      + ImagenPersonFilterLevel
      + ImagenSafetyFilterLevel

    • VertexAIModel

      Size

      TypeBase (b92592d)Merge (02ce42e)Diff
      size?4.49 kB? (?)
      size-with-ext-deps?22.4 kB? (?)

      Dependency

      TypeBase (b92592d)Merge (02ce42e)Diff
      functions?

      registerVertex

      ?
      classes?

      VertexAIError
      VertexAIModel
      VertexAIService

      ?
      variables?

      17 dependencies

      BlockReason
      DEFAULT_LOCATION
      FinishReason
      FunctionCallingMode
      HarmBlockMethod
      HarmBlockThreshold
      HarmCategory
      HarmProbability
      HarmSeverity
      ImagenAspectRatio
      ImagenPersonFilterLevel
      ImagenSafetyFilterLevel
      SchemaType
      Task
      VERTEX_TYPE
      name
      version

      ?
      enums??

      External Dependency

      ModuleBase (b92592d)Merge (02ce42e)Diff
      @firebase/app?

      _isFirebaseServerApp
      _registerComponent
      registerVersion

      ?
      @firebase/component?

      Component

      ?
      @firebase/logger?

      Logger

      ?
      @firebase/util?

      FirebaseError

      ?
    • getGenerativeModel

      Size

      TypeBase (b92592d)Merge (02ce42e)Diff
      size17.6 kB18.2 kB+581 B (+3.3%)
      size-with-ext-deps36.6 kB37.2 kB+581 B (+1.6%)

      Dependency

      TypeBase (b92592d)Merge (02ce42e)Diff
      classes

      ChatSession
      GenerativeModel
      RequestUrl
      VertexAIError
      VertexAIService

      ChatSession
      GenerativeModel
      RequestUrl
      VertexAIError
      VertexAIModel
      VertexAIService

      + VertexAIModel

      variables

      27 dependencies

      BlockReason
      DEFAULT_API_VERSION
      DEFAULT_BASE_URL
      DEFAULT_FETCH_TIMEOUT_MS
      DEFAULT_LOCATION
      FinishReason
      FunctionCallingMode
      HarmBlockMethod
      HarmBlockThreshold
      HarmCategory
      HarmProbability
      HarmSeverity
      LANGUAGE_TAG
      PACKAGE_VERSION
      POSSIBLE_ROLES
      SILENT_ERROR
      SchemaType
      Task
      VALID_PARTS_PER_ROLE
      VALID_PART_FIELDS
      VALID_PREVIOUS_CONTENT_ROLES
      VERTEX_TYPE
      badFinishReasons
      logger
      name
      responseLineRE
      version

      30 dependencies

      BlockReason
      DEFAULT_API_VERSION
      DEFAULT_BASE_URL
      DEFAULT_FETCH_TIMEOUT_MS
      DEFAULT_LOCATION
      FinishReason
      FunctionCallingMode
      HarmBlockMethod
      HarmBlockThreshold
      HarmCategory
      HarmProbability
      HarmSeverity
      ImagenAspectRatio
      ImagenPersonFilterLevel
      ImagenSafetyFilterLevel
      LANGUAGE_TAG
      PACKAGE_VERSION
      POSSIBLE_ROLES
      SILENT_ERROR
      SchemaType
      Task
      VALID_PARTS_PER_ROLE
      VALID_PART_FIELDS
      VALID_PREVIOUS_CONTENT_ROLES
      VERTEX_TYPE
      badFinishReasons
      logger
      name
      responseLineRE
      version

      + ImagenAspectRatio
      + ImagenPersonFilterLevel
      + ImagenSafetyFilterLevel

    • getImagenModel

      Size

      TypeBase (b92592d)Merge (02ce42e)Diff
      size?9.39 kB? (?)
      size-with-ext-deps?27.4 kB? (?)

      Dependency

      TypeBase (b92592d)Merge (02ce42e)Diff
      functions?

      constructRequest
      createPredictRequestBody
      getClientHeaders
      getHeaders
      getImagenModel
      handlePredictResponse
      makeRequest
      registerVertex

      ?
      classes?

      ImagenModel
      RequestUrl
      VertexAIError
      VertexAIModel
      VertexAIService

      ?
      variables?

      23 dependencies

      BlockReason
      DEFAULT_API_VERSION
      DEFAULT_BASE_URL
      DEFAULT_FETCH_TIMEOUT_MS
      DEFAULT_LOCATION
      FinishReason
      FunctionCallingMode
      HarmBlockMethod
      HarmBlockThreshold
      HarmCategory
      HarmProbability
      HarmSeverity
      ImagenAspectRatio
      ImagenPersonFilterLevel
      ImagenSafetyFilterLevel
      LANGUAGE_TAG
      PACKAGE_VERSION
      SchemaType
      Task
      VERTEX_TYPE
      logger
      name
      version

      ?
      enums??

      External Dependency

      ModuleBase (b92592d)Merge (02ce42e)Diff
      @firebase/app?

      _isFirebaseServerApp
      _registerComponent
      registerVersion

      ?
      @firebase/component?

      Component

      ?
      @firebase/logger?

      Logger

      ?
      @firebase/util?

      FirebaseError

      ?
    • getVertexAI

      Size

      TypeBase (b92592d)Merge (02ce42e)Diff
      size2.70 kB3.19 kB+493 B (+18.3%)
      size-with-ext-deps27.9 kB28.4 kB+502 B (+1.8%)

      Dependency

      TypeBase (b92592d)Merge (02ce42e)Diff
      variables

      14 dependencies

      BlockReason
      DEFAULT_LOCATION
      FinishReason
      FunctionCallingMode
      HarmBlockMethod
      HarmBlockThreshold
      HarmCategory
      HarmProbability
      HarmSeverity
      SchemaType
      Task
      VERTEX_TYPE
      name
      version

      17 dependencies

      BlockReason
      DEFAULT_LOCATION
      FinishReason
      FunctionCallingMode
      HarmBlockMethod
      HarmBlockThreshold
      HarmCategory
      HarmProbability
      HarmSeverity
      ImagenAspectRatio
      ImagenPersonFilterLevel
      ImagenSafetyFilterLevel
      SchemaType
      Task
      VERTEX_TYPE
      name
      version

      + ImagenAspectRatio
      + ImagenPersonFilterLevel
      + ImagenSafetyFilterLevel

Test Logs

  1. https://storage.googleapis.com/firebase-sdk-metric-reports/J6oJbcooel.html

@dlarocque dlarocque requested a review from hsubox76 February 3, 2025 17:39
Copy link
Contributor

@hsubox76 hsubox76 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks pretty good, don't forget to add the changeset.

@dlarocque dlarocque mentioned this pull request Feb 7, 2025
* Revert "remove public docs"

This reverts commit f095563.

* update docs

* update docs

* format

* minor fixes

* format

* mark all APIs beta instead of public

* review fixes

* format

* Replace (BETA) with (Public Preview) in docs

* fix links

* another pass

* format

* review fixes
@dlarocque dlarocque marked this pull request as ready for review February 20, 2025 15:24
@dlarocque dlarocque requested review from a team as code owners February 20, 2025 15:24
@dlarocque dlarocque requested a review from hsubox76 February 20, 2025 15:25
@dlarocque dlarocque merged commit ce2c775 into main Feb 21, 2025
38 checks passed
@dlarocque dlarocque deleted the dl/vertex-imagen branch February 21, 2025 00:14
@google-oss-bot google-oss-bot mentioned this pull request Feb 26, 2025
@firebase firebase locked and limited conversation to collaborators Mar 23, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants