969| Request size | Up to 512 MB total payload per request |969| Request size | Up to 512 MB total payload per request |
970| Image count | Up to 1,500 images per request |970| Image count | Up to 1,500 images per request |
971 971
972For [patch-based image inputs](#patch-based-image-tokenization), the API supports up to 30,000 patches per image after applying the resizing rules for the selected model and `detail` level. This limit applies across supported detail levels and to each image separately, not to the combined patch count of the request.
973
974Lower model- and detail-specific resizing budgets still apply. Images that exceed the 30,000-patch limit after processing are rejected, not automatically resized to meet it. Reduce the image's dimensions and try again.
975
972Image tokens and the rest of your prompt must also fit the model's input and context limits. A token estimate does not guarantee that a request meets every input limit. Image use must comply with our [usage policies](https://openai.com/policies/usage-policies/).976Image tokens and the rest of your prompt must also fit the model's input and context limits. A token estimate does not guarantee that a request meets every input limit. Image use must comply with our [usage policies](https://openai.com/policies/usage-policies/).
973 977
974### Choose an image detail level978### Choose an image detail level
997| `original` | Large, dense, spatially sensitive, or computer-use images, when supported by the model. |1001| `original` | Large, dense, spatially sensitive, or computer-use images, when supported by the model. |
998| `auto` | Use the model's default sizing behavior, shown in the model sizing table. |1002| `auto` | Use the model's default sizing behavior, shown in the model sizing table. |
999 1003
1000For tasks that require fine visual detail or precise coordinates, such as optical character recognition (OCR), small-object detection, or computer use, use `"detail": "original"` when supported. Original detail can still resize images that exceed the model's limits. For coordinate-sensitive tasks, resize images to fit those limits before sending them and map returned coordinates back to the original image. See the [Computer use guide](https://developers.openai.com/api/docs/guides/tools-computer-use) for coordinate handling.1004For tasks that require fine visual detail or precise coordinates, such as optical character recognition (OCR), small-object detection, or computer use, use `"detail": "original"` when supported. Original detail can still resize images to meet the model's pixel-dimension limit or resizing patch budget, but not to meet the separate 30,000-patch rejection limit. For coordinate-sensitive tasks, resize images to fit those limits before sending them and map returned coordinates back to the original image. See the [Computer use guide](https://developers.openai.com/api/docs/guides/tools-computer-use) for coordinate handling.
1001 1005
1002### Model sizing behavior1006### Model sizing behavior
1003 1007
1020 </td>1024 </td>
1021 <td>1025 <td>
1022 `low` fits within 512 × 512 pixels. `high` fits1026 `low` fits within 512 × 512 pixels. `high` fits
1023 within 2048 × 2048 pixels and 2,500 patches. `original` fits1027 within 2048 × 2048 pixels and 2,500 patches. `original`
1024 within 65,535 × 65,535 pixels, with no patch-budget limit. 1028 preserves the image's dimensions, except that images larger than 65,535
1029 pixels on either side are scaled down to fit that limit. If the resulting
1030 image requires more than
1031 [30,000 patches](#image-input-requirements), the API rejects
1032 the request; the image is not resized to fit the patch limit.
1025 `auto` uses the same sizing behavior as `original`.1033 `auto` uses the same sizing behavior as `original`.
1026 </td>1034 </td>
1027 </tr>1035 </tr>
1099 1107
1100### Patch-based image tokenization1108### Patch-based image tokenization
1101 1109
1102Some models tokenize images by covering them with 32px x 32px patches. Many model and detail-level combinations define a maximum patch budget. First, the API fits the image within the selected detail level's pixel-dimension limit, preserving aspect ratio and rounding to integer pixels without enlarging smaller images. The token cost is then determined as follows:1110Some models tokenize images by covering them with 32px x 32px patches. Many model and detail-level combinations define a resizing patch budget. First, the API fits the image within the selected detail level's pixel-dimension limit, preserving aspect ratio and rounding to integer pixels without enlarging smaller images. The token cost is then determined as follows:
1103 1111
1104A. Compute how many 32px x 32px patches are needed to cover the image after applying the pixel-dimension limit. A patch may extend beyond the image boundary.1112A. Compute how many 32px x 32px patches are needed to cover the image after applying the pixel-dimension limit. A patch may extend beyond the image boundary.
1105 1113
1107patch_count = ceil(width/32)×ceil(height/32)1115patch_count = ceil(width/32)×ceil(height/32)
1108```1116```
1109 1117
1110GPT-5.6 Sol, Terra, and Luna have no patch-budget limit for `original` or `auto`. After applying their pixel-dimension limit, skip the patch-budget resizing step. Large images can therefore use more tokens than with earlier models; resize them before sending or select `low` or `high` to control token use.1118B. When the selected model and detail level specify a resizing patch budget, scale the image down proportionally if it exceeds that budget. Otherwise, skip this step. Adjust the scale to stay within budget after converting to integer pixel dimensions and computing patch coverage. Keep full precision until calculating the final dimensions.
1111
1112B. When a patch budget applies and the image exceeds it, scale the image down proportionally. Adjust the scale to stay within budget after converting to integer pixel dimensions and computing patch coverage. Keep full precision until calculating the final dimensions.
1113 1119
1114```1120```
1115shrink_factor = sqrt((32^2 * patch_budget) / (width * height))1121shrink_factor = sqrt((32^2 * patch_budget) / (width * height))
1125resized_patch_count = ceil(resized_width/32)×ceil(resized_height/32)1131resized_patch_count = ceil(resized_width/32)×ceil(resized_height/32)
1126```1132```
1127 1133
1134If this count exceeds 30,000 patches, the API rejects the request. Check this limit before applying the token multiplier.
1135
1128D. Multiply the patch count by the model's multiplier and round up to get the billable image input tokens. Apply the model's input price to those tokens once; the multiplier does not apply to other prompt tokens or to the price again.1136D. Multiply the patch count by the model's multiplier and round up to get the billable image input tokens. Apply the model's input price to those tokens once; the multiplier does not apply to other prompt tokens or to the price again.
1129 1137
1130| Model | Multiplier |1138| Model | Multiplier |