@giveitsmaller/contracts 0.80.0 → 0.82.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (557) hide show
  1. package/README.md +2 -2
  2. package/accepted-options/accepted-options.json +1 -1
  3. package/accepted-options/image-output-routes.json +1 -1
  4. package/anonymous-policy.yaml +41 -0
  5. package/availability/availability.json +211 -14
  6. package/code-builder/code-builder-metadata.json +209 -12
  7. package/dist/openapi/models/AccountLimitEntry.d.ts +1 -1
  8. package/dist/openapi/models/AccountLimitEntry.js +1 -1
  9. package/dist/openapi/models/AccountLimits.d.ts +1 -1
  10. package/dist/openapi/models/AccountLimits.js +1 -1
  11. package/dist/openapi/models/AccountLimitsLimits.d.ts +1 -1
  12. package/dist/openapi/models/AccountLimitsLimits.js +1 -1
  13. package/dist/openapi/models/AccountLimitsSuccessEnvelope.d.ts +1 -1
  14. package/dist/openapi/models/AccountLimitsSuccessEnvelope.js +1 -1
  15. package/dist/openapi/models/AnonymousOperationNotAllowedResponse.d.ts +8 -6
  16. package/dist/openapi/models/AnonymousOperationNotAllowedResponse.js +1 -1
  17. package/dist/openapi/models/AnonymousQuotaExhaustedResponse.d.ts +1 -1
  18. package/dist/openapi/models/AnonymousQuotaExhaustedResponse.js +1 -1
  19. package/dist/openapi/models/AudioWatermarkDecodeRequest.d.ts +1 -1
  20. package/dist/openapi/models/AudioWatermarkDecodeRequest.js +1 -1
  21. package/dist/openapi/models/AudioWatermarkDecodeResponse.d.ts +1 -1
  22. package/dist/openapi/models/AudioWatermarkDecodeResponse.js +1 -1
  23. package/dist/openapi/models/AuthErrorResponse.d.ts +1 -1
  24. package/dist/openapi/models/AuthErrorResponse.js +1 -1
  25. package/dist/openapi/models/AuthErrorType.d.ts +1 -1
  26. package/dist/openapi/models/AuthErrorType.js +1 -1
  27. package/dist/openapi/models/AuthRejectionEnvelope.d.ts +1 -1
  28. package/dist/openapi/models/AuthRejectionEnvelope.js +1 -1
  29. package/dist/openapi/models/AuthenticatedIdentity.d.ts +1 -1
  30. package/dist/openapi/models/AuthenticatedIdentity.js +1 -1
  31. package/dist/openapi/models/AvailabilityValue.d.ts +1 -1
  32. package/dist/openapi/models/AvailabilityValue.js +1 -1
  33. package/dist/openapi/models/BalanceExhaustedResponse.d.ts +1 -1
  34. package/dist/openapi/models/BalanceExhaustedResponse.js +1 -1
  35. package/dist/openapi/models/BalanceExhaustedResponseAllOfLinks.d.ts +1 -1
  36. package/dist/openapi/models/BalanceExhaustedResponseAllOfLinks.js +1 -1
  37. package/dist/openapi/models/BillingCheckoutRequest.d.ts +1 -1
  38. package/dist/openapi/models/BillingCheckoutRequest.js +1 -1
  39. package/dist/openapi/models/BillingCheckoutSession.d.ts +1 -1
  40. package/dist/openapi/models/BillingCheckoutSession.js +1 -1
  41. package/dist/openapi/models/BillingCheckoutSuccessEnvelope.d.ts +1 -1
  42. package/dist/openapi/models/BillingCheckoutSuccessEnvelope.js +1 -1
  43. package/dist/openapi/models/CallbackEventType.d.ts +1 -1
  44. package/dist/openapi/models/CallbackEventType.js +1 -1
  45. package/dist/openapi/models/CancelAccountDeletion200Response.d.ts +1 -1
  46. package/dist/openapi/models/CancelAccountDeletion200Response.js +1 -1
  47. package/dist/openapi/models/CancelAccountDeletion200ResponseData.d.ts +1 -1
  48. package/dist/openapi/models/CancelAccountDeletion200ResponseData.js +1 -1
  49. package/dist/openapi/models/CapabilityCondition.d.ts +1 -1
  50. package/dist/openapi/models/CapabilityCondition.js +1 -1
  51. package/dist/openapi/models/CapabilityConditionOneOf.d.ts +1 -1
  52. package/dist/openapi/models/CapabilityConditionOneOf.js +1 -1
  53. package/dist/openapi/models/CapabilityConditionOneOf1.d.ts +1 -1
  54. package/dist/openapi/models/CapabilityConditionOneOf1.js +1 -1
  55. package/dist/openapi/models/CapabilityConditionOneOf2.d.ts +1 -1
  56. package/dist/openapi/models/CapabilityConditionOneOf2.js +1 -1
  57. package/dist/openapi/models/CapabilityConditionOneOf3.d.ts +1 -1
  58. package/dist/openapi/models/CapabilityConditionOneOf3.js +1 -1
  59. package/dist/openapi/models/CapabilityConditionOneOf4.d.ts +1 -1
  60. package/dist/openapi/models/CapabilityConditionOneOf4.js +1 -1
  61. package/dist/openapi/models/CapabilityConditionOneOf5.d.ts +1 -1
  62. package/dist/openapi/models/CapabilityConditionOneOf5.js +1 -1
  63. package/dist/openapi/models/CapabilityConditionOneOf6.d.ts +1 -1
  64. package/dist/openapi/models/CapabilityConditionOneOf6.js +1 -1
  65. package/dist/openapi/models/CapabilityConstraint.d.ts +1 -1
  66. package/dist/openapi/models/CapabilityConstraint.js +1 -1
  67. package/dist/openapi/models/CapabilityInputSpec.d.ts +1 -1
  68. package/dist/openapi/models/CapabilityInputSpec.js +1 -1
  69. package/dist/openapi/models/CapabilityProduces.d.ts +1 -1
  70. package/dist/openapi/models/CapabilityProduces.js +1 -1
  71. package/dist/openapi/models/CapabilityProducesOneOf.d.ts +1 -1
  72. package/dist/openapi/models/CapabilityProducesOneOf.js +1 -1
  73. package/dist/openapi/models/CapabilityProducesOneOf1.d.ts +1 -1
  74. package/dist/openapi/models/CapabilityProducesOneOf1.js +1 -1
  75. package/dist/openapi/models/CapabilityProducesOneOf2.d.ts +1 -1
  76. package/dist/openapi/models/CapabilityProducesOneOf2.js +1 -1
  77. package/dist/openapi/models/ChangePasswordRequest.d.ts +1 -1
  78. package/dist/openapi/models/ChangePasswordRequest.js +1 -1
  79. package/dist/openapi/models/CheckoutSessionStatusResponse.d.ts +1 -1
  80. package/dist/openapi/models/CheckoutSessionStatusResponse.js +1 -1
  81. package/dist/openapi/models/CheckoutSessionStatusResponseData.d.ts +1 -1
  82. package/dist/openapi/models/CheckoutSessionStatusResponseData.js +1 -1
  83. package/dist/openapi/models/CodegenSource.d.ts +1 -1
  84. package/dist/openapi/models/CodegenSource.js +1 -1
  85. package/dist/openapi/models/CodegenSourceInput.d.ts +1 -1
  86. package/dist/openapi/models/CodegenSourceInput.js +1 -1
  87. package/dist/openapi/models/CodegenSourceJob.d.ts +1 -1
  88. package/dist/openapi/models/CodegenSourceJob.js +1 -1
  89. package/dist/openapi/models/CodegenSourceJobSource.d.ts +1 -1
  90. package/dist/openapi/models/CodegenSourceJobSource.js +1 -1
  91. package/dist/openapi/models/CodegenSourceOperation.d.ts +1 -1
  92. package/dist/openapi/models/CodegenSourceOperation.js +1 -1
  93. package/dist/openapi/models/CodegenUploadPlaceholder.d.ts +1 -1
  94. package/dist/openapi/models/CodegenUploadPlaceholder.js +1 -1
  95. package/dist/openapi/models/CompositionPlan.d.ts +1 -1
  96. package/dist/openapi/models/CompositionPlan.js +1 -1
  97. package/dist/openapi/models/CompositionPlanJob.d.ts +1 -1
  98. package/dist/openapi/models/CompositionPlanJob.js +1 -1
  99. package/dist/openapi/models/CompositionPlanOperation.d.ts +1 -1
  100. package/dist/openapi/models/CompositionPlanOperation.js +1 -1
  101. package/dist/openapi/models/ConfirmEmailChange200Response.d.ts +1 -1
  102. package/dist/openapi/models/ConfirmEmailChange200Response.js +1 -1
  103. package/dist/openapi/models/ConfirmEmailChange200ResponseData.d.ts +1 -1
  104. package/dist/openapi/models/ConfirmEmailChange200ResponseData.js +1 -1
  105. package/dist/openapi/models/ConfirmEmailChangeRequest.d.ts +1 -1
  106. package/dist/openapi/models/ConfirmEmailChangeRequest.js +1 -1
  107. package/dist/openapi/models/ConnectionSource.d.ts +1 -1
  108. package/dist/openapi/models/ConnectionSource.js +1 -1
  109. package/dist/openapi/models/ContactRequest.d.ts +1 -1
  110. package/dist/openapi/models/ContactRequest.js +1 -1
  111. package/dist/openapi/models/ContactSubject.d.ts +1 -1
  112. package/dist/openapi/models/ContactSubject.js +1 -1
  113. package/dist/openapi/models/ContactValidationErrorResponse.d.ts +1 -1
  114. package/dist/openapi/models/ContactValidationErrorResponse.js +1 -1
  115. package/dist/openapi/models/CreateApiKey201Response.d.ts +1 -1
  116. package/dist/openapi/models/CreateApiKey201Response.js +1 -1
  117. package/dist/openapi/models/CreateApiKey201ResponseData.d.ts +1 -1
  118. package/dist/openapi/models/CreateApiKey201ResponseData.js +1 -1
  119. package/dist/openapi/models/CreateApiKeyRequest.d.ts +1 -1
  120. package/dist/openapi/models/CreateApiKeyRequest.js +1 -1
  121. package/dist/openapi/models/CreateBillingCheckoutSession422Response.d.ts +1 -1
  122. package/dist/openapi/models/CreateBillingCheckoutSession422Response.js +1 -1
  123. package/dist/openapi/models/CreateExternalImport403Response.d.ts +1 -1
  124. package/dist/openapi/models/CreateExternalImport403Response.js +1 -1
  125. package/dist/openapi/models/CreateExternalImport422Response.d.ts +1 -1
  126. package/dist/openapi/models/CreateExternalImport422Response.js +1 -1
  127. package/dist/openapi/models/CreateWorkflow401Response.d.ts +1 -1
  128. package/dist/openapi/models/CreateWorkflow401Response.js +1 -1
  129. package/dist/openapi/models/CreateWorkflow403Response.d.ts +1 -1
  130. package/dist/openapi/models/CreateWorkflow403Response.js +1 -1
  131. package/dist/openapi/models/CreateWorkflow422Response.d.ts +1 -1
  132. package/dist/openapi/models/CreateWorkflow422Response.js +1 -1
  133. package/dist/openapi/models/CreditTransaction.d.ts +1 -1
  134. package/dist/openapi/models/CreditTransaction.js +1 -1
  135. package/dist/openapi/models/CreditTransactionSourceBucket.d.ts +1 -1
  136. package/dist/openapi/models/CreditTransactionSourceBucket.js +1 -1
  137. package/dist/openapi/models/CreditsBalanceResponse.d.ts +1 -1
  138. package/dist/openapi/models/CreditsBalanceResponse.js +1 -1
  139. package/dist/openapi/models/CreditsBalanceSuccessEnvelope.d.ts +1 -1
  140. package/dist/openapi/models/CreditsBalanceSuccessEnvelope.js +1 -1
  141. package/dist/openapi/models/CreditsUsageResponse.d.ts +1 -1
  142. package/dist/openapi/models/CreditsUsageResponse.js +1 -1
  143. package/dist/openapi/models/CreditsUsageSuccessEnvelope.d.ts +1 -1
  144. package/dist/openapi/models/CreditsUsageSuccessEnvelope.js +1 -1
  145. package/dist/openapi/models/Delivery.d.ts +1 -1
  146. package/dist/openapi/models/Delivery.js +1 -1
  147. package/dist/openapi/models/DeliveryOutputRef.d.ts +1 -1
  148. package/dist/openapi/models/DeliveryOutputRef.js +1 -1
  149. package/dist/openapi/models/DeliveryPlan.d.ts +1 -1
  150. package/dist/openapi/models/DeliveryPlan.js +1 -1
  151. package/dist/openapi/models/DeliveryPlanOutput.d.ts +1 -1
  152. package/dist/openapi/models/DeliveryPlanOutput.js +1 -1
  153. package/dist/openapi/models/DeliveryPlanReason.d.ts +1 -1
  154. package/dist/openapi/models/DeliveryPlanReason.js +1 -1
  155. package/dist/openapi/models/DeliverySelection.d.ts +1 -1
  156. package/dist/openapi/models/DeliverySelection.js +1 -1
  157. package/dist/openapi/models/DownloadBundle.d.ts +1 -1
  158. package/dist/openapi/models/DownloadBundle.js +1 -1
  159. package/dist/openapi/models/DroppedOption.d.ts +1 -1
  160. package/dist/openapi/models/DroppedOption.js +1 -1
  161. package/dist/openapi/models/EmailNotify.d.ts +1 -1
  162. package/dist/openapi/models/EmailNotify.js +1 -1
  163. package/dist/openapi/models/EmptySuccessEnvelope.d.ts +1 -1
  164. package/dist/openapi/models/EmptySuccessEnvelope.js +1 -1
  165. package/dist/openapi/models/EndpointProjection.d.ts +1 -1
  166. package/dist/openapi/models/EndpointProjection.js +1 -1
  167. package/dist/openapi/models/EndpointProjectionServersInner.d.ts +1 -1
  168. package/dist/openapi/models/EndpointProjectionServersInner.js +1 -1
  169. package/dist/openapi/models/ErrorEnvelope.d.ts +1 -1
  170. package/dist/openapi/models/ErrorEnvelope.js +1 -1
  171. package/dist/openapi/models/EstimateQuality.d.ts +1 -1
  172. package/dist/openapi/models/EstimateQuality.js +1 -1
  173. package/dist/openapi/models/EstimateRange.d.ts +1 -1
  174. package/dist/openapi/models/EstimateRange.js +1 -1
  175. package/dist/openapi/models/ExportAccountData200Response.d.ts +1 -1
  176. package/dist/openapi/models/ExportAccountData200Response.js +1 -1
  177. package/dist/openapi/models/ExportAccountData200ResponseData.d.ts +1 -1
  178. package/dist/openapi/models/ExportAccountData200ResponseData.js +1 -1
  179. package/dist/openapi/models/ExportAccountData200ResponseDataBilling.d.ts +1 -1
  180. package/dist/openapi/models/ExportAccountData200ResponseDataBilling.js +1 -1
  181. package/dist/openapi/models/ExportAccountData200ResponseDataBillingCheckoutSessionsInner.d.ts +1 -1
  182. package/dist/openapi/models/ExportAccountData200ResponseDataBillingCheckoutSessionsInner.js +1 -1
  183. package/dist/openapi/models/ExternalDestination.d.ts +1 -1
  184. package/dist/openapi/models/ExternalDestination.js +1 -1
  185. package/dist/openapi/models/ExternalImportCreatedResponse.d.ts +1 -1
  186. package/dist/openapi/models/ExternalImportCreatedResponse.js +1 -1
  187. package/dist/openapi/models/ExternalImportCreatedSuccessEnvelope.d.ts +1 -1
  188. package/dist/openapi/models/ExternalImportCreatedSuccessEnvelope.js +1 -1
  189. package/dist/openapi/models/ExternalImportRequest.d.ts +1 -1
  190. package/dist/openapi/models/ExternalImportRequest.js +1 -1
  191. package/dist/openapi/models/ExternalImportToken.d.ts +1 -1
  192. package/dist/openapi/models/ExternalImportToken.js +1 -1
  193. package/dist/openapi/models/ExternalSource.d.ts +1 -1
  194. package/dist/openapi/models/ExternalSource.js +1 -1
  195. package/dist/openapi/models/FeatureNotAvailableResponse.d.ts +1 -1
  196. package/dist/openapi/models/FeatureNotAvailableResponse.js +1 -1
  197. package/dist/openapi/models/FeatureTierRestrictedResponse.d.ts +1 -1
  198. package/dist/openapi/models/FeatureTierRestrictedResponse.js +1 -1
  199. package/dist/openapi/models/FeatureViolation.d.ts +1 -1
  200. package/dist/openapi/models/FeatureViolation.js +1 -1
  201. package/dist/openapi/models/GetProfile200Response.d.ts +1 -1
  202. package/dist/openapi/models/GetProfile200Response.js +1 -1
  203. package/dist/openapi/models/GetProfile200ResponseData.d.ts +1 -1
  204. package/dist/openapi/models/GetProfile200ResponseData.js +1 -1
  205. package/dist/openapi/models/ImageEncodeCapabilities.d.ts +1 -1
  206. package/dist/openapi/models/ImageEncodeCapabilities.js +1 -1
  207. package/dist/openapi/models/JobDefinition.d.ts +1 -1
  208. package/dist/openapi/models/JobDefinition.js +1 -1
  209. package/dist/openapi/models/JobDownload.d.ts +1 -1
  210. package/dist/openapi/models/JobDownload.js +1 -1
  211. package/dist/openapi/models/JobInputV2.d.ts +1 -1
  212. package/dist/openapi/models/JobInputV2.js +1 -1
  213. package/dist/openapi/models/JobMediaClass.d.ts +1 -1
  214. package/dist/openapi/models/JobMediaClass.js +1 -1
  215. package/dist/openapi/models/JobOutputSource.d.ts +1 -1
  216. package/dist/openapi/models/JobOutputSource.js +1 -1
  217. package/dist/openapi/models/JobResponse.d.ts +1 -1
  218. package/dist/openapi/models/JobResponse.js +1 -1
  219. package/dist/openapi/models/JobStatus.d.ts +1 -1
  220. package/dist/openapi/models/JobStatus.js +1 -1
  221. package/dist/openapi/models/JobType.d.ts +1 -1
  222. package/dist/openapi/models/JobType.js +1 -1
  223. package/dist/openapi/models/LivenessResponse.d.ts +1 -1
  224. package/dist/openapi/models/LivenessResponse.js +1 -1
  225. package/dist/openapi/models/LoginUser200Response.d.ts +1 -1
  226. package/dist/openapi/models/LoginUser200Response.js +1 -1
  227. package/dist/openapi/models/LoginUser200ResponseData.d.ts +1 -1
  228. package/dist/openapi/models/LoginUser200ResponseData.js +1 -1
  229. package/dist/openapi/models/LoginUser200ResponseDataUser.d.ts +1 -1
  230. package/dist/openapi/models/LoginUser200ResponseDataUser.js +1 -1
  231. package/dist/openapi/models/LoginUser401Response.d.ts +1 -1
  232. package/dist/openapi/models/LoginUser401Response.js +1 -1
  233. package/dist/openapi/models/LoginUserRequest.d.ts +1 -1
  234. package/dist/openapi/models/LoginUserRequest.js +1 -1
  235. package/dist/openapi/models/LongFormConcurrencyLimitResponse.d.ts +1 -1
  236. package/dist/openapi/models/LongFormConcurrencyLimitResponse.js +1 -1
  237. package/dist/openapi/models/LongFormConcurrencyLimitResponseAllOfLinks.d.ts +1 -1
  238. package/dist/openapi/models/LongFormConcurrencyLimitResponseAllOfLinks.js +1 -1
  239. package/dist/openapi/models/MetadataResponse.d.ts +1 -1
  240. package/dist/openapi/models/MetadataResponse.js +1 -1
  241. package/dist/openapi/models/MetadataResponseDimensions.d.ts +1 -1
  242. package/dist/openapi/models/MetadataResponseDimensions.js +1 -1
  243. package/dist/openapi/models/MetadataResponseExif.d.ts +1 -1
  244. package/dist/openapi/models/MetadataResponseExif.js +1 -1
  245. package/dist/openapi/models/MetadataResponseExifGps.d.ts +1 -1
  246. package/dist/openapi/models/MetadataResponseExifGps.js +1 -1
  247. package/dist/openapi/models/MetadataSuccessEnvelope.d.ts +1 -1
  248. package/dist/openapi/models/MetadataSuccessEnvelope.js +1 -1
  249. package/dist/openapi/models/MimeGroupSchema.d.ts +69 -1
  250. package/dist/openapi/models/MimeGroupSchema.js +12 -1
  251. package/dist/openapi/models/MultiInputSource.d.ts +1 -1
  252. package/dist/openapi/models/MultiInputSource.js +1 -1
  253. package/dist/openapi/models/MultipartCompleteRequest.d.ts +1 -1
  254. package/dist/openapi/models/MultipartCompleteRequest.js +1 -1
  255. package/dist/openapi/models/MultipartCompleteRequestPartsInner.d.ts +1 -1
  256. package/dist/openapi/models/MultipartCompleteRequestPartsInner.js +1 -1
  257. package/dist/openapi/models/MultipartCompleteResponse.d.ts +1 -1
  258. package/dist/openapi/models/MultipartCompleteResponse.js +1 -1
  259. package/dist/openapi/models/MultipartCompleteSuccessEnvelope.d.ts +1 -1
  260. package/dist/openapi/models/MultipartCompleteSuccessEnvelope.js +1 -1
  261. package/dist/openapi/models/MultipartInitiateRequestMetadataHint.d.ts +1 -1
  262. package/dist/openapi/models/MultipartInitiateRequestMetadataHint.js +1 -1
  263. package/dist/openapi/models/MultipartInitiateResponse.d.ts +1 -1
  264. package/dist/openapi/models/MultipartInitiateResponse.js +1 -1
  265. package/dist/openapi/models/MultipartInitiateSuccessEnvelope.d.ts +1 -1
  266. package/dist/openapi/models/MultipartInitiateSuccessEnvelope.js +1 -1
  267. package/dist/openapi/models/MultipartKeepaliveResponse.d.ts +1 -1
  268. package/dist/openapi/models/MultipartKeepaliveResponse.js +1 -1
  269. package/dist/openapi/models/MultipartKeepaliveSuccessEnvelope.d.ts +1 -1
  270. package/dist/openapi/models/MultipartKeepaliveSuccessEnvelope.js +1 -1
  271. package/dist/openapi/models/MultipartPartListing.d.ts +1 -1
  272. package/dist/openapi/models/MultipartPartListing.js +1 -1
  273. package/dist/openapi/models/MultipartPresignRequest.d.ts +1 -1
  274. package/dist/openapi/models/MultipartPresignRequest.js +1 -1
  275. package/dist/openapi/models/MultipartPresignResponse.d.ts +1 -1
  276. package/dist/openapi/models/MultipartPresignResponse.js +1 -1
  277. package/dist/openapi/models/MultipartPresignSuccessEnvelope.d.ts +1 -1
  278. package/dist/openapi/models/MultipartPresignSuccessEnvelope.js +1 -1
  279. package/dist/openapi/models/MultipartStatusResponse.d.ts +1 -1
  280. package/dist/openapi/models/MultipartStatusResponse.js +1 -1
  281. package/dist/openapi/models/MultipartStatusSuccessEnvelope.d.ts +1 -1
  282. package/dist/openapi/models/MultipartStatusSuccessEnvelope.js +1 -1
  283. package/dist/openapi/models/NotifyConfig.d.ts +1 -1
  284. package/dist/openapi/models/NotifyConfig.js +1 -1
  285. package/dist/openapi/models/OperationCapability.d.ts +1 -1
  286. package/dist/openapi/models/OperationCapability.js +1 -1
  287. package/dist/openapi/models/OperationDefinition.d.ts +1 -1
  288. package/dist/openapi/models/OperationDefinition.js +1 -1
  289. package/dist/openapi/models/OperationDownload.d.ts +1 -1
  290. package/dist/openapi/models/OperationDownload.js +1 -1
  291. package/dist/openapi/models/OperationInputModel.d.ts +1 -1
  292. package/dist/openapi/models/OperationInputModel.js +1 -1
  293. package/dist/openapi/models/OperationMessageParamsValue.d.ts +1 -1
  294. package/dist/openapi/models/OperationMessageParamsValue.js +1 -1
  295. package/dist/openapi/models/OperationResponse.d.ts +1 -1
  296. package/dist/openapi/models/OperationResponse.js +1 -1
  297. package/dist/openapi/models/OperationResult.d.ts +1 -1
  298. package/dist/openapi/models/OperationResult.js +1 -1
  299. package/dist/openapi/models/OperationResultMetadata.d.ts +1 -1
  300. package/dist/openapi/models/OperationResultMetadata.js +1 -1
  301. package/dist/openapi/models/OperationResultMetrics.d.ts +1 -1
  302. package/dist/openapi/models/OperationResultMetrics.js +1 -1
  303. package/dist/openapi/models/OperationSchemaDefinition.d.ts +1 -1
  304. package/dist/openapi/models/OperationSchemaDefinition.js +1 -1
  305. package/dist/openapi/models/OperationStatus.d.ts +1 -1
  306. package/dist/openapi/models/OperationStatus.js +1 -1
  307. package/dist/openapi/models/OperationType.d.ts +1 -1
  308. package/dist/openapi/models/OperationType.js +1 -1
  309. package/dist/openapi/models/OperationsSchemaResponse.d.ts +1 -1
  310. package/dist/openapi/models/OperationsSchemaResponse.js +1 -1
  311. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeatures.d.ts +1 -1
  312. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeatures.js +1 -1
  313. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDelivery.d.ts +1 -1
  314. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDelivery.js +1 -1
  315. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliveryMode.d.ts +1 -1
  316. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliveryMode.js +1 -1
  317. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliverySelection.d.ts +1 -1
  318. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliverySelection.js +1 -1
  319. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesProcessing.d.ts +1 -1
  320. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesProcessing.js +1 -1
  321. package/dist/openapi/models/OptionSchema.d.ts +1 -1
  322. package/dist/openapi/models/OptionSchema.js +1 -1
  323. package/dist/openapi/models/OutputProperties.d.ts +1 -1
  324. package/dist/openapi/models/OutputProperties.js +1 -1
  325. package/dist/openapi/models/OutputPropertiesIsAnimated.d.ts +1 -1
  326. package/dist/openapi/models/OutputPropertiesIsAnimated.js +1 -1
  327. package/dist/openapi/models/PerClassAvailabilityEntry.d.ts +1 -1
  328. package/dist/openapi/models/PerClassAvailabilityEntry.js +1 -1
  329. package/dist/openapi/models/PerRoleCardinalityEntry.d.ts +1 -1
  330. package/dist/openapi/models/PerRoleCardinalityEntry.js +1 -1
  331. package/dist/openapi/models/PerValueAvailabilityEntry.d.ts +1 -1
  332. package/dist/openapi/models/PerValueAvailabilityEntry.js +1 -1
  333. package/dist/openapi/models/PresignedUrlPart.d.ts +1 -1
  334. package/dist/openapi/models/PresignedUrlPart.js +1 -1
  335. package/dist/openapi/models/ProbePendingResponse.d.ts +1 -1
  336. package/dist/openapi/models/ProbePendingResponse.js +1 -1
  337. package/dist/openapi/models/ProcessingClass.d.ts +1 -1
  338. package/dist/openapi/models/ProcessingClass.js +1 -1
  339. package/dist/openapi/models/ProcessingClassBandViolation.d.ts +1 -1
  340. package/dist/openapi/models/ProcessingClassBandViolation.js +1 -1
  341. package/dist/openapi/models/ProcessingClassConstraints.d.ts +1 -1
  342. package/dist/openapi/models/ProcessingClassConstraints.js +1 -1
  343. package/dist/openapi/models/ProcessingClassEntry.d.ts +32 -1
  344. package/dist/openapi/models/ProcessingClassEntry.js +10 -1
  345. package/dist/openapi/models/ProcessingClassEntryInputUniformity.d.ts +1 -1
  346. package/dist/openapi/models/ProcessingClassEntryInputUniformity.js +1 -1
  347. package/dist/openapi/models/ProcessingClassEntryResolutionBands.d.ts +1 -1
  348. package/dist/openapi/models/ProcessingClassEntryResolutionBands.js +1 -1
  349. package/dist/openapi/models/ProcessingClassExceedsBandResponse.d.ts +1 -1
  350. package/dist/openapi/models/ProcessingClassExceedsBandResponse.js +1 -1
  351. package/dist/openapi/models/ProcessingClassHint.d.ts +1 -1
  352. package/dist/openapi/models/ProcessingClassHint.js +1 -1
  353. package/dist/openapi/models/ProcessingClassReason.d.ts +1 -1
  354. package/dist/openapi/models/ProcessingClassReason.js +1 -1
  355. package/dist/openapi/models/ProcessingClassRejectReason.d.ts +1 -1
  356. package/dist/openapi/models/ProcessingClassRejectReason.js +1 -1
  357. package/dist/openapi/models/ProcessingPlan.d.ts +1 -1
  358. package/dist/openapi/models/ProcessingPlan.js +1 -1
  359. package/dist/openapi/models/ProcessingPlanJob.d.ts +1 -1
  360. package/dist/openapi/models/ProcessingPlanJob.js +1 -1
  361. package/dist/openapi/models/ReEncodeDecision.d.ts +1 -1
  362. package/dist/openapi/models/ReEncodeDecision.js +1 -1
  363. package/dist/openapi/models/ReadinessResponse.d.ts +1 -1
  364. package/dist/openapi/models/ReadinessResponse.js +1 -1
  365. package/dist/openapi/models/RegisterUser422Response.d.ts +1 -1
  366. package/dist/openapi/models/RegisterUser422Response.js +1 -1
  367. package/dist/openapi/models/RegisterUserRequest.d.ts +1 -1
  368. package/dist/openapi/models/RegisterUserRequest.js +1 -1
  369. package/dist/openapi/models/RequestAccountDeletion200Response.d.ts +1 -1
  370. package/dist/openapi/models/RequestAccountDeletion200Response.js +1 -1
  371. package/dist/openapi/models/RequestAccountDeletion200ResponseData.d.ts +1 -1
  372. package/dist/openapi/models/RequestAccountDeletion200ResponseData.js +1 -1
  373. package/dist/openapi/models/RequestAccountDeletionRequest.d.ts +1 -1
  374. package/dist/openapi/models/RequestAccountDeletionRequest.js +1 -1
  375. package/dist/openapi/models/ResendVerificationEmailRequest.d.ts +1 -1
  376. package/dist/openapi/models/ResendVerificationEmailRequest.js +1 -1
  377. package/dist/openapi/models/ResetPasswordRequest.d.ts +1 -1
  378. package/dist/openapi/models/ResetPasswordRequest.js +1 -1
  379. package/dist/openapi/models/ResolutionBand.d.ts +1 -1
  380. package/dist/openapi/models/ResolutionBand.js +1 -1
  381. package/dist/openapi/models/ResolutionBandCeiling.d.ts +14 -1
  382. package/dist/openapi/models/ResolutionBandCeiling.js +4 -1
  383. package/dist/openapi/models/ResolutionBandCeilingConstraints.d.ts +1 -1
  384. package/dist/openapi/models/ResolutionBandCeilingConstraints.js +1 -1
  385. package/dist/openapi/models/ResolutionBandCeilingDerivation.d.ts +1 -1
  386. package/dist/openapi/models/ResolutionBandCeilingDerivation.js +1 -1
  387. package/dist/openapi/models/ResponseEnvelope.d.ts +1 -1
  388. package/dist/openapi/models/ResponseEnvelope.js +1 -1
  389. package/dist/openapi/models/RetryResponse.d.ts +1 -1
  390. package/dist/openapi/models/RetryResponse.js +1 -1
  391. package/dist/openapi/models/RetrySuccessEnvelope.d.ts +1 -1
  392. package/dist/openapi/models/RetrySuccessEnvelope.js +1 -1
  393. package/dist/openapi/models/SseCompletionBase.d.ts +1 -1
  394. package/dist/openapi/models/SseCompletionBase.js +1 -1
  395. package/dist/openapi/models/SseConnectionLimitResponse.d.ts +1 -1
  396. package/dist/openapi/models/SseConnectionLimitResponse.js +1 -1
  397. package/dist/openapi/models/SseEventType.d.ts +1 -1
  398. package/dist/openapi/models/SseEventType.js +1 -1
  399. package/dist/openapi/models/SseJobCompletedData.d.ts +1 -1
  400. package/dist/openapi/models/SseJobCompletedData.js +1 -1
  401. package/dist/openapi/models/SseJobFailedData.d.ts +1 -1
  402. package/dist/openapi/models/SseJobFailedData.js +1 -1
  403. package/dist/openapi/models/SseMultiOutputCompletion.d.ts +1 -1
  404. package/dist/openapi/models/SseMultiOutputCompletion.js +1 -1
  405. package/dist/openapi/models/SseMultiOutputCompletionMetrics.d.ts +1 -1
  406. package/dist/openapi/models/SseMultiOutputCompletionMetrics.js +1 -1
  407. package/dist/openapi/models/SseMultiOutputCompletionWithKind.d.ts +1 -1
  408. package/dist/openapi/models/SseMultiOutputCompletionWithKind.js +1 -1
  409. package/dist/openapi/models/SseMultiOutputResultEntry.d.ts +1 -1
  410. package/dist/openapi/models/SseMultiOutputResultEntry.js +1 -1
  411. package/dist/openapi/models/SseOperationCompletedData.d.ts +1 -1
  412. package/dist/openapi/models/SseOperationCompletedData.js +1 -1
  413. package/dist/openapi/models/SseOperationCompletionResult.d.ts +1 -1
  414. package/dist/openapi/models/SseOperationCompletionResult.js +1 -1
  415. package/dist/openapi/models/SseOperationFailedData.d.ts +1 -1
  416. package/dist/openapi/models/SseOperationFailedData.js +1 -1
  417. package/dist/openapi/models/SseOperationProgressData.d.ts +1 -1
  418. package/dist/openapi/models/SseOperationProgressData.js +1 -1
  419. package/dist/openapi/models/SseSingleOutputCompletion.d.ts +1 -1
  420. package/dist/openapi/models/SseSingleOutputCompletion.js +1 -1
  421. package/dist/openapi/models/SseWorkflowTerminalData.d.ts +1 -1
  422. package/dist/openapi/models/SseWorkflowTerminalData.js +1 -1
  423. package/dist/openapi/models/TierRestrictionKind.d.ts +1 -1
  424. package/dist/openapi/models/TierRestrictionKind.js +1 -1
  425. package/dist/openapi/models/TierRestrictionResponse.d.ts +1 -1
  426. package/dist/openapi/models/TierRestrictionResponse.js +1 -1
  427. package/dist/openapi/models/UpdateProfile200Response.d.ts +1 -1
  428. package/dist/openapi/models/UpdateProfile200Response.js +1 -1
  429. package/dist/openapi/models/UpdateProfile200ResponseData.d.ts +1 -1
  430. package/dist/openapi/models/UpdateProfile200ResponseData.js +1 -1
  431. package/dist/openapi/models/UpdateProfile422Response.d.ts +1 -1
  432. package/dist/openapi/models/UpdateProfile422Response.js +1 -1
  433. package/dist/openapi/models/UpdateProfileRequest.d.ts +1 -1
  434. package/dist/openapi/models/UpdateProfileRequest.js +1 -1
  435. package/dist/openapi/models/UploadConstraintsApplied.d.ts +1 -1
  436. package/dist/openapi/models/UploadConstraintsApplied.js +1 -1
  437. package/dist/openapi/models/UploadDurationExceedsTierResponse.d.ts +1 -1
  438. package/dist/openapi/models/UploadDurationExceedsTierResponse.js +1 -1
  439. package/dist/openapi/models/UploadFile403Response.d.ts +1 -1
  440. package/dist/openapi/models/UploadFile403Response.js +1 -1
  441. package/dist/openapi/models/UploadFile422Response.d.ts +1 -1
  442. package/dist/openapi/models/UploadFile422Response.js +1 -1
  443. package/dist/openapi/models/UploadProbeMediaMetadata.d.ts +1 -1
  444. package/dist/openapi/models/UploadProbeMediaMetadata.js +1 -1
  445. package/dist/openapi/models/UploadProbeProcessingClass.d.ts +1 -1
  446. package/dist/openapi/models/UploadProbeProcessingClass.js +1 -1
  447. package/dist/openapi/models/UploadProbeResponse.d.ts +1 -1
  448. package/dist/openapi/models/UploadProbeResponse.js +1 -1
  449. package/dist/openapi/models/UploadProbeStatus.d.ts +1 -1
  450. package/dist/openapi/models/UploadProbeStatus.js +1 -1
  451. package/dist/openapi/models/UploadProbeSuccessEnvelope.d.ts +1 -1
  452. package/dist/openapi/models/UploadProbeSuccessEnvelope.js +1 -1
  453. package/dist/openapi/models/UploadResponse.d.ts +1 -1
  454. package/dist/openapi/models/UploadResponse.js +1 -1
  455. package/dist/openapi/models/UploadSizeExceedsTierResponse.d.ts +1 -1
  456. package/dist/openapi/models/UploadSizeExceedsTierResponse.js +1 -1
  457. package/dist/openapi/models/UploadSource.d.ts +1 -1
  458. package/dist/openapi/models/UploadSource.js +1 -1
  459. package/dist/openapi/models/UploadSuccessEnvelope.d.ts +1 -1
  460. package/dist/openapi/models/UploadSuccessEnvelope.js +1 -1
  461. package/dist/openapi/models/UploadThresholds.d.ts +1 -1
  462. package/dist/openapi/models/UploadThresholds.js +1 -1
  463. package/dist/openapi/models/UserTier.d.ts +1 -1
  464. package/dist/openapi/models/UserTier.js +1 -1
  465. package/dist/openapi/models/ValidationErrorEnvelope.d.ts +1 -1
  466. package/dist/openapi/models/ValidationErrorEnvelope.js +1 -1
  467. package/dist/openapi/models/ValidationErrorEnvelopeDetailsInner.d.ts +1 -1
  468. package/dist/openapi/models/ValidationErrorEnvelopeDetailsInner.js +1 -1
  469. package/dist/openapi/models/VerifyEmailRequest.d.ts +1 -1
  470. package/dist/openapi/models/VerifyEmailRequest.js +1 -1
  471. package/dist/openapi/models/WarningType.d.ts +1 -1
  472. package/dist/openapi/models/WarningType.js +1 -1
  473. package/dist/openapi/models/WebhookOperationContext.d.ts +1 -1
  474. package/dist/openapi/models/WebhookOperationContext.js +1 -1
  475. package/dist/openapi/models/WebhookPayload.d.ts +1 -1
  476. package/dist/openapi/models/WebhookPayload.js +1 -1
  477. package/dist/openapi/models/WorkflowArchiveResponse.d.ts +1 -1
  478. package/dist/openapi/models/WorkflowArchiveResponse.js +1 -1
  479. package/dist/openapi/models/WorkflowArchiveSuccessEnvelope.d.ts +1 -1
  480. package/dist/openapi/models/WorkflowArchiveSuccessEnvelope.js +1 -1
  481. package/dist/openapi/models/WorkflowCancelBillingEffect.d.ts +1 -1
  482. package/dist/openapi/models/WorkflowCancelBillingEffect.js +1 -1
  483. package/dist/openapi/models/WorkflowCancelResponse.d.ts +1 -1
  484. package/dist/openapi/models/WorkflowCancelResponse.js +1 -1
  485. package/dist/openapi/models/WorkflowCancelSuccessEnvelope.d.ts +1 -1
  486. package/dist/openapi/models/WorkflowCancelSuccessEnvelope.js +1 -1
  487. package/dist/openapi/models/WorkflowCreateRequest.d.ts +1 -1
  488. package/dist/openapi/models/WorkflowCreateRequest.js +1 -1
  489. package/dist/openapi/models/WorkflowCreateResponse.d.ts +1 -1
  490. package/dist/openapi/models/WorkflowCreateResponse.js +1 -1
  491. package/dist/openapi/models/WorkflowCreateSuccessEnvelope.d.ts +1 -1
  492. package/dist/openapi/models/WorkflowCreateSuccessEnvelope.js +1 -1
  493. package/dist/openapi/models/WorkflowCreditSummary.d.ts +1 -1
  494. package/dist/openapi/models/WorkflowCreditSummary.js +1 -1
  495. package/dist/openapi/models/WorkflowDownloadResponse.d.ts +1 -1
  496. package/dist/openapi/models/WorkflowDownloadResponse.js +1 -1
  497. package/dist/openapi/models/WorkflowDownloadSuccessEnvelope.d.ts +1 -1
  498. package/dist/openapi/models/WorkflowDownloadSuccessEnvelope.js +1 -1
  499. package/dist/openapi/models/WorkflowEdge.d.ts +1 -1
  500. package/dist/openapi/models/WorkflowEdge.js +1 -1
  501. package/dist/openapi/models/WorkflowExpiredResponse.d.ts +1 -1
  502. package/dist/openapi/models/WorkflowExpiredResponse.js +1 -1
  503. package/dist/openapi/models/WorkflowListResponse.d.ts +1 -1
  504. package/dist/openapi/models/WorkflowListResponse.js +1 -1
  505. package/dist/openapi/models/WorkflowListSuccessEnvelope.d.ts +1 -1
  506. package/dist/openapi/models/WorkflowListSuccessEnvelope.js +1 -1
  507. package/dist/openapi/models/WorkflowPauseRequiredAction.d.ts +1 -1
  508. package/dist/openapi/models/WorkflowPauseRequiredAction.js +1 -1
  509. package/dist/openapi/models/WorkflowPausedDetail.d.ts +1 -1
  510. package/dist/openapi/models/WorkflowPausedDetail.js +1 -1
  511. package/dist/openapi/models/WorkflowPausedDetailLinks.d.ts +1 -1
  512. package/dist/openapi/models/WorkflowPausedDetailLinks.js +1 -1
  513. package/dist/openapi/models/WorkflowProcessing.d.ts +1 -1
  514. package/dist/openapi/models/WorkflowProcessing.js +1 -1
  515. package/dist/openapi/models/WorkflowRestoreResponse.d.ts +1 -1
  516. package/dist/openapi/models/WorkflowRestoreResponse.js +1 -1
  517. package/dist/openapi/models/WorkflowRestoreSuccessEnvelope.d.ts +1 -1
  518. package/dist/openapi/models/WorkflowRestoreSuccessEnvelope.js +1 -1
  519. package/dist/openapi/models/WorkflowResumeResponse.d.ts +1 -1
  520. package/dist/openapi/models/WorkflowResumeResponse.js +1 -1
  521. package/dist/openapi/models/WorkflowResumeSuccessEnvelope.d.ts +1 -1
  522. package/dist/openapi/models/WorkflowResumeSuccessEnvelope.js +1 -1
  523. package/dist/openapi/models/WorkflowSource.d.ts +1 -1
  524. package/dist/openapi/models/WorkflowSource.js +1 -1
  525. package/dist/openapi/models/WorkflowStatus.d.ts +1 -1
  526. package/dist/openapi/models/WorkflowStatus.js +1 -1
  527. package/dist/openapi/models/WorkflowStatusResponse.d.ts +1 -1
  528. package/dist/openapi/models/WorkflowStatusResponse.js +1 -1
  529. package/dist/openapi/models/WorkflowStatusSuccessEnvelope.d.ts +1 -1
  530. package/dist/openapi/models/WorkflowStatusSuccessEnvelope.js +1 -1
  531. package/dist/openapi/models/WorkflowSummary.d.ts +1 -1
  532. package/dist/openapi/models/WorkflowSummary.js +1 -1
  533. package/dist/openapi/models/WorkflowSummaryJob.d.ts +1 -1
  534. package/dist/openapi/models/WorkflowSummaryJob.js +1 -1
  535. package/dist/openapi/models/WorkflowWarning.d.ts +1 -1
  536. package/dist/openapi/models/WorkflowWarning.js +1 -1
  537. package/dist/openapi/models/WorkflowWarningSeverity.d.ts +1 -1
  538. package/dist/openapi/models/WorkflowWarningSeverity.js +1 -1
  539. package/dist/openapi/runtime.d.ts +1 -1
  540. package/dist/openapi/runtime.js +1 -1
  541. package/dist/operations/merge.metadata.js +1 -1
  542. package/dist/operations/thumbnail.metadata.js +2 -2
  543. package/openapi/api.yaml +139 -25
  544. package/operation-capabilities/operation-capabilities.json +1 -1
  545. package/operations/schemas/audio_overlay.yaml +16 -0
  546. package/operations/schemas/audio_to_video.yaml +2 -0
  547. package/operations/schemas/audio_watermark.yaml +16 -0
  548. package/operations/schemas/compress.yaml +85 -22
  549. package/operations/schemas/convert.yaml +36 -0
  550. package/operations/schemas/custom_luma.yaml +8 -0
  551. package/operations/schemas/merge.yaml +55 -5
  552. package/operations/schemas/split.yaml +8 -0
  553. package/operations/schemas/thumbnail.yaml +23 -2
  554. package/operations/schemas/transform.yaml +8 -0
  555. package/operations/schemas/video_text_watermark.yaml +8 -0
  556. package/operations/schemas/video_watermark.yaml +8 -0
  557. package/package.json +6 -4
