@giveitsmaller/contracts 0.79.0 → 0.81.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 (558) 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/asyncapi/events.yaml +6 -6
  5. package/availability/availability.json +202 -11
  6. package/code-builder/code-builder-metadata.json +199 -8
  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 +1 -1
  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 +32 -1
  250. package/dist/openapi/models/MimeGroupSchema.js +10 -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 +4 -4
  308. package/dist/openapi/models/OperationType.js +4 -4
  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 +67 -20
  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 +11 -8
  547. package/operations/schemas/audio_watermark.yaml +16 -0
  548. package/operations/schemas/compress.yaml +35 -0
  549. package/operations/schemas/convert.yaml +36 -0
  550. package/operations/schemas/custom_luma.yaml +8 -0
  551. package/operations/schemas/merge.yaml +34 -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 +22 -15
  556. package/operations/schemas/video_watermark.yaml +10 -2
  557. package/package.json +6 -4
  558. package/resolution-bands.yaml +32 -0
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.214.0
106
+ version: 2.216.0
107
107
  contact:
108
108
  name: API Support
109
109
 
@@ -6543,11 +6543,9 @@ paths:
6543
6543
  **How to observe the grant:** poll `GET /api/v2/credits/usage`
6544
6544
  for a transaction whose `reference_id` equals the `session_id`
6545
6545
  returned here, and whose `reference_type` is
6546
- `stripe_checkout_session`. **Today that is the only
6547
- client-observable correlation** between a checkout and its credits.
6548
- `GET /api/billing/checkout/{sessionId}/status` is declared as the
6549
- second one, but it is `planned` (a `422 feature_not_available`)
6550
- until the API implements it.
6546
+ `stripe_checkout_session`. The other, simpler
6547
+ correlation is `GET /api/billing/checkout/{sessionId}/status`
6548
+ (`beta` since 2026-09-25): poll it until `paid`.
6551
6549
 
6552
6550
  🔴 **MATCH ON `reference_type` + `reference_id`, AND DO NOT
6553
6551
  FILTER ON `type`.** The pack grant is written as an
@@ -6784,6 +6782,15 @@ paths:
6784
6782
  BEFORE the API builds it (hub ruling, Option A, 2026-08-29); the API
6785
6783
  half is [`JHrV4MUg`](https://trello.com/c/JHrV4MUg).
6786
6784
 
6785
+ **`beta` since 2026-09-25**: api v1.14.0 (which ships it) is live on
6786
+ PROD, verified by api from the running service (ECS
6787
+ `gisl-prod-euw1-api:27`, image = ECR v1.14.0, the
6788
+ `checkout_sessions` migration applied) and confirmed by the hub.
6789
+ Production has exercised only the `unknown` path. **It becomes
6790
+ `stable` after the first real PAID checkout on prod** (the owner's or
6791
+ a customer's, evidenced from api logs or the ledger; never a
6792
+ synthetic live session) shows `pending` then `paid` for its session.
6793
+
6787
6794
  **Why it exists:** between "checkout created" and "the provider's
6788
6795
  callback lands" nothing used to record that the session existed or
6789
6796
  whose it was — so a post-checkout page, asked about the NORMAL
@@ -6823,7 +6830,7 @@ paths:
6823
6830
  operationId: getCheckoutSessionStatus
6824
6831
  security: [{bearerAuth: []}, {sessionAuth: []}] # required; answers only about the caller's own sessions
6825
6832
  x-identity-scoped: true # a session belongs to the caller who created it
6826
- x-availability: planned
6833
+ x-availability: beta
6827
6834
  tags:
6828
6835
  - Billing
6829
6836
  parameters:
@@ -6843,8 +6850,7 @@ paths:
6843
6850
  caller's (see the collapse rationale above). An id the router
6844
6851
  cannot route (for example invalid UTF-8 such as `cs_%FF`) is a
6845
6852
  `404` before this endpoint runs; that answer is the same for
6846
- every caller and every session, so it reveals nothing. While the endpoint is `planned` it
6847
- answers `422 feature_not_available` instead.
6853
+ every caller and every session, so it reveals nothing.
6848
6854
  content:
6849
6855
  application/json:
6850
6856
  schema:
@@ -6887,13 +6893,6 @@ paths:
6887
6893
  application/json:
6888
6894
  schema:
6889
6895
  $ref: '#/components/schemas/ErrorEnvelope'
6890
- '422':
6891
- description: |
6892
- `feature_not_available` while this endpoint is `planned`.
6893
- content:
6894
- application/json:
6895
- schema:
6896
- $ref: '#/components/schemas/FeatureNotAvailableResponse'
6897
6896
  '429':
6898
6897
  description: |
6899
6898
  Rate limit exceeded. This endpoint is limited as a STATUS POLL
@@ -10426,9 +10425,9 @@ components:
10426
10425
  - custom_luma: Apply a caller-uploaded luma matte to a base video for a custom luma-matte transition effect. Multi-input (`role: base` + `role: transition_mask`). `availability: planned` (no tier gate); dispatch returns `feature_not_available` (422) until Lambda ships. Distinct from FFmpeg `xfade=custom` (which is an expression, not an operation). Per ticket I29 (Trello EPUE5Vs1).
10427
10426
  - audio_overlay: Mix a secondary audio asset over a primary audio or video base (DJ tags, podcast intros/outros, station IDs, jingles). Multi-input (`role: base` + `role: overlay`). `availability: planned`; dispatch returns `feature_not_available` (422) until Lambda ships. **NOT** the same as `audio_watermark` — that operation is steganographic (imperceptible identifier embedded for ownership tracking), tracked separately by I20. Per ticket I19 (Trello Xr3Z4GBF).
10428
10427
  - audio_watermark: Embed a steganographic forensic watermark into an audio asset (or a video's audio track) — Cinavia / Resemble PerTh territory. Single-input. `availability: planned` (no tier gate since 2026-09-23); dispatch returns `feature_not_available` (422) until Lambda ships. Pairs with `POST /api/audio-watermark/decode` for own-watermarks-only extraction. Per ticket I20 (Trello omiCq7Vn).
10429
- - audio_to_video: Produce a video from an audio input plus an OPTIONAL still image overlay. Multi-input role-based with the first OPTIONAL role on the contract (`role: base` audio required, `role: overlay` image 0..1 — see `per_role_cardinality`). When overlay is omitted, the video uses a solid background colour. `availability: planned` — WITHDRAWN 2026-09-15: measured 0.300 s of encode per second of output PLUS A 7 s FIXED COST, so the advertised PT2H needs 2167 s against a 900 s platform maximum (0.300 x 7200 alone is 2160 — the intercept is what makes the figure 2167, and a consumer dividing 600 by 0.300 gets a 2000 s in-flight boundary where the real one is 1976 s). Returns `feature_not_available` (422) at workflow-create. An already-accepted workflow is not cancelled (availability is checked at create) and fails only when its output duration exceeds ~1976 s ON THE INPUT THE RATE WAS MEASURED WITH (a real photographic 1080p still plus looped real audio), where 0.300 s per second plus a 7 s fixed cost reaches the worker's 600 s cap — the 60 s and 120 s measured cells both COMPLETED. The driver is the STILL'S RESOLUTION, not duration alone: a 4K still is roughly 4x the rate (unmeasured), which would put the boundary near a quarter of that, and this schema places no constraint on the overlay's resolution. Per ticket [`SlluxMBN`](https://trello.com/c/SlluxMBN) + ADR-0015 (introduces `per_role_cardinality` vocab).
10430
- - video_watermark: Apply an image overlay onto a base video via FFmpeg's `overlay` filter. Multi-input role-based (`role: base` video + `role: overlay` image, exactly one of each per `per_role_cardinality`). Re-encode required; audio stream-copy passthrough. Distinct from `image_watermark` (pure-Rust/image-only). `availability: planned` — WITHDRAWN 2026-09-15, operation AND `short_form`: a real 1080p source at the advertised PT5M / 500 MB was killed at 606 s by the worker's 600 s encode cap, no output. Returns `feature_not_available` (422) at workflow-create; an already-accepted workflow is not cancelled and fails only if it exceeds that cap; the 606 s kill is ONE measured point and nothing measured says where the boundary is. `long_form` and `multi_overlay_stack` were already `planned`. Per ticket [`4NrRPCgh`](https://trello.com/c/4NrRPCgh) + ADR-0013.
10431
- - video_text_watermark: Render a text overlay onto a base video via FFmpeg's `drawtext` filter. Single-input — text and styling in options. Same `watermark_mode` (single/tiled), anchor + margin vocab as `text_watermark`. Re-encode required; audio stream-copy passthrough. `availability: planned` — WITHDRAWN 2026-09-15, operation AND `short_form`: a real 1080p source at the advertised PT5M was killed at 604 s by the worker's 600 s encode cap. Returns `feature_not_available` (422) at workflow-create. ⚠️ This entry previously read "until Lambda ships", which was wrong in a way that mattered: the worker SHIPPED and runs — it is the CEILING that cannot be served. Per ticket [`4NrRPCgh`](https://trello.com/c/4NrRPCgh) + ADR-0013.
10428
+ - audio_to_video: Produce a video from an audio input plus an OPTIONAL still image overlay. Multi-input role-based with the first OPTIONAL role on the contract (`role: base` audio required, `role: overlay` image 0..1 — see `per_role_cardinality`). When overlay is omitted, the video uses a solid background colour. `availability: planned` — WITHDRAWN 2026-09-15: the measured encode cost (a per-second rate PLUS A FIXED COST) puts the advertised PT2H at more than twice the 900 s platform maximum (dropping the fixed cost moves the in-flight boundary by tens of seconds; figures in the CHANGELOG entry for 2.203.0, derived and tested from the divergence register). Returns `feature_not_available` (422) at workflow-create. An already-accepted workflow is not cancelled (availability is checked at create) and fails only when its output duration exceeds the derived ceiling (divergence register `evidence.derived.ceiling_s`) ON THE INPUT THE RATE WAS MEASURED WITH (a real photographic 1080p still plus looped real audio), where the measured rate plus the fixed cost reaches the worker's 600 s cap — the 60 s and 120 s measured cells both COMPLETED. The driver is the STILL'S RESOLUTION, not duration alone: a 4K still is roughly 4x the rate (unmeasured), which would put the boundary near a quarter of that, and this schema places no constraint on the overlay's resolution. Per ticket [`SlluxMBN`](https://trello.com/c/SlluxMBN) + ADR-0015 (introduces `per_role_cardinality` vocab).
10429
+ - video_watermark: Apply an image overlay onto a base video via FFmpeg's `overlay` filter. Multi-input role-based (`role: base` video + `role: overlay` image, exactly one of each per `per_role_cardinality`). Re-encode required; audio stream-copy passthrough. Distinct from `image_watermark` (pure-Rust/image-only). `availability: planned` — WITHDRAWN 2026-09-15, operation AND `short_form`: a real 1080p source at the advertised PT5M / 500 MB was killed just past the worker's 600 s encode cap, no output. Returns `feature_not_available` (422) at workflow-create; an already-accepted workflow is not cancelled and fails only if it exceeds that cap; the kill is ONE measured point and nothing measured says where the boundary is. `long_form` and `multi_overlay_stack` were already `planned`. Per ticket [`4NrRPCgh`](https://trello.com/c/4NrRPCgh) + ADR-0013.
10430
+ - video_text_watermark: Render a text overlay onto a base video via FFmpeg's `drawtext` filter. Single-input — text and styling in options. Same `watermark_mode` (single/tiled), anchor + margin vocab as `text_watermark`. Re-encode required; audio stream-copy passthrough. `availability: planned` — WITHDRAWN 2026-09-15, operation AND `short_form`: a real 1080p source at the advertised PT5M was killed just past the worker's 600 s encode cap. Returns `feature_not_available` (422) at workflow-create. ⚠️ This entry previously read "until Lambda ships", which was wrong in a way that mattered: the worker SHIPPED and runs — it is the CEILING that cannot be served. Per ticket [`4NrRPCgh`](https://trello.com/c/4NrRPCgh) + ADR-0013.
10432
10431
  - split: Fan one input file into N outputs across GIF / PDF / audio / video MIME families. Single-input per-mime-group catalog (mirrors merge/convert): GIF uses `frame_range` (REQUIRED) + `output_format`; PDF uses `page_range` OR `page_groups` (mutually exclusive); audio + video use a `mode` discriminator (interval/count/cut_points) + numeric-seconds wire format + `precision` flag (fast/exact). 200-output hard cap per ADR-0009 §D5 with per-mode preflight math; output naming `output-001..output-200`. Long-form video routes to a separate `split-video-fargate` worker via `processing_class`. `availability: beta` for the `audio` and `video` mime_groups (workers live on staging — shape-stable + opt-in, MUST NOT 422); video activates BOTH classes (`video.processing_class.short_form: beta` AND `long_form: beta` — `split-video-fargate` deployed + wired on staging; it stays `beta` until a PRODUCTION `customer_path` run is recorded in `availability/prod-verification-log.yaml` per [`rcwvUKhI`](https://trello.com/c/rcwvUKhI)). The `image_gif` and `document_pdf` mime_groups stay `availability: planned` and dispatch returns `feature_not_available` (422) until their workers ship. Per ticket [`vKI0CFDu`](https://trello.com/c/vKI0CFDu) + ADR-0014.
10433
10432
  - passthrough: Inert lossless source operation. A single-input source job whose SOLE operation is `passthrough` emits its source bytes UNCHANGED — no compression, no Lambda. The API self-completes the job at publish (terminal output = the upload `{bucket, key}` unchanged). Its purpose is to feed an uploaded file into a multi-input operation LOSSLESSLY: because `JobInputV2.source` is narrowed to exclude upload-direct, an upload that must enter a `merge` / `archive` / `image_watermark` op enters via a `passthrough` source job referenced downstream by `{type: job_output, from: <id>}` — preserving billing / DAG / lineage. Distinct from `operations: []` (which keeps its implicit-compress meaning on a single-input upload job); `passthrough` is the EXPLICIT lossless path via the "non-empty `operations[]` without `compress` = compression opt-out" rule. Media-agnostic; no options. `availability: beta` — activated (the inputs[]-narrowing + passthrough self-complete mechanism is deployed API-side); workflow-create accepts `passthrough` source jobs and MUST NOT return `feature_not_available`. **Never published to SNS** — deliberately absent from the AsyncAPI routing enums (API self-completes; no `ops-passthrough` queue). Per ticket [`4som89Uh`](https://trello.com/c/4som89Uh) + ADR-0004 (planned→beta flip).
10434
10433
 
@@ -16147,6 +16146,8 @@ components:
16147
16146
  [I3](https://trello.com/c/eCWIpug8); that roadmap is
16148
16147
  closed. See `schemas/FORMAT.md`
16149
16148
  §`per_mime_availability`.
16149
+ ceiling_basis:
16150
+ $ref: '#/components/schemas/CeilingBasis'
16150
16151
  max_input_size_bytes:
16151
16152
  type: integer
16152
16153
  format: int64
@@ -16565,6 +16566,8 @@ components:
16565
16566
  must share until the heterogeneous re-encode ships; plus
16566
16567
  `field_presence`: a video/audio stream field present on one
16567
16568
  input and absent on another.
16569
+ ceiling_basis:
16570
+ $ref: '#/components/schemas/CeilingBasis'
16568
16571
  resolution_bands:
16569
16572
  type: object
16570
16573
  description: |
@@ -16614,6 +16617,33 @@ components:
16614
16617
  additionalProperties:
16615
16618
  $ref: '#/components/schemas/ProcessingClassConstraints'
16616
16619
 
16620
+ CeilingBasis:
16621
+ type: object
16622
+ description: |
16623
+ Whether each declared INPUT ceiling beside it is PROVEN (owner
16624
+ decision 607(d), 2026-09-26: advertise only limits we have proven).
16625
+ Keys name the ceilings declared on the same object:
16626
+ `max_input_size_bytes`, `max_input_duration`,
16627
+ `max_total_input_size_bytes`, `max_total_duration`, and for a
16628
+ processing class also `per_tier.<tier>.<key>` for each
16629
+ `per_tier_constraints` override. CI requires an entry for EVERY
16630
+ declared ceiling (`scripts/check-ceiling-basis.py`).
16631
+
16632
+ - `proven`: a recorded run passed at 95% or more of the declared value
16633
+ on every axis the object declares (FORMAT.md §`ceiling_basis`).
16634
+ - `unproven`: not yet. The value is still what the API enforces, but
16635
+ no run at it has been recorded; a consumer SHOULD present it as
16636
+ "up to X (not yet verified)". Each becomes `proven`, or is
16637
+ lowered to the largest passing value, after its staging corner run.
16638
+ additionalProperties:
16639
+ type: string
16640
+ # CLOSED: a consumer decides how to present the limit from it.
16641
+ x-enum-openness: closed
16642
+ enum: [proven, unproven]
16643
+ example:
16644
+ max_input_size_bytes: unproven
16645
+ max_input_duration: unproven
16646
+
16617
16647
  ResolutionBand:
16618
16648
  type: string
16619
16649
  description: |
@@ -16672,12 +16702,22 @@ components:
16672
16702
  else:
16673
16703
  not:
16674
16704
  required: [derivation]
16705
+ - if:
16706
+ properties: {basis: {const: proven}}
16707
+ then:
16708
+ required: [source]
16709
+ else:
16710
+ not:
16711
+ required: [source]
16675
16712
  properties:
16676
16713
  basis:
16677
16714
  type: string
16678
16715
  description: |
16679
16716
  - `measured`: the ceiling is derived from measured encode time;
16680
16717
  `derivation` carries the line it was solved from.
16718
+ - `proven`: the LONGEST MEASURED SUCCESS at this resolution, with
16719
+ no fitted line; `source` names the record. Owner decision
16720
+ 607(d): advertise only limits that have been proven.
16681
16721
  - `ruled`: a policy value, not a measurement (today: the
16682
16722
  `unknown` band, which takes the `le_720p` ceiling).
16683
16723
  - `not_served`: this class does not serve inputs in this band.
@@ -16686,7 +16726,7 @@ components:
16686
16726
  where `long_form` is not available).
16687
16727
  # CLOSED: each value changes what a consumer enforces.
16688
16728
  x-enum-openness: closed
16689
- enum: [measured, ruled, not_served]
16729
+ enum: [measured, proven, ruled, not_served]
16690
16730
  constraints:
16691
16731
  type: object
16692
16732
  additionalProperties: false
@@ -16697,6 +16737,13 @@ components:
16697
16737
  type: string
16698
16738
  description: ISO-8601 duration; the band's input duration ceiling.
16699
16739
  example: "PT4M35S"
16740
+ source:
16741
+ type: string
16742
+ pattern: '\S'
16743
+ description: |
16744
+ Present only when `basis` is `proven`: the `id` of the run in this
16745
+ repository's `availability/staging-corner-measurements.yaml` that
16746
+ passed at this band's value.
16700
16747
  derivation:
16701
16748
  type: object
16702
16749
  additionalProperties: false
@@ -860,5 +860,5 @@
860
860
  "isAnimated": "maybe"
861
861
  }
862
862
  },
863
- "schema_version": "2.214.0"
863
+ "schema_version": "2.216.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)
@@ -26,20 +26,21 @@ operation:
26
26
  A lower framerate plus still-image tuning keeps file size tiny
27
27
  when the overlay is a still image (the common case).
28
28
 
29
- `availability: planned` — withdrawn 2026-09-15. Measured encode cost is
30
- 0.300 s per second of output PLUS A 7 s FIXED COST, so the advertised PT2H
31
- needs 2167 s against a 900 s platform maximum. ⚠️ The 7 s is not a rounding
32
- detail: 0.300 x 7200 alone is 2160, and a consumer dividing 600 by 0.300
33
- derives a 2000 s in-flight boundary where the real one is ~1976 s. Workflow-create returns `feature_not_available` (422).
29
+ `availability: planned` — withdrawn 2026-09-15. The measured encode cost
30
+ (a per-second rate PLUS A FIXED COST) puts the advertised PT2H at more than
31
+ twice the 900 s Lambda platform maximum. ⚠️ The fixed cost is not a rounding
32
+ detail: dropping it moves the in-flight boundary by tens of seconds. The
33
+ figures are in the CHANGELOG entry for 2.203.0, derived and tested from the
34
+ divergence register (6gdvD3yZ). Workflow-create returns `feature_not_available` (422).
34
35
 
35
36
  ⚠️ An already-accepted workflow is NOT cancelled — availability is checked at
36
37
  create — and it is NOT thereby doomed. ⛔ DO NOT READ THIS AS "in-flight work
37
38
  fails": the 60 s and 120 s cells behind this withdrawal both COMPLETED WITH
38
39
  OUTPUT, which is precisely why the evidence is arithmetic rather than a kill.
39
- What fails is an accepted workflow whose OUTPUT DURATION exceeds ~1976 s
40
+ What fails is an accepted workflow whose OUTPUT DURATION exceeds the derived ceiling (`evidence.derived.ceiling_s` in the register)
40
41
  ⚠️ ON THE INPUT THE RATE WAS MEASURED WITH — a real photographic 1080p STILL
41
- plus looped real audio — the point at which 0.300 s/s plus the 7 s fixed cost
42
- reaches the 600 s cap. ⛔ THE DRIVER IS THE STILL'S RESOLUTION, NOT THE
42
+ plus looped real audio — the point at which the measured rate plus the fixed
43
+ cost reaches the 600 s cap. ⛔ THE DRIVER IS THE STILL'S RESOLUTION, NOT THE
43
44
  DURATION ALONE: a 4K still is roughly 4x the rate (recorded as UNMEASURED),
44
45
  which would put the boundary near a quarter of that figure, and this schema
45
46
  places NO constraint on the overlay's resolution. Other still resolutions and
@@ -84,6 +85,8 @@ operation:
84
85
  - audio/opus
85
86
  - audio/mp4
86
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
87
90
  max_input_duration: "PT2H" # 2h input ceiling (KzrquIX7; mirrors worker MAX_AUDIO_DURATION_SECS 7200, strict >)
88
91
  options:
89
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,6 +97,8 @@ 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
+ ceiling_basis: # 607(d): proven at the declared value, or not yet (FORMAT.md §ceiling_basis)
101
+ max_input_size_bytes: unproven
100
102
  max_input_size_bytes: 524288000 # 500 MiB compress input ceiling (uKsFzORi)
101
103
  options:
102
104
  quality:
@@ -277,6 +279,8 @@ operation:
277
279
  mimes:
278
280
  - image/png
279
281
  max_output_pixels: 16000000
282
+ ceiling_basis: # 607(d): proven at the declared value, or not yet (FORMAT.md §ceiling_basis)
283
+ max_input_size_bytes: unproven
280
284
  max_input_size_bytes: 524288000 # 500 MiB compress input ceiling (uKsFzORi)
281
285
  options:
282
286
  # PROVENANCE (author-side, NOT user-facing — kept out of the description per
@@ -432,6 +436,8 @@ operation:
432
436
  mimes:
433
437
  - image/avif
434
438
  max_output_pixels: 16000000
439
+ ceiling_basis: # 607(d): proven at the declared value, or not yet (FORMAT.md §ceiling_basis)
440
+ max_input_size_bytes: unproven
435
441
  max_input_size_bytes: 20971520 # 20 MiB compress input ceiling (uKsFzORi; AVIF decode OOM guard, worker AVIF_MAX_MB)
436
442
  options:
437
443
  quality:
@@ -600,6 +606,8 @@ operation:
600
606
  mimes:
601
607
  - image/webp
602
608
  max_output_pixels: 16000000
609
+ ceiling_basis: # 607(d): proven at the declared value, or not yet (FORMAT.md §ceiling_basis)
610
+ max_input_size_bytes: unproven
603
611
  max_input_size_bytes: 524288000 # 500 MiB compress input ceiling (uKsFzORi)
604
612
  options:
605
613
  quality:
@@ -824,6 +832,8 @@ operation:
824
832
  # PRE-EXISTING, not introduced by the 2026-07-21 restore: the same 500 MiB
825
833
  # applied while this route was stable before 2026-07-17. Recorded rather
826
834
  # than silently carried.
835
+ ceiling_basis: # 607(d): proven at the declared value, or not yet (FORMAT.md §ceiling_basis)
836
+ max_input_size_bytes: unproven
827
837
  max_input_size_bytes: 524288000 # 500 MiB compress input ceiling (uKsFzORi; image/* default)
828
838
  options:
829
839
  # No `quality`: compress SVG is SVG->SVG via SVGO (VISUALLY PRESERVING
@@ -885,6 +895,8 @@ operation:
885
895
  - image/gif
886
896
  - image/tiff
887
897
  max_output_pixels: 16000000
898
+ ceiling_basis: # 607(d): proven at the declared value, or not yet (FORMAT.md §ceiling_basis)
899
+ max_input_size_bytes: unproven
888
900
  max_input_size_bytes: 524288000 # 500 MiB compress input ceiling (uKsFzORi)
889
901
  options:
890
902
  quality:
@@ -1095,6 +1107,12 @@ operation:
1095
1107
  # server-decided per plan v5 §F8 round 7.
1096
1108
  short_form:
1097
1109
  availability: stable
1110
+ # PROVEN 2026-09-26 (lambdas staging corner run, git-2166848; vm_shared 10_Now/lambdas-corner-video-results-2026-09-26.md):
1111
+ # 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.
1112
+ # Caveat: 4K ran 446-529 s against the worker's 600 s encode cap on synthetic content; thin margin.
1113
+ ceiling_basis: # 607(d): proven at the declared value, or not yet (FORMAT.md §ceiling_basis)
1114
+ max_input_size_bytes: proven
1115
+ max_input_duration: proven
1098
1116
  constraints:
1099
1117
  max_input_duration: "PT5M"
1100
1118
  max_input_size_bytes: 524288000 # 500 MiB
@@ -1119,6 +1137,11 @@ operation:
1119
1137
  # (`limits.max_upload_size_bytes`) still refuses first — that is the
1120
1138
  # quota, and it is a separate, request-level limit.
1121
1139
  availability: stable
1140
+ ceiling_basis: # 607(d): proven at the declared value, or not yet (FORMAT.md §ceiling_basis)
1141
+ max_input_size_bytes: unproven
1142
+ max_input_duration: unproven
1143
+ per_tier.max.max_input_size_bytes: unproven
1144
+ per_tier.enterprise.max_input_size_bytes: unproven
1122
1145
  constraints: # baseline = every tier without a per_tier_constraints override
1123
1146
  max_input_duration: "PT12H"
1124
1147
  max_input_size_bytes: 5000000000 # 5 GB (Pro)
@@ -1468,6 +1491,10 @@ operation:
1468
1491
  # MAX_IMAGE_ENTRY_SIZE 50 MB, MAX_ZIP_ENTRIES 10,000,
1469
1492
  # MAX_CUMULATIVE_IMAGE_BYTES 500 MB bound what a document expands INTO;
1470
1493
  # this bounds what we ACCEPT.
1494
+ # PROVEN 2026-09-26: lambdas staging corner run (git-2166848), within 1-2% of the ceiling;
1495
+ # one step past is refused by the worker. vm_shared 10_Now/lambdas-corner-doc-results-2026-09-26.md
1496
+ ceiling_basis: # 607(d): proven at the declared value, or not yet (FORMAT.md §ceiling_basis)
1497
+ max_input_size_bytes: proven
1471
1498
  max_input_size_bytes: 209715200
1472
1499
  # See the document_pdf honesty note: the worker reads ONLY `quality` today;
1473
1500
  # the per-format options are `planned` (advertised-ahead, FE-hidden).
@@ -1519,6 +1546,10 @@ operation:
1519
1546
  # MAX_IMAGE_ENTRY_SIZE 50 MB, MAX_ZIP_ENTRIES 10,000,
1520
1547
  # MAX_CUMULATIVE_IMAGE_BYTES 500 MB bound what a document expands INTO;
1521
1548
  # this bounds what we ACCEPT.
1549
+ # PROVEN 2026-09-26: lambdas staging corner run (git-2166848), within 1-2% of the ceiling;
1550
+ # one step past is refused by the worker. vm_shared 10_Now/lambdas-corner-doc-results-2026-09-26.md
1551
+ ceiling_basis: # 607(d): proven at the declared value, or not yet (FORMAT.md §ceiling_basis)
1552
+ max_input_size_bytes: proven
1522
1553
  max_input_size_bytes: 209715200
1523
1554
  # See the document_pdf honesty note: worker reads ONLY `quality`; the rest `planned`.
1524
1555
  options:
@@ -1563,6 +1594,10 @@ operation:
1563
1594
  # MAX_IMAGE_ENTRY_SIZE 50 MB, MAX_ZIP_ENTRIES 10,000,
1564
1595
  # MAX_CUMULATIVE_IMAGE_BYTES 500 MB bound what a document expands INTO;
1565
1596
  # this bounds what we ACCEPT.
1597
+ # PROVEN 2026-09-26: lambdas staging corner run (git-2166848), within 1-2% of the ceiling;
1598
+ # one step past is refused by the worker. vm_shared 10_Now/lambdas-corner-doc-results-2026-09-26.md
1599
+ ceiling_basis: # 607(d): proven at the declared value, or not yet (FORMAT.md §ceiling_basis)
1600
+ max_input_size_bytes: proven
1566
1601
  max_input_size_bytes: 209715200
1567
1602
  # See the document_pdf honesty note: worker reads ONLY `quality`; the rest `planned`.
1568
1603
  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)
@@ -184,9 +184,24 @@ operation:
184
184
  # two-trigger state — corrected here.
185
185
  short_form_concat:
186
186
  availability: stable
187
+ # 607(d), owner decision 2026-09-26 ('yes to both'): the served ceiling is
188
+ # the STREAM-COPY one, 500 MiB / PT5M total, PROVEN by lambdas' corner run
189
+ # (300 s / 480,884,812 B in 12 s, normalize_audio: false, 720p, git-2166848).
190
+ # PROVEN on BOTH axes at the exact corner: 2 x 262,144,000 B = 524,288,000 B /
191
+ # 300.000 s, normalize_audio false, stream copy, 14.0 s billed (lambdas,
192
+ # staging git-2166848, 2026-09-26). The boundary is safe by code: stream
193
+ # copy is refused only when the SUM is strictly greater than 500 MiB.
194
+ # It was 1 GiB, which is NOT servable: above 500 MiB total the worker
195
+ # re-encodes, and a 300 s 720p re-encode exceeds merge's 720 s cap
196
+ # (processing_limit_exceeded). So `normalize_audio` now defaults to FALSE
197
+ # (below), and turning it on lowers the limit (120 s / 193,711,902 B at 720p
198
+ # measured with it on). lambdas card: make the re-encode path fit the cap.
199
+ ceiling_basis: # 607(d): proven at the declared value, or not yet (FORMAT.md §ceiling_basis)
200
+ max_total_input_size_bytes: proven
201
+ max_total_duration: proven
187
202
  constraints:
188
203
  max_total_duration: "PT5M"
189
- max_total_input_size_bytes: 1073741824 # 1 GiB combined
204
+ max_total_input_size_bytes: 524288000 # 500 MiB combined (the stream-copy ceiling; was 1 GiB)
190
205
  long_form_re_encode:
191
206
  # planned -> beta (CON-1, ADR-0011) -> stable (CON-2b, HWNXo1kk):
192
207
  # staging-proven 2026-07-07 via long-form-merge.spec.ts Phase 2
@@ -224,6 +239,11 @@ operation:
224
239
  # Not a stream kind: a video/audio stream FIELD present on one
225
240
  # input and absent on another (lambdas' input_metadata_inconsistent).
226
241
  field_presence: [input_metadata_inconsistent]
242
+ ceiling_basis: # 607(d): proven at the declared value, or not yet (FORMAT.md §ceiling_basis)
243
+ max_total_input_size_bytes: unproven
244
+ max_total_duration: unproven
245
+ per_tier.max.max_total_input_size_bytes: unproven
246
+ per_tier.enterprise.max_total_input_size_bytes: unproven
227
247
  constraints: # baseline = every tier without a per_tier_constraints override
228
248
  max_total_duration: "PT24H" # 24h (was PT12H) — binding Enterprise ceiling
229
249
  max_total_input_size_bytes: 5000000000 # 5 GB combined (Pro)
@@ -298,7 +318,13 @@ operation:
298
318
  description: "Crossfade duration in seconds"
299
319
  normalize_audio:
300
320
  type: boolean
301
- default: true
321
+ # DEFAULT FALSE since 2026-09-26 (owner decision, 607(d)): with it on,
322
+ # every video merge re-encodes, and the re-encode does not fit the
323
+ # short_form ceiling. THE API APPLIES THIS DEFAULT: when a request omits
324
+ # the option, api writes `normalize_audio: false` into the worker
325
+ # message (ruled for api, 2026-09-26), so the outcome never depends on
326
+ # the worker's own absent-default (which lambdas also flip, UceDvESv).
327
+ default: false
302
328
  # 🔴 UNAVAILABLE ON LONG-FORM — and this one needed a RULING, not a
303
329
  # mechanical marking. Long-form FORCES loudnorm off, so:
304
330
  # accepting the default `true` is a SILENT NO-OP — the caller asked
@@ -316,9 +342,12 @@ operation:
316
342
  per_class_availability:
317
343
  long_form_re_encode: { availability: planned }
318
344
  description: >-
319
- Normalize audio levels across all clips. NOT available on the
320
- long-form path, which forces loudness normalisation off — a defaulted
321
- value is dropped and reported there rather than silently ignored.
345
+ Normalize audio levels across all clips. Off by default (the server
346
+ applies the default when the option is omitted). Turning it
347
+ on re-encodes every clip, which lowers the limit: about 120 seconds
348
+ of combined 720p video was measured to fit, instead of 5 minutes.
349
+ NOT available on the long-form path, which forces loudness
350
+ normalisation off.
322
351
 
323
352
  re_encode_mode:
324
353
  type: enum
@@ -502,6 +502,9 @@ operation:
502
502
  processing_class:
503
503
  short_form:
504
504
  availability: beta
505
+ ceiling_basis: # 607(d): proven at the declared value, or not yet (FORMAT.md §ceiling_basis)
506
+ max_input_size_bytes: unproven
507
+ max_input_duration: unproven
505
508
  constraints:
506
509
  max_input_duration: "PT5M"
507
510
  max_input_size_bytes: 524288000
@@ -516,6 +519,11 @@ operation:
516
519
  # Routes per ADR-0014 §D10 — same split OperationType, dedicated
517
520
  # stream-copy segmenter binary (NOT the long-form compress worker).
518
521
  availability: beta
522
+ ceiling_basis: # 607(d): proven at the declared value, or not yet (FORMAT.md §ceiling_basis)
523
+ max_input_size_bytes: unproven
524
+ max_input_duration: unproven
525
+ per_tier.max.max_input_size_bytes: unproven
526
+ per_tier.enterprise.max_input_size_bytes: unproven
519
527
  constraints: # baseline = every tier without a per_tier_constraints override
520
528
  max_input_duration: "PT12H"
521
529
  max_input_size_bytes: 5000000000 # 5 GB (Pro)