GET

/v1/schemas/runway/image/v1/text_to_image

kind inputactivity imagehash 9d9e484f…extracted Aug 29, 2026version currentsource upstream spec ↗
fieldrecorded source
schemaSource linked above.

upstream-spec

Source trace
569985a2515541ad2d2654301b82d21986a69eb7a2de2e54836ff67e0a275165
{
  "fetchedAt": 1787980873,
  "extractorVersion": "1",
  "verifiedAt": null
}

Request body

0 properties · 0 required · 0 $defs

This schema isn’t a plain object with properties — showing the raw JSON instead.

application/json
{
  "provider": "runway",
  "activity": "image",
  "endpointId": "v1/text_to_image",
  "kind": "input",
  "contentHash": "9d9e484fd2fd233180d4d83709ad49afb6e6d472f78f3722b4deef20e5cf6168",
  "specRevision": null,
  "provenance": {
    "sourceUrl": "https://raw.githubusercontent.com/runwayml/openapi/next/openapi.json",
    "sourceHash": "569985a2515541ad2d2654301b82d21986a69eb7a2de2e54836ff67e0a275165",
    "fetchedAt": 1787980873,
    "extractorVersion": "1",
    "derivation": "upstream-spec",
    "verifiedAt": null
  },
  "createdAt": 1787980873,
  "supersededAt": null,
  "schema": {
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "oneOf": [
      {
        "title": "gen4_image_turbo",
        "type": "object",
        "properties": {
          "promptText": {
            "description": "A non-empty string up to 1000 characters (measured in UTF-16 code units). This should describe in detail what should appear in the output.",
            "type": "string",
            "minLength": 1,
            "maxLength": 1000
          },
          "seed": {
            "description": "If unspecified, a random number is chosen. Varying the seed integer is a way to get different results for the same other request parameters. Using the same seed integer for an identical request will produce similar results.",
            "type": "integer",
            "minimum": 0,
            "maximum": 4294967295
          },
          "ratio": {
            "description": "The resolution of the output image.",
            "type": "string",
            "enum": [
              "1024:1024",
              "1080:1080",
              "1168:880",
              "1360:768",
              "1440:1080",
              "1080:1440",
              "1808:768",
              "1920:1080",
              "1080:1920",
              "2112:912",
              "1280:720",
              "720:1280",
              "720:720",
              "960:720",
              "720:960",
              "1680:720"
            ]
          },
          "referenceImages": {
            "description": "An array of one to three images to be used as references for the generated image output.",
            "minItems": 1,
            "maxItems": 3,
            "type": "array",
            "items": {
              "title": "ReferenceImage",
              "type": "object",
              "properties": {
                "uri": {
                  "description": "A HTTPS URL, Runway or data URI containing an encoded image. See [our docs](/assets/inputs#images) on image inputs for more information.",
                  "example": "https://example.com/image.jpg",
                  "anyOf": [
                    {
                      "description": "A HTTPS URL, Runway upload URI, or base64 data URI (e.g. `data:image/png;base64,...`, up to 5MB) containing an encoded image. See [our docs](/assets/inputs#images) on image inputs for more information.",
                      "example": "https://example.com/image.jpg",
                      "type": "string",
                      "minLength": 13,
                      "maxLength": 2048,
                      "pattern": "^https:\\/\\/.*"
                    },
                    {
                      "description": "A Runway upload URI. See https://docs.dev.runwayml.com/assets/uploads for more information.",
                      "example": "runway://<token>",
                      "type": "string",
                      "minLength": 13,
                      "maxLength": 5000,
                      "pattern": "^runway:\\/\\/.*"
                    },
                    {
                      "description": "A data URI containing encoded media.",
                      "example": "data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==",
                      "type": "string",
                      "minLength": 13,
                      "maxLength": 5242880,
                      "pattern": "^data:image\\/.*"
                    }
                  ]
                },
                "tag": {
                  "description": "A tag to identify the reference image. This is used to reference the image in prompt text. Must be 3-16 characters, start with a letter, and use only letters, digits, and underscores (no hyphens or other punctuation).",
                  "type": "string",
                  "minLength": 3,
                  "maxLength": 16,
                  "pattern": "^[a-z][a-z0-9_]+$"
                }
              },
              "required": [
                "uri"
              ]
            }
          },
          "contentModeration": {
            "description": "Settings that affect the behavior of the content moderation system.",
            "type": "object",
            "properties": {
              "publicFigureThreshold": {
                "description": "When set to `low`, the content moderation system will be less strict about preventing generations that include recognizable public figures.",
                "type": "string",
                "enum": [
                  "auto",
                  "low"
                ]
              }
            },
            "additionalProperties": false
          },
          "model": {
            "type": "string",
            "const": "gen4_image_turbo"
          }
        },
        "required": [
          "promptText",
          "ratio",
          "referenceImages",
          "model"
        ]
      },
      {
        "title": "gen4_image",
        "type": "object",
        "properties": {
          "promptText": {
            "description": "A non-empty string up to 1000 characters (measured in UTF-16 code units). This should describe in detail what should appear in the output.",
            "type": "string",
            "minLength": 1,
            "maxLength": 1000
          },
          "seed": {
            "description": "If unspecified, a random number is chosen. Varying the seed integer is a way to get different results for the same other request parameters. Using the same seed integer for an identical request will produce similar results.",
            "type": "integer",
            "minimum": 0,
            "maximum": 4294967295
          },
          "ratio": {
            "description": "The resolution of the output image.",
            "type": "string",
            "enum": [
              "1024:1024",
              "1080:1080",
              "1168:880",
              "1360:768",
              "1440:1080",
              "1080:1440",
              "1808:768",
              "1920:1080",
              "1080:1920",
              "2112:912",
              "1280:720",
              "720:1280",
              "720:720",
              "960:720",
              "720:960",
              "1680:720"
            ]
          },
          "referenceImages": {
            "description": "An array of up to three images to be used as references for the generated image output.",
            "maxItems": 3,
            "type": "array",
            "items": {
              "title": "ReferenceImage",
              "type": "object",
              "properties": {
                "uri": {
                  "description": "A HTTPS URL, Runway or data URI containing an encoded image. See [our docs](/assets/inputs#images) on image inputs for more information.",
                  "example": "https://example.com/image.jpg",
                  "anyOf": [
                    {
                      "description": "A HTTPS URL, Runway upload URI, or base64 data URI (e.g. `data:image/png;base64,...`, up to 5MB) containing an encoded image. See [our docs](/assets/inputs#images) on image inputs for more information.",
                      "example": "https://example.com/image.jpg",
                      "type": "string",
                      "minLength": 13,
                      "maxLength": 2048,
                      "pattern": "^https:\\/\\/.*"
                    },
                    {
                      "description": "A Runway upload URI. See https://docs.dev.runwayml.com/assets/uploads for more information.",
                      "example": "runway://<token>",
                      "type": "string",
                      "minLength": 13,
                      "maxLength": 5000,
                      "pattern": "^runway:\\/\\/.*"
                    },
                    {
                      "description": "A data URI containing encoded media.",
                      "example": "data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==",
                      "type": "string",
                      "minLength": 13,
                      "maxLength": 5242880,
                      "pattern": "^data:image\\/.*"
                    }
                  ]
                },
                "tag": {
                  "description": "A tag to identify the reference image. This is used to reference the image in prompt text. Must be 3-16 characters, start with a letter, and use only letters, digits, and underscores (no hyphens or other punctuation).",
                  "type": "string",
                  "minLength": 3,
                  "maxLength": 16,
                  "pattern": "^[a-z][a-z0-9_]+$"
                }
              },
              "required": [
                "uri"
              ]
            }
          },
          "contentModeration": {
            "description": "Settings that affect the behavior of the content moderation system.",
            "type": "object",
            "properties": {
              "publicFigureThreshold": {
                "description": "When set to `low`, the content moderation system will be less strict about preventing generations that include recognizable public figures.",
                "type": "string",
                "enum": [
                  "auto",
                  "low"
                ]
              }
            },
            "additionalProperties": false
          },
          "model": {
            "type": "string",
            "const": "gen4_image"
          }
        },
        "required": [
          "promptText",
          "ratio",
          "model"
        ]
      },
      {
        "title": "gpt_image_2",
        "type": "object",
        "properties": {
          "promptText": {
            "description": "A non-empty string up to 32,000 characters describing the desired image.",
            "type": "string",
            "minLength": 1,
            "maxLength": 32000
          },
          "ratio": {
            "description": "The resolution of the output image, expressed as `<width>:<height>`. Use `auto` to let the model choose.",
            "type": "string",
            "enum": [
              "2048:880",
              "1920:1088",
              "1920:1280",
              "1920:1440",
              "1920:1536",
              "1920:1920",
              "1536:1920",
              "1440:1920",
              "1280:1920",
              "1088:1920",
              "2912:1248",
              "2560:1440",
              "2560:1712",
              "2560:1920",
              "2560:2048",
              "2560:2560",
              "2048:2560",
              "1920:2560",
              "1712:2560",
              "1440:2560",
              "3840:1648",
              "3840:2160",
              "3504:2336",
              "3264:2448",
              "3200:2560",
              "2880:2880",
              "2560:3200",
              "2448:3264",
              "2336:3504",
              "2160:3840",
              "auto"
            ]
          },
          "quality": {
            "description": "Rendering quality. Higher qualities consume more credits. Defaults to `high`.",
            "type": "string",
            "enum": [
              "low",
              "medium",
              "high",
              "auto"
            ]
          },
          "background": {
            "description": "Background treatment. Defaults to `auto`, which lets the model pick. `transparent` is not supported by this model.",
            "type": "string",
            "enum": [
              "opaque",
              "auto"
            ]
          },
          "referenceImages": {
            "description": "An array of up to 16 images to be used as references for the generated image output.",
            "maxItems": 16,
            "type": "array",
            "items": {
              "title": "GptImage2ReferenceImage",
              "type": "object",
              "properties": {
                "uri": {
                  "description": "A HTTPS URL, Runway or data URI containing an encoded image. See [our docs](/assets/inputs#images) on image inputs for more information.",
                  "example": "https://example.com/image.jpg",
                  "anyOf": [
                    {
                      "description": "A HTTPS URL, Runway upload URI, or base64 data URI (e.g. `data:image/png;base64,...`, up to 5MB) containing an encoded image. See [our docs](/assets/inputs#images) on image inputs for more information.",
                      "example": "https://example.com/image.jpg",
                      "type": "string",
                      "minLength": 13,
                      "maxLength": 2048,
                      "pattern": "^https:\\/\\/.*"
                    },
                    {
                      "description": "A Runway upload URI. See https://docs.dev.runwayml.com/assets/uploads for more information.",
                      "example": "runway://<token>",
                      "type": "string",
                      "minLength": 13,
                      "maxLength": 5000,
                      "pattern": "^runway:\\/\\/.*"
                    },
                    {
                      "description": "A data URI containing encoded media.",
                      "example": "data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==",
                      "type": "string",
                      "minLength": 13,
                      "maxLength": 5242880,
                      "pattern": "^data:image\\/.*"
                    }
                  ]
                },
                "tag": {
                  "description": "A tag to identify the reference image. This may be used to reference the image in prompt text. Must be 3-16 characters, start with a letter, and use only letters, digits, and underscores (no hyphens or other punctuation).",
                  "type": "string",
                  "minLength": 3,
                  "maxLength": 16,
                  "pattern": "^[a-z][a-z0-9_]+$"
                }
              },
              "required": [
                "uri"
              ],
              "additionalProperties": false
            }
          },
          "outputCount": {
            "description": "The number of images to generate (1-10). Increasing this number will affect the number of credits consumed by the generation.",
            "type": "integer",
            "minimum": 1,
            "maximum": 10
          },
          "model": {
            "type": "string",
            "const": "gpt_image_2"
          }
        },
        "required": [
          "promptText",
          "ratio",
          "model"
        ],
        "additionalProperties": false
      },
      {
        "title": "gemini_image3_pro",
        "type": "object",
        "properties": {
          "promptText": {
            "description": "This should describe in detail what should appear in the output.",
            "type": "string",
            "minLength": 1,
            "maxLength": 5500
          },
          "ratio": {
            "description": "The resolution of the output image.",
            "type": "string",
            "enum": [
              "1344:768",
              "768:1344",
              "1024:1024",
              "1184:864",
              "864:1184",
              "1536:672",
              "832:1248",
              "1248:832",
              "896:1152",
              "1152:896",
              "2048:2048",
              "1696:2528",
              "2528:1696",
              "1792:2400",
              "2400:1792",
              "1856:2304",
              "2304:1856",
              "1536:2752",
              "2752:1536",
              "3168:1344",
              "4096:4096",
              "3392:5056",
              "5056:3392",
              "3584:4800",
              "4800:3584",
              "3712:4608",
              "4608:3712",
              "3072:5504",
              "5504:3072",
              "6336:2688"
            ]
          },
          "referenceImages": {
            "description": "An array of up to 14 images to be used as references for the generated image output. Up to five of those images can pass `subject: \"human\"` to maintain character consistency, and up to nine of those images can pass `subject: \"object\"` with high-fidelity images of objects to include in the output.",
            "maxItems": 14,
            "type": "array",
            "items": {
              "title": "Gemini3ProReferenceImage",
              "type": "object",
              "properties": {
                "uri": {
                  "description": "A HTTPS URL, Runway or data URI containing an encoded image. See [our docs](/assets/inputs#images) on image inputs for more information.",
                  "example": "https://example.com/image.jpg",
                  "anyOf": [
                    {
                      "description": "A HTTPS URL, Runway upload URI, or base64 data URI (e.g. `data:image/png;base64,...`, up to 5MB) containing an encoded image. See [our docs](/assets/inputs#images) on image inputs for more information.",
                      "example": "https://example.com/image.jpg",
                      "type": "string",
                      "minLength": 13,
                      "maxLength": 2048,
                      "pattern": "^https:\\/\\/.*"
                    },
                    {
                      "description": "A Runway upload URI. See https://docs.dev.runwayml.com/assets/uploads for more information.",
                      "example": "runway://<token>",
                      "type": "string",
                      "minLength": 13,
                      "maxLength": 5000,
                      "pattern": "^runway:\\/\\/.*"
                    },
                    {
                      "description": "A data URI containing encoded media.",
                      "example": "data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==",
                      "type": "string",
                      "minLength": 13,
                      "maxLength": 5242880,
                      "pattern": "^data:image\\/.*"
                    }
                  ]
                },
                "tag": {
                  "description": "A tag to identify the reference image. This is used to reference the image in prompt text. Must be 3-16 characters, start with a letter, and use only letters, digits, and underscores (no hyphens or other punctuation).",
                  "type": "string",
                  "minLength": 3,
                  "maxLength": 16,
                  "pattern": "^[a-z][a-z0-9_]+$"
                },
                "subject": {
                  "description": "Whether this is a reference of a human subject (for character consistency) or an object that appears in the output.",
                  "default": "object",
                  "type": "string",
                  "enum": [
                    "object",
                    "human"
                  ]
                }
              },
              "required": [
                "uri"
              ],
              "additionalProperties": false
            }
          },
          "outputCount": {
            "description": "The number of images to generate. Increasing this number will affect the number of credits consumed by the generation. Up to four images can be generated at once.",
            "type": "number",
            "enum": [
              1,
              4
            ]
          },
          "model": {
            "type": "string",
            "const": "gemini_image3_pro"
          }
        },
        "required": [
          "promptText",
          "ratio",
          "model"
        ],
        "additionalProperties": false
      },
      {
        "title": "gemini_image3.1_flash",
        "type": "object",
        "properties": {
          "promptText": {
            "description": "This should describe in detail what should appear in the output.",
            "type": "string",
            "minLength": 1,
            "maxLength": 5500
          },
          "ratio": {
            "description": "The resolution of the output image.",
            "type": "string",
            "enum": [
              "512:512",
              "416:624",
              "624:416",
              "432:592",
              "592:432",
              "448:576",
              "576:448",
              "384:672",
              "672:384",
              "768:336",
              "256:1024",
              "1024:256",
              "176:1408",
              "1408:176",
              "1024:1024",
              "832:1248",
              "1248:832",
              "864:1184",
              "1184:864",
              "896:1152",
              "1152:896",
              "768:1344",
              "1344:768",
              "1536:672",
              "512:2048",
              "2048:512",
              "352:2816",
              "2816:352",
              "2048:2048",
              "1696:2528",
              "2528:1696",
              "1792:2400",
              "2400:1792",
              "1856:2304",
              "2304:1856",
              "1536:2752",
              "2752:1536",
              "3168:1344",
              "1024:4096",
              "4096:1024",
              "704:5632",
              "5632:704",
              "4096:4096",
              "3392:5056",
              "5056:3392",
              "3584:4800",
              "4800:3584",
              "3712:4608",
              "4608:3712",
              "3072:5504",
              "5504:3072",
              "6336:2688",
              "2048:8192",
              "8192:2048",
              "1408:11264",
              "11264:1408"
            ]
          },
          "referenceImages": {
            "description": "An array of up to 14 images to be used as references for the generated image output. Up to five of those images can pass `subject: \"human\"` to maintain character consistency, and up to nine of those images can pass `subject: \"object\"` with high-fidelity images of objects to include in the output.",
            "maxItems": 14,
            "type": "array",
            "items": {
              "title": "Gemini31FlashReferenceImage",
              "type": "object",
              "properties": {
                "uri": {
                  "description": "A HTTPS URL, Runway or data URI containing an encoded image. See [our docs](/assets/inputs#images) on image inputs for more information.",
                  "example": "https://example.com/image.jpg",
                  "anyOf": [
                    {
                      "description": "A HTTPS URL, Runway upload URI, or base64 data URI (e.g. `data:image/png;base64,...`, up to 5MB) containing an encoded image. See [our docs](/assets/inputs#images) on image inputs for more information.",
                      "example": "https://example.com/image.jpg",
                      "type": "string",
                      "minLength": 13,
                      "maxLength": 2048,
                      "pattern": "^https:\\/\\/.*"
                    },
                    {
                      "description": "A Runway upload URI. See https://docs.dev.runwayml.com/assets/uploads for more information.",
                      "example": "runway://<token>",
                      "type": "string",
                      "minLength": 13,
                      "maxLength": 5000,
                      "pattern": "^runway:\\/\\/.*"
                    },
                    {
                      "description": "A data URI containing encoded media.",
                      "example": "data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==",
                      "type": "string",
                      "minLength": 13,
                      "maxLength": 5242880,
                      "pattern": "^data:image\\/.*"
                    }
                  ]
                },
                "tag": {
                  "description": "A tag to identify the reference image. This is used to reference the image in prompt text. Must be 3-16 characters, start with a letter, and use only letters, digits, and underscores (no hyphens or other punctuation).",
                  "type": "string",
                  "minLength": 3,
                  "maxLength": 16,
                  "pattern": "^[a-z][a-z0-9_]+$"
                },
                "subject": {
                  "description": "Whether this is a reference of a human subject (for character consistency) or an object that appears in the output.",
                  "default": "object",
                  "type": "string",
                  "enum": [
                    "object",
                    "human"
                  ]
                }
              },
              "required": [
                "uri"
              ]
            }
          },
          "outputCount": {
            "description": "The number of images to generate. Increasing this number will affect the number of credits consumed by the generation. Up to four images can be generated at once.",
            "type": "number",
            "enum": [
              1,
              4
            ]
          },
          "model": {
            "type": "string",
            "const": "gemini_image3.1_flash"
          }
        },
        "required": [
          "promptText",
          "ratio",
          "model"
        ]
      },
      {
        "title": "muse_image",
        "type": "object",
        "properties": {
          "promptText": {
            "description": "A non-empty text prompt describing what should appear in the output image.",
            "type": "string",
            "minLength": 1,
            "maxLength": 4000
          },
          "ratio": {
            "description": "The resolution of the output image, expressed as `<width>:<height>`. Use `auto` to let the model choose the framing from the prompt.",
            "type": "string",
            "enum": [
              "2352:1008",
              "2016:1152",
              "1920:1280",
              "1792:1344",
              "1600:1600",
              "1344:1792",
              "1280:1920",
              "1152:2016",
              "auto"
            ]
          },
          "referenceImages": {
            "description": "Up to 10 images to guide the generation. When provided, the model edits and combines them as your prompt describes instead of generating from the prompt alone.",
            "maxItems": 10,
            "type": "array",
            "items": {
              "title": "MuseImageReferenceImage",
              "type": "object",
              "properties": {
                "uri": {
                  "description": "A HTTPS URL, Runway or data URI containing an encoded image. See [our docs](/assets/inputs#images) on image inputs for more information.",
                  "example": "https://example.com/image.jpg",
                  "anyOf": [
                    {
                      "description": "A HTTPS URL, Runway upload URI, or base64 data URI (e.g. `data:image/png;base64,...`, up to 5MB) containing an encoded image. See [our docs](/assets/inputs#images) on image inputs for more information.",
                      "example": "https://example.com/image.jpg",
                      "type": "string",
                      "minLength": 13,
                      "maxLength": 2048,
                      "pattern": "^https:\\/\\/.*"
                    },
                    {
                      "description": "A Runway upload URI. See https://docs.dev.runwayml.com/assets/uploads for more information.",
                      "example": "runway://<token>",
                      "type": "string",
                      "minLength": 13,
                      "maxLength": 5000,
                      "pattern": "^runway:\\/\\/.*"
                    },
                    {
                      "description": "A data URI containing encoded media, up to 5MB.",
                      "example": "data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==",
                      "type": "string",
                      "minLength": 13,
                      "maxLength": 5242880,
                      "pattern": "^data:image\\/.*"
                    }
                  ]
                }
              },
              "required": [
                "uri"
              ],
              "additionalProperties": false
            }
          },
          "outputCount": {
            "description": "The number of images to generate. Each image costs 1 credit.",
            "type": "integer",
            "minimum": 1,
            "maximum": 10
          },
          "model": {
            "type": "string",
            "const": "muse_image"
          }
        },
        "required": [
          "promptText",
          "ratio",
          "model"
        ],
        "additionalProperties": false
      },
      {
        "title": "seedream5_pro",
        "type": "object",
        "properties": {
          "promptText": {
            "description": "A non-empty string up to 4,000 characters describing the desired image.",
            "type": "string",
            "minLength": 1,
            "maxLength": 4000
          },
          "ratio": {
            "description": "The resolution of the output image, expressed as `<width>:<height>`. Use `auto_1k` or `auto_2k` to let the model pick aspect ratio at a fixed resolution tier.",
            "type": "string",
            "enum": [
              "1024:1024",
              "1184:896",
              "896:1184",
              "1376:768",
              "768:1376",
              "1296:864",
              "864:1296",
              "2048:2048",
              "2304:1728",
              "1728:2304",
              "2720:1530",
              "1530:2720",
              "2496:1664",
              "1664:2496",
              "auto_1k",
              "auto_2k"
            ]
          },
          "outputFormat": {
            "description": "The file format of the output image. Defaults to png.",
            "type": "string",
            "enum": [
              "png",
              "jpeg"
            ]
          },
          "referenceImages": {
            "description": "An array of reference images for multi-image fusion and interactive editing. Reference by upload order in prompt text (Figure 1, Figure 2, etc.).",
            "maxItems": 10,
            "type": "array",
            "items": {
              "title": "Seedream5ProReferenceImage",
              "type": "object",
              "properties": {
                "uri": {
                  "description": "A HTTPS URL, Runway or data URI containing an encoded image. See [our docs](/assets/inputs#images) on image inputs for more information.",
                  "example": "https://example.com/image.jpg",
                  "anyOf": [
                    {
                      "description": "A HTTPS URL, Runway upload URI, or base64 data URI (e.g. `data:image/png;base64,...`, up to 5MB) containing an encoded image. See [our docs](/assets/inputs#images) on image inputs for more information.",
                      "example": "https://example.com/image.jpg",
                      "type": "string",
                      "minLength": 13,
                      "maxLength": 2048,
                      "pattern": "^https:\\/\\/.*"
                    },
                    {
                      "description": "A Runway upload URI. See https://docs.dev.runwayml.com/assets/uploads for more information.",
                      "example": "runway://<token>",
                      "type": "string",
                      "minLength": 13,
                      "maxLength": 5000,
                      "pattern": "^runway:\\/\\/.*"
                    },
                    {
                      "description": "A data URI containing encoded media.",
                      "example": "data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==",
                      "type": "string",
                      "minLength": 13,
                      "maxLength": 5242880,
                      "pattern": "^data:image\\/.*"
                    }
                  ]
                }
              },
              "required": [
                "uri"
              ],
              "additionalProperties": false
            }
          },
          "outputCount": {
            "description": "The number of images to generate. Increasing this number will affect the number of credits consumed by the generation.",
            "type": "integer",
            "minimum": 1,
            "maximum": 4
          },
          "grounding": {
            "description": "When true, enable live web search so the model can use current brand, trend, or event context. Default false for deterministic output.",
            "type": "boolean"
          },
          "model": {
            "type": "string",
            "const": "seedream5_pro"
          }
        },
        "required": [
          "promptText",
          "ratio",
          "model"
        ],
        "additionalProperties": false
      },
      {
        "title": "seedream5_lite",
        "type": "object",
        "properties": {
          "promptText": {
            "description": "A non-empty string up to 4,000 characters describing the desired image.",
            "type": "string",
            "minLength": 1,
            "maxLength": 4000
          },
          "ratio": {
            "description": "The resolution of the output image, expressed as `<width>:<height>`.",
            "type": "string",
            "enum": [
              "2048:2048",
              "2304:1728",
              "1728:2304",
              "2848:1600",
              "1600:2848",
              "2496:1664",
              "1664:2496",
              "3136:1344",
              "3072:3072",
              "3456:2592",
              "2592:3456",
              "4096:2304",
              "2304:4096",
              "3744:2496",
              "2496:3744",
              "4704:2016"
            ]
          },
          "outputFormat": {
            "description": "The file format of the output image. Defaults to png.",
            "type": "string",
            "enum": [
              "png",
              "jpeg"
            ]
          },
          "referenceImages": {
            "description": "An array of reference images for multi-image fusion and interactive editing. Reference by upload order in prompt text (Figure 1, Figure 2, etc.).",
            "maxItems": 14,
            "type": "array",
            "items": {
              "title": "Seedream5LiteReferenceImage",
              "type": "object",
              "properties": {
                "uri": {
                  "description": "A HTTPS URL, Runway or data URI containing an encoded image. See [our docs](/assets/inputs#images) on image inputs for more information.",
                  "example": "https://example.com/image.jpg",
                  "anyOf": [
                    {
                      "description": "A HTTPS URL, Runway upload URI, or base64 data URI (e.g. `data:image/png;base64,...`, up to 5MB) containing an encoded image. See [our docs](/assets/inputs#images) on image inputs for more information.",
                      "example": "https://example.com/image.jpg",
                      "type": "string",
                      "minLength": 13,
                      "maxLength": 2048,
                      "pattern": "^https:\\/\\/.*"
                    },
                    {
                      "description": "A Runway upload URI. See https://docs.dev.runwayml.com/assets/uploads for more information.",
                      "example": "runway://<token>",
                      "type": "string",
                      "minLength": 13,
                      "maxLength": 5000,
                      "pattern": "^runway:\\/\\/.*"
                    },
                    {
                      "description": "A data URI containing encoded media.",
                      "example": "data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==",
                      "type": "string",
                      "minLength": 13,
                      "maxLength": 5242880,
                      "pattern": "^data:image\\/.*"
                    }
                  ]
                }
              },
              "required": [
                "uri"
              ],
              "additionalProperties": false
            }
          },
          "outputCount": {
            "description": "The number of images to generate. Increasing this number will affect the number of credits consumed by the generation.",
            "type": "integer",
            "minimum": 1,
            "maximum": 4
          },
          "grounding": {
            "description": "When true, enable live web search so the model can use current brand, trend, or event context. Default false for deterministic output.",
            "type": "boolean"
          },
          "model": {
            "type": "string",
            "const": "seedream5_lite"
          }
        },
        "required": [
          "promptText",
          "ratio",
          "model"
        ],
        "additionalProperties": false
      },
      {
        "title": "grok_imagine_image_2",
        "type": "object",
        "properties": {
          "promptText": {
            "description": "A non-empty text prompt describing what should appear in the output image.",
            "type": "string",
            "minLength": 1,
            "maxLength": 2500
          },
          "ratio": {
            "description": "The resolution of the output image, expressed as `<width>:<height>`. 2K ratios cost 2 additional credits per image. Use `auto_1k` or `auto_2k` to pick a resolution tier and let the model choose the framing from the prompt.",
            "type": "string",
            "enum": [
              "1024:1024",
              "1280:720",
              "720:1280",
              "1152:864",
              "864:1152",
              "1248:832",
              "832:1248",
              "1248:576",
              "576:1248",
              "1280:576",
              "576:1280",
              "1408:704",
              "704:1408",
              "2048:2048",
              "2816:1584",
              "1584:2816",
              "2368:1776",
              "1776:2368",
              "2496:1664",
              "1664:2496",
              "2912:1344",
              "1344:2912",
              "3200:1440",
              "1440:3200",
              "2912:1456",
              "1456:2912",
              "auto_1k",
              "auto_2k"
            ]
          },
          "quality": {
            "description": "How much rendering effort the model spends on the output. Defaults to `medium`; `low` is faster and costs 2 fewer credits per image.",
            "type": "string",
            "enum": [
              "low",
              "medium"
            ]
          },
          "edit": {
            "description": "When true with exactly one reference image, edit that image directly instead of using it as a loose visual reference. With several reference images the prompt describes how they should be edited or combined. Requires at least one reference image.",
            "type": "boolean"
          },
          "referenceImages": {
            "description": "Up to 3 images to guide the generation. Reference them from `promptText` to describe how each should be used. Each adds 1 credit to the generation.",
            "maxItems": 3,
            "type": "array",
            "items": {
              "title": "GrokImagineImage2ReferenceImage",
              "type": "object",
              "properties": {
                "uri": {
                  "description": "A HTTPS URL, Runway or data URI containing an encoded image. See [our docs](/assets/inputs#images) on image inputs for more information.",
                  "example": "https://example.com/image.jpg",
                  "anyOf": [
                    {
                      "description": "A HTTPS URL, Runway upload URI, or base64 data URI (e.g. `data:image/png;base64,...`, up to 5MB) containing an encoded image. See [our docs](/assets/inputs#images) on image inputs for more information.",
                      "example": "https://example.com/image.jpg",
                      "type": "string",
                      "minLength": 13,
                      "maxLength": 2048,
                      "pattern": "^https:\\/\\/.*"
                    },
                    {
                      "description": "A Runway upload URI. See https://docs.dev.runwayml.com/assets/uploads for more information.",
                      "example": "runway://<token>",
                      "type": "string",
                      "minLength": 13,
                      "maxLength": 5000,
                      "pattern": "^runway:\\/\\/.*"
                    },
                    {
                      "description": "A data URI containing encoded media.",
                      "example": "data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==",
                      "type": "string",
                      "minLength": 13,
                      "maxLength": 5242880,
                      "pattern": "^data:image\\/.*"
                    }
                  ]
                }
              },
              "required": [
                "uri"
              ],
              "additionalProperties": false
            }
          },
          "outputCount": {
            "description": "The number of images to generate. Increasing this number will affect the number of credits consumed by the generation.",
            "type": "integer",
            "minimum": 1,
            "maximum": 4
          },
          "model": {
            "type": "string",
            "const": "grok_imagine_image_2"
          }
        },
        "required": [
          "promptText",
          "ratio",
          "model"
        ],
        "additionalProperties": false
      },
      {
        "title": "gemini_2.5_flash",
        "type": "object",
        "properties": {
          "promptText": {
            "description": "This should describe in detail what should appear in the output.",
            "type": "string",
            "minLength": 1,
            "maxLength": 5500
          },
          "ratio": {
            "description": "The resolution of the output image.",
            "type": "string",
            "enum": [
              "1344:768",
              "768:1344",
              "1024:1024",
              "1184:864",
              "864:1184",
              "1536:672",
              "832:1248",
              "1248:832",
              "896:1152",
              "1152:896"
            ]
          },
          "referenceImages": {
            "description": "An array of up to three images to be used as references for the generated image output.",
            "maxItems": 3,
            "type": "array",
            "items": {
              "title": "ReferenceImage",
              "type": "object",
              "properties": {
                "uri": {
                  "description": "A HTTPS URL, Runway or data URI containing an encoded image. See [our docs](/assets/inputs#images) on image inputs for more information.",
                  "example": "https://example.com/image.jpg",
                  "anyOf": [
                    {
                      "description": "A HTTPS URL, Runway upload URI, or base64 data URI (e.g. `data:image/png;base64,...`, up to 5MB) containing an encoded image. See [our docs](/assets/inputs#images) on image inputs for more information.",
                      "example": "https://example.com/image.jpg",
                      "type": "string",
                      "minLength": 13,
                      "maxLength": 2048,
                      "pattern": "^https:\\/\\/.*"
                    },
                    {
                      "description": "A Runway upload URI. See https://docs.dev.runwayml.com/assets/uploads for more information.",
                      "example": "runway://<token>",
                      "type": "string",
                      "minLength": 13,
                      "maxLength": 5000,
                      "pattern": "^runway:\\/\\/.*"
                    },
                    {
                      "description": "A data URI containing encoded media.",
                      "example": "data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==",
                      "type": "string",
                      "minLength": 13,
                      "maxLength": 5242880,
                      "pattern": "^data:image\\/.*"
                    }
                  ]
                },
                "tag": {
                  "description": "A tag to identify the reference image. This is used to reference the image in prompt text. Must be 3-16 characters, start with a letter, and use only letters, digits, and underscores (no hyphens or other punctuation).",
                  "type": "string",
                  "minLength": 3,
                  "maxLength": 16,
                  "pattern": "^[a-z][a-z0-9_]+$"
                }
              },
              "required": [
                "uri"
              ]
            }
          },
          "model": {
            "type": "string",
            "const": "gemini_2.5_flash"
          }
        },
        "required": [
          "promptText",
          "ratio",
          "model"
        ]
      }
    ],
    "discriminator": {
      "propertyName": "model"
    }
  }
}

Validate a payload

before you spend tokens
shell
$ curl -X POST https://modelschemas.com/v1/validate \
    -d '{"provider":"runway","endpointId":"v1/text_to_image","payload":{…}}'
→ {"valid": false, "errors": [{"path": "#", "keyword": "required", …}]}