package/openapi/api.yaml CHANGED
@@ -103,7 +103,7 @@ info:
103
103
  of truth instead of hardcoding magic numbers. A runtime
104
104
  `GET /api/uploads/limits` endpoint for dynamic discovery
105
105
  (per-tier / per-environment overrides) is a deferred follow-up.
106
- version: 2.215.0
106
+ version: 2.217.0
107
107
  contact:
108
108
  name: API Support
109
109
 
@@ -255,13 +255,34 @@ paths:
255
255
  required_tier: "enterprise"
256
256
  '413':
257
257
  description: |
258
- The upload is too large. Two rejection cases, discriminated by the
259
- `ErrorEnvelope.error` code:
260
-
261
- - **Byte size** — the file exceeds the absolute maximum upload size
262
- (across all tiers). For tier-specific size caps below this
263
- absolute limit, the server returns 403 with `error_type:
264
- tier_restriction, restriction_kind: file_size` instead.
258
+ The upload is too large. Two rejection cases from the API,
259
+ discriminated by the `ErrorEnvelope.error` code, plus one from the
260
+ edge:
261
+
262
+ - **Edge (no envelope)** — a request whose whole `multipart/form-data`
263
+ BODY exceeds the API gateway's payload limit is refused by the
264
+ gateway before the API runs, as a 413 with no `ErrorEnvelope`.
265
+ Near the single-shot maximum the form encoding can push the body
266
+ past that limit, so a client MUST treat ANY 413 on this endpoint
267
+ as "too large", with or without an envelope. An authenticated
268
+ client SHOULD send files near `single_shot_max_bytes` through
269
+ multipart; a guest cannot (multipart requires an account, see
270
+ `schemas/anonymous-policy.yaml`) and is limited to the single-shot
271
+ maximum. Only the two API-generated cases below carry an
272
+ `ErrorEnvelope`.
273
+
274
+ - **Byte size** (`error: FILE_TOO_LARGE`, `error_type:
275
+ file_too_large`, `message_params.max_bytes` = the limit that was
276
+ exceeded) — the file exceeds this endpoint's maximum byte size
277
+ (the single-shot maximum; larger files use the multipart
278
+ endpoints). For tier-specific size caps below it, the server
279
+ returns 403 with `error_type: tier_restriction,
280
+ restriction_kind: file_size` instead. ⚠️ The API currently
281
+ answers this case with `400 BAD_REQUEST`, which also covers a
282
+ missing file or an invalid filename (api card `E8xFECmG` moves
283
+ the size case here). Until that ships, only a client that
284
+ already knows its file exceeds `single_shot_max_bytes` should
285
+ read that 400 as "too large".
265
286
  - **Pixel dimensions** (`error: IMAGE_DIMENSIONS_TOO_LARGE`) — a
266
287
  decodable raster image whose `width × height` exceeds the
267
288
  SINGLE-SHOT pixel ceiling (`UPLOAD_MAX_IMAGE_PIXELS`, default
@@ -285,10 +306,14 @@ paths:
285
306
  $ref: '#/components/schemas/ErrorEnvelope'
286
307
  examples:
287
308
  file_too_large:
288
- summary: File exceeds the absolute maximum byte size
309
+ summary: File exceeds this endpoint's maximum byte size
289
310
  value:
290
311
  success: false
291
- error: "File size exceeds maximum allowed (100 GiB)"
312
+ error: "FILE_TOO_LARGE"
313
+ error_type: "file_too_large"
314
+ message: "The file is larger than the maximum for this upload method."
315
+ message_params:
316
+ max_bytes: 10000000
292
317
  image_dimensions_too_large:
293
318
  summary: Decodable raster exceeds the pixel-dimension ceiling
294
319
  value:
@@ -418,7 +443,7 @@ paths:
418
443
 
419
444
  After all parts are uploaded to S3, call the complete endpoint to finalise.
420
445
  operationId: multipartInitiate
421
- security: [{}, {bearerAuth: []}, {sessionAuth: []}] # optional (anon-tolerant; manifest.userId pinned to caller if authed)
446
+ security: [{bearerAuth: []}, {sessionAuth: []}] # REQUIRED: api security.yaml puts multipart behind IS_AUTHENTICATED_FULLY and initiate() 401s a guest (measured 2026-09-26; anonymous-policy.yaml multipart_allowed: false)
422
447
  tags:
423
448
  - Upload
424
449
  requestBody:
@@ -497,9 +522,11 @@ paths:
497
522
  and multipart carries ordinary camera photos — **a 24 MP photo
498
523
  must pass**. API setting `UPLOAD_MAX_MULTIPART_IMAGE_PIXELS`,
499
524
  enforced at multipart initiate. Default 50 MP (hub ruling 2026-09-24, on lambdas'
500
- recommendation: the image workers declare a 100 MP source cap,
501
- but none has run a job that large, so it stays at half that
502
- until a staging proof). It is an API setting, so authenticated
525
+ recommendation, then made with the workers' per-format decode
526
+ ceilings unmeasured). Those ceilings are now declared per group
527
+ as `max_input_pixels` (2026-09-26: PNG 100 MP, JPEG 90 MP,
528
+ WebP 75 MP), all above this default; see that field for which
529
+ ceiling binds when. It is an API setting, so authenticated
503
530
  clients read the effective value from
504
531
  `limits.max_multipart_upload_image_pixels`
505
532
  (`GET /api/v2/account/limits`) once the API emits it.
@@ -582,7 +609,7 @@ paths:
582
609
  rule and additionally refuse anonymous-initiated sessions
583
610
  outright (returning 403 `MULTIPART_SESSION_AUTH_REQUIRED`).
584
611
  operationId: multipartComplete
585
- security: [{}, {bearerAuth: []}, {sessionAuth: []}] # optional (anon-tolerant; ownership-scoped per HxUmVr3Y when manifest.userId set)
612
+ security: [{bearerAuth: []}, {sessionAuth: []}] # REQUIRED in practice: a session can only be initiated authenticated (see initiate), and completion is ownership-scoped (HxUmVr3Y)
586
613
  x-identity-scoped: true # session/ownership-scoped per ADR-0016 D3
587
614
  tags:
588
615
  - Upload
@@ -3934,7 +3961,7 @@ paths:
3934
3961
  The original failed operation is marked as `retried` and a new operation with
3935
3962
  a new ID is created in `pending` state.
3936
3963
  operationId: retryOperation
3937
- security: [{}, {bearerAuth: []}, {sessionAuth: []}] # optional (anon-OK; identity-scoped to operation owner)
3964
+ security: [{bearerAuth: []}, {sessionAuth: []}] # REQUIRED: api security.yaml:103 requires IS_AUTHENTICATED_FULLY for retry (sdks, measured 2026-09-26)
3938
3965
  x-identity-scoped: true # operation-ownership-scoped per ADR-0016 D3
3939
3966
  tags:
3940
3967
  - Operations
@@ -8452,9 +8479,10 @@ components:
8452
8479
  # ceiling (width x height from the header) — the 413
8453
8480
  # IMAGE_DIMENSIONS_TOO_LARGE threshold on the multipart path. A
8454
8481
  # SEPARATE, HIGHER API setting than max_upload_image_pixels:
8455
- # default 50 MP (hub, 2026-09-24), about half the workers'
8456
- # declared 100 MP source cap, which is unproven end to end; it
8457
- # rises only after a 100 MP staging proof. It MUST admit a 24 MP
8482
+ # default 50 MP (hub, 2026-09-24). The workers' decode ceilings
8483
+ # were measured 2026-09-26 and are declared per group as
8484
+ # `max_input_pixels` (PNG 100 MP, JPEG 90 MP, WebP 75 MP), all
8485
+ # above this default. It MUST admit a 24 MP
8458
8486
  # photo. The server serves the number. Not tier-varying today.
8459
8487
  $ref: '#/components/schemas/AccountLimitEntry'
8460
8488
 
@@ -9708,7 +9736,9 @@ components:
9708
9736
  description: |
9709
9737
  403 from `POST /api/workflows` when an ANONYMOUS caller (no
9710
9738
  credential) requests an operation outside the anonymous
9711
- allow-list. A register-wall: the frontend renders a sign-up
9739
+ allow-list, declared in `schemas/anonymous-policy.yaml`
9740
+ (`operations_allowed`; the file also declares the guest upload and
9741
+ quota limits). A register-wall: the frontend renders a sign-up
9712
9742
  prompt, since no tier upgrade applies to a caller without an
9713
9743
  account.
9714
9744
 
@@ -9716,10 +9746,10 @@ components:
9716
9746
  (`JobsErrorCode::AnonymousOperationNotAllowed`), which checks
9717
9747
  every operation in the body and names the FIRST disallowed one.
9718
9748
 
9719
- ⚠️ **The allow-list itself is NOT yet declared in this contract**
9720
- (ticket [`UQ7zROTr`](https://trello.com/c/UQ7zROTr)), so a client
9721
- can parse this refusal but cannot yet predict it. Do not hard-code
9722
- the list from this description: it deliberately names none.
9749
+ **Predict it from `schemas/anonymous-policy.yaml`**
9750
+ (`operations_allowed`; ticket [`UQ7zROTr`](https://trello.com/c/UQ7zROTr)),
9751
+ the one declaration of the allow-list. Do not hard-code the list
9752
+ from this description: it deliberately names none.
9723
9753
  allOf:
9724
9754
  - $ref: '#/components/schemas/ErrorEnvelope'
9725
9755
  - type: object
@@ -16146,6 +16176,44 @@ components:
16146
16176
  [I3](https://trello.com/c/eCWIpug8); that roadmap is
16147
16177
  closed. See `schemas/FORMAT.md`
16148
16178
  §`per_mime_availability`.
16179
+ ceiling_basis:
16180
+ $ref: '#/components/schemas/CeilingBasis'
16181
+ max_input_pixels:
16182
+ type: integer
16183
+ format: int64
16184
+ minimum: 1
16185
+ description: |
16186
+ The largest INPUT image, in decoded pixels (width x height), that
16187
+ this group's worker is declared to process (owner decision
16188
+ 607(d), 2026-09-26: decode memory, not bytes, binds for raster
16189
+ images). Present only where it was measured.
16190
+
16191
+ WHICH PIXEL CEILING BINDS WHEN. There are three, at three stages:
16192
+ 1. UPLOAD, single-shot: `limits.max_upload_image_pixels`
16193
+ (default 16 MP; API setting `UPLOAD_MAX_IMAGE_PIXELS`), 413
16194
+ `IMAGE_DIMENSIONS_TOO_LARGE`.
16195
+ 2. UPLOAD, multipart: `limits.max_multipart_upload_image_pixels`
16196
+ (default 50 MP; admits a 24 MP phone photo), same 413.
16197
+ 3. OPERATION: this field, the worker's declared decode ceiling. The
16198
+ worker refuses above it (`input_too_large`, header-only, before
16199
+ decoding); the API is to check it at workflow create too (api
16200
+ card, co-land), after which it refuses before any job runs.
16201
+ An uploaded image passes its upload gate first, so it meets
16202
+ `min(upload ceiling, this field)`. Every value declared here is at
16203
+ least 75 MP, above both upload defaults, so today the UPLOAD
16204
+ ceiling binds for uploads, and this field binds for inputs that
16205
+ did not come through an upload gate (another job's output, an
16206
+ import), or if an upload ceiling is raised past it. A 24 MP photo
16207
+ passes all three.
16208
+
16209
+ THE VALUE IS AN UPPER BOUND, NOT A GUARANTEE FOR EVERY IMAGE. Where
16210
+ the worker's real limit is a decode-memory budget, images with more
16211
+ bytes per pixel (alpha, 16-bit channels) hit it at fewer pixels,
16212
+ and the worker refuses them with `input_too_large` (typed, not
16213
+ retryable, before any billed work) below this field. PNG is the
16214
+ measured case: 100 MP is the 8-bit RGBA value; 16-bit RGB reaches
16215
+ the budget near 67 MP and 16-bit RGBA near 50 MP. A pre-flight
16216
+ check against this field therefore cannot promise acceptance.
16149
16217
  max_input_size_bytes:
16150
16218
  type: integer
16151
16219
  format: int64
@@ -16564,6 +16632,8 @@ components:
16564
16632
  must share until the heterogeneous re-encode ships; plus
16565
16633
  `field_presence`: a video/audio stream field present on one
16566
16634
  input and absent on another.
16635
+ ceiling_basis:
16636
+ $ref: '#/components/schemas/CeilingBasis'
16567
16637
  resolution_bands:
16568
16638
  type: object
16569
16639
  description: |
@@ -16613,6 +16683,33 @@ components:
16613
16683
  additionalProperties:
16614
16684
  $ref: '#/components/schemas/ProcessingClassConstraints'
16615
16685
 
16686
+ CeilingBasis:
16687
+ type: object
16688
+ description: |
16689
+ Whether each declared INPUT ceiling beside it is PROVEN (owner
16690
+ decision 607(d), 2026-09-26: advertise only limits we have proven).
16691
+ Keys name the ceilings declared on the same object:
16692
+ `max_input_size_bytes`, `max_input_duration`,
16693
+ `max_total_input_size_bytes`, `max_total_duration`, and for a
16694
+ processing class also `per_tier.<tier>.<key>` for each
16695
+ `per_tier_constraints` override. CI requires an entry for EVERY
16696
+ declared ceiling (`scripts/check-ceiling-basis.py`).
16697
+
16698
+ - `proven`: a recorded run passed at 95% or more of the declared value
16699
+ on every axis the object declares (FORMAT.md §`ceiling_basis`).
16700
+ - `unproven`: not yet. The value is still what the API enforces, but
16701
+ no run at it has been recorded; a consumer SHOULD present it as
16702
+ "up to X (not yet verified)". Each becomes `proven`, or is
16703
+ lowered to the largest passing value, after its staging corner run.
16704
+ additionalProperties:
16705
+ type: string
16706
+ # CLOSED: a consumer decides how to present the limit from it.
16707
+ x-enum-openness: closed
16708
+ enum: [proven, unproven]
16709
+ example:
16710
+ max_input_size_bytes: unproven
16711
+ max_input_duration: unproven
16712
+
16616
16713
  ResolutionBand:
16617
16714
  type: string
16618
16715
  description: |
@@ -16671,12 +16768,22 @@ components:
16671
16768
  else:
16672
16769
  not:
16673
16770
  required: [derivation]
16771
+ - if:
16772
+ properties: {basis: {const: proven}}
16773
+ then:
16774
+ required: [source]
16775
+ else:
16776
+ not:
16777
+ required: [source]
16674
16778
  properties:
16675
16779
  basis:
16676
16780
  type: string
16677
16781
  description: |
16678
16782
  - `measured`: the ceiling is derived from measured encode time;
16679
16783
  `derivation` carries the line it was solved from.
16784
+ - `proven`: the LONGEST MEASURED SUCCESS at this resolution, with
16785
+ no fitted line; `source` names the record. Owner decision
16786
+ 607(d): advertise only limits that have been proven.
16680
16787
  - `ruled`: a policy value, not a measurement (today: the
16681
16788
  `unknown` band, which takes the `le_720p` ceiling).
16682
16789
  - `not_served`: this class does not serve inputs in this band.
@@ -16685,7 +16792,7 @@ components:
16685
16792
  where `long_form` is not available).
16686
16793
  # CLOSED: each value changes what a consumer enforces.
16687
16794
  x-enum-openness: closed
16688
- enum: [measured, ruled, not_served]
16795
+ enum: [measured, proven, ruled, not_served]
16689
16796
  constraints:
16690
16797
  type: object
16691
16798
  additionalProperties: false
@@ -16696,6 +16803,13 @@ components:
16696
16803
  type: string
16697
16804
  description: ISO-8601 duration; the band's input duration ceiling.
16698
16805
  example: "PT4M35S"
16806
+ source:
16807
+ type: string
16808
+ pattern: '\S'
16809
+ description: |
16810
+ Present only when `basis` is `proven`: the `id` of the run in this
16811
+ repository's `availability/staging-corner-measurements.yaml` that
16812
+ passed at this band's value.
16699
16813
  derivation:
16700
16814
  type: object
16701
16815
  additionalProperties: false
@@ -860,5 +860,5 @@
860
860
  "isAnimated": "maybe"
861
861
  }
862
862
  },
863
- "schema_version": "2.215.0"
863
+ "schema_version": "2.217.0"
864
864
  }
@@ -88,6 +88,9 @@ operation:
88
88
  # Lambda activation.
89
89
  short_form:
90
90
  availability: planned
91
+ ceiling_basis: # 607(d): proven at the declared value, or not yet (FORMAT.md §ceiling_basis)
92
+ max_input_size_bytes: unproven
93
+ max_input_duration: unproven
91
94
  constraints:
92
95
  max_input_duration: "PT5M"
93
96
  max_input_size_bytes: 524288000
@@ -96,6 +99,11 @@ operation:
96
99
  # Stays planned (CON-1 flips only compress.video.long_form +
97
100
  # merge.video.long_form_re_encode). Per-tier caps per ADR-0011.
98
101
  availability: planned
102
+ ceiling_basis: # 607(d): proven at the declared value, or not yet (FORMAT.md §ceiling_basis)
103
+ max_input_size_bytes: unproven
104
+ max_input_duration: unproven
105
+ per_tier.max.max_input_size_bytes: unproven
106
+ per_tier.enterprise.max_input_size_bytes: unproven
99
107
  constraints: # baseline = every tier without a per_tier_constraints override
100
108
  max_input_duration: "PT12H"
101
109
  max_input_size_bytes: 5000000000 # 5 GB (Pro)
@@ -273,6 +281,9 @@ operation:
273
281
  # at the group level.
274
282
  short_form:
275
283
  availability: planned
284
+ ceiling_basis: # 607(d): proven at the declared value, or not yet (FORMAT.md §ceiling_basis)
285
+ max_input_size_bytes: unproven
286
+ max_input_duration: unproven
276
287
  constraints:
277
288
  max_input_duration: "PT5M"
278
289
  max_input_size_bytes: 524288000
@@ -281,6 +292,11 @@ operation:
281
292
  # Stays planned (CON-1 flips only compress.video.long_form +
282
293
  # merge.video.long_form_re_encode). Per-tier caps per ADR-0011.
283
294
  availability: planned
295
+ ceiling_basis: # 607(d): proven at the declared value, or not yet (FORMAT.md §ceiling_basis)
296
+ max_input_size_bytes: unproven
297
+ max_input_duration: unproven
298
+ per_tier.max.max_input_size_bytes: unproven
299
+ per_tier.enterprise.max_input_size_bytes: unproven
284
300
  constraints: # baseline = every tier without a per_tier_constraints override
285
301
  max_input_duration: "PT12H"
286
302
  max_input_size_bytes: 5000000000 # 5 GB (Pro)
@@ -85,6 +85,8 @@ operation:
85
85
  - audio/opus
86
86
  - audio/mp4
87
87
  - audio/x-m4a
88
+ ceiling_basis: # 607(d): proven at the declared value, or not yet (FORMAT.md §ceiling_basis)
89
+ max_input_duration: unproven
88
90
  max_input_duration: "PT2H" # 2h input ceiling (KzrquIX7; mirrors worker MAX_AUDIO_DURATION_SECS 7200, strict >)
89
91
  options:
90
92
  output_resolution:
@@ -52,6 +52,9 @@ operation:
52
52
  # for max / enterprise (ADR-0011).
53
53
  short_form:
54
54
  availability: planned
55
+ ceiling_basis: # 607(d): proven at the declared value, or not yet (FORMAT.md §ceiling_basis)
56
+ max_input_size_bytes: unproven
57
+ max_input_duration: unproven
55
58
  constraints:
56
59
  max_input_duration: "PT5M"
57
60
  max_input_size_bytes: 524288000
@@ -61,6 +64,11 @@ operation:
61
64
  # merge.video.long_form_re_encode). Caps mirror compress.video.long_form
62
65
  # now that no tier gate makes the Enterprise cap the baseline.
63
66
  availability: planned
67
+ ceiling_basis: # 607(d): proven at the declared value, or not yet (FORMAT.md §ceiling_basis)
68
+ max_input_size_bytes: unproven
69
+ max_input_duration: unproven
70
+ per_tier.max.max_input_size_bytes: unproven
71
+ per_tier.enterprise.max_input_size_bytes: unproven
64
72
  constraints: # baseline = every tier without a per_tier_constraints override
65
73
  max_input_duration: "PT12H"
66
74
  max_input_size_bytes: 5000000000 # 5 GB
@@ -150,6 +158,9 @@ operation:
150
158
  # F8 long-form tier (per ticket I15-CONS).
151
159
  short_form:
152
160
  availability: planned
161
+ ceiling_basis: # 607(d): proven at the declared value, or not yet (FORMAT.md §ceiling_basis)
162
+ max_input_size_bytes: unproven
163
+ max_input_duration: unproven
153
164
  constraints:
154
165
  max_input_duration: "PT5M"
155
166
  max_input_size_bytes: 524288000
@@ -159,6 +170,11 @@ operation:
159
170
  # merge.video.long_form_re_encode). Caps mirror compress.video.long_form
160
171
  # now that no tier gate makes the Enterprise cap the baseline.
161
172
  availability: planned
173
+ ceiling_basis: # 607(d): proven at the declared value, or not yet (FORMAT.md §ceiling_basis)
174
+ max_input_size_bytes: unproven
175
+ max_input_duration: unproven
176
+ per_tier.max.max_input_size_bytes: unproven
177
+ per_tier.enterprise.max_input_size_bytes: unproven
162
178
  constraints: # baseline = every tier without a per_tier_constraints override
163
179
  max_input_duration: "PT12H"
164
180
  max_input_size_bytes: 5000000000 # 5 GB
@@ -97,7 +97,15 @@ operation:
97
97
  # Resize-inside-Output shares the convert resize engine's 16MP output-area
98
98
  # wall — the per-axis 16384 cap can't express it (FORMAT.md §max_output_pixels).
99
99
  max_output_pixels: 16000000
100
- max_input_size_bytes: 524288000 # 500 MiB compress input ceiling (uKsFzORi)
100
+ # 607(d) image-decode corner run (lambdas, staging compression-image v144, git-2166848,
101
+ # 2026-09-26; vm_shared 10_Now/lambdas-corner-img-results-2026-09-26.md).
102
+ # Largest passing 370 MB / 90 MP. 493 MB / 120 MP failed: the input plus its
103
+ # intermediate exceed the worker's 512 MB /tmp.
104
+ ceiling_basis: # 607(d): proven at the declared value, or not yet (FORMAT.md §ceiling_basis)
105
+ max_input_size_bytes: proven
106
+ max_input_pixels: proven
107
+ max_input_size_bytes: 370000000 # was 500 MiB
108
+ max_input_pixels: 90000000
101
109
  options:
102
110
  quality:
103
111
  type: integer
@@ -277,7 +285,20 @@ operation:
277
285
  mimes:
278
286
  - image/png
279
287
  max_output_pixels: 16000000
280
- max_input_size_bytes: 524288000 # 500 MiB compress input ceiling (uKsFzORi)
288
+ # 607(d) image-decode corner run (lambdas, staging compression-image v144, git-2166848,
289
+ # 2026-09-26; vm_shared 10_Now/lambdas-corner-img-results-2026-09-26.md).
290
+ # The binding limit is DECODED PIXELS: the shared decoder's 400 MB allocation
291
+ # budget, so the pixel ceiling depends on colour type (~133 MP RGB8, 100 MP
292
+ # RGBA8, ~67 MP RGB16, 50 MP RGBA16). 100 MP is the RGBA8 value; RGB8 passed
293
+ # at 120 MP / 360 MB, and RGBA8 at 100 MP is not yet run, so it stays
294
+ # unproven. Beyond the budget the worker refuses with input_too_large: a
295
+ # 16-bit RGBA PNG reaches it at ~50 MP, below this value, and is refused
296
+ # there (typed, before billing work), not served.
297
+ ceiling_basis: # 607(d): proven at the declared value, or not yet (FORMAT.md §ceiling_basis)
298
+ max_input_size_bytes: proven
299
+ max_input_pixels: unproven
300
+ max_input_size_bytes: 360000000 # largest passing (120 MP RGB8); was 500 MiB, unreachable within the decode budget
301
+ max_input_pixels: 100000000
281
302
  options:
282
303
  # PROVENANCE (author-side, NOT user-facing — kept out of the description per
283
304
  # 7KkNSvdv / FE BhVwdlhQ: no implementation detail or licence copy in user text):
@@ -432,6 +453,9 @@ operation:
432
453
  mimes:
433
454
  - image/avif
434
455
  max_output_pixels: 16000000
456
+ # 607(d): PROVEN, 19.57 MiB passed (staging v144); above 20 MB the worker refuses.
457
+ ceiling_basis: # 607(d): proven at the declared value, or not yet (FORMAT.md §ceiling_basis)
458
+ max_input_size_bytes: proven
435
459
  max_input_size_bytes: 20971520 # 20 MiB compress input ceiling (uKsFzORi; AVIF decode OOM guard, worker AVIF_MAX_MB)
436
460
  options:
437
461
  quality:
@@ -600,7 +624,16 @@ operation:
600
624
  mimes:
601
625
  - image/webp
602
626
  max_output_pixels: 16000000
603
- max_input_size_bytes: 524288000 # 500 MiB compress input ceiling (uKsFzORi)
627
+ # 607(d) image-decode corner run (lambdas, staging compression-image v144, git-2166848,
628
+ # 2026-09-26; vm_shared 10_Now/lambdas-corner-img-results-2026-09-26.md).
629
+ # Passed at 270 MB / 90 MP but at 98% of the function's memory; 120 MP was
630
+ # OOM-killed (no terminal result). lambdas' header pre-flight (AmYqFGaI)
631
+ # refuses above 75 MP before any decode, so 75 MP is the declared value.
632
+ ceiling_basis: # 607(d): proven at the declared value, or not yet (FORMAT.md §ceiling_basis)
633
+ max_input_size_bytes: proven
634
+ max_input_pixels: proven
635
+ max_input_size_bytes: 270000000 # was 500 MiB
636
+ max_input_pixels: 75000000
604
637
  options:
605
638
  quality:
606
639
  type: integer
@@ -806,25 +839,25 @@ operation:
806
839
  # claiming it.)
807
840
  mimes:
808
841
  - image/svg+xml
809
- # KNOWN OVER-ADVERTISEMENT, DELIBERATELY LEFT AS-IS — do NOT lower this
810
- # unilaterally. compress_svg holds the markup in memory and caps SVGO
811
- # output at 100 MiB (image_compressor.rs:1243), so the 500 MiB image/*
812
- # default over-states what the SVG route can actually serve: a valid input
813
- # inside the advertised limit can fail on the worker cap. Codex flagged it
814
- # on the flip PR and it is a real gap.
815
- #
816
- # It stays 500 MiB here because this value is an API-ENFORCED constant, not
817
- # documentation — tests/test_group_input_caps.py pins these to the api
818
- # enforcer, so changing the contract alone would create contract-vs-enforcer
819
- # DRIFT rather than fix anything. Lowering it needs an api co-land, and a
820
- # figure lambdas has actually measured (the only SVG datapoint today is a
821
- # 43 KB fixture). Ticket filed; lambdas already flagged a per-format cap as
822
- # their follow-up.
823
- #
824
- # PRE-EXISTING, not introduced by the 2026-07-21 restore: the same 500 MiB
825
- # applied while this route was stable before 2026-07-17. Recorded rather
826
- # than silently carried.
827
- max_input_size_bytes: 524288000 # 500 MiB compress input ceiling (uKsFzORi; image/* default)
842
+ # RESOLVED 2026-09-26 (607(d)): this group used to carry the 500 MiB image/*
843
+ # default, a known over-advertisement left in place until lambdas measured a
844
+ # figure (see the note below). The api enforcer reads this value from the
845
+ # vendored schema, so lowering it here lowers enforcement at api's next
846
+ # vendoring.
847
+ # 607(d) corner run (lambdas, staging v144, 2026-09-26): WHY ~1 MB. compress SVG runs
848
+ # the external SVGO binary under a FIXED 30 s tool timeout
849
+ # (image_compressor.rs svg_compression_timeout). No rasterising and memory is not
850
+ # the limit: 1 MB (9.6k elements) passed in 4.4 s; 4 MB, 20 MB and 100 MB all
851
+ # failed at ~30.2 s (processing_limit_exceeded). Cost scales with ELEMENT COUNT,
852
+ # not bytes, so bytes are a proxy. The 30 s is a code constant (a TODO sits at its
853
+ # call site), not the Lambda budget: raising it is a lambdas choice, after which
854
+ # this ceiling can be re-measured upward.
855
+ # UNPROVEN as a guarantee: bytes are only a PROXY for element count. The 1 MB
856
+ # run had 9.6k rects; a denser SVG under 1 MB can still hit the 30 s cap
857
+ # (codex #622). Proven only once lambdas bounds element count or the cap moves.
858
+ ceiling_basis: # 607(d): proven at the declared value, or not yet (FORMAT.md §ceiling_basis)
859
+ max_input_size_bytes: unproven
860
+ max_input_size_bytes: 1000000 # was 500 MiB
828
861
  options:
829
862
  # No `quality`: compress SVG is SVG->SVG via SVGO (VISUALLY PRESERVING
830
863
  # vector optimise — not lossless; see the group note above on convertPathData);
@@ -885,6 +918,13 @@ operation:
885
918
  - image/gif
886
919
  - image/tiff
887
920
  max_output_pixels: 16000000
921
+ # 607(d): ONE ceiling for TWO formats that measured differently. GIF passed at
922
+ # 515 MB (30 x 12.5 MP frames; the worker caps a frame at 12.5 MP); TIFF passed
923
+ # only to 150 MB / 50 MP (100 MP refused by libcaesium). A single group value
924
+ # cannot state both, so it stays unproven until the group splits into
925
+ # image_gif + image_tiff (IJofpQLI's pending split).
926
+ ceiling_basis: # 607(d): proven at the declared value, or not yet (FORMAT.md §ceiling_basis)
927
+ max_input_size_bytes: unproven
888
928
  max_input_size_bytes: 524288000 # 500 MiB compress input ceiling (uKsFzORi)
889
929
  options:
890
930
  quality:
@@ -1095,6 +1135,12 @@ operation:
1095
1135
  # server-decided per plan v5 §F8 round 7.
1096
1136
  short_form:
1097
1137
  availability: stable
1138
+ # PROVEN 2026-09-26 (lambdas staging corner run, git-2166848; vm_shared 10_Now/lambdas-corner-video-results-2026-09-26.md):
1139
+ # 300 s / ~480 MB passed at 360p, 720p, 1080p and 4K; at 4K one step past BOTH axes (360 s / 575,743,715 B) passed.
1140
+ # Caveat: 4K ran 446-529 s against the worker's 600 s encode cap on synthetic content; thin margin.
1141
+ ceiling_basis: # 607(d): proven at the declared value, or not yet (FORMAT.md §ceiling_basis)
1142
+ max_input_size_bytes: proven
1143
+ max_input_duration: proven
1098
1144
  constraints:
1099
1145
  max_input_duration: "PT5M"
1100
1146
  max_input_size_bytes: 524288000 # 500 MiB
@@ -1119,6 +1165,11 @@ operation:
1119
1165
  # (`limits.max_upload_size_bytes`) still refuses first — that is the
1120
1166
  # quota, and it is a separate, request-level limit.
1121
1167
  availability: stable
1168
+ ceiling_basis: # 607(d): proven at the declared value, or not yet (FORMAT.md §ceiling_basis)
1169
+ max_input_size_bytes: unproven
1170
+ max_input_duration: unproven
1171
+ per_tier.max.max_input_size_bytes: unproven
1172
+ per_tier.enterprise.max_input_size_bytes: unproven
1122
1173
  constraints: # baseline = every tier without a per_tier_constraints override
1123
1174
  max_input_duration: "PT12H"
1124
1175
  max_input_size_bytes: 5000000000 # 5 GB (Pro)
@@ -1468,6 +1519,10 @@ operation:
1468
1519
  # MAX_IMAGE_ENTRY_SIZE 50 MB, MAX_ZIP_ENTRIES 10,000,
1469
1520
  # MAX_CUMULATIVE_IMAGE_BYTES 500 MB bound what a document expands INTO;
1470
1521
  # this bounds what we ACCEPT.
1522
+ # PROVEN 2026-09-26: lambdas staging corner run (git-2166848), within 1-2% of the ceiling;
1523
+ # one step past is refused by the worker. vm_shared 10_Now/lambdas-corner-doc-results-2026-09-26.md
1524
+ ceiling_basis: # 607(d): proven at the declared value, or not yet (FORMAT.md §ceiling_basis)
1525
+ max_input_size_bytes: proven
1471
1526
  max_input_size_bytes: 209715200
1472
1527
  # See the document_pdf honesty note: the worker reads ONLY `quality` today;
1473
1528
  # the per-format options are `planned` (advertised-ahead, FE-hidden).
@@ -1519,6 +1574,10 @@ operation:
1519
1574
  # MAX_IMAGE_ENTRY_SIZE 50 MB, MAX_ZIP_ENTRIES 10,000,
1520
1575
  # MAX_CUMULATIVE_IMAGE_BYTES 500 MB bound what a document expands INTO;
1521
1576
  # this bounds what we ACCEPT.
1577
+ # PROVEN 2026-09-26: lambdas staging corner run (git-2166848), within 1-2% of the ceiling;
1578
+ # one step past is refused by the worker. vm_shared 10_Now/lambdas-corner-doc-results-2026-09-26.md
1579
+ ceiling_basis: # 607(d): proven at the declared value, or not yet (FORMAT.md §ceiling_basis)
1580
+ max_input_size_bytes: proven
1522
1581
  max_input_size_bytes: 209715200
1523
1582
  # See the document_pdf honesty note: worker reads ONLY `quality`; the rest `planned`.
1524
1583
  options:
@@ -1563,6 +1622,10 @@ operation:
1563
1622
  # MAX_IMAGE_ENTRY_SIZE 50 MB, MAX_ZIP_ENTRIES 10,000,
1564
1623
  # MAX_CUMULATIVE_IMAGE_BYTES 500 MB bound what a document expands INTO;
1565
1624
  # this bounds what we ACCEPT.
1625
+ # PROVEN 2026-09-26: lambdas staging corner run (git-2166848), within 1-2% of the ceiling;
1626
+ # one step past is refused by the worker. vm_shared 10_Now/lambdas-corner-doc-results-2026-09-26.md
1627
+ ceiling_basis: # 607(d): proven at the declared value, or not yet (FORMAT.md §ceiling_basis)
1628
+ max_input_size_bytes: proven
1566
1629
  max_input_size_bytes: 209715200
1567
1630
  # See the document_pdf honesty note: worker reads ONLY `quality`; the rest `planned`.
1568
1631
  options:
@@ -298,15 +298,51 @@ operation:
298
298
  # F8 long-form video tier (per ticket I15-CONS).
299
299
  short_form:
300
300
  availability: stable
301
+ ceiling_basis: # 607(d): proven at the declared value, or not yet (FORMAT.md §ceiling_basis)
302
+ max_input_size_bytes: unproven
303
+ max_input_duration: unproven
301
304
  constraints:
302
305
  max_input_duration: "PT5M"
303
306
  max_input_size_bytes: 524288000
304
307
  max_output_size_bytes: 524288000
308
+ # PROVEN resolution bands (owner decision 607(d), 2026-09-26: advertise
309
+ # only limits we have proven). Each ceiling is the LONGEST SUCCESSFUL run
310
+ # lambdas measured at that resolution (9c5mOnq1, staging `$LATEST`,
311
+ # 2026-09-18, mp4 -> webm real VP9 re-encode, billed seconds from each
312
+ # invocation's REPORT line). No fitted model: lambdas' two-parameter fit
313
+ # failed its own prediction, so none is shipped. The class PT5M above is
314
+ # NOT proven at 720p or 1080p; the bands are what binds. le_720p is sized
315
+ # for 720p (a 360p run of 295 s also succeeded; a finer band would need
316
+ # a new band in schemas/resolution-bands.yaml). Every 4K attempt
317
+ # exceeded the cap, so gt_1080p is not served. `unknown` is ruled =
318
+ # le_720p (decision 343 precedent).
319
+ resolution_bands:
320
+ le_720p:
321
+ basis: proven
322
+ source: 9c5mOnq1-720p-145s # availability/staging-corner-measurements.yaml
323
+ constraints:
324
+ max_input_duration: "PT2M25S"
325
+ p1080:
326
+ basis: proven
327
+ source: 9c5mOnq1-1080p-80s # availability/staging-corner-measurements.yaml
328
+ constraints:
329
+ max_input_duration: "PT1M20S"
330
+ gt_1080p:
331
+ basis: not_served
332
+ unknown:
333
+ basis: ruled
334
+ constraints:
335
+ max_input_duration: "PT2M25S"
305
336
  long_form:
306
337
  # Stays planned (CON-1 flips only compress.video.long_form +
307
338
  # merge.video.long_form_re_encode). Per-tier caps per ADR-0011 —
308
339
  # advertised shape; availability gates execution off (422).
309
340
  availability: planned
341
+ ceiling_basis: # 607(d): proven at the declared value, or not yet (FORMAT.md §ceiling_basis)
342
+ max_input_size_bytes: unproven
343
+ max_input_duration: unproven
344
+ per_tier.max.max_input_size_bytes: unproven
345
+ per_tier.enterprise.max_input_size_bytes: unproven
310
346
  constraints: # baseline = every tier without a per_tier_constraints override
311
347
  max_input_duration: "PT12H"
312
348
  max_input_size_bytes: 5000000000 # 5 GB (Pro)
@@ -58,6 +58,9 @@ operation:
58
58
  # ships.
59
59
  short_form:
60
60
  availability: planned
61
+ ceiling_basis: # 607(d): proven at the declared value, or not yet (FORMAT.md §ceiling_basis)
62
+ max_input_size_bytes: unproven
63
+ max_input_duration: unproven
61
64
  constraints:
62
65
  max_input_duration: "PT5M"
63
66
  max_input_size_bytes: 524288000
@@ -67,6 +70,11 @@ operation:
67
70
  # merge.video.long_form_re_encode). Per-tier caps per ADR-0011 —
68
71
  # advertised shape; availability gates execution off (422).
69
72
  availability: planned
73
+ ceiling_basis: # 607(d): proven at the declared value, or not yet (FORMAT.md §ceiling_basis)
74
+ max_input_size_bytes: unproven
75
+ max_input_duration: unproven
76
+ per_tier.max.max_input_size_bytes: unproven
77
+ per_tier.enterprise.max_input_size_bytes: unproven
70
78
  constraints: # baseline = every tier without a per_tier_constraints override
71
79
  max_input_duration: "PT12H"
72
80
  max_input_size_bytes: 5000000000 # 5 GB (Pro)