Module: RunApi::Imagen4

Defined in:
lib/runapi/imagen_4/types.rb,
lib/runapi/imagen_4/client.rb,
lib/runapi/imagen_4/contract_gen.rb,
lib/runapi/imagen_4/resources/remix_image.rb,
lib/runapi/imagen_4/resources/text_to_image.rb

Defined Under Namespace

Modules: Resources, Types Classes: Client

Constant Summary collapse

CONTRACT =
{
  "remix-image" => {
    "models" => ["imagen-4-pro-remix-image"],
    "fields_by_model" => {
      "imagen-4-pro-remix-image" => {
        "aspect_ratio" => {
          "enum" => ["1:1", "2:3", "3:2", "3:4", "4:3", "4:5", "5:4", "9:16", "16:9", "21:9", "auto"]
        },
        "output_format" => {
          "enum" => ["png", "jpg"]
        },
        "output_resolution" => {
          "enum" => ["1k", "2k", "4k"]
        },
        "source_image_urls" => {
          "required" => true
        }
      }
    }
  },
  "text-to-image" => {
    "models" => ["imagen-4", "imagen-4-fast", "imagen-4-ultra"],
    "fields_by_model" => {
      "imagen-4" => {
        "aspect_ratio" => {
          "enum" => ["1:1", "16:9", "9:16", "3:4", "4:3"]
        },
        "output_count" => {
          "type" => "integer"
        },
        "seed" => {
          "type" => "integer"
        }
      },
      "imagen-4-fast" => {
        "aspect_ratio" => {
          "enum" => ["1:1", "16:9", "9:16", "3:4", "4:3"]
        },
        "output_count" => {
          "enum" => [1, 2, 3, 4],
          "type" => "integer"
        },
        "seed" => {
          "type" => "integer"
        }
      },
      "imagen-4-ultra" => {
        "aspect_ratio" => {
          "enum" => ["1:1", "16:9", "9:16", "3:4", "4:3"]
        },
        "output_count" => {
          "type" => "integer"
        },
        "seed" => {
          "type" => "integer"
        }
      }
    }
  }
}.freeze