@giveitsmaller/contracts 0.85.0 → 0.87.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 (574) 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 +239 -14
  5. package/availability/availability.json +102 -49
  6. package/code-builder/code-builder-metadata.json +103 -50
  7. package/dist/asyncapi/LongFormOperationType.d.ts +4 -1
  8. package/dist/asyncapi/LongFormOperationType.js +3 -0
  9. package/dist/openapi/models/AccountLimitEntry.d.ts +15 -1
  10. package/dist/openapi/models/AccountLimitEntry.js +4 -1
  11. package/dist/openapi/models/AccountLimits.d.ts +1 -1
  12. package/dist/openapi/models/AccountLimits.js +1 -1
  13. package/dist/openapi/models/AccountLimitsLimits.d.ts +1 -1
  14. package/dist/openapi/models/AccountLimitsLimits.js +1 -1
  15. package/dist/openapi/models/AccountLimitsSuccessEnvelope.d.ts +1 -1
  16. package/dist/openapi/models/AccountLimitsSuccessEnvelope.js +1 -1
  17. package/dist/openapi/models/AnonymousLimitExceededResponse.d.ts +1 -1
  18. package/dist/openapi/models/AnonymousLimitExceededResponse.js +1 -1
  19. package/dist/openapi/models/AnonymousOperationNotAllowedResponse.d.ts +1 -1
  20. package/dist/openapi/models/AnonymousOperationNotAllowedResponse.js +1 -1
  21. package/dist/openapi/models/AnonymousQuotaExhaustedResponse.d.ts +1 -1
  22. package/dist/openapi/models/AnonymousQuotaExhaustedResponse.js +1 -1
  23. package/dist/openapi/models/AudioWatermarkDecodeRequest.d.ts +1 -1
  24. package/dist/openapi/models/AudioWatermarkDecodeRequest.js +1 -1
  25. package/dist/openapi/models/AudioWatermarkDecodeResponse.d.ts +1 -1
  26. package/dist/openapi/models/AudioWatermarkDecodeResponse.js +1 -1
  27. package/dist/openapi/models/AuthErrorResponse.d.ts +1 -1
  28. package/dist/openapi/models/AuthErrorResponse.js +1 -1
  29. package/dist/openapi/models/AuthErrorType.d.ts +1 -1
  30. package/dist/openapi/models/AuthErrorType.js +1 -1
  31. package/dist/openapi/models/AuthRejectionEnvelope.d.ts +1 -1
  32. package/dist/openapi/models/AuthRejectionEnvelope.js +1 -1
  33. package/dist/openapi/models/AuthenticatedIdentity.d.ts +1 -1
  34. package/dist/openapi/models/AuthenticatedIdentity.js +1 -1
  35. package/dist/openapi/models/AvailabilityValue.d.ts +1 -1
  36. package/dist/openapi/models/AvailabilityValue.js +1 -1
  37. package/dist/openapi/models/BalanceExhaustedResponse.d.ts +1 -1
  38. package/dist/openapi/models/BalanceExhaustedResponse.js +1 -1
  39. package/dist/openapi/models/BalanceExhaustedResponseAllOfLinks.d.ts +1 -1
  40. package/dist/openapi/models/BalanceExhaustedResponseAllOfLinks.js +1 -1
  41. package/dist/openapi/models/BillingCheckoutRequest.d.ts +1 -1
  42. package/dist/openapi/models/BillingCheckoutRequest.js +1 -1
  43. package/dist/openapi/models/BillingCheckoutSession.d.ts +1 -1
  44. package/dist/openapi/models/BillingCheckoutSession.js +1 -1
  45. package/dist/openapi/models/BillingCheckoutSuccessEnvelope.d.ts +1 -1
  46. package/dist/openapi/models/BillingCheckoutSuccessEnvelope.js +1 -1
  47. package/dist/openapi/models/CallbackEventType.d.ts +1 -1
  48. package/dist/openapi/models/CallbackEventType.js +1 -1
  49. package/dist/openapi/models/CancelAccountDeletion200Response.d.ts +1 -1
  50. package/dist/openapi/models/CancelAccountDeletion200Response.js +1 -1
  51. package/dist/openapi/models/CancelAccountDeletion200ResponseData.d.ts +1 -1
  52. package/dist/openapi/models/CancelAccountDeletion200ResponseData.js +1 -1
  53. package/dist/openapi/models/CapabilityCondition.d.ts +5 -4
  54. package/dist/openapi/models/CapabilityCondition.js +8 -1
  55. package/dist/openapi/models/CapabilityConditionOneOf.d.ts +1 -1
  56. package/dist/openapi/models/CapabilityConditionOneOf.js +1 -1
  57. package/dist/openapi/models/CapabilityConditionOneOf1.d.ts +1 -1
  58. package/dist/openapi/models/CapabilityConditionOneOf1.js +1 -1
  59. package/dist/openapi/models/CapabilityConditionOneOf2.d.ts +1 -1
  60. package/dist/openapi/models/CapabilityConditionOneOf2.js +1 -1
  61. package/dist/openapi/models/CapabilityConditionOneOf3.d.ts +1 -1
  62. package/dist/openapi/models/CapabilityConditionOneOf3.js +1 -1
  63. package/dist/openapi/models/CapabilityConditionOneOf4.d.ts +1 -1
  64. package/dist/openapi/models/CapabilityConditionOneOf4.js +1 -1
  65. package/dist/openapi/models/CapabilityConditionOneOf5.d.ts +1 -1
  66. package/dist/openapi/models/CapabilityConditionOneOf5.js +1 -1
  67. package/dist/openapi/models/CapabilityConditionOneOf6.d.ts +31 -6
  68. package/dist/openapi/models/CapabilityConditionOneOf6.js +14 -4
  69. package/dist/openapi/models/CapabilityConditionOneOf7.d.ts +35 -0
  70. package/dist/openapi/models/CapabilityConditionOneOf7.js +43 -0
  71. package/dist/openapi/models/CapabilityConstraint.d.ts +1 -1
  72. package/dist/openapi/models/CapabilityConstraint.js +1 -1
  73. package/dist/openapi/models/CapabilityInputSpec.d.ts +1 -1
  74. package/dist/openapi/models/CapabilityInputSpec.js +1 -1
  75. package/dist/openapi/models/CapabilityProduces.d.ts +1 -1
  76. package/dist/openapi/models/CapabilityProduces.js +1 -1
  77. package/dist/openapi/models/CapabilityProducesOneOf.d.ts +1 -1
  78. package/dist/openapi/models/CapabilityProducesOneOf.js +1 -1
  79. package/dist/openapi/models/CapabilityProducesOneOf1.d.ts +1 -1
  80. package/dist/openapi/models/CapabilityProducesOneOf1.js +1 -1
  81. package/dist/openapi/models/CapabilityProducesOneOf2.d.ts +1 -1
  82. package/dist/openapi/models/CapabilityProducesOneOf2.js +1 -1
  83. package/dist/openapi/models/CeilingBasisValue.d.ts +31 -0
  84. package/dist/openapi/models/CeilingBasisValue.js +49 -0
  85. package/dist/openapi/models/ChangePasswordRequest.d.ts +1 -1
  86. package/dist/openapi/models/ChangePasswordRequest.js +1 -1
  87. package/dist/openapi/models/CheckoutSessionStatusResponse.d.ts +1 -1
  88. package/dist/openapi/models/CheckoutSessionStatusResponse.js +1 -1
  89. package/dist/openapi/models/CheckoutSessionStatusResponseData.d.ts +1 -1
  90. package/dist/openapi/models/CheckoutSessionStatusResponseData.js +1 -1
  91. package/dist/openapi/models/CodegenSource.d.ts +1 -1
  92. package/dist/openapi/models/CodegenSource.js +1 -1
  93. package/dist/openapi/models/CodegenSourceInput.d.ts +1 -1
  94. package/dist/openapi/models/CodegenSourceInput.js +1 -1
  95. package/dist/openapi/models/CodegenSourceJob.d.ts +1 -1
  96. package/dist/openapi/models/CodegenSourceJob.js +1 -1
  97. package/dist/openapi/models/CodegenSourceJobSource.d.ts +1 -1
  98. package/dist/openapi/models/CodegenSourceJobSource.js +1 -1
  99. package/dist/openapi/models/CodegenSourceOperation.d.ts +1 -1
  100. package/dist/openapi/models/CodegenSourceOperation.js +1 -1
  101. package/dist/openapi/models/CodegenUploadPlaceholder.d.ts +1 -1
  102. package/dist/openapi/models/CodegenUploadPlaceholder.js +1 -1
  103. package/dist/openapi/models/CompositionPlan.d.ts +1 -1
  104. package/dist/openapi/models/CompositionPlan.js +1 -1
  105. package/dist/openapi/models/CompositionPlanJob.d.ts +1 -1
  106. package/dist/openapi/models/CompositionPlanJob.js +1 -1
  107. package/dist/openapi/models/CompositionPlanOperation.d.ts +1 -1
  108. package/dist/openapi/models/CompositionPlanOperation.js +1 -1
  109. package/dist/openapi/models/ConfirmEmailChange200Response.d.ts +1 -1
  110. package/dist/openapi/models/ConfirmEmailChange200Response.js +1 -1
  111. package/dist/openapi/models/ConfirmEmailChange200ResponseData.d.ts +1 -1
  112. package/dist/openapi/models/ConfirmEmailChange200ResponseData.js +1 -1
  113. package/dist/openapi/models/ConfirmEmailChangeRequest.d.ts +1 -1
  114. package/dist/openapi/models/ConfirmEmailChangeRequest.js +1 -1
  115. package/dist/openapi/models/ConnectionSource.d.ts +1 -1
  116. package/dist/openapi/models/ConnectionSource.js +1 -1
  117. package/dist/openapi/models/ContactRequest.d.ts +1 -1
  118. package/dist/openapi/models/ContactRequest.js +1 -1
  119. package/dist/openapi/models/ContactSubject.d.ts +1 -1
  120. package/dist/openapi/models/ContactSubject.js +1 -1
  121. package/dist/openapi/models/ContactValidationErrorResponse.d.ts +1 -1
  122. package/dist/openapi/models/ContactValidationErrorResponse.js +1 -1
  123. package/dist/openapi/models/CreateApiKey201Response.d.ts +1 -1
  124. package/dist/openapi/models/CreateApiKey201Response.js +1 -1
  125. package/dist/openapi/models/CreateApiKey201ResponseData.d.ts +1 -1
  126. package/dist/openapi/models/CreateApiKey201ResponseData.js +1 -1
  127. package/dist/openapi/models/CreateApiKeyRequest.d.ts +1 -1
  128. package/dist/openapi/models/CreateApiKeyRequest.js +1 -1
  129. package/dist/openapi/models/CreateBillingCheckoutSession422Response.d.ts +1 -1
  130. package/dist/openapi/models/CreateBillingCheckoutSession422Response.js +1 -1
  131. package/dist/openapi/models/CreateExternalImport403Response.d.ts +1 -1
  132. package/dist/openapi/models/CreateExternalImport403Response.js +1 -1
  133. package/dist/openapi/models/CreateExternalImport422Response.d.ts +1 -1
  134. package/dist/openapi/models/CreateExternalImport422Response.js +1 -1
  135. package/dist/openapi/models/CreateWorkflow401Response.d.ts +1 -1
  136. package/dist/openapi/models/CreateWorkflow401Response.js +1 -1
  137. package/dist/openapi/models/CreateWorkflow403Response.d.ts +1 -1
  138. package/dist/openapi/models/CreateWorkflow403Response.js +1 -1
  139. package/dist/openapi/models/CreateWorkflow422Response.d.ts +1 -1
  140. package/dist/openapi/models/CreateWorkflow422Response.js +1 -1
  141. package/dist/openapi/models/CreditTransaction.d.ts +1 -1
  142. package/dist/openapi/models/CreditTransaction.js +1 -1
  143. package/dist/openapi/models/CreditTransactionSourceBucket.d.ts +1 -1
  144. package/dist/openapi/models/CreditTransactionSourceBucket.js +1 -1
  145. package/dist/openapi/models/CreditsBalanceResponse.d.ts +1 -1
  146. package/dist/openapi/models/CreditsBalanceResponse.js +1 -1
  147. package/dist/openapi/models/CreditsBalanceSuccessEnvelope.d.ts +1 -1
  148. package/dist/openapi/models/CreditsBalanceSuccessEnvelope.js +1 -1
  149. package/dist/openapi/models/CreditsUsageResponse.d.ts +1 -1
  150. package/dist/openapi/models/CreditsUsageResponse.js +1 -1
  151. package/dist/openapi/models/CreditsUsageSuccessEnvelope.d.ts +1 -1
  152. package/dist/openapi/models/CreditsUsageSuccessEnvelope.js +1 -1
  153. package/dist/openapi/models/Delivery.d.ts +1 -1
  154. package/dist/openapi/models/Delivery.js +1 -1
  155. package/dist/openapi/models/DeliveryOutputRef.d.ts +1 -1
  156. package/dist/openapi/models/DeliveryOutputRef.js +1 -1
  157. package/dist/openapi/models/DeliveryPlan.d.ts +1 -1
  158. package/dist/openapi/models/DeliveryPlan.js +1 -1
  159. package/dist/openapi/models/DeliveryPlanOutput.d.ts +1 -1
  160. package/dist/openapi/models/DeliveryPlanOutput.js +1 -1
  161. package/dist/openapi/models/DeliveryPlanReason.d.ts +1 -1
  162. package/dist/openapi/models/DeliveryPlanReason.js +1 -1
  163. package/dist/openapi/models/DeliverySelection.d.ts +1 -1
  164. package/dist/openapi/models/DeliverySelection.js +1 -1
  165. package/dist/openapi/models/DownloadBundle.d.ts +1 -1
  166. package/dist/openapi/models/DownloadBundle.js +1 -1
  167. package/dist/openapi/models/DroppedOption.d.ts +1 -1
  168. package/dist/openapi/models/DroppedOption.js +1 -1
  169. package/dist/openapi/models/EmailNotify.d.ts +1 -1
  170. package/dist/openapi/models/EmailNotify.js +1 -1
  171. package/dist/openapi/models/EmptySuccessEnvelope.d.ts +1 -1
  172. package/dist/openapi/models/EmptySuccessEnvelope.js +1 -1
  173. package/dist/openapi/models/EndpointProjection.d.ts +1 -1
  174. package/dist/openapi/models/EndpointProjection.js +1 -1
  175. package/dist/openapi/models/EndpointProjectionServersInner.d.ts +1 -1
  176. package/dist/openapi/models/EndpointProjectionServersInner.js +1 -1
  177. package/dist/openapi/models/ErrorEnvelope.d.ts +1 -1
  178. package/dist/openapi/models/ErrorEnvelope.js +1 -1
  179. package/dist/openapi/models/EstimateQuality.d.ts +1 -1
  180. package/dist/openapi/models/EstimateQuality.js +1 -1
  181. package/dist/openapi/models/EstimateRange.d.ts +1 -1
  182. package/dist/openapi/models/EstimateRange.js +1 -1
  183. package/dist/openapi/models/ExportAccountData200Response.d.ts +1 -1
  184. package/dist/openapi/models/ExportAccountData200Response.js +1 -1
  185. package/dist/openapi/models/ExportAccountData200ResponseData.d.ts +1 -1
  186. package/dist/openapi/models/ExportAccountData200ResponseData.js +1 -1
  187. package/dist/openapi/models/ExportAccountData200ResponseDataBilling.d.ts +1 -1
  188. package/dist/openapi/models/ExportAccountData200ResponseDataBilling.js +1 -1
  189. package/dist/openapi/models/ExportAccountData200ResponseDataBillingCheckoutSessionsInner.d.ts +1 -1
  190. package/dist/openapi/models/ExportAccountData200ResponseDataBillingCheckoutSessionsInner.js +1 -1
  191. package/dist/openapi/models/ExternalDestination.d.ts +1 -1
  192. package/dist/openapi/models/ExternalDestination.js +1 -1
  193. package/dist/openapi/models/ExternalImportCreatedResponse.d.ts +1 -1
  194. package/dist/openapi/models/ExternalImportCreatedResponse.js +1 -1
  195. package/dist/openapi/models/ExternalImportCreatedSuccessEnvelope.d.ts +1 -1
  196. package/dist/openapi/models/ExternalImportCreatedSuccessEnvelope.js +1 -1
  197. package/dist/openapi/models/ExternalImportRequest.d.ts +1 -1
  198. package/dist/openapi/models/ExternalImportRequest.js +1 -1
  199. package/dist/openapi/models/ExternalImportToken.d.ts +1 -1
  200. package/dist/openapi/models/ExternalImportToken.js +1 -1
  201. package/dist/openapi/models/ExternalSource.d.ts +1 -1
  202. package/dist/openapi/models/ExternalSource.js +1 -1
  203. package/dist/openapi/models/FeatureNotAvailableResponse.d.ts +1 -1
  204. package/dist/openapi/models/FeatureNotAvailableResponse.js +1 -1
  205. package/dist/openapi/models/FeatureTierRestrictedResponse.d.ts +1 -1
  206. package/dist/openapi/models/FeatureTierRestrictedResponse.js +1 -1
  207. package/dist/openapi/models/FeatureViolation.d.ts +1 -1
  208. package/dist/openapi/models/FeatureViolation.js +1 -1
  209. package/dist/openapi/models/GetProfile200Response.d.ts +1 -1
  210. package/dist/openapi/models/GetProfile200Response.js +1 -1
  211. package/dist/openapi/models/GetProfile200ResponseData.d.ts +1 -1
  212. package/dist/openapi/models/GetProfile200ResponseData.js +1 -1
  213. package/dist/openapi/models/ImageEncodeCapabilities.d.ts +1 -1
  214. package/dist/openapi/models/ImageEncodeCapabilities.js +1 -1
  215. package/dist/openapi/models/JobDefinition.d.ts +1 -1
  216. package/dist/openapi/models/JobDefinition.js +1 -1
  217. package/dist/openapi/models/JobDownload.d.ts +1 -1
  218. package/dist/openapi/models/JobDownload.js +1 -1
  219. package/dist/openapi/models/JobInputV2.d.ts +1 -1
  220. package/dist/openapi/models/JobInputV2.js +1 -1
  221. package/dist/openapi/models/JobMediaClass.d.ts +1 -1
  222. package/dist/openapi/models/JobMediaClass.js +1 -1
  223. package/dist/openapi/models/JobOutputSource.d.ts +1 -1
  224. package/dist/openapi/models/JobOutputSource.js +1 -1
  225. package/dist/openapi/models/JobResponse.d.ts +1 -1
  226. package/dist/openapi/models/JobResponse.js +1 -1
  227. package/dist/openapi/models/JobStatus.d.ts +1 -1
  228. package/dist/openapi/models/JobStatus.js +1 -1
  229. package/dist/openapi/models/JobType.d.ts +1 -1
  230. package/dist/openapi/models/JobType.js +1 -1
  231. package/dist/openapi/models/LivenessResponse.d.ts +1 -1
  232. package/dist/openapi/models/LivenessResponse.js +1 -1
  233. package/dist/openapi/models/LoginUser200Response.d.ts +1 -1
  234. package/dist/openapi/models/LoginUser200Response.js +1 -1
  235. package/dist/openapi/models/LoginUser200ResponseData.d.ts +1 -1
  236. package/dist/openapi/models/LoginUser200ResponseData.js +1 -1
  237. package/dist/openapi/models/LoginUser200ResponseDataUser.d.ts +1 -1
  238. package/dist/openapi/models/LoginUser200ResponseDataUser.js +1 -1
  239. package/dist/openapi/models/LoginUser401Response.d.ts +1 -1
  240. package/dist/openapi/models/LoginUser401Response.js +1 -1
  241. package/dist/openapi/models/LoginUserRequest.d.ts +1 -1
  242. package/dist/openapi/models/LoginUserRequest.js +1 -1
  243. package/dist/openapi/models/LongFormConcurrencyLimitResponse.d.ts +1 -1
  244. package/dist/openapi/models/LongFormConcurrencyLimitResponse.js +1 -1
  245. package/dist/openapi/models/LongFormConcurrencyLimitResponseAllOfLinks.d.ts +1 -1
  246. package/dist/openapi/models/LongFormConcurrencyLimitResponseAllOfLinks.js +1 -1
  247. package/dist/openapi/models/MetadataResponse.d.ts +1 -1
  248. package/dist/openapi/models/MetadataResponse.js +1 -1
  249. package/dist/openapi/models/MetadataResponseDimensions.d.ts +1 -1
  250. package/dist/openapi/models/MetadataResponseDimensions.js +1 -1
  251. package/dist/openapi/models/MetadataResponseExif.d.ts +1 -1
  252. package/dist/openapi/models/MetadataResponseExif.js +1 -1
  253. package/dist/openapi/models/MetadataResponseExifGps.d.ts +1 -1
  254. package/dist/openapi/models/MetadataResponseExifGps.js +1 -1
  255. package/dist/openapi/models/MetadataSuccessEnvelope.d.ts +1 -1
  256. package/dist/openapi/models/MetadataSuccessEnvelope.js +1 -1
  257. package/dist/openapi/models/MimeGroupSchema.d.ts +4 -11
  258. package/dist/openapi/models/MimeGroupSchema.js +4 -10
  259. package/dist/openapi/models/MultiInputSource.d.ts +1 -1
  260. package/dist/openapi/models/MultiInputSource.js +1 -1
  261. package/dist/openapi/models/MultipartCompleteRequest.d.ts +1 -1
  262. package/dist/openapi/models/MultipartCompleteRequest.js +1 -1
  263. package/dist/openapi/models/MultipartCompleteRequestPartsInner.d.ts +1 -1
  264. package/dist/openapi/models/MultipartCompleteRequestPartsInner.js +1 -1
  265. package/dist/openapi/models/MultipartCompleteResponse.d.ts +1 -1
  266. package/dist/openapi/models/MultipartCompleteResponse.js +1 -1
  267. package/dist/openapi/models/MultipartCompleteSuccessEnvelope.d.ts +1 -1
  268. package/dist/openapi/models/MultipartCompleteSuccessEnvelope.js +1 -1
  269. package/dist/openapi/models/MultipartInitiateRequestMetadataHint.d.ts +1 -1
  270. package/dist/openapi/models/MultipartInitiateRequestMetadataHint.js +1 -1
  271. package/dist/openapi/models/MultipartInitiateResponse.d.ts +1 -1
  272. package/dist/openapi/models/MultipartInitiateResponse.js +1 -1
  273. package/dist/openapi/models/MultipartInitiateSuccessEnvelope.d.ts +1 -1
  274. package/dist/openapi/models/MultipartInitiateSuccessEnvelope.js +1 -1
  275. package/dist/openapi/models/MultipartKeepaliveResponse.d.ts +1 -1
  276. package/dist/openapi/models/MultipartKeepaliveResponse.js +1 -1
  277. package/dist/openapi/models/MultipartKeepaliveSuccessEnvelope.d.ts +1 -1
  278. package/dist/openapi/models/MultipartKeepaliveSuccessEnvelope.js +1 -1
  279. package/dist/openapi/models/MultipartPartListing.d.ts +1 -1
  280. package/dist/openapi/models/MultipartPartListing.js +1 -1
  281. package/dist/openapi/models/MultipartPresignRequest.d.ts +1 -1
  282. package/dist/openapi/models/MultipartPresignRequest.js +1 -1
  283. package/dist/openapi/models/MultipartPresignResponse.d.ts +1 -1
  284. package/dist/openapi/models/MultipartPresignResponse.js +1 -1
  285. package/dist/openapi/models/MultipartPresignSuccessEnvelope.d.ts +1 -1
  286. package/dist/openapi/models/MultipartPresignSuccessEnvelope.js +1 -1
  287. package/dist/openapi/models/MultipartStatusResponse.d.ts +1 -1
  288. package/dist/openapi/models/MultipartStatusResponse.js +1 -1
  289. package/dist/openapi/models/MultipartStatusSuccessEnvelope.d.ts +1 -1
  290. package/dist/openapi/models/MultipartStatusSuccessEnvelope.js +1 -1
  291. package/dist/openapi/models/NotifyConfig.d.ts +1 -1
  292. package/dist/openapi/models/NotifyConfig.js +1 -1
  293. package/dist/openapi/models/OperationCapability.d.ts +1 -1
  294. package/dist/openapi/models/OperationCapability.js +1 -1
  295. package/dist/openapi/models/OperationDefinition.d.ts +1 -1
  296. package/dist/openapi/models/OperationDefinition.js +1 -1
  297. package/dist/openapi/models/OperationDownload.d.ts +34 -1
  298. package/dist/openapi/models/OperationDownload.js +11 -1
  299. package/dist/openapi/models/OperationInputModel.d.ts +1 -1
  300. package/dist/openapi/models/OperationInputModel.js +1 -1
  301. package/dist/openapi/models/OperationMessageParamsValue.d.ts +1 -1
  302. package/dist/openapi/models/OperationMessageParamsValue.js +1 -1
  303. package/dist/openapi/models/OperationResponse.d.ts +1 -1
  304. package/dist/openapi/models/OperationResponse.js +1 -1
  305. package/dist/openapi/models/OperationResult.d.ts +1 -1
  306. package/dist/openapi/models/OperationResult.js +1 -1
  307. package/dist/openapi/models/OperationResultMetadata.d.ts +1 -1
  308. package/dist/openapi/models/OperationResultMetadata.js +1 -1
  309. package/dist/openapi/models/OperationResultMetrics.d.ts +1 -1
  310. package/dist/openapi/models/OperationResultMetrics.js +1 -1
  311. package/dist/openapi/models/OperationSchemaDefinition.d.ts +1 -1
  312. package/dist/openapi/models/OperationSchemaDefinition.js +1 -1
  313. package/dist/openapi/models/OperationStatus.d.ts +1 -1
  314. package/dist/openapi/models/OperationStatus.js +1 -1
  315. package/dist/openapi/models/OperationType.d.ts +2 -2
  316. package/dist/openapi/models/OperationType.js +2 -2
  317. package/dist/openapi/models/OperationsSchemaResponse.d.ts +1 -1
  318. package/dist/openapi/models/OperationsSchemaResponse.js +1 -1
  319. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeatures.d.ts +1 -1
  320. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeatures.js +1 -1
  321. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDelivery.d.ts +1 -1
  322. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDelivery.js +1 -1
  323. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliveryMode.d.ts +1 -1
  324. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliveryMode.js +1 -1
  325. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliverySelection.d.ts +1 -1
  326. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliverySelection.js +1 -1
  327. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesProcessing.d.ts +1 -1
  328. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesProcessing.js +1 -1
  329. package/dist/openapi/models/OptionSchema.d.ts +1 -1
  330. package/dist/openapi/models/OptionSchema.js +1 -1
  331. package/dist/openapi/models/OutputProperties.d.ts +1 -1
  332. package/dist/openapi/models/OutputProperties.js +1 -1
  333. package/dist/openapi/models/OutputPropertiesIsAnimated.d.ts +1 -1
  334. package/dist/openapi/models/OutputPropertiesIsAnimated.js +1 -1
  335. package/dist/openapi/models/PerClassAvailabilityEntry.d.ts +1 -1
  336. package/dist/openapi/models/PerClassAvailabilityEntry.js +1 -1
  337. package/dist/openapi/models/PerRoleCardinalityEntry.d.ts +1 -1
  338. package/dist/openapi/models/PerRoleCardinalityEntry.js +1 -1
  339. package/dist/openapi/models/PerValueAvailabilityEntry.d.ts +1 -1
  340. package/dist/openapi/models/PerValueAvailabilityEntry.js +1 -1
  341. package/dist/openapi/models/PresignedUrlPart.d.ts +1 -1
  342. package/dist/openapi/models/PresignedUrlPart.js +1 -1
  343. package/dist/openapi/models/ProbePendingResponse.d.ts +1 -1
  344. package/dist/openapi/models/ProbePendingResponse.js +1 -1
  345. package/dist/openapi/models/ProbeUpload422Response.d.ts +30 -0
  346. package/dist/openapi/models/ProbeUpload422Response.js +52 -0
  347. package/dist/openapi/models/ProcessingClass.d.ts +1 -1
  348. package/dist/openapi/models/ProcessingClass.js +1 -1
  349. package/dist/openapi/models/ProcessingClassBandViolation.d.ts +1 -1
  350. package/dist/openapi/models/ProcessingClassBandViolation.js +1 -1
  351. package/dist/openapi/models/ProcessingClassConstraints.d.ts +1 -1
  352. package/dist/openapi/models/ProcessingClassConstraints.js +1 -1
  353. package/dist/openapi/models/ProcessingClassEntry.d.ts +4 -11
  354. package/dist/openapi/models/ProcessingClassEntry.js +4 -10
  355. package/dist/openapi/models/ProcessingClassEntryInputUniformity.d.ts +1 -1
  356. package/dist/openapi/models/ProcessingClassEntryInputUniformity.js +1 -1
  357. package/dist/openapi/models/ProcessingClassEntryResolutionBands.d.ts +1 -1
  358. package/dist/openapi/models/ProcessingClassEntryResolutionBands.js +1 -1
  359. package/dist/openapi/models/ProcessingClassExceedsBandResponse.d.ts +1 -1
  360. package/dist/openapi/models/ProcessingClassExceedsBandResponse.js +1 -1
  361. package/dist/openapi/models/ProcessingClassHint.d.ts +1 -1
  362. package/dist/openapi/models/ProcessingClassHint.js +1 -1
  363. package/dist/openapi/models/ProcessingClassReason.d.ts +1 -1
  364. package/dist/openapi/models/ProcessingClassReason.js +1 -1
  365. package/dist/openapi/models/ProcessingClassRejectReason.d.ts +1 -1
  366. package/dist/openapi/models/ProcessingClassRejectReason.js +1 -1
  367. package/dist/openapi/models/ProcessingPlan.d.ts +1 -1
  368. package/dist/openapi/models/ProcessingPlan.js +1 -1
  369. package/dist/openapi/models/ProcessingPlanJob.d.ts +1 -1
  370. package/dist/openapi/models/ProcessingPlanJob.js +1 -1
  371. package/dist/openapi/models/ReEncodeDecision.d.ts +1 -1
  372. package/dist/openapi/models/ReEncodeDecision.js +1 -1
  373. package/dist/openapi/models/ReadinessResponse.d.ts +1 -1
  374. package/dist/openapi/models/ReadinessResponse.js +1 -1
  375. package/dist/openapi/models/RegisterUser422Response.d.ts +1 -1
  376. package/dist/openapi/models/RegisterUser422Response.js +1 -1
  377. package/dist/openapi/models/RegisterUserRequest.d.ts +1 -1
  378. package/dist/openapi/models/RegisterUserRequest.js +1 -1
  379. package/dist/openapi/models/RequestAccountDeletion200Response.d.ts +1 -1
  380. package/dist/openapi/models/RequestAccountDeletion200Response.js +1 -1
  381. package/dist/openapi/models/RequestAccountDeletion200ResponseData.d.ts +1 -1
  382. package/dist/openapi/models/RequestAccountDeletion200ResponseData.js +1 -1
  383. package/dist/openapi/models/RequestAccountDeletionRequest.d.ts +1 -1
  384. package/dist/openapi/models/RequestAccountDeletionRequest.js +1 -1
  385. package/dist/openapi/models/ResendVerificationEmailRequest.d.ts +1 -1
  386. package/dist/openapi/models/ResendVerificationEmailRequest.js +1 -1
  387. package/dist/openapi/models/ResetPasswordRequest.d.ts +1 -1
  388. package/dist/openapi/models/ResetPasswordRequest.js +1 -1
  389. package/dist/openapi/models/ResolutionBand.d.ts +1 -1
  390. package/dist/openapi/models/ResolutionBand.js +1 -1
  391. package/dist/openapi/models/ResolutionBandCeiling.d.ts +1 -1
  392. package/dist/openapi/models/ResolutionBandCeiling.js +1 -1
  393. package/dist/openapi/models/ResolutionBandCeilingConstraints.d.ts +1 -1
  394. package/dist/openapi/models/ResolutionBandCeilingConstraints.js +1 -1
  395. package/dist/openapi/models/ResolutionBandCeilingDerivation.d.ts +1 -1
  396. package/dist/openapi/models/ResolutionBandCeilingDerivation.js +1 -1
  397. package/dist/openapi/models/ResponseEnvelope.d.ts +1 -1
  398. package/dist/openapi/models/ResponseEnvelope.js +1 -1
  399. package/dist/openapi/models/RetryResponse.d.ts +1 -1
  400. package/dist/openapi/models/RetryResponse.js +1 -1
  401. package/dist/openapi/models/RetrySuccessEnvelope.d.ts +1 -1
  402. package/dist/openapi/models/RetrySuccessEnvelope.js +1 -1
  403. package/dist/openapi/models/SseCompletionBase.d.ts +1 -1
  404. package/dist/openapi/models/SseCompletionBase.js +1 -1
  405. package/dist/openapi/models/SseConnectionLimitResponse.d.ts +1 -1
  406. package/dist/openapi/models/SseConnectionLimitResponse.js +1 -1
  407. package/dist/openapi/models/SseEventType.d.ts +1 -1
  408. package/dist/openapi/models/SseEventType.js +1 -1
  409. package/dist/openapi/models/SseJobCompletedData.d.ts +1 -1
  410. package/dist/openapi/models/SseJobCompletedData.js +1 -1
  411. package/dist/openapi/models/SseJobFailedData.d.ts +1 -1
  412. package/dist/openapi/models/SseJobFailedData.js +1 -1
  413. package/dist/openapi/models/SseMultiOutputCompletion.d.ts +1 -1
  414. package/dist/openapi/models/SseMultiOutputCompletion.js +1 -1
  415. package/dist/openapi/models/SseMultiOutputCompletionMetrics.d.ts +1 -1
  416. package/dist/openapi/models/SseMultiOutputCompletionMetrics.js +1 -1
  417. package/dist/openapi/models/SseMultiOutputCompletionWithKind.d.ts +1 -1
  418. package/dist/openapi/models/SseMultiOutputCompletionWithKind.js +1 -1
  419. package/dist/openapi/models/SseMultiOutputResultEntry.d.ts +1 -1
  420. package/dist/openapi/models/SseMultiOutputResultEntry.js +1 -1
  421. package/dist/openapi/models/SseOperationCompletedData.d.ts +1 -1
  422. package/dist/openapi/models/SseOperationCompletedData.js +1 -1
  423. package/dist/openapi/models/SseOperationCompletionResult.d.ts +1 -1
  424. package/dist/openapi/models/SseOperationCompletionResult.js +1 -1
  425. package/dist/openapi/models/SseOperationFailedData.d.ts +1 -1
  426. package/dist/openapi/models/SseOperationFailedData.js +1 -1
  427. package/dist/openapi/models/SseOperationProgressData.d.ts +1 -1
  428. package/dist/openapi/models/SseOperationProgressData.js +1 -1
  429. package/dist/openapi/models/SseSingleOutputCompletion.d.ts +1 -1
  430. package/dist/openapi/models/SseSingleOutputCompletion.js +1 -1
  431. package/dist/openapi/models/SseWorkflowTerminalData.d.ts +1 -1
  432. package/dist/openapi/models/SseWorkflowTerminalData.js +1 -1
  433. package/dist/openapi/models/TierRestrictionKind.d.ts +1 -1
  434. package/dist/openapi/models/TierRestrictionKind.js +1 -1
  435. package/dist/openapi/models/TierRestrictionResponse.d.ts +1 -1
  436. package/dist/openapi/models/TierRestrictionResponse.js +1 -1
  437. package/dist/openapi/models/UpdateProfile200Response.d.ts +1 -1
  438. package/dist/openapi/models/UpdateProfile200Response.js +1 -1
  439. package/dist/openapi/models/UpdateProfile200ResponseData.d.ts +1 -1
  440. package/dist/openapi/models/UpdateProfile200ResponseData.js +1 -1
  441. package/dist/openapi/models/UpdateProfile422Response.d.ts +1 -1
  442. package/dist/openapi/models/UpdateProfile422Response.js +1 -1
  443. package/dist/openapi/models/UpdateProfileRequest.d.ts +1 -1
  444. package/dist/openapi/models/UpdateProfileRequest.js +1 -1
  445. package/dist/openapi/models/UploadConstraintsApplied.d.ts +1 -1
  446. package/dist/openapi/models/UploadConstraintsApplied.js +1 -1
  447. package/dist/openapi/models/UploadDurationExceedsTierResponse.d.ts +1 -1
  448. package/dist/openapi/models/UploadDurationExceedsTierResponse.js +1 -1
  449. package/dist/openapi/models/UploadFile403Response.d.ts +1 -1
  450. package/dist/openapi/models/UploadFile403Response.js +1 -1
  451. package/dist/openapi/models/UploadFile422Response.d.ts +1 -1
  452. package/dist/openapi/models/UploadFile422Response.js +1 -1
  453. package/dist/openapi/models/UploadProbeMediaMetadata.d.ts +1 -1
  454. package/dist/openapi/models/UploadProbeMediaMetadata.js +1 -1
  455. package/dist/openapi/models/UploadProbeNotApplicableResponse.d.ts +172 -0
  456. package/dist/openapi/models/UploadProbeNotApplicableResponse.js +71 -0
  457. package/dist/openapi/models/UploadProbeNotReadyResponse.d.ts +174 -0
  458. package/dist/openapi/models/UploadProbeNotReadyResponse.js +71 -0
  459. package/dist/openapi/models/UploadProbeProcessingClass.d.ts +1 -1
  460. package/dist/openapi/models/UploadProbeProcessingClass.js +1 -1
  461. package/dist/openapi/models/UploadProbeResponse.d.ts +1 -1
  462. package/dist/openapi/models/UploadProbeResponse.js +1 -1
  463. package/dist/openapi/models/UploadProbeStatus.d.ts +1 -1
  464. package/dist/openapi/models/UploadProbeStatus.js +1 -1
  465. package/dist/openapi/models/UploadProbeSuccessEnvelope.d.ts +1 -1
  466. package/dist/openapi/models/UploadProbeSuccessEnvelope.js +1 -1
  467. package/dist/openapi/models/UploadResponse.d.ts +1 -1
  468. package/dist/openapi/models/UploadResponse.js +1 -1
  469. package/dist/openapi/models/UploadSizeExceedsTierResponse.d.ts +1 -1
  470. package/dist/openapi/models/UploadSizeExceedsTierResponse.js +1 -1
  471. package/dist/openapi/models/UploadSource.d.ts +1 -1
  472. package/dist/openapi/models/UploadSource.js +1 -1
  473. package/dist/openapi/models/UploadSuccessEnvelope.d.ts +1 -1
  474. package/dist/openapi/models/UploadSuccessEnvelope.js +1 -1
  475. package/dist/openapi/models/UploadThresholds.d.ts +1 -1
  476. package/dist/openapi/models/UploadThresholds.js +1 -1
  477. package/dist/openapi/models/UserTier.d.ts +1 -1
  478. package/dist/openapi/models/UserTier.js +1 -1
  479. package/dist/openapi/models/ValidationErrorEnvelope.d.ts +1 -1
  480. package/dist/openapi/models/ValidationErrorEnvelope.js +1 -1
  481. package/dist/openapi/models/ValidationErrorEnvelopeDetailsInner.d.ts +1 -1
  482. package/dist/openapi/models/ValidationErrorEnvelopeDetailsInner.js +1 -1
  483. package/dist/openapi/models/VerifyEmailRequest.d.ts +1 -1
  484. package/dist/openapi/models/VerifyEmailRequest.js +1 -1
  485. package/dist/openapi/models/WarningType.d.ts +1 -1
  486. package/dist/openapi/models/WarningType.js +1 -1
  487. package/dist/openapi/models/WebhookOperationContext.d.ts +1 -1
  488. package/dist/openapi/models/WebhookOperationContext.js +1 -1
  489. package/dist/openapi/models/WebhookPayload.d.ts +1 -1
  490. package/dist/openapi/models/WebhookPayload.js +1 -1
  491. package/dist/openapi/models/WorkflowArchiveResponse.d.ts +1 -1
  492. package/dist/openapi/models/WorkflowArchiveResponse.js +1 -1
  493. package/dist/openapi/models/WorkflowArchiveSuccessEnvelope.d.ts +1 -1
  494. package/dist/openapi/models/WorkflowArchiveSuccessEnvelope.js +1 -1
  495. package/dist/openapi/models/WorkflowCancelBillingEffect.d.ts +1 -1
  496. package/dist/openapi/models/WorkflowCancelBillingEffect.js +1 -1
  497. package/dist/openapi/models/WorkflowCancelResponse.d.ts +1 -1
  498. package/dist/openapi/models/WorkflowCancelResponse.js +1 -1
  499. package/dist/openapi/models/WorkflowCancelSuccessEnvelope.d.ts +1 -1
  500. package/dist/openapi/models/WorkflowCancelSuccessEnvelope.js +1 -1
  501. package/dist/openapi/models/WorkflowCreateRequest.d.ts +1 -1
  502. package/dist/openapi/models/WorkflowCreateRequest.js +1 -1
  503. package/dist/openapi/models/WorkflowCreateResponse.d.ts +1 -1
  504. package/dist/openapi/models/WorkflowCreateResponse.js +1 -1
  505. package/dist/openapi/models/WorkflowCreateSuccessEnvelope.d.ts +1 -1
  506. package/dist/openapi/models/WorkflowCreateSuccessEnvelope.js +1 -1
  507. package/dist/openapi/models/WorkflowCreditSummary.d.ts +1 -1
  508. package/dist/openapi/models/WorkflowCreditSummary.js +1 -1
  509. package/dist/openapi/models/WorkflowDownloadResponse.d.ts +1 -1
  510. package/dist/openapi/models/WorkflowDownloadResponse.js +1 -1
  511. package/dist/openapi/models/WorkflowDownloadSuccessEnvelope.d.ts +1 -1
  512. package/dist/openapi/models/WorkflowDownloadSuccessEnvelope.js +1 -1
  513. package/dist/openapi/models/WorkflowEdge.d.ts +1 -1
  514. package/dist/openapi/models/WorkflowEdge.js +1 -1
  515. package/dist/openapi/models/WorkflowExpiredResponse.d.ts +1 -1
  516. package/dist/openapi/models/WorkflowExpiredResponse.js +1 -1
  517. package/dist/openapi/models/WorkflowListResponse.d.ts +1 -1
  518. package/dist/openapi/models/WorkflowListResponse.js +1 -1
  519. package/dist/openapi/models/WorkflowListSuccessEnvelope.d.ts +1 -1
  520. package/dist/openapi/models/WorkflowListSuccessEnvelope.js +1 -1
  521. package/dist/openapi/models/WorkflowPauseRequiredAction.d.ts +1 -1
  522. package/dist/openapi/models/WorkflowPauseRequiredAction.js +1 -1
  523. package/dist/openapi/models/WorkflowPausedDetail.d.ts +1 -1
  524. package/dist/openapi/models/WorkflowPausedDetail.js +1 -1
  525. package/dist/openapi/models/WorkflowPausedDetailLinks.d.ts +1 -1
  526. package/dist/openapi/models/WorkflowPausedDetailLinks.js +1 -1
  527. package/dist/openapi/models/WorkflowProcessing.d.ts +1 -1
  528. package/dist/openapi/models/WorkflowProcessing.js +1 -1
  529. package/dist/openapi/models/WorkflowRestoreResponse.d.ts +1 -1
  530. package/dist/openapi/models/WorkflowRestoreResponse.js +1 -1
  531. package/dist/openapi/models/WorkflowRestoreSuccessEnvelope.d.ts +1 -1
  532. package/dist/openapi/models/WorkflowRestoreSuccessEnvelope.js +1 -1
  533. package/dist/openapi/models/WorkflowResumeResponse.d.ts +1 -1
  534. package/dist/openapi/models/WorkflowResumeResponse.js +1 -1
  535. package/dist/openapi/models/WorkflowResumeSuccessEnvelope.d.ts +1 -1
  536. package/dist/openapi/models/WorkflowResumeSuccessEnvelope.js +1 -1
  537. package/dist/openapi/models/WorkflowSource.d.ts +1 -1
  538. package/dist/openapi/models/WorkflowSource.js +1 -1
  539. package/dist/openapi/models/WorkflowStatus.d.ts +1 -1
  540. package/dist/openapi/models/WorkflowStatus.js +1 -1
  541. package/dist/openapi/models/WorkflowStatusResponse.d.ts +1 -1
  542. package/dist/openapi/models/WorkflowStatusResponse.js +1 -1
  543. package/dist/openapi/models/WorkflowStatusSuccessEnvelope.d.ts +1 -1
  544. package/dist/openapi/models/WorkflowStatusSuccessEnvelope.js +1 -1
  545. package/dist/openapi/models/WorkflowSummary.d.ts +1 -1
  546. package/dist/openapi/models/WorkflowSummary.js +1 -1
  547. package/dist/openapi/models/WorkflowSummaryJob.d.ts +1 -1
  548. package/dist/openapi/models/WorkflowSummaryJob.js +1 -1
  549. package/dist/openapi/models/WorkflowWarning.d.ts +1 -1
  550. package/dist/openapi/models/WorkflowWarning.js +1 -1
  551. package/dist/openapi/models/WorkflowWarningSeverity.d.ts +1 -1
  552. package/dist/openapi/models/WorkflowWarningSeverity.js +1 -1
  553. package/dist/openapi/models/index.d.ts +5 -0
  554. package/dist/openapi/models/index.js +5 -0
  555. package/dist/openapi/runtime.d.ts +1 -1
  556. package/dist/openapi/runtime.js +1 -1
  557. package/dist/operations/audio_to_video.metadata.js +14 -1
  558. package/dist/operations/split.metadata.js +1 -1
  559. package/openapi/README.md +1 -1
  560. package/openapi/api.yaml +174 -29
  561. package/operation-capabilities/operation-capabilities.json +5 -25
  562. package/operations/schemas/audio_overlay.yaml +4 -4
  563. package/operations/schemas/audio_to_video.yaml +37 -9
  564. package/operations/schemas/audio_watermark.yaml +4 -4
  565. package/operations/schemas/compress.yaml +22 -2
  566. package/operations/schemas/convert.yaml +25 -4
  567. package/operations/schemas/custom_luma.yaml +2 -2
  568. package/operations/schemas/merge.yaml +5 -1
  569. package/operations/schemas/split.yaml +18 -9
  570. package/operations/schemas/thumbnail.yaml +1 -1
  571. package/operations/schemas/transform.yaml +2 -2
  572. package/operations/schemas/video_text_watermark.yaml +7 -7
  573. package/operations/schemas/video_watermark.yaml +29 -2
  574. package/package.json +3 -3
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.220.0
106
+ version: 2.223.0
107
107
  contact:
108
108
  name: API Support
109
109
 
@@ -1098,13 +1098,12 @@ paths:
1098
1098
  bad ones before submit.
1099
1099
 
1100
1100
  Per ticket [I28 `KbVAnGCm`](https://trello.com/c/KbVAnGCm).
1101
- `availability: planned`. The upload-probe Lambda exists and runs
1102
- asynchronously when an upload is finalised; this endpoint returns
1103
- the cached result when one exists and `feature_not_available`
1104
- (422) when none does yet. It does not invoke the probe itself.
1105
- (A `planned` endpoint that answers 200 is inconsistent with the
1106
- availability taxonomy; the flip decision is tracked separately,
1107
- card `kAT0i5A6`.) Per Tension 1 (ADR-0001 §1.3).
1101
+ `availability: beta` (card `kAT0i5A6`, on a production
1102
+ observation, 2026-10-01). The upload-probe Lambda runs
1103
+ asynchronously when an upload is finalised (measured on prod:
1104
+ about 3 s for a 3 s clip); this endpoint returns the cached
1105
+ result when one exists and a 422 when none does yet. It does not
1106
+ invoke the probe itself.
1108
1107
 
1109
1108
  **SDK helper intent.** SDKs are expected to expose a
1110
1109
  `client.preflight_clips([file_ids])` helper that compiles to N
@@ -1128,7 +1127,7 @@ paths:
1128
1127
  x-identity-scoped: true # ownership-scoped per ADR-0016 D3
1129
1128
  tags:
1130
1129
  - Upload
1131
- x-availability: planned
1130
+ x-availability: beta
1132
1131
  parameters:
1133
1132
  - name: id
1134
1133
  in: path
@@ -1223,14 +1222,49 @@ paths:
1223
1222
  $ref: '#/components/schemas/ErrorEnvelope'
1224
1223
  '422':
1225
1224
  description: |
1226
- No probe result is cached for this upload yet (the probe runs
1227
- asynchronously after the upload is finalised) — returned as
1228
- `FeatureNotAvailableResponse` with `error_type:
1229
- feature_not_available`. Per Tension 1 (ADR-0001 §1.3).
1225
+ No probe result is cached for this upload. Discriminated on
1226
+ `error_type` (ADR-0018), card
1227
+ [`tRVvMOvy`](https://trello.com/c/tRVvMOvy):
1228
+ - `probe_not_ready` → `UploadProbeNotReadyResponse`: the probe
1229
+ has not landed YET. **Retry** (`Retry-After` when present).
1230
+ - `probe_not_applicable` → `UploadProbeNotApplicableResponse`:
1231
+ this upload's type is never probed (e.g. an image, whose
1232
+ metadata is read inline at upload). **Terminal — do not
1233
+ retry**; no result will ever exist.
1234
+ - `feature_not_available` → `FeatureNotAvailableResponse`
1235
+ with `violations[].availability: planned`:
1236
+ **TRANSITIONAL.** What the server sends today for BOTH
1237
+ causes above. It predates this endpoint's move to `beta`
1238
+ and does NOT mean the endpoint is unavailable. Retry it
1239
+ **with a ceiling** — it can be the terminal case. The
1240
+ server switches to the two arms above only after an SDK
1241
+ release that reads them is published; when this arm is
1242
+ removed is an owner decision.
1243
+ headers:
1244
+ Retry-After:
1245
+ required: false
1246
+ description: |
1247
+ Optional, on the `probe_not_ready` branch only: suggested
1248
+ seconds before the next poll. Delta-seconds (RFC 9110).
1249
+ Absent ⇒ poll on your own backoff (measured on prod
1250
+ 2026-10-01: about 3 s from upload to a result for a 3 s
1251
+ clip).
1252
+ schema:
1253
+ type: integer
1254
+ minimum: 0
1230
1255
  content:
1231
1256
  application/json:
1232
1257
  schema:
1233
- $ref: '#/components/schemas/FeatureNotAvailableResponse'
1258
+ oneOf:
1259
+ - $ref: '#/components/schemas/UploadProbeNotReadyResponse'
1260
+ - $ref: '#/components/schemas/UploadProbeNotApplicableResponse'
1261
+ - $ref: '#/components/schemas/FeatureNotAvailableResponse'
1262
+ discriminator:
1263
+ propertyName: error_type
1264
+ mapping:
1265
+ probe_not_ready: '#/components/schemas/UploadProbeNotReadyResponse'
1266
+ probe_not_applicable: '#/components/schemas/UploadProbeNotApplicableResponse'
1267
+ feature_not_available: '#/components/schemas/FeatureNotAvailableResponse'
1234
1268
  '429':
1235
1269
  description: |
1236
1270
  Rate limit exceeded. Probe is rate-limited independently
@@ -3699,10 +3733,10 @@ paths:
3699
3733
  # ROUTE ADDED: compression_api #804 (merge 85dd49fa, 2026-09-30) serves
3700
3734
  # the public POST route, owner-scoped (ownership denial 404). It was
3701
3735
  # `planned` since 2026-08-12 (yi4TDKVJ) because no route existed. Now
3702
- # `beta` on a staging customer-path round-trip (e2e, 2026-09-30,
3703
- # availability/staging-verification-log.yaml). `stable` needs a prod
3704
- # observation once api's release carrying #804 is on prod.
3705
- x-availability: beta
3736
+ # `beta` on a staging customer-path round-trip, then `stable` on a PROD
3737
+ # round-trip (e2e, 2026-09-30, api build 1.16.0,
3738
+ # availability/prod-verification-log.yaml).
3739
+ x-availability: stable
3706
3740
  operationId: archiveWorkflow
3707
3741
  security: [{bearerAuth: []}, {sessionAuth: []}] # required (explicit 401 in response set)
3708
3742
  x-identity-scoped: true # workflow-ownership-scoped per ADR-0016 D3
@@ -3797,10 +3831,10 @@ paths:
3797
3831
  # ROUTE ADDED: compression_api #804 (merge 85dd49fa, 2026-09-30) serves
3798
3832
  # the public POST route, owner-scoped (ownership denial 404). It was
3799
3833
  # `planned` since 2026-08-12 (yi4TDKVJ) because no route existed. Now
3800
- # `beta` on a staging customer-path round-trip (e2e, 2026-09-30,
3801
- # availability/staging-verification-log.yaml). `stable` needs a prod
3802
- # observation once api's release carrying #804 is on prod.
3803
- x-availability: beta
3834
+ # `beta` on a staging customer-path round-trip, then `stable` on a PROD
3835
+ # round-trip (e2e, 2026-09-30, api build 1.16.0,
3836
+ # availability/prod-verification-log.yaml).
3837
+ x-availability: stable
3804
3838
  operationId: restoreWorkflow
3805
3839
  security: [{bearerAuth: []}, {sessionAuth: []}] # required (explicit 401 in response set)
3806
3840
  x-identity-scoped: true # workflow-ownership-scoped per ADR-0016 D3
@@ -6627,6 +6661,7 @@ paths:
6627
6661
  effective: 128849018880
6628
6662
  tier_default: 107374182400
6629
6663
  overridden: true
6664
+ ceiling_basis: unproven
6630
6665
  max_total_input_size_bytes:
6631
6666
  effective: 120000000000
6632
6667
  tier_default: 120000000000
@@ -8629,6 +8664,18 @@ components:
8629
8664
  description: |
8630
8665
  The tier's default cap for this limit, in the same unit as
8631
8666
  `effective` (already public via the tier model).
8667
+ ceiling_basis:
8668
+ # OPTIONAL in this expand step (xApHyTY3, from api 5pyX06rE); api
8669
+ # emits it after this publishes.
8670
+ $ref: '#/components/schemas/CeilingBasisValue'
8671
+ description: |
8672
+ Whether `effective` is a PROVEN value (owner decision 607(d) /
8673
+ 610(4)(d)). `unproven` (e.g. the Max and Enterprise
8674
+ `max_upload_size_bytes`): the API still enforces it; present it
8675
+ as "up to X (not yet verified)" (FORMAT.md obligation 10). ⛔
8676
+ **ABSENT IS NOT `proven`** — it means the server made no claim,
8677
+ so a consumer must not advertise the value as verified on its
8678
+ strength.
8632
8679
  overridden:
8633
8680
  type: boolean
8634
8681
  description: |
@@ -10098,6 +10145,44 @@ components:
10098
10145
  items:
10099
10146
  $ref: '#/components/schemas/FeatureViolation'
10100
10147
 
10148
+ UploadProbeNotReadyResponse:
10149
+ description: |
10150
+ 422 from `POST /api/uploads/{id}/probe`: the upload's server-side
10151
+ probe has not landed YET. Retryable — poll again after
10152
+ `Retry-After` (when present) or your own backoff. Distinct from
10153
+ `probe_pending` (`ProbePendingResponse`, workflow-create, carries
10154
+ `job_ref`) so each code keeps one shape. Card
10155
+ [`tRVvMOvy`](https://trello.com/c/tRVvMOvy).
10156
+ allOf:
10157
+ - $ref: '#/components/schemas/ErrorEnvelope'
10158
+ - type: object
10159
+ required:
10160
+ - error_type
10161
+ properties:
10162
+ error_type:
10163
+ type: string
10164
+ enum:
10165
+ - probe_not_ready
10166
+ description: Discriminator for the probe endpoint's 422 oneOf. Always `probe_not_ready`.
10167
+
10168
+ UploadProbeNotApplicableResponse:
10169
+ description: |
10170
+ 422 from `POST /api/uploads/{id}/probe`: this upload's type is
10171
+ never probed (e.g. an image, whose metadata is read inline at
10172
+ upload), so no result will ever exist. **Terminal — do not
10173
+ retry.** Card [`tRVvMOvy`](https://trello.com/c/tRVvMOvy).
10174
+ allOf:
10175
+ - $ref: '#/components/schemas/ErrorEnvelope'
10176
+ - type: object
10177
+ required:
10178
+ - error_type
10179
+ properties:
10180
+ error_type:
10181
+ type: string
10182
+ enum:
10183
+ - probe_not_applicable
10184
+ description: Discriminator for the probe endpoint's 422 oneOf. Always `probe_not_applicable`.
10185
+
10101
10186
  ProbePendingResponse:
10102
10187
  description: |
10103
10188
  422 response on `POST /api/workflows` when the probe-pending
@@ -10662,7 +10747,7 @@ components:
10662
10747
  - 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).
10663
10748
  - 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.
10664
10749
  - 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.
10665
- - 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.
10750
+ - 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` mime_group is `stable` and `document_pdf` is `beta` (2026-10-01). Per ticket [`vKI0CFDu`](https://trello.com/c/vKI0CFDu) + ADR-0014.
10666
10751
  - 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).
10667
10752
 
10668
10753
  - transform: Geometric/orientation transform — v1 = rotate (0/90/180/270) + flip (none/horizontal/vertical/both), ADR-0026. Single-input; `produces: same_as_input` (geometry preserves format/container). Chainable (NOT sole_op); canonical single-job chain order is `transform → convert → compress → thumbnail` (geometry before encode/derive so downstream width/height/fit refer to the final frame). Media groups: image (still jpeg/png/webp + animated `image_gif`), video (mp4/webm), document (PDF page-rotate only — no flip); audio not supported. ALL groups `availability: planned` (epic `fhiWebI0`) — workflow-create returns `feature_not_available` (422) until per-media Lambdas ship. A no-op transform (`rotate: 0` + `flip: none`) is rejected as `invalid_options`. The public operation type is `transform`; the API resolves an internal per-media SNS routing sub-type (`transform_image` / `transform_video` / `transform_document`) — those sub-types are routing-only and are NOT part of this public enum. Per ADR-0026.
@@ -14864,6 +14949,29 @@ components:
14864
14949
  requested `target_size_bytes`. `false` is an honest best-effort outcome
14865
14950
  (target unreachable at min quality), NOT a failure. Present only for a
14866
14951
  target_size output. Mirrors `OperationMetrics.target_size_met`.
14952
+ already_optimal:
14953
+ type: boolean
14954
+ description: |
14955
+ OPTIONAL. `true` when this file IS the original input, returned
14956
+ unchanged because compressing it would not have made it smaller
14957
+ (owner decision 645(4): a success; the no-charge rule and its
14958
+ current rollout — the API still charges until it ships, and only
14959
+ short-form compress returns this today — are stated once, on
14960
+ `OperationResultMetadata.already_optimal`). Same value as
14961
+ `OperationResultMetadata.already_optimal` on `/status`, projected
14962
+ here so a per-file result built from `/downloads` does not need a
14963
+ second read (sdks `bYOCX61m`). Absent or `false`: an ordinary
14964
+ output; treat the two the same. Mirrors
14965
+ `OperationMetrics.already_optimal`.
14966
+ example: true
14967
+ already_optimal_kind:
14968
+ type: string
14969
+ enum: [not_smaller]
14970
+ description: |
14971
+ OPTIONAL, only with `already_optimal: true`. Same value and meaning
14972
+ as `OperationResultMetadata.already_optimal_kind`; absent or unknown:
14973
+ neutral "already optimised" copy.
14974
+ example: not_smaller
14867
14975
  measured_quality:
14868
14976
  type: number
14869
14977
  format: double
@@ -16068,8 +16176,8 @@ components:
16068
16176
  Recursive condition node (the `Cond` field-token model, ADR-0024
16069
16177
  §2). Exactly ONE form per node — a boolean combinator (`all` /
16070
16178
  `any` / `not`) OR a single leaf test. A leaf tests one `field`
16071
- token with exactly one operator (`equals` / `in` / `isSet`),
16072
- except `opSelected` which is a standalone leaf asserting a
16179
+ token with exactly one operator (`equals` / `in` / `isSet` /
16180
+ `numericZero`), except `opSelected` which is a standalone leaf asserting a
16073
16181
  sibling operation of that type is present in the job. Consumers
16074
16182
  compute field tokens locally from the resolved request (no new
16075
16183
  wire field). Modelled as a `oneOf` of the valid forms (each
@@ -16132,6 +16240,33 @@ components:
16132
16240
  description: |
16133
16241
  Leaf test — asserts `field` is present/set. Only the
16134
16242
  positive form is used; negate via a wrapping `not` node.
16243
+ - type: object
16244
+ additionalProperties: false
16245
+ required: [field, numericZero]
16246
+ properties:
16247
+ field:
16248
+ type: string
16249
+ description: Field token under test.
16250
+ numericZero:
16251
+ type: boolean
16252
+ enum: [true] # not `const` — ADR-0010 (generators mis-emit boolean const)
16253
+ x-matches: '^0+(\.0+)?(px|%)$'
16254
+ description: |
16255
+ Leaf test — `field` is an offset whose number is zero,
16256
+ whatever its spelling (`0px`, `00%`, `0.000px`). True iff
16257
+ the String-coerced value fully matches `x-matches`; any
16258
+ other value is false, including `-0`, `+0` and `.0`,
16259
+ which the offset pattern `^\d+(\.\d+)?(px|%)$` refuses
16260
+ anyway. An unresolved field behaves as it does for
16261
+ `equals` / `in`. This regex is NORMATIVE. api's
16262
+ `float == 0` test agrees with it on every offset a float
16263
+ represents faithfully; it differs only where a cast
16264
+ underflows (hundreds of fractional zeros before a non-zero
16265
+ digit), which api reads as zero and this leaf does not.
16266
+ Like every operator here, its semantics live in this
16267
+ schema, not in `operation-capabilities.json`. Only the positive
16268
+ form is used; negate via a wrapping `not` node. Card
16269
+ `6jTnFnTh`: replaces lexical `in` lists of zero spellings.
16135
16270
  - type: object
16136
16271
  additionalProperties: false
16137
16272
  required: [opSelected]
@@ -16995,14 +17130,24 @@ components:
16995
17130
  "up to X (not yet verified)". Each becomes `proven`, or is
16996
17131
  lowered to the largest passing value, after its staging corner run.
16997
17132
  additionalProperties:
16998
- type: string
16999
- # CLOSED: a consumer decides how to present the limit from it.
17000
- x-enum-openness: closed
17001
- enum: [proven, unproven]
17133
+ $ref: '#/components/schemas/CeilingBasisValue'
17002
17134
  example:
17003
17135
  max_input_size_bytes: unproven
17004
17136
  max_input_duration: unproven
17005
17137
 
17138
+ CeilingBasisValue:
17139
+ type: string
17140
+ description: |
17141
+ Whether ONE declared ceiling is proven (owner decision 607(d)). The
17142
+ single vocabulary for `CeilingBasis` (per-ceiling map on a group or
17143
+ class) and `AccountLimitEntry.ceiling_basis` (one account limit).
17144
+ `proven`: a recorded run passed at 95% or more of the value.
17145
+ `unproven`: still ENFORCED, not yet run at the value; present as
17146
+ "up to X (not yet verified)" (FORMAT.md obligation 10).
17147
+ # CLOSED: a consumer decides how to present the limit from it.
17148
+ x-enum-openness: closed
17149
+ enum: [proven, unproven]
17150
+
17006
17151
  ResolutionBand:
17007
17152
  type: string
17008
17153
  description: |
@@ -513,12 +513,7 @@
513
513
  {
514
514
  "not": {
515
515
  "field": "image_watermark.margin_x",
516
- "in": [
517
- "0px",
518
- "0%",
519
- "0.0px",
520
- "0.0%"
521
- ]
516
+ "numericZero": true
522
517
  }
523
518
  }
524
519
  ]
@@ -532,12 +527,7 @@
532
527
  {
533
528
  "not": {
534
529
  "field": "image_watermark.margin_y",
535
- "in": [
536
- "0px",
537
- "0%",
538
- "0.0px",
539
- "0.0%"
540
- ]
530
+ "numericZero": true
541
531
  }
542
532
  }
543
533
  ]
@@ -657,12 +647,7 @@
657
647
  {
658
648
  "not": {
659
649
  "field": "text_watermark.margin_x",
660
- "in": [
661
- "0px",
662
- "0%",
663
- "0.0px",
664
- "0.0%"
665
- ]
650
+ "numericZero": true
666
651
  }
667
652
  }
668
653
  ]
@@ -676,12 +661,7 @@
676
661
  {
677
662
  "not": {
678
663
  "field": "text_watermark.margin_y",
679
- "in": [
680
- "0px",
681
- "0%",
682
- "0.0px",
683
- "0.0%"
684
- ]
664
+ "numericZero": true
685
665
  }
686
666
  }
687
667
  ]
@@ -859,5 +839,5 @@
859
839
  "isAnimated": "maybe"
860
840
  }
861
841
  },
862
- "schema_version": "2.220.0"
842
+ "schema_version": "2.223.0"
863
843
  }
@@ -110,8 +110,8 @@ operation:
110
110
  max_output_size_bytes: 5000000000
111
111
  per_tier_constraints:
112
112
  max:
113
- max_input_size_bytes: 50000000000 # 50 GB (Max self-serve band)
114
- max_output_size_bytes: 50000000000
113
+ max_input_size_bytes: 53687091200 # 50 GiB = api's Max upload cap (decision 677)
114
+ max_output_size_bytes: 53687091200
115
115
  enterprise:
116
116
  max_input_size_bytes: 107374182400 # 100 GiB = api's Enterprise upload cap (owner 649(2))
117
117
  max_output_size_bytes: 107374182400
@@ -303,8 +303,8 @@ operation:
303
303
  max_output_size_bytes: 5000000000
304
304
  per_tier_constraints:
305
305
  max:
306
- max_input_size_bytes: 50000000000 # 50 GB (Max self-serve band)
307
- max_output_size_bytes: 50000000000
306
+ max_input_size_bytes: 53687091200 # 50 GiB = api's Max upload cap (decision 677)
307
+ max_output_size_bytes: 53687091200
308
308
  enterprise:
309
309
  max_input_size_bytes: 107374182400 # 100 GiB = api's Enterprise upload cap (owner 649(2))
310
310
  max_output_size_bytes: 107374182400
@@ -40,12 +40,11 @@ operation:
40
40
  What fails is an accepted workflow whose OUTPUT DURATION exceeds the derived ceiling (`evidence.derived.ceiling_s` in the register)
41
41
  ⚠️ ON THE INPUT THE RATE WAS MEASURED WITH — a real photographic 1080p STILL
42
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
44
- DURATION ALONE: a 4K still is roughly 4x the rate (recorded as UNMEASURED),
45
- which would put the boundary near a quarter of that figure, and this schema
46
- places NO constraint on the overlay's resolution. Other still resolutions and
47
- other output settings are likewise unmeasured, and the contract does not
48
- claim which direction they move —
43
+ cost reaches the SERVED cap (the worker's 600 s times the register's
44
+ `headroom`, kikOfB6G), not the raw cap. ⛔ THE DRIVER IS THE STILL'S RESOLUTION, NOT THE
45
+ DURATION ALONE: a 4K still is MEASURED materially slower (2026-10-02), and the
46
+ short_form ceiling below is set from that worst case; this schema places NO
47
+ constraint on the overlay's resolution. Stills above 4K are unmeasured —
49
48
  and what the caller then sees is NOT SETTLED — see the CHANGELOG entry for
50
49
  2.203.0; this contract does not pin a worker's error classification. Measured figures and the conditions for re-listing are in the
51
50
  CHANGELOG entry for 2.203.0 — the only one of the two records that is
@@ -85,9 +84,38 @@ operation:
85
84
  - audio/opus
86
85
  - audio/mp4
87
86
  - 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
90
- max_input_duration: "PT2H" # 2h input ceiling (KzrquIX7; mirrors worker MAX_AUDIO_DURATION_SECS 7200, strict >)
87
+ # Input caps live on the processing classes, not here (XOR rule, FORMAT.md
88
+ # §group-level input caps). d5cywEIR / HN-33 step 1.
89
+ processing_class:
90
+ # The Lambda path. Its ceiling is what finishes inside the worker's FFmpeg
91
+ # cap on REAL content, measured by lambdas on staging 2026-10-01 (points
92
+ # and fit in this operation's `evidence` block in
93
+ # schemas/manifest-divergence-register.yaml; a test holds the two equal).
94
+ # Encode time depends on the OUTPUT resolution and on the STILL's
95
+ # resolution, not on the input, so this is ONE ceiling: the slowest
96
+ # measured combination, a 3840x2160 still at `fhd_1080p` output (the
97
+ # worker decodes and scales the still on every frame; lambdas
98
+ # `5pWDD20e` scales it once, after which this is re-measured and rises).
99
+ # RESIDUAL, stated: a still ABOVE 4K is unmeasured and the schema caps no
100
+ # overlay resolution, so such an input can exceed the cap at this
101
+ # duration; 5pWDD20e removes the still-resolution dependence entirely.
102
+ # Every offered output was measured (sd_480p, hd_720p, fhd_1080p).
103
+ # Longer inputs route to long_form.
104
+ short_form:
105
+ availability: planned
106
+ ceiling_basis: # 607(d): proven at the declared value, or not yet (FORMAT.md §ceiling_basis)
107
+ max_input_duration: unproven
108
+ constraints:
109
+ max_input_duration: "PT11M35S" # floor((cap * headroom - intercept) / slope), 4K still at fhd_1080p
110
+ # The Fargate route (no invocation ceiling). The duration is the worker's
111
+ # own guard, MAX_AUDIO_DURATION_SECS 7200 (strict >; KzrquIX7). Planned
112
+ # until a policy-79 record from the Fargate path exists.
113
+ long_form:
114
+ availability: planned
115
+ ceiling_basis: # 607(d): proven at the declared value, or not yet (FORMAT.md §ceiling_basis)
116
+ max_input_duration: unproven
117
+ constraints:
118
+ max_input_duration: "PT2H"
91
119
  options:
92
120
  output_resolution:
93
121
  type: enum
@@ -75,8 +75,8 @@ operation:
75
75
  max_output_size_bytes: 5000000000
76
76
  per_tier_constraints:
77
77
  max:
78
- max_input_size_bytes: 50000000000 # 50 GB (Max self-serve band)
79
- max_output_size_bytes: 50000000000
78
+ max_input_size_bytes: 53687091200 # 50 GiB = api's Max upload cap (decision 677)
79
+ max_output_size_bytes: 53687091200
80
80
  enterprise:
81
81
  max_input_size_bytes: 107374182400 # 100 GiB = api's Enterprise upload cap (owner 649(2))
82
82
  max_output_size_bytes: 107374182400
@@ -181,8 +181,8 @@ operation:
181
181
  max_output_size_bytes: 5000000000
182
182
  per_tier_constraints:
183
183
  max:
184
- max_input_size_bytes: 50000000000 # 50 GB (Max self-serve band)
185
- max_output_size_bytes: 50000000000
184
+ max_input_size_bytes: 53687091200 # 50 GiB = api's Max upload cap (decision 677)
185
+ max_output_size_bytes: 53687091200
186
186
  enterprise:
187
187
  max_input_size_bytes: 107374182400 # 100 GiB = api's Enterprise upload cap (owner 649(2))
188
188
  max_output_size_bytes: 107374182400
@@ -746,11 +746,21 @@ operation:
746
746
  min: 1
747
747
  max: 16384
748
748
  honored_on: [same_format, format_change]
749
+ # oK7WlNaY: lambdas convert image_convert.rs (animation-preserving FFmpeg path) refuses any resize; scale-filter follow-up msP9wWoO. Loop-extension-less GIFs read as static: 0McJYHGy.
749
750
  description: >-
750
751
  Target width in pixels (1-16384; width × height must not exceed the
751
752
  group's maximum output area). Resizes the image as part of the operation
752
753
  (one transformed output, replacing the source). Optional; omit to keep the
753
754
  source dimensions.
755
+ Not supported for an ANIMATED image whose output keeps the animation
756
+ (an animated GIF or WebP converted to GIF or WebP). Where the
757
+ server can tell the input is animated it refuses at create with 422
758
+ `feature_not_available`, feature `operation.image.resize.animated`;
759
+ where it cannot tell, the job is accepted and fails with
760
+ `invalid_options` — except a multi-frame GIF with no loop extension,
761
+ which is currently treated as static: it is resized and comes out as
762
+ its first frame only. Resize a static image, or choose a still output
763
+ format.
754
764
  height:
755
765
  type: integer
756
766
  min: 1
@@ -992,11 +1002,21 @@ operation:
992
1002
  min: 1
993
1003
  max: 16384
994
1004
  honored_on: [same_format, format_change]
1005
+ # oK7WlNaY: lambdas convert image_convert.rs (animation-preserving FFmpeg path) refuses any resize; scale-filter follow-up msP9wWoO. Loop-extension-less GIFs read as static: 0McJYHGy.
995
1006
  description: >-
996
1007
  Target width in pixels (1-16384; width × height must not exceed the
997
1008
  group's maximum output area). Resizes the image as part of the operation
998
1009
  (one transformed output, replacing the source). Optional; omit to keep the
999
1010
  source dimensions.
1011
+ Not supported for an ANIMATED image whose output keeps the animation
1012
+ (an animated GIF or WebP converted to GIF or WebP). Where the
1013
+ server can tell the input is animated it refuses at create with 422
1014
+ `feature_not_available`, feature `operation.image.resize.animated`;
1015
+ where it cannot tell, the job is accepted and fails with
1016
+ `invalid_options` — except a multi-frame GIF with no loop extension,
1017
+ which is currently treated as static: it is resized and comes out as
1018
+ its first frame only. Resize a static image, or choose a still output
1019
+ format.
1000
1020
  height:
1001
1021
  type: integer
1002
1022
  min: 1
@@ -1176,8 +1196,8 @@ operation:
1176
1196
  max_output_size_bytes: 5000000000
1177
1197
  per_tier_constraints:
1178
1198
  max:
1179
- max_input_size_bytes: 50000000000 # 50 GB (Max self-serve band)
1180
- max_output_size_bytes: 50000000000
1199
+ max_input_size_bytes: 53687091200 # 50 GiB = api's Max upload cap (decision 677)
1200
+ max_output_size_bytes: 53687091200
1181
1201
  enterprise:
1182
1202
  max_input_size_bytes: 107374182400 # 100 GiB = api's Enterprise upload cap (owner 649(2))
1183
1203
  max_output_size_bytes: 107374182400
@@ -97,11 +97,21 @@ operation:
97
97
  min: 1
98
98
  max: 16384
99
99
  honored_on: [format_change]
100
+ # oK7WlNaY: lambdas convert image_convert.rs (animation-preserving FFmpeg path) refuses any resize; scale-filter follow-up msP9wWoO. Loop-extension-less GIFs read as static: 0McJYHGy.
100
101
  description: >-
101
102
  Target width in pixels (1-16384; width × height must not exceed the
102
103
  group's maximum output area). Resizes the image before encoding (one
103
104
  transformed output). NOT honored for SVG input. Optional; omit to keep
104
105
  the source dimensions.
106
+ Not supported for an ANIMATED image whose output keeps the animation
107
+ (an animated GIF or WebP converted to GIF or WebP). Where the
108
+ server can tell the input is animated it refuses at create with 422
109
+ `feature_not_available`, feature `operation.image.resize.animated`;
110
+ where it cannot tell, the job is accepted and fails with
111
+ `invalid_options` — except a multi-frame GIF with no loop extension,
112
+ which is currently treated as static: it is resized and comes out as
113
+ its first frame only. Resize a static image, or choose a still output
114
+ format.
105
115
  height:
106
116
  type: integer
107
117
  min: 1
@@ -201,8 +211,9 @@ operation:
201
211
  values: [jpeg, png, webp, avif, gif, tiff, mp4, webm]
202
212
  required: true
203
213
  description: >-
204
- Target format. The still-image targets (jpeg/png/webp/avif/gif/tiff) take
205
- the first frame / rasterise. `mp4` / `webm` are the GIF→VIDEO transcode
214
+ Target format. `jpeg` / `png` / `avif` / `tiff` take the first frame. `gif`
215
+ and `webp` keep an animated GIF's animation (a static GIF stays a single
216
+ frame). `mp4` / `webm` are the GIF→VIDEO transcode
206
217
  targets — the animated GIF becomes a muted, play-once video (`mp4` =
207
218
  H.264, plays everywhere; `webm` = VP9, smaller), typically far smaller
208
219
  than the original GIF. GIFs are silent (no audio stream); the GIF
@@ -240,11 +251,21 @@ operation:
240
251
  max: 16384
241
252
  depends_on: { output_format: [jpeg, png, webp, avif, gif, tiff] }
242
253
  honored_on: [format_change]
254
+ # oK7WlNaY: lambdas convert image_convert.rs (animation-preserving FFmpeg path) refuses any resize; scale-filter follow-up msP9wWoO. Loop-extension-less GIFs read as static: 0McJYHGy.
243
255
  description: >-
244
256
  Target width in pixels (1-16384; width × height must not exceed the
245
257
  group's maximum output area). Scoped to the STILL-IMAGE targets only —
246
258
  resizing while transcoding to the mp4/webm video targets is not yet
247
259
  supported, so width/height are not accepted for the video targets.
260
+ Not supported for an ANIMATED image whose output keeps the animation
261
+ (an animated GIF or WebP converted to GIF or WebP). Where the
262
+ server can tell the input is animated it refuses at create with 422
263
+ `feature_not_available`, feature `operation.image.resize.animated`;
264
+ where it cannot tell, the job is accepted and fails with
265
+ `invalid_options` — except a multi-frame GIF with no loop extension,
266
+ which is currently treated as static: it is resized and comes out as
267
+ its first frame only. Resize a static image, or choose a still output
268
+ format.
248
269
  height:
249
270
  type: integer
250
271
  min: 1
@@ -349,8 +370,8 @@ operation:
349
370
  max_output_size_bytes: 5000000000
350
371
  per_tier_constraints:
351
372
  max:
352
- max_input_size_bytes: 50000000000 # 50 GB (Max self-serve band)
353
- max_output_size_bytes: 50000000000
373
+ max_input_size_bytes: 53687091200 # 50 GiB = api's Max upload cap (decision 677)
374
+ max_output_size_bytes: 53687091200
354
375
  enterprise:
355
376
  max_input_size_bytes: 107374182400 # 100 GiB = api's Enterprise upload cap (owner 649(2))
356
377
  max_output_size_bytes: 107374182400
@@ -81,8 +81,8 @@ operation:
81
81
  max_output_size_bytes: 5000000000
82
82
  per_tier_constraints:
83
83
  max:
84
- max_input_size_bytes: 50000000000 # 50 GB (Max self-serve band)
85
- max_output_size_bytes: 50000000000
84
+ max_input_size_bytes: 53687091200 # 50 GiB = api's Max upload cap (decision 677)
85
+ max_output_size_bytes: 53687091200
86
86
  enterprise:
87
87
  max_input_size_bytes: 107374182400 # 100 GiB = api's Enterprise upload cap (owner 649(2))
88
88
  max_output_size_bytes: 107374182400
@@ -168,7 +168,8 @@ operation:
168
168
  # but ROUTING (which class) is DURATION/SIZE-driven at
169
169
  # create-plan, NOT concat-compatibility: the API resolver
170
170
  # assigns long_form when summed input duration exceeds the
171
- # short_form cap (PT5M) OR summed size exceeds 1 GiB; it has no
171
+ # short_form cap (PT5M) OR summed size exceeds 500 MiB
172
+ # (524,288,000 B, the short_form_concat cap); it has no
172
173
  # per-input codec/pixfmt at create-plan to decide re-encode-need
173
174
  # (MAVh1blw; api d363a4ab). re_encode-vs-stream-copy is a WORKER
174
175
  # SUB-MODE WITHIN EACH class, not a long-form differentiator:
@@ -406,6 +407,9 @@ operation:
406
407
  min: 0
407
408
  max: 51
408
409
  default: 23
410
+ # On long_form_re_encode `encoding_mode` is dropped, and this gate reads its
411
+ # DEFAULT (`crf`) — FORMAT.md §depends_on rule 5 (aoxAfyt7) — so crf is honoured
412
+ # there; the long-form worker reads it (merge_processor.rs parse_crf).
409
413
  depends_on: { re_encode_mode: [auto, always], encoding_mode: crf }
410
414
  description: "Constant Rate Factor when encoding_mode=crf. Lower = higher quality / larger file."
411
415