Module: RunApi::FluxKontext

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

Defined Under Namespace

Modules: Resources, Types Classes: Client

Constant Summary collapse

AuthenticationError =
RunApi::Core::AuthenticationError
RateLimitError =
RunApi::Core::RateLimitError
InsufficientCreditsError =
RunApi::Core::InsufficientCreditsError
NotFoundError =
RunApi::Core::NotFoundError
ValidationError =
RunApi::Core::ValidationError
TaskFailedError =
RunApi::Core::TaskFailedError
TaskTimeoutError =
RunApi::Core::TaskTimeoutError
CONTRACT =
{
  "text-to-image" => {
    "models" => ["flux-kontext-max", "flux-kontext-pro"],
    "fields_by_model" => {
      "flux-kontext-max" => {
        "aspect_ratio" => {
          "enum" => ["21:9", "16:9", "4:3", "1:1", "3:4", "9:16"]
        },
        "model" => {
          "required" => true
        },
        "output_format" => {
          "enum" => ["jpeg", "png"]
        },
        "prompt" => {
          "required" => true
        },
        "safety_tolerance" => {
          "type" => "integer"
        }
      },
      "flux-kontext-pro" => {
        "aspect_ratio" => {
          "enum" => ["21:9", "16:9", "4:3", "1:1", "3:4", "9:16"]
        },
        "model" => {
          "required" => true
        },
        "output_format" => {
          "enum" => ["jpeg", "png"]
        },
        "prompt" => {
          "required" => true
        },
        "safety_tolerance" => {
          "type" => "integer"
        }
      }
    }
  }
}.freeze