Module: RunApi::GrokImagine

Defined in:
lib/runapi/grok_imagine.rb,
lib/runapi/grok_imagine/types.rb,
lib/runapi/grok_imagine/client.rb,
lib/runapi/grok_imagine/contract_gen.rb,
lib/runapi/grok_imagine/resources/upscales.rb,
lib/runapi/grok_imagine/resources/edit_image.rb,
lib/runapi/grok_imagine/resources/extensions.rb,
lib/runapi/grok_imagine/resources/text_to_image.rb,
lib/runapi/grok_imagine/resources/text_to_video.rb,
lib/runapi/grok_imagine/resources/image_to_video.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 =
{
  "edit-image" => {
    "models" => ["grok-imagine-edit-image"],
    "fields_by_model" => {
      "grok-imagine-edit-image" => {
        "source_image_url" => {
          "required" => true
        }
      }
    }
  },
  "extend" => {
    "models" => [],
    "fields_by_model" => {
      "_" => {
        "extension_duration_seconds" => {
          "enum" => [6, 10],
          "type" => "integer"
        },
        "start_seconds" => {
          "type" => "integer"
        }
      }
    }
  },
  "image-to-video" => {
    "models" => ["grok-imagine-image-to-video", "grok-imagine-video-1.5-preview"],
    "fields_by_model" => {
      "grok-imagine-image-to-video" => {
        "aspect_ratio" => {
          "enum" => ["2:3", "3:2", "1:1", "16:9", "9:16"]
        },
        "duration_seconds" => {
          "type" => "integer"
        },
        "index" => {
          "type" => "integer"
        },
        "motion_style" => {
          "enum" => ["fun", "normal", "spicy"]
        },
        "output_resolution" => {
          "enum" => ["480p", "720p"]
        }
      },
      "grok-imagine-video-1.5-preview" => {
        "aspect_ratio" => {
          "enum" => ["1:1", "16:9", "9:16", "3:2", "2:3", "auto"]
        },
        "duration_seconds" => {
          "min" => 1,
          "max" => 15,
          "type" => "integer"
        },
        "index" => {
          "type" => "integer"
        },
        "output_resolution" => {
          "enum" => ["480p", "720p"]
        },
        "prompt" => {
          "min" => 1,
          "max" => 4096,
          "length" => true
        },
        "source_image_urls" => {
          "required" => true
        }
      }
    },
    "rules" => [{
      "when" => {
        "model" => "grok-imagine-video-1.5-preview"
      },
      "forbidden" => ["source_task_id", "index", "motion_style", "enable_safety_checker"]
    }]
  },
  "text-to-image" => {
    "models" => ["grok-imagine-text-to-image"],
    "fields_by_model" => {
      "grok-imagine-text-to-image" => {
        "aspect_ratio" => {
          "enum" => ["2:3", "3:2", "1:1", "16:9", "9:16"]
        }
      }
    }
  },
  "text-to-video" => {
    "models" => ["grok-imagine-text-to-video", "grok-imagine-video-1.5-preview"],
    "fields_by_model" => {
      "grok-imagine-text-to-video" => {
        "aspect_ratio" => {
          "enum" => ["2:3", "3:2", "1:1", "16:9", "9:16"]
        },
        "duration_seconds" => {
          "type" => "integer"
        },
        "motion_style" => {
          "enum" => ["fun", "normal", "spicy"]
        },
        "output_resolution" => {
          "enum" => ["480p", "720p"]
        }
      },
      "grok-imagine-video-1.5-preview" => {
        "aspect_ratio" => {
          "enum" => ["1:1", "16:9", "9:16", "3:2", "2:3", "auto"]
        },
        "duration_seconds" => {
          "min" => 1,
          "max" => 15,
          "type" => "integer"
        },
        "output_resolution" => {
          "enum" => ["480p", "720p"]
        },
        "prompt" => {
          "required" => true,
          "min" => 1,
          "max" => 4096,
          "length" => true
        }
      }
    },
    "rules" => [{
      "when" => {
        "model" => "grok-imagine-video-1.5-preview"
      },
      "forbidden" => ["motion_style", "enable_safety_checker"]
    }]
  },
  "upscale-image" => {
    "models" => [],
    "fields_by_model" => {
      "_" => {}
    }
  }
}.freeze