@giveitsmaller/contracts 0.76.0 → 0.78.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 (559) 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 +16 -2
  4. package/asyncapi/README.md +1 -1
  5. package/asyncapi/events.yaml +153 -28
  6. package/availability/availability.json +74 -9
  7. package/code-builder/code-builder-metadata.json +74 -9
  8. package/dist/asyncapi/AnonymousSchema_217.d.ts +6 -0
  9. package/dist/asyncapi/AnonymousSchema_217.js +7 -0
  10. package/dist/asyncapi/Failure.d.ts +1 -0
  11. package/dist/asyncapi/MultiOutputCompletion.d.ts +1 -0
  12. package/dist/asyncapi/SingleOutputCompletion.d.ts +1 -0
  13. package/dist/asyncapi/UploadProbeMediaMetadata.d.ts +14 -0
  14. package/dist/asyncapi/index.d.ts +1 -0
  15. package/dist/asyncapi/index.js +1 -0
  16. package/dist/openapi/models/AccountLimitEntry.d.ts +1 -1
  17. package/dist/openapi/models/AccountLimitEntry.js +1 -1
  18. package/dist/openapi/models/AccountLimits.d.ts +1 -1
  19. package/dist/openapi/models/AccountLimits.js +1 -1
  20. package/dist/openapi/models/AccountLimitsLimits.d.ts +1 -1
  21. package/dist/openapi/models/AccountLimitsLimits.js +1 -1
  22. package/dist/openapi/models/AccountLimitsSuccessEnvelope.d.ts +1 -1
  23. package/dist/openapi/models/AccountLimitsSuccessEnvelope.js +1 -1
  24. package/dist/openapi/models/AnonymousOperationNotAllowedResponse.d.ts +145 -0
  25. package/dist/openapi/models/AnonymousOperationNotAllowedResponse.js +82 -0
  26. package/dist/openapi/models/AnonymousQuotaExhaustedResponse.d.ts +131 -0
  27. package/dist/openapi/models/AnonymousQuotaExhaustedResponse.js +77 -0
  28. package/dist/openapi/models/AudioWatermarkDecodeRequest.d.ts +1 -1
  29. package/dist/openapi/models/AudioWatermarkDecodeRequest.js +1 -1
  30. package/dist/openapi/models/AudioWatermarkDecodeResponse.d.ts +1 -1
  31. package/dist/openapi/models/AudioWatermarkDecodeResponse.js +1 -1
  32. package/dist/openapi/models/AuthErrorResponse.d.ts +1 -1
  33. package/dist/openapi/models/AuthErrorResponse.js +1 -1
  34. package/dist/openapi/models/AuthErrorType.d.ts +1 -1
  35. package/dist/openapi/models/AuthErrorType.js +1 -1
  36. package/dist/openapi/models/AuthRejectionEnvelope.d.ts +1 -1
  37. package/dist/openapi/models/AuthRejectionEnvelope.js +1 -1
  38. package/dist/openapi/models/AuthenticatedIdentity.d.ts +1 -1
  39. package/dist/openapi/models/AuthenticatedIdentity.js +1 -1
  40. package/dist/openapi/models/AvailabilityValue.d.ts +1 -1
  41. package/dist/openapi/models/AvailabilityValue.js +1 -1
  42. package/dist/openapi/models/BalanceExhaustedResponse.d.ts +1 -1
  43. package/dist/openapi/models/BalanceExhaustedResponse.js +1 -1
  44. package/dist/openapi/models/BalanceExhaustedResponseAllOfLinks.d.ts +1 -1
  45. package/dist/openapi/models/BalanceExhaustedResponseAllOfLinks.js +1 -1
  46. package/dist/openapi/models/BillingCheckoutRequest.d.ts +1 -1
  47. package/dist/openapi/models/BillingCheckoutRequest.js +1 -1
  48. package/dist/openapi/models/BillingCheckoutSession.d.ts +1 -1
  49. package/dist/openapi/models/BillingCheckoutSession.js +1 -1
  50. package/dist/openapi/models/BillingCheckoutSuccessEnvelope.d.ts +1 -1
  51. package/dist/openapi/models/BillingCheckoutSuccessEnvelope.js +1 -1
  52. package/dist/openapi/models/CallbackEventType.d.ts +1 -1
  53. package/dist/openapi/models/CallbackEventType.js +1 -1
  54. package/dist/openapi/models/CancelAccountDeletion200Response.d.ts +1 -1
  55. package/dist/openapi/models/CancelAccountDeletion200Response.js +1 -1
  56. package/dist/openapi/models/CancelAccountDeletion200ResponseData.d.ts +1 -1
  57. package/dist/openapi/models/CancelAccountDeletion200ResponseData.js +1 -1
  58. package/dist/openapi/models/CapabilityCondition.d.ts +1 -1
  59. package/dist/openapi/models/CapabilityCondition.js +1 -1
  60. package/dist/openapi/models/CapabilityConditionOneOf.d.ts +1 -1
  61. package/dist/openapi/models/CapabilityConditionOneOf.js +1 -1
  62. package/dist/openapi/models/CapabilityConditionOneOf1.d.ts +1 -1
  63. package/dist/openapi/models/CapabilityConditionOneOf1.js +1 -1
  64. package/dist/openapi/models/CapabilityConditionOneOf2.d.ts +1 -1
  65. package/dist/openapi/models/CapabilityConditionOneOf2.js +1 -1
  66. package/dist/openapi/models/CapabilityConditionOneOf3.d.ts +1 -1
  67. package/dist/openapi/models/CapabilityConditionOneOf3.js +1 -1
  68. package/dist/openapi/models/CapabilityConditionOneOf4.d.ts +1 -1
  69. package/dist/openapi/models/CapabilityConditionOneOf4.js +1 -1
  70. package/dist/openapi/models/CapabilityConditionOneOf5.d.ts +1 -1
  71. package/dist/openapi/models/CapabilityConditionOneOf5.js +1 -1
  72. package/dist/openapi/models/CapabilityConditionOneOf6.d.ts +1 -1
  73. package/dist/openapi/models/CapabilityConditionOneOf6.js +1 -1
  74. package/dist/openapi/models/CapabilityConstraint.d.ts +1 -1
  75. package/dist/openapi/models/CapabilityConstraint.js +1 -1
  76. package/dist/openapi/models/CapabilityInputSpec.d.ts +1 -1
  77. package/dist/openapi/models/CapabilityInputSpec.js +1 -1
  78. package/dist/openapi/models/CapabilityProduces.d.ts +1 -1
  79. package/dist/openapi/models/CapabilityProduces.js +1 -1
  80. package/dist/openapi/models/CapabilityProducesOneOf.d.ts +1 -1
  81. package/dist/openapi/models/CapabilityProducesOneOf.js +1 -1
  82. package/dist/openapi/models/CapabilityProducesOneOf1.d.ts +1 -1
  83. package/dist/openapi/models/CapabilityProducesOneOf1.js +1 -1
  84. package/dist/openapi/models/CapabilityProducesOneOf2.d.ts +1 -1
  85. package/dist/openapi/models/CapabilityProducesOneOf2.js +1 -1
  86. package/dist/openapi/models/ChangePasswordRequest.d.ts +1 -1
  87. package/dist/openapi/models/ChangePasswordRequest.js +1 -1
  88. package/dist/openapi/models/CheckoutSessionStatusResponse.d.ts +1 -1
  89. package/dist/openapi/models/CheckoutSessionStatusResponse.js +1 -1
  90. package/dist/openapi/models/CheckoutSessionStatusResponseData.d.ts +1 -1
  91. package/dist/openapi/models/CheckoutSessionStatusResponseData.js +1 -1
  92. package/dist/openapi/models/CodegenSource.d.ts +1 -1
  93. package/dist/openapi/models/CodegenSource.js +1 -1
  94. package/dist/openapi/models/CodegenSourceInput.d.ts +1 -1
  95. package/dist/openapi/models/CodegenSourceInput.js +1 -1
  96. package/dist/openapi/models/CodegenSourceJob.d.ts +1 -1
  97. package/dist/openapi/models/CodegenSourceJob.js +1 -1
  98. package/dist/openapi/models/CodegenSourceJobSource.d.ts +1 -1
  99. package/dist/openapi/models/CodegenSourceJobSource.js +1 -1
  100. package/dist/openapi/models/CodegenSourceOperation.d.ts +1 -1
  101. package/dist/openapi/models/CodegenSourceOperation.js +1 -1
  102. package/dist/openapi/models/CodegenUploadPlaceholder.d.ts +1 -1
  103. package/dist/openapi/models/CodegenUploadPlaceholder.js +1 -1
  104. package/dist/openapi/models/CompositionPlan.d.ts +1 -1
  105. package/dist/openapi/models/CompositionPlan.js +1 -1
  106. package/dist/openapi/models/CompositionPlanJob.d.ts +1 -1
  107. package/dist/openapi/models/CompositionPlanJob.js +1 -1
  108. package/dist/openapi/models/CompositionPlanOperation.d.ts +1 -1
  109. package/dist/openapi/models/CompositionPlanOperation.js +1 -1
  110. package/dist/openapi/models/ConfirmEmailChange200Response.d.ts +1 -1
  111. package/dist/openapi/models/ConfirmEmailChange200Response.js +1 -1
  112. package/dist/openapi/models/ConfirmEmailChange200ResponseData.d.ts +1 -1
  113. package/dist/openapi/models/ConfirmEmailChange200ResponseData.js +1 -1
  114. package/dist/openapi/models/ConfirmEmailChangeRequest.d.ts +1 -1
  115. package/dist/openapi/models/ConfirmEmailChangeRequest.js +1 -1
  116. package/dist/openapi/models/ConnectionSource.d.ts +1 -1
  117. package/dist/openapi/models/ConnectionSource.js +1 -1
  118. package/dist/openapi/models/ContactRequest.d.ts +1 -1
  119. package/dist/openapi/models/ContactRequest.js +1 -1
  120. package/dist/openapi/models/ContactSubject.d.ts +1 -1
  121. package/dist/openapi/models/ContactSubject.js +1 -1
  122. package/dist/openapi/models/ContactValidationErrorResponse.d.ts +1 -1
  123. package/dist/openapi/models/ContactValidationErrorResponse.js +1 -1
  124. package/dist/openapi/models/CreateApiKey201Response.d.ts +1 -1
  125. package/dist/openapi/models/CreateApiKey201Response.js +1 -1
  126. package/dist/openapi/models/CreateApiKey201ResponseData.d.ts +1 -1
  127. package/dist/openapi/models/CreateApiKey201ResponseData.js +1 -1
  128. package/dist/openapi/models/CreateApiKeyRequest.d.ts +1 -1
  129. package/dist/openapi/models/CreateApiKeyRequest.js +1 -1
  130. package/dist/openapi/models/CreateBillingCheckoutSession422Response.d.ts +1 -1
  131. package/dist/openapi/models/CreateBillingCheckoutSession422Response.js +1 -1
  132. package/dist/openapi/models/CreateExternalImport403Response.d.ts +1 -1
  133. package/dist/openapi/models/CreateExternalImport403Response.js +1 -1
  134. package/dist/openapi/models/CreateExternalImport422Response.d.ts +1 -1
  135. package/dist/openapi/models/CreateExternalImport422Response.js +1 -1
  136. package/dist/openapi/models/CreateWorkflow401Response.d.ts +1 -1
  137. package/dist/openapi/models/CreateWorkflow401Response.js +1 -1
  138. package/dist/openapi/models/CreateWorkflow403Response.d.ts +33 -0
  139. package/dist/openapi/models/CreateWorkflow403Response.js +57 -0
  140. package/dist/openapi/models/CreateWorkflow422Response.d.ts +1 -1
  141. package/dist/openapi/models/CreateWorkflow422Response.js +1 -1
  142. package/dist/openapi/models/CreditTransaction.d.ts +1 -1
  143. package/dist/openapi/models/CreditTransaction.js +1 -1
  144. package/dist/openapi/models/CreditTransactionSourceBucket.d.ts +1 -1
  145. package/dist/openapi/models/CreditTransactionSourceBucket.js +1 -1
  146. package/dist/openapi/models/CreditsBalanceResponse.d.ts +1 -1
  147. package/dist/openapi/models/CreditsBalanceResponse.js +1 -1
  148. package/dist/openapi/models/CreditsBalanceSuccessEnvelope.d.ts +1 -1
  149. package/dist/openapi/models/CreditsBalanceSuccessEnvelope.js +1 -1
  150. package/dist/openapi/models/CreditsUsageResponse.d.ts +1 -1
  151. package/dist/openapi/models/CreditsUsageResponse.js +1 -1
  152. package/dist/openapi/models/CreditsUsageSuccessEnvelope.d.ts +1 -1
  153. package/dist/openapi/models/CreditsUsageSuccessEnvelope.js +1 -1
  154. package/dist/openapi/models/Delivery.d.ts +1 -1
  155. package/dist/openapi/models/Delivery.js +1 -1
  156. package/dist/openapi/models/DeliveryOutputRef.d.ts +1 -1
  157. package/dist/openapi/models/DeliveryOutputRef.js +1 -1
  158. package/dist/openapi/models/DeliveryPlan.d.ts +1 -1
  159. package/dist/openapi/models/DeliveryPlan.js +1 -1
  160. package/dist/openapi/models/DeliveryPlanOutput.d.ts +1 -1
  161. package/dist/openapi/models/DeliveryPlanOutput.js +1 -1
  162. package/dist/openapi/models/DeliveryPlanReason.d.ts +1 -1
  163. package/dist/openapi/models/DeliveryPlanReason.js +1 -1
  164. package/dist/openapi/models/DeliverySelection.d.ts +1 -1
  165. package/dist/openapi/models/DeliverySelection.js +1 -1
  166. package/dist/openapi/models/DownloadBundle.d.ts +1 -1
  167. package/dist/openapi/models/DownloadBundle.js +1 -1
  168. package/dist/openapi/models/DroppedOption.d.ts +1 -1
  169. package/dist/openapi/models/DroppedOption.js +1 -1
  170. package/dist/openapi/models/EmailNotify.d.ts +1 -1
  171. package/dist/openapi/models/EmailNotify.js +1 -1
  172. package/dist/openapi/models/EmptySuccessEnvelope.d.ts +1 -1
  173. package/dist/openapi/models/EmptySuccessEnvelope.js +1 -1
  174. package/dist/openapi/models/EndpointProjection.d.ts +1 -1
  175. package/dist/openapi/models/EndpointProjection.js +1 -1
  176. package/dist/openapi/models/EndpointProjectionServersInner.d.ts +1 -1
  177. package/dist/openapi/models/EndpointProjectionServersInner.js +1 -1
  178. package/dist/openapi/models/ErrorEnvelope.d.ts +1 -1
  179. package/dist/openapi/models/ErrorEnvelope.js +1 -1
  180. package/dist/openapi/models/EstimateQuality.d.ts +1 -1
  181. package/dist/openapi/models/EstimateQuality.js +1 -1
  182. package/dist/openapi/models/EstimateRange.d.ts +1 -1
  183. package/dist/openapi/models/EstimateRange.js +1 -1
  184. package/dist/openapi/models/ExportAccountData200Response.d.ts +1 -1
  185. package/dist/openapi/models/ExportAccountData200Response.js +1 -1
  186. package/dist/openapi/models/ExportAccountData200ResponseData.d.ts +4 -3
  187. package/dist/openapi/models/ExportAccountData200ResponseData.js +4 -3
  188. package/dist/openapi/models/ExportAccountData200ResponseDataBilling.d.ts +36 -0
  189. package/dist/openapi/models/ExportAccountData200ResponseDataBilling.js +42 -0
  190. package/dist/openapi/models/ExportAccountData200ResponseDataBillingCheckoutSessionsInner.d.ts +58 -0
  191. package/dist/openapi/models/ExportAccountData200ResponseDataBillingCheckoutSessionsInner.js +62 -0
  192. package/dist/openapi/models/ExternalDestination.d.ts +1 -1
  193. package/dist/openapi/models/ExternalDestination.js +1 -1
  194. package/dist/openapi/models/ExternalImportCreatedResponse.d.ts +1 -1
  195. package/dist/openapi/models/ExternalImportCreatedResponse.js +1 -1
  196. package/dist/openapi/models/ExternalImportCreatedSuccessEnvelope.d.ts +1 -1
  197. package/dist/openapi/models/ExternalImportCreatedSuccessEnvelope.js +1 -1
  198. package/dist/openapi/models/ExternalImportRequest.d.ts +1 -1
  199. package/dist/openapi/models/ExternalImportRequest.js +1 -1
  200. package/dist/openapi/models/ExternalImportToken.d.ts +1 -1
  201. package/dist/openapi/models/ExternalImportToken.js +1 -1
  202. package/dist/openapi/models/ExternalSource.d.ts +1 -1
  203. package/dist/openapi/models/ExternalSource.js +1 -1
  204. package/dist/openapi/models/FeatureNotAvailableResponse.d.ts +1 -1
  205. package/dist/openapi/models/FeatureNotAvailableResponse.js +1 -1
  206. package/dist/openapi/models/FeatureTierRestrictedResponse.d.ts +1 -1
  207. package/dist/openapi/models/FeatureTierRestrictedResponse.js +1 -1
  208. package/dist/openapi/models/FeatureViolation.d.ts +1 -1
  209. package/dist/openapi/models/FeatureViolation.js +1 -1
  210. package/dist/openapi/models/GetProfile200Response.d.ts +1 -1
  211. package/dist/openapi/models/GetProfile200Response.js +1 -1
  212. package/dist/openapi/models/GetProfile200ResponseData.d.ts +1 -1
  213. package/dist/openapi/models/GetProfile200ResponseData.js +1 -1
  214. package/dist/openapi/models/ImageEncodeCapabilities.d.ts +1 -1
  215. package/dist/openapi/models/ImageEncodeCapabilities.js +1 -1
  216. package/dist/openapi/models/JobDefinition.d.ts +1 -1
  217. package/dist/openapi/models/JobDefinition.js +1 -1
  218. package/dist/openapi/models/JobDownload.d.ts +1 -1
  219. package/dist/openapi/models/JobDownload.js +1 -1
  220. package/dist/openapi/models/JobInputV2.d.ts +1 -1
  221. package/dist/openapi/models/JobInputV2.js +1 -1
  222. package/dist/openapi/models/JobMediaClass.d.ts +1 -1
  223. package/dist/openapi/models/JobMediaClass.js +1 -1
  224. package/dist/openapi/models/JobOutputSource.d.ts +1 -1
  225. package/dist/openapi/models/JobOutputSource.js +1 -1
  226. package/dist/openapi/models/JobResponse.d.ts +1 -1
  227. package/dist/openapi/models/JobResponse.js +1 -1
  228. package/dist/openapi/models/JobStatus.d.ts +1 -1
  229. package/dist/openapi/models/JobStatus.js +1 -1
  230. package/dist/openapi/models/JobType.d.ts +1 -1
  231. package/dist/openapi/models/JobType.js +1 -1
  232. package/dist/openapi/models/LivenessResponse.d.ts +1 -1
  233. package/dist/openapi/models/LivenessResponse.js +1 -1
  234. package/dist/openapi/models/LoginUser200Response.d.ts +1 -1
  235. package/dist/openapi/models/LoginUser200Response.js +1 -1
  236. package/dist/openapi/models/LoginUser200ResponseData.d.ts +1 -1
  237. package/dist/openapi/models/LoginUser200ResponseData.js +1 -1
  238. package/dist/openapi/models/LoginUser200ResponseDataUser.d.ts +1 -1
  239. package/dist/openapi/models/LoginUser200ResponseDataUser.js +1 -1
  240. package/dist/openapi/models/LoginUser401Response.d.ts +1 -1
  241. package/dist/openapi/models/LoginUser401Response.js +1 -1
  242. package/dist/openapi/models/LoginUserRequest.d.ts +1 -1
  243. package/dist/openapi/models/LoginUserRequest.js +1 -1
  244. package/dist/openapi/models/LongFormConcurrencyLimitResponse.d.ts +1 -1
  245. package/dist/openapi/models/LongFormConcurrencyLimitResponse.js +1 -1
  246. package/dist/openapi/models/LongFormConcurrencyLimitResponseAllOfLinks.d.ts +1 -1
  247. package/dist/openapi/models/LongFormConcurrencyLimitResponseAllOfLinks.js +1 -1
  248. package/dist/openapi/models/MetadataResponse.d.ts +1 -1
  249. package/dist/openapi/models/MetadataResponse.js +1 -1
  250. package/dist/openapi/models/MetadataResponseDimensions.d.ts +1 -1
  251. package/dist/openapi/models/MetadataResponseDimensions.js +1 -1
  252. package/dist/openapi/models/MetadataResponseExif.d.ts +1 -1
  253. package/dist/openapi/models/MetadataResponseExif.js +1 -1
  254. package/dist/openapi/models/MetadataResponseExifGps.d.ts +1 -1
  255. package/dist/openapi/models/MetadataResponseExifGps.js +1 -1
  256. package/dist/openapi/models/MetadataSuccessEnvelope.d.ts +1 -1
  257. package/dist/openapi/models/MetadataSuccessEnvelope.js +1 -1
  258. package/dist/openapi/models/MimeGroupSchema.d.ts +1 -1
  259. package/dist/openapi/models/MimeGroupSchema.js +1 -1
  260. package/dist/openapi/models/MultiInputSource.d.ts +1 -1
  261. package/dist/openapi/models/MultiInputSource.js +1 -1
  262. package/dist/openapi/models/MultipartCompleteRequest.d.ts +1 -1
  263. package/dist/openapi/models/MultipartCompleteRequest.js +1 -1
  264. package/dist/openapi/models/MultipartCompleteRequestPartsInner.d.ts +1 -1
  265. package/dist/openapi/models/MultipartCompleteRequestPartsInner.js +1 -1
  266. package/dist/openapi/models/MultipartCompleteResponse.d.ts +1 -1
  267. package/dist/openapi/models/MultipartCompleteResponse.js +1 -1
  268. package/dist/openapi/models/MultipartCompleteSuccessEnvelope.d.ts +1 -1
  269. package/dist/openapi/models/MultipartCompleteSuccessEnvelope.js +1 -1
  270. package/dist/openapi/models/MultipartInitiateRequestMetadataHint.d.ts +1 -1
  271. package/dist/openapi/models/MultipartInitiateRequestMetadataHint.js +1 -1
  272. package/dist/openapi/models/MultipartInitiateResponse.d.ts +1 -1
  273. package/dist/openapi/models/MultipartInitiateResponse.js +1 -1
  274. package/dist/openapi/models/MultipartInitiateSuccessEnvelope.d.ts +1 -1
  275. package/dist/openapi/models/MultipartInitiateSuccessEnvelope.js +1 -1
  276. package/dist/openapi/models/MultipartKeepaliveResponse.d.ts +1 -1
  277. package/dist/openapi/models/MultipartKeepaliveResponse.js +1 -1
  278. package/dist/openapi/models/MultipartKeepaliveSuccessEnvelope.d.ts +1 -1
  279. package/dist/openapi/models/MultipartKeepaliveSuccessEnvelope.js +1 -1
  280. package/dist/openapi/models/MultipartPartListing.d.ts +1 -1
  281. package/dist/openapi/models/MultipartPartListing.js +1 -1
  282. package/dist/openapi/models/MultipartPresignRequest.d.ts +1 -1
  283. package/dist/openapi/models/MultipartPresignRequest.js +1 -1
  284. package/dist/openapi/models/MultipartPresignResponse.d.ts +1 -1
  285. package/dist/openapi/models/MultipartPresignResponse.js +1 -1
  286. package/dist/openapi/models/MultipartPresignSuccessEnvelope.d.ts +1 -1
  287. package/dist/openapi/models/MultipartPresignSuccessEnvelope.js +1 -1
  288. package/dist/openapi/models/MultipartStatusResponse.d.ts +1 -1
  289. package/dist/openapi/models/MultipartStatusResponse.js +1 -1
  290. package/dist/openapi/models/MultipartStatusSuccessEnvelope.d.ts +1 -1
  291. package/dist/openapi/models/MultipartStatusSuccessEnvelope.js +1 -1
  292. package/dist/openapi/models/NotifyConfig.d.ts +1 -1
  293. package/dist/openapi/models/NotifyConfig.js +1 -1
  294. package/dist/openapi/models/OperationCapability.d.ts +1 -1
  295. package/dist/openapi/models/OperationCapability.js +1 -1
  296. package/dist/openapi/models/OperationDefinition.d.ts +1 -1
  297. package/dist/openapi/models/OperationDefinition.js +1 -1
  298. package/dist/openapi/models/OperationDownload.d.ts +5 -1
  299. package/dist/openapi/models/OperationDownload.js +1 -1
  300. package/dist/openapi/models/OperationInputModel.d.ts +1 -1
  301. package/dist/openapi/models/OperationInputModel.js +1 -1
  302. package/dist/openapi/models/OperationMessageParamsValue.d.ts +1 -1
  303. package/dist/openapi/models/OperationMessageParamsValue.js +1 -1
  304. package/dist/openapi/models/OperationResponse.d.ts +1 -1
  305. package/dist/openapi/models/OperationResponse.js +1 -1
  306. package/dist/openapi/models/OperationResult.d.ts +1 -1
  307. package/dist/openapi/models/OperationResult.js +1 -1
  308. package/dist/openapi/models/OperationResultMetadata.d.ts +1 -1
  309. package/dist/openapi/models/OperationResultMetadata.js +1 -1
  310. package/dist/openapi/models/OperationResultMetrics.d.ts +3 -3
  311. package/dist/openapi/models/OperationResultMetrics.js +1 -1
  312. package/dist/openapi/models/OperationSchemaDefinition.d.ts +1 -1
  313. package/dist/openapi/models/OperationSchemaDefinition.js +1 -1
  314. package/dist/openapi/models/OperationStatus.d.ts +1 -1
  315. package/dist/openapi/models/OperationStatus.js +1 -1
  316. package/dist/openapi/models/OperationType.d.ts +1 -1
  317. package/dist/openapi/models/OperationType.js +1 -1
  318. package/dist/openapi/models/OperationsSchemaResponse.d.ts +1 -1
  319. package/dist/openapi/models/OperationsSchemaResponse.js +1 -1
  320. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeatures.d.ts +1 -1
  321. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeatures.js +1 -1
  322. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDelivery.d.ts +1 -1
  323. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDelivery.js +1 -1
  324. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliveryMode.d.ts +1 -1
  325. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliveryMode.js +1 -1
  326. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliverySelection.d.ts +1 -1
  327. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliverySelection.js +1 -1
  328. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesProcessing.d.ts +1 -1
  329. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesProcessing.js +1 -1
  330. package/dist/openapi/models/OptionSchema.d.ts +5 -2
  331. package/dist/openapi/models/OptionSchema.js +1 -1
  332. package/dist/openapi/models/OutputProperties.d.ts +1 -1
  333. package/dist/openapi/models/OutputProperties.js +1 -1
  334. package/dist/openapi/models/OutputPropertiesIsAnimated.d.ts +1 -1
  335. package/dist/openapi/models/OutputPropertiesIsAnimated.js +1 -1
  336. package/dist/openapi/models/PerClassAvailabilityEntry.d.ts +1 -1
  337. package/dist/openapi/models/PerClassAvailabilityEntry.js +1 -1
  338. package/dist/openapi/models/PerRoleCardinalityEntry.d.ts +1 -1
  339. package/dist/openapi/models/PerRoleCardinalityEntry.js +1 -1
  340. package/dist/openapi/models/PerValueAvailabilityEntry.d.ts +1 -1
  341. package/dist/openapi/models/PerValueAvailabilityEntry.js +1 -1
  342. package/dist/openapi/models/PresignedUrlPart.d.ts +1 -1
  343. package/dist/openapi/models/PresignedUrlPart.js +1 -1
  344. package/dist/openapi/models/ProbePendingResponse.d.ts +1 -1
  345. package/dist/openapi/models/ProbePendingResponse.js +1 -1
  346. package/dist/openapi/models/ProcessingClass.d.ts +1 -1
  347. package/dist/openapi/models/ProcessingClass.js +1 -1
  348. package/dist/openapi/models/ProcessingClassBandViolation.d.ts +12 -1
  349. package/dist/openapi/models/ProcessingClassBandViolation.js +4 -1
  350. package/dist/openapi/models/ProcessingClassConstraints.d.ts +1 -1
  351. package/dist/openapi/models/ProcessingClassConstraints.js +1 -1
  352. package/dist/openapi/models/ProcessingClassEntry.d.ts +15 -1
  353. package/dist/openapi/models/ProcessingClassEntry.js +7 -1
  354. package/dist/openapi/models/ProcessingClassEntryInputUniformity.d.ts +65 -0
  355. package/dist/openapi/models/ProcessingClassEntryInputUniformity.js +57 -0
  356. package/dist/openapi/models/ProcessingClassEntryResolutionBands.d.ts +66 -0
  357. package/dist/openapi/models/ProcessingClassEntryResolutionBands.js +56 -0
  358. package/dist/openapi/models/ProcessingClassExceedsBandResponse.d.ts +1 -1
  359. package/dist/openapi/models/ProcessingClassExceedsBandResponse.js +1 -1
  360. package/dist/openapi/models/ProcessingClassHint.d.ts +1 -1
  361. package/dist/openapi/models/ProcessingClassHint.js +1 -1
  362. package/dist/openapi/models/ProcessingClassReason.d.ts +1 -1
  363. package/dist/openapi/models/ProcessingClassReason.js +1 -1
  364. package/dist/openapi/models/ProcessingClassRejectReason.d.ts +1 -1
  365. package/dist/openapi/models/ProcessingClassRejectReason.js +1 -1
  366. package/dist/openapi/models/ProcessingPlan.d.ts +1 -1
  367. package/dist/openapi/models/ProcessingPlan.js +1 -1
  368. package/dist/openapi/models/ProcessingPlanJob.d.ts +14 -1
  369. package/dist/openapi/models/ProcessingPlanJob.js +4 -1
  370. package/dist/openapi/models/ReEncodeDecision.d.ts +18 -7
  371. package/dist/openapi/models/ReEncodeDecision.js +18 -7
  372. package/dist/openapi/models/ReadinessResponse.d.ts +1 -1
  373. package/dist/openapi/models/ReadinessResponse.js +1 -1
  374. package/dist/openapi/models/RegisterUser422Response.d.ts +1 -1
  375. package/dist/openapi/models/RegisterUser422Response.js +1 -1
  376. package/dist/openapi/models/RegisterUserRequest.d.ts +1 -1
  377. package/dist/openapi/models/RegisterUserRequest.js +1 -1
  378. package/dist/openapi/models/RequestAccountDeletion200Response.d.ts +1 -1
  379. package/dist/openapi/models/RequestAccountDeletion200Response.js +1 -1
  380. package/dist/openapi/models/RequestAccountDeletion200ResponseData.d.ts +1 -1
  381. package/dist/openapi/models/RequestAccountDeletion200ResponseData.js +1 -1
  382. package/dist/openapi/models/RequestAccountDeletionRequest.d.ts +1 -1
  383. package/dist/openapi/models/RequestAccountDeletionRequest.js +1 -1
  384. package/dist/openapi/models/ResendVerificationEmailRequest.d.ts +1 -1
  385. package/dist/openapi/models/ResendVerificationEmailRequest.js +1 -1
  386. package/dist/openapi/models/ResetPasswordRequest.d.ts +1 -1
  387. package/dist/openapi/models/ResetPasswordRequest.js +1 -1
  388. package/dist/openapi/models/ResolutionBand.d.ts +44 -0
  389. package/dist/openapi/models/ResolutionBand.js +62 -0
  390. package/dist/openapi/models/ResolutionBandCeiling.d.ts +68 -0
  391. package/dist/openapi/models/ResolutionBandCeiling.js +57 -0
  392. package/dist/openapi/models/ResolutionBandCeilingConstraints.d.ts +32 -0
  393. package/dist/openapi/models/ResolutionBandCeilingConstraints.js +41 -0
  394. package/dist/openapi/models/ResolutionBandCeilingDerivation.d.ts +48 -0
  395. package/dist/openapi/models/ResolutionBandCeilingDerivation.js +51 -0
  396. package/dist/openapi/models/ResponseEnvelope.d.ts +1 -1
  397. package/dist/openapi/models/ResponseEnvelope.js +1 -1
  398. package/dist/openapi/models/RetryResponse.d.ts +1 -1
  399. package/dist/openapi/models/RetryResponse.js +1 -1
  400. package/dist/openapi/models/RetrySuccessEnvelope.d.ts +1 -1
  401. package/dist/openapi/models/RetrySuccessEnvelope.js +1 -1
  402. package/dist/openapi/models/SseCompletionBase.d.ts +1 -1
  403. package/dist/openapi/models/SseCompletionBase.js +1 -1
  404. package/dist/openapi/models/SseConnectionLimitResponse.d.ts +1 -1
  405. package/dist/openapi/models/SseConnectionLimitResponse.js +1 -1
  406. package/dist/openapi/models/SseEventType.d.ts +1 -1
  407. package/dist/openapi/models/SseEventType.js +1 -1
  408. package/dist/openapi/models/SseJobCompletedData.d.ts +1 -1
  409. package/dist/openapi/models/SseJobCompletedData.js +1 -1
  410. package/dist/openapi/models/SseJobFailedData.d.ts +1 -1
  411. package/dist/openapi/models/SseJobFailedData.js +1 -1
  412. package/dist/openapi/models/SseMultiOutputCompletion.d.ts +1 -1
  413. package/dist/openapi/models/SseMultiOutputCompletion.js +1 -1
  414. package/dist/openapi/models/SseMultiOutputCompletionMetrics.d.ts +1 -1
  415. package/dist/openapi/models/SseMultiOutputCompletionMetrics.js +1 -1
  416. package/dist/openapi/models/SseMultiOutputCompletionWithKind.d.ts +1 -1
  417. package/dist/openapi/models/SseMultiOutputCompletionWithKind.js +1 -1
  418. package/dist/openapi/models/SseMultiOutputResultEntry.d.ts +5 -1
  419. package/dist/openapi/models/SseMultiOutputResultEntry.js +1 -1
  420. package/dist/openapi/models/SseOperationCompletedData.d.ts +1 -1
  421. package/dist/openapi/models/SseOperationCompletedData.js +1 -1
  422. package/dist/openapi/models/SseOperationCompletionResult.d.ts +1 -1
  423. package/dist/openapi/models/SseOperationCompletionResult.js +1 -1
  424. package/dist/openapi/models/SseOperationFailedData.d.ts +1 -1
  425. package/dist/openapi/models/SseOperationFailedData.js +1 -1
  426. package/dist/openapi/models/SseOperationProgressData.d.ts +1 -1
  427. package/dist/openapi/models/SseOperationProgressData.js +1 -1
  428. package/dist/openapi/models/SseSingleOutputCompletion.d.ts +1 -1
  429. package/dist/openapi/models/SseSingleOutputCompletion.js +1 -1
  430. package/dist/openapi/models/SseWorkflowTerminalData.d.ts +1 -1
  431. package/dist/openapi/models/SseWorkflowTerminalData.js +1 -1
  432. package/dist/openapi/models/TierRestrictionKind.d.ts +1 -1
  433. package/dist/openapi/models/TierRestrictionKind.js +1 -1
  434. package/dist/openapi/models/TierRestrictionResponse.d.ts +1 -1
  435. package/dist/openapi/models/TierRestrictionResponse.js +1 -1
  436. package/dist/openapi/models/UpdateProfile200Response.d.ts +1 -1
  437. package/dist/openapi/models/UpdateProfile200Response.js +1 -1
  438. package/dist/openapi/models/UpdateProfile200ResponseData.d.ts +1 -1
  439. package/dist/openapi/models/UpdateProfile200ResponseData.js +1 -1
  440. package/dist/openapi/models/UpdateProfile422Response.d.ts +1 -1
  441. package/dist/openapi/models/UpdateProfile422Response.js +1 -1
  442. package/dist/openapi/models/UpdateProfileRequest.d.ts +1 -1
  443. package/dist/openapi/models/UpdateProfileRequest.js +1 -1
  444. package/dist/openapi/models/UploadConstraintsApplied.d.ts +1 -1
  445. package/dist/openapi/models/UploadConstraintsApplied.js +1 -1
  446. package/dist/openapi/models/UploadDurationExceedsTierResponse.d.ts +1 -1
  447. package/dist/openapi/models/UploadDurationExceedsTierResponse.js +1 -1
  448. package/dist/openapi/models/UploadFile403Response.d.ts +1 -1
  449. package/dist/openapi/models/UploadFile403Response.js +1 -1
  450. package/dist/openapi/models/UploadFile422Response.d.ts +1 -1
  451. package/dist/openapi/models/UploadFile422Response.js +1 -1
  452. package/dist/openapi/models/UploadProbeMediaMetadata.d.ts +106 -1
  453. package/dist/openapi/models/UploadProbeMediaMetadata.js +35 -1
  454. package/dist/openapi/models/UploadProbeProcessingClass.d.ts +1 -1
  455. package/dist/openapi/models/UploadProbeProcessingClass.js +1 -1
  456. package/dist/openapi/models/UploadProbeResponse.d.ts +1 -1
  457. package/dist/openapi/models/UploadProbeResponse.js +1 -1
  458. package/dist/openapi/models/UploadProbeStatus.d.ts +1 -1
  459. package/dist/openapi/models/UploadProbeStatus.js +1 -1
  460. package/dist/openapi/models/UploadProbeSuccessEnvelope.d.ts +1 -1
  461. package/dist/openapi/models/UploadProbeSuccessEnvelope.js +1 -1
  462. package/dist/openapi/models/UploadResponse.d.ts +1 -1
  463. package/dist/openapi/models/UploadResponse.js +1 -1
  464. package/dist/openapi/models/UploadSizeExceedsTierResponse.d.ts +1 -1
  465. package/dist/openapi/models/UploadSizeExceedsTierResponse.js +1 -1
  466. package/dist/openapi/models/UploadSource.d.ts +1 -1
  467. package/dist/openapi/models/UploadSource.js +1 -1
  468. package/dist/openapi/models/UploadSuccessEnvelope.d.ts +1 -1
  469. package/dist/openapi/models/UploadSuccessEnvelope.js +1 -1
  470. package/dist/openapi/models/UploadThresholds.d.ts +1 -1
  471. package/dist/openapi/models/UploadThresholds.js +1 -1
  472. package/dist/openapi/models/UserTier.d.ts +1 -1
  473. package/dist/openapi/models/UserTier.js +1 -1
  474. package/dist/openapi/models/ValidationErrorEnvelope.d.ts +1 -1
  475. package/dist/openapi/models/ValidationErrorEnvelope.js +1 -1
  476. package/dist/openapi/models/ValidationErrorEnvelopeDetailsInner.d.ts +1 -1
  477. package/dist/openapi/models/ValidationErrorEnvelopeDetailsInner.js +1 -1
  478. package/dist/openapi/models/VerifyEmailRequest.d.ts +1 -1
  479. package/dist/openapi/models/VerifyEmailRequest.js +1 -1
  480. package/dist/openapi/models/WarningType.d.ts +1 -1
  481. package/dist/openapi/models/WarningType.js +1 -1
  482. package/dist/openapi/models/WebhookOperationContext.d.ts +1 -1
  483. package/dist/openapi/models/WebhookOperationContext.js +1 -1
  484. package/dist/openapi/models/WebhookPayload.d.ts +1 -1
  485. package/dist/openapi/models/WebhookPayload.js +1 -1
  486. package/dist/openapi/models/WorkflowArchiveResponse.d.ts +1 -1
  487. package/dist/openapi/models/WorkflowArchiveResponse.js +1 -1
  488. package/dist/openapi/models/WorkflowArchiveSuccessEnvelope.d.ts +1 -1
  489. package/dist/openapi/models/WorkflowArchiveSuccessEnvelope.js +1 -1
  490. package/dist/openapi/models/WorkflowCancelBillingEffect.d.ts +1 -1
  491. package/dist/openapi/models/WorkflowCancelBillingEffect.js +1 -1
  492. package/dist/openapi/models/WorkflowCancelResponse.d.ts +1 -1
  493. package/dist/openapi/models/WorkflowCancelResponse.js +1 -1
  494. package/dist/openapi/models/WorkflowCancelSuccessEnvelope.d.ts +1 -1
  495. package/dist/openapi/models/WorkflowCancelSuccessEnvelope.js +1 -1
  496. package/dist/openapi/models/WorkflowCreateRequest.d.ts +1 -1
  497. package/dist/openapi/models/WorkflowCreateRequest.js +1 -1
  498. package/dist/openapi/models/WorkflowCreateResponse.d.ts +1 -1
  499. package/dist/openapi/models/WorkflowCreateResponse.js +1 -1
  500. package/dist/openapi/models/WorkflowCreateSuccessEnvelope.d.ts +1 -1
  501. package/dist/openapi/models/WorkflowCreateSuccessEnvelope.js +1 -1
  502. package/dist/openapi/models/WorkflowCreditSummary.d.ts +1 -1
  503. package/dist/openapi/models/WorkflowCreditSummary.js +1 -1
  504. package/dist/openapi/models/WorkflowDownloadResponse.d.ts +1 -1
  505. package/dist/openapi/models/WorkflowDownloadResponse.js +1 -1
  506. package/dist/openapi/models/WorkflowDownloadSuccessEnvelope.d.ts +1 -1
  507. package/dist/openapi/models/WorkflowDownloadSuccessEnvelope.js +1 -1
  508. package/dist/openapi/models/WorkflowEdge.d.ts +1 -1
  509. package/dist/openapi/models/WorkflowEdge.js +1 -1
  510. package/dist/openapi/models/WorkflowExpiredResponse.d.ts +1 -1
  511. package/dist/openapi/models/WorkflowExpiredResponse.js +1 -1
  512. package/dist/openapi/models/WorkflowListResponse.d.ts +1 -1
  513. package/dist/openapi/models/WorkflowListResponse.js +1 -1
  514. package/dist/openapi/models/WorkflowListSuccessEnvelope.d.ts +1 -1
  515. package/dist/openapi/models/WorkflowListSuccessEnvelope.js +1 -1
  516. package/dist/openapi/models/WorkflowPauseRequiredAction.d.ts +17 -5
  517. package/dist/openapi/models/WorkflowPauseRequiredAction.js +18 -6
  518. package/dist/openapi/models/WorkflowPausedDetail.d.ts +5 -4
  519. package/dist/openapi/models/WorkflowPausedDetail.js +1 -1
  520. package/dist/openapi/models/WorkflowPausedDetailLinks.d.ts +6 -4
  521. package/dist/openapi/models/WorkflowPausedDetailLinks.js +1 -1
  522. package/dist/openapi/models/WorkflowProcessing.d.ts +1 -1
  523. package/dist/openapi/models/WorkflowProcessing.js +1 -1
  524. package/dist/openapi/models/WorkflowRestoreResponse.d.ts +1 -1
  525. package/dist/openapi/models/WorkflowRestoreResponse.js +1 -1
  526. package/dist/openapi/models/WorkflowRestoreSuccessEnvelope.d.ts +1 -1
  527. package/dist/openapi/models/WorkflowRestoreSuccessEnvelope.js +1 -1
  528. package/dist/openapi/models/WorkflowResumeResponse.d.ts +1 -1
  529. package/dist/openapi/models/WorkflowResumeResponse.js +1 -1
  530. package/dist/openapi/models/WorkflowResumeSuccessEnvelope.d.ts +1 -1
  531. package/dist/openapi/models/WorkflowResumeSuccessEnvelope.js +1 -1
  532. package/dist/openapi/models/WorkflowSource.d.ts +1 -1
  533. package/dist/openapi/models/WorkflowSource.js +1 -1
  534. package/dist/openapi/models/WorkflowStatus.d.ts +9 -4
  535. package/dist/openapi/models/WorkflowStatus.js +9 -4
  536. package/dist/openapi/models/WorkflowStatusResponse.d.ts +1 -1
  537. package/dist/openapi/models/WorkflowStatusResponse.js +1 -1
  538. package/dist/openapi/models/WorkflowStatusSuccessEnvelope.d.ts +1 -1
  539. package/dist/openapi/models/WorkflowStatusSuccessEnvelope.js +1 -1
  540. package/dist/openapi/models/WorkflowSummary.d.ts +1 -1
  541. package/dist/openapi/models/WorkflowSummary.js +1 -1
  542. package/dist/openapi/models/WorkflowSummaryJob.d.ts +1 -1
  543. package/dist/openapi/models/WorkflowSummaryJob.js +1 -1
  544. package/dist/openapi/models/WorkflowWarning.d.ts +1 -1
  545. package/dist/openapi/models/WorkflowWarning.js +1 -1
  546. package/dist/openapi/models/WorkflowWarningSeverity.d.ts +1 -1
  547. package/dist/openapi/models/WorkflowWarningSeverity.js +1 -1
  548. package/dist/openapi/models/index.d.ts +11 -0
  549. package/dist/openapi/models/index.js +11 -0
  550. package/dist/openapi/runtime.d.ts +1 -1
  551. package/dist/openapi/runtime.js +1 -1
  552. package/openapi/README.md +1 -1
  553. package/openapi/api.yaml +559 -33
  554. package/operation-capabilities/operation-capabilities.json +129 -1
  555. package/operations/schemas/compress.yaml +39 -14
  556. package/operations/schemas/merge.yaml +28 -0
  557. package/operations/schemas/split.yaml +11 -5
  558. package/operations/schemas/video_text_watermark.yaml +55 -0
  559. package/package.json +3 -3
package/README.md CHANGED
@@ -5,8 +5,8 @@
5
5
 
6
6
  | | |
7
7
  |---|---|
8
- | Package version | `0.76.0` |
9
- | Generated from spec | **`v2.211.0`** |
8
+ | Package version | `0.78.0` |
9
+ | Generated from spec | **`v2.213.0`** |
10
10
 
11
11
  ## Two version lines, and they are not comparable
12
12
 
@@ -1214,5 +1214,5 @@
1214
1214
  }
1215
1215
  }
1216
1216
  },
1217
- "schema_version": "2.211.0"
1217
+ "schema_version": "2.213.0"
1218
1218
  }
@@ -15,6 +15,7 @@
15
15
  "quality",
16
16
  "width"
17
17
  ],
18
+ "inert_options": [],
18
19
  "max_output_pixels": 16000000,
19
20
  "planned_options": [
20
21
  "metadata"
@@ -30,6 +31,7 @@
30
31
  "output_format",
31
32
  "width"
32
33
  ],
34
+ "inert_options": [],
33
35
  "max_output_pixels": 16000000,
34
36
  "planned_options": [
35
37
  "metadata"
@@ -47,6 +49,7 @@
47
49
  "quality",
48
50
  "width"
49
51
  ],
52
+ "inert_options": [],
50
53
  "max_output_pixels": 16000000,
51
54
  "planned_options": [
52
55
  "metadata"
@@ -62,6 +65,7 @@
62
65
  "output_format",
63
66
  "width"
64
67
  ],
68
+ "inert_options": [],
65
69
  "max_output_pixels": 16000000,
66
70
  "planned_options": [
67
71
  "metadata"
@@ -77,6 +81,7 @@
77
81
  "output_format",
78
82
  "width"
79
83
  ],
84
+ "inert_options": [],
80
85
  "max_output_pixels": 16000000,
81
86
  "planned_options": [
82
87
  "metadata"
@@ -93,6 +98,7 @@
93
98
  "quality",
94
99
  "width"
95
100
  ],
101
+ "inert_options": [],
96
102
  "max_output_pixels": 16000000,
97
103
  "planned_options": [
98
104
  "metadata"
@@ -126,6 +132,7 @@
126
132
  "target_size_bytes",
127
133
  "width"
128
134
  ],
135
+ "inert_options": [],
129
136
  "input_mime": "image/avif",
130
137
  "max_output_pixels": 16000000,
131
138
  "planned_options": [],
@@ -142,6 +149,7 @@
142
149
  "quality",
143
150
  "width"
144
151
  ],
152
+ "inert_options": [],
145
153
  "input_mime": "image/gif",
146
154
  "max_output_pixels": 16000000,
147
155
  "planned_options": [],
@@ -164,6 +172,7 @@
164
172
  "target_size_bytes",
165
173
  "width"
166
174
  ],
175
+ "inert_options": [],
167
176
  "input_mime": "image/jpeg",
168
177
  "max_output_pixels": 16000000,
169
178
  "planned_options": [],
@@ -176,11 +185,13 @@
176
185
  "fit",
177
186
  "height",
178
187
  "metadata",
179
- "optimization_level",
180
188
  "output_format",
181
189
  "quality",
182
190
  "width"
183
191
  ],
192
+ "inert_options": [
193
+ "optimization_level"
194
+ ],
184
195
  "input_mime": "image/png",
185
196
  "max_output_pixels": 16000000,
186
197
  "planned_options": [],
@@ -191,6 +202,7 @@
191
202
  "metadata",
192
203
  "output_format"
193
204
  ],
205
+ "inert_options": [],
194
206
  "input_mime": "image/svg+xml",
195
207
  "planned_options": [],
196
208
  "source_op": "compress"
@@ -206,6 +218,7 @@
206
218
  "quality",
207
219
  "width"
208
220
  ],
221
+ "inert_options": [],
209
222
  "input_mime": "image/tiff",
210
223
  "max_output_pixels": 16000000,
211
224
  "planned_options": [],
@@ -226,6 +239,7 @@
226
239
  "target_size_bytes",
227
240
  "width"
228
241
  ],
242
+ "inert_options": [],
229
243
  "input_mime": "image/webp",
230
244
  "max_output_pixels": 16000000,
231
245
  "planned_options": [],
@@ -246,5 +260,5 @@
246
260
  "source_op": "compress"
247
261
  }
248
262
  },
249
- "schema_version": "2.211.0"
263
+ "schema_version": "2.213.0"
250
264
  }
@@ -9,7 +9,7 @@
9
9
  - **Spec:** `compression_contracts/asyncapi/events.yaml` (AsyncAPI 3.0)
10
10
  - **Generator:** [asyncapi/cli](https://www.asyncapi.com/tools/cli) 6.0.0
11
11
  (Docker image: `asyncapi/cli:6.0.0`)
12
- - **Files:** 29
12
+ - **Files:** 30
13
13
 
14
14
  ## Contents
15
15
 
@@ -4193,9 +4193,13 @@ components:
4193
4193
  2. **A `completed` never supersedes another `completed`.** Keep the
4194
4194
  first; a second is a duplicate delivery of the same outcome.
4195
4195
  3. **Two `failed` results are NOT ordered by this contract.** Keep the
4196
- first `error_code` and record that another arrived. See the limit
4197
- below — this is the case the contract cannot yet decide, and saying
4198
- so is deliberate.
4196
+ first `error_code` and record that another arrived. `attempt`
4197
+ (below) does NOT order them: it is per SQS message, and a DLQ
4198
+ redrive starts a new message.
4199
+ 4. **A consumer MUST surface a second terminal, never drop it
4200
+ silently** — count it, log it or alarm on it. Rules 1–3 decide the
4201
+ STATE; a producer emitting contradictory terminals must still be
4202
+ visible.
4199
4203
 
4200
4204
  ### Supersession replaces the WHOLE result, not just the status
4201
4205
 
@@ -4235,12 +4239,13 @@ components:
4235
4239
  and by nothing else. Using metrics to arbitrate would make the answer
4236
4240
  depend on how long a machine happened to take.
4237
4241
 
4238
- ### 🔴 THE MISSING FIELD, RECORDED AS A FINDING
4242
+ ### 🔴 THE MISSING ORDERING FIELD, RECORDED AS A FINDING
4239
4243
 
4240
4244
  **There is no producer-stamped ordering field on `OperationResult`
4241
- today.** No attempt counter, no producer timestamp, no sequence number —
4242
- `job_id`, `operation_id`, `operation_type`, `status` and the payload, and
4243
- nothing that says *which invocation produced this*.
4245
+ today.** No durable per-operation counter, no producer timestamp, no
4246
+ sequence number. The optional `attempt` (declared 2026-09-25, below)
4247
+ says which DELIVERY of one SQS message produced a result; it is not
4248
+ durable per `operation_id`, so it is diagnostic and NOT an ordering key.
4244
4249
 
4245
4250
  That absence is why rule 3 exists: **two failures cannot be ordered, and
4246
4251
  the contract does not pretend otherwise.** Telling consumers to fall back
@@ -4248,17 +4253,33 @@ components:
4248
4253
  transport property, and a rule that reads it as producer intent is wrong
4249
4254
  in a way no consumer can detect.
4250
4255
 
4251
- **The field this needs is an `attempt` counter** — monotonically
4252
- increasing per `operation_id`, stamped by the producer — because it does
4253
- not depend on a clock, and two invocations are tens of minutes apart in
4254
- wall time (27–81 minutes of visibility timeout, measured above) but
4255
- ADJACENT in attempt number. **Not declared here**: the producer
4256
- must confirm it can supply it (SQS exposes `ApproximateReceiveCount` to
4257
- the handler, which is a candidate, not a decision). Specifying a field
4258
- the producer has not agreed to emit is how a contract acquires a
4259
- promise nothing keeps.
4260
-
4261
- Once `attempt` exists, higher wins, and it subsumes rules 1–3.
4256
+ **The field this needs is an `attempt` counter** — per `operation_id`,
4257
+ stamped by the producer — because it does not depend on a clock, and
4258
+ two invocations are tens of minutes apart in wall time (27–81 minutes
4259
+ of visibility timeout, measured above) but ADJACENT in attempt number.
4260
+
4261
+ **`attempt` is DECLARED (2026-09-25, card `HPXNdNqp`), OPTIONAL, and
4262
+ DIAGNOSTIC.** `compression_lambdas` confirmed both paths can emit it:
4263
+ the Lambda path from the SQS record's `ApproximateReceiveCount`
4264
+ (1-based), the Fargate path from `GISL_CL_JOB_ATTEMPT` + 1. It is a
4265
+ HINT for the log line rule 4 requires: two terminals with DIFFERENT
4266
+ values came from different deliveries. EQUAL values prove nothing (a
4267
+ launcher redelivery repeats a value, and the terminal event itself can
4268
+ be delivered twice), so a consumer cannot use it to classify a pair
4269
+ as harmless.
4270
+
4271
+ ⛔ **It is NOT an ordering key, and no rule above reads it.** Its
4272
+ meaning depends on the path, so values from different paths or
4273
+ across a redrive are not comparable:
4274
+ - **Lambda:** the SQS receive count of one message. A DLQ redrive
4275
+ makes a NEW message whose count starts again, so a later
4276
+ invocation can carry a LOWER value.
4277
+ - **Fargate:** a retry counter carried in the message body, so it
4278
+ survives a redrive, but a launcher redelivery of the same message
4279
+ repeats the value. Ordering two faileds needs a counter that is durable
4280
+ per `operation_id` across redrives; none exists, so rule 3 stands.
4281
+ (An earlier draft of this change let `attempt` order faileds; codex
4282
+ review found the redrive reset, and it was withdrawn before merge.)
4262
4283
 
4263
4284
  ### 🔴 THE PARENT IS NOT COVERED BY THIS RULE, AND THAT IS A GAP
4264
4285
 
@@ -4378,6 +4399,17 @@ components:
4378
4399
  $ref: '#/components/schemas/OperationType'
4379
4400
  status:
4380
4401
  $ref: '#/components/schemas/ResultStatus'
4402
+ attempt:
4403
+ type: integer
4404
+ minimum: 1
4405
+ description: |
4406
+ OPTIONAL, DIAGNOSTIC, 1-based. Which attempt produced this result,
4407
+ with path-specific meaning: on Lambda the SQS receive count (it
4408
+ restarts after a DLQ redrive), on Fargate a retry counter carried
4409
+ in the message (it survives a redrive but repeats on a launcher
4410
+ redelivery). MUST NOT be used to order results; see "THE MISSING
4411
+ ORDERING FIELD" above. Card `HPXNdNqp`.
4412
+ example: 1
4381
4413
 
4382
4414
  # Shared success field (both single- and multi-output)
4383
4415
  output_bucket:
@@ -4641,6 +4673,10 @@ components:
4641
4673
  selected pages (`1,2,3,4,5,8`) — gapless ONLY for a full conversion.
4642
4674
  Mutually exclusive with `position`. Normative semantics:
4643
4675
  ADR-0009 §D2.
4676
+ For a `split` of a PDF with `mode: page_groups`, each output holds
4677
+ a GROUP of pages and `page_index` is the group's FIRST source
4678
+ page; the group covers `page_index` .. `page_index + page_groups
4679
+ - 1`, and the last group ends at the document's last page.
4644
4680
  example: 1
4645
4681
  position:
4646
4682
  type: integer
@@ -4735,7 +4771,7 @@ components:
4735
4771
  description: |
4736
4772
  Optional advisory reason. Free-form string; not enumerated.
4737
4773
  Examples: `all jobs completed successfully`,
4738
- `next reservation exceeded available_credits` (when
4774
+ `no active reservation at a publish boundary` (when
4739
4775
  transitioning to `paused_insufficient_credits`),
4740
4776
  `caller requested cancel`, `paused_insufficient_credits
4741
4777
  past expires_at`, `dispatch timeout`.
@@ -4859,13 +4895,13 @@ components:
4859
4895
  x-string-vocabulary: advisory
4860
4896
  description: |
4861
4897
  Advisory explanation for `re_encode_decision` (e.g.
4862
- `all_inputs_compatible`, `explicit_always_mode`,
4863
- `input_codec_mismatch`, `input_framerate_mismatch`).
4898
+ `compatible_inputs`, `always_mode_forces_re_encode`,
4899
+ `input_video_codec_mismatch`, `long_form_stream_copy`).
4864
4900
  Free-form string — not an enum — so the Lambda can emit
4865
4901
  human-readable diagnostics that evolve without contract
4866
4902
  churn (compatibility-probe algorithm stays opaque per
4867
4903
  plan v5 §F8.2). Per ticket I16-CONS.
4868
- example: input_codec_mismatch
4904
+ example: input_video_codec_mismatch
4869
4905
  # COGS AWS-cost metrics (ticket 2cacyYNE) — the real per-op AWS-cost
4870
4906
  # inputs the API's COGS record consumes (emitted by lambdas yJe65EMa,
4871
4907
  # surfaced by api MWssQbFS), replacing the wall-clock/bytes COGS proxy
@@ -5326,6 +5362,84 @@ components:
5326
5362
  contract on the OpenAPI side; the prober reports the
5327
5363
  page-1 horizontal DPI when the document declares it,
5328
5364
  otherwise omits the field.
5365
+ # STREAM TOPOLOGY + CONCAT ATTRIBUTES (lGeDDi4V, for MjzzPCWt): what the
5366
+ # API needs to refuse a non-concat-uniform long-form merge at create.
5367
+ # Defined with the SAME semantics as compression_lambdas' merge gate
5368
+ # (re_encode.rs TopologyCounts / classify_non_uniform), or the
5369
+ # create-time refusal and the worker gate would disagree. All OPTIONAL:
5370
+ # a prober that has not emitted them yet simply omits them.
5371
+ video_stream_count:
5372
+ type: integer
5373
+ minimum: 0
5374
+ description: Streams whose ffprobe `codec_type` is `video`.
5375
+ audio_stream_count:
5376
+ type: integer
5377
+ minimum: 0
5378
+ description: Streams whose ffprobe `codec_type` is `audio`.
5379
+ other_stream_count:
5380
+ type: integer
5381
+ minimum: 0
5382
+ description: |
5383
+ Every other stream: `codec_type` subtitle, data, attachment,
5384
+ or unknown — the worker gate's `other` bucket.
5385
+ stream_order:
5386
+ type: array
5387
+ items:
5388
+ type: string
5389
+ enum: [video, audio, other]
5390
+ description: |
5391
+ Per stream index, in container order, its kind (`other` as
5392
+ above). Two inputs are order-compatible iff these are equal.
5393
+ r_frame_rate:
5394
+ type: string
5395
+ pattern: '^[0-9]+/[0-9]+$'
5396
+ description: |
5397
+ ffprobe `r_frame_rate` of the video stream, raw (`30000/1001`;
5398
+ ffprobe's `0/0` is carried as-is and means UNUSABLE). NOT the
5399
+ average rate in `fps`, which drifts between concat-uniform
5400
+ clips. **The worker's frame-rate rule, which a create-time
5401
+ comparison must reproduce exactly:** (1) `r_frame_rate` and
5402
+ `avg_frame_rate` must each be present on all inputs or absent
5403
+ on all (else `input_metadata_inconsistent`); (2) if every
5404
+ input has a usable `r_frame_rate`, compare those as parsed
5405
+ rationals; (3) otherwise compare `avg_frame_rate` as parsed
5406
+ rationals. Both comparisons are by VALUE (`60/2` equals `30/1`),
5407
+ never by string.
5408
+ avg_frame_rate:
5409
+ type: string
5410
+ pattern: '^[0-9]+/[0-9]+$'
5411
+ description: |
5412
+ ffprobe `avg_frame_rate` of the video stream, raw rational.
5413
+ Presence-checked always; compared only as the fallback in the
5414
+ `r_frame_rate` rule. `fps` is its lossy numeric form.
5415
+ pix_fmt:
5416
+ type: string
5417
+ x-string-vocabulary: none
5418
+ description: ffprobe `pix_fmt` of the video stream (e.g. `yuv420p`).
5419
+ sar:
5420
+ type: string
5421
+ pattern: '^[0-9]+:[0-9]+$'
5422
+ description: Sample aspect ratio of the video stream (`1:1`).
5423
+ video_time_base:
5424
+ type: string
5425
+ pattern: '^[0-9]+/[0-9]+$'
5426
+ description: ffprobe `time_base` of the video stream (`1/30000`).
5427
+ audio_time_base:
5428
+ type: string
5429
+ pattern: '^[0-9]+/[0-9]+$'
5430
+ description: ffprobe `time_base` of the audio stream (`1/48000`).
5431
+ codec_tag:
5432
+ type: string
5433
+ x-string-vocabulary: none
5434
+ description: ffprobe `codec_tag_string` of the video stream (e.g. `avc1`).
5435
+ profile:
5436
+ type: string
5437
+ x-string-vocabulary: none
5438
+ description: ffprobe `profile` of the video stream (e.g. `High`).
5439
+ sample_fmt:
5440
+ type: string
5441
+ x-string-vocabulary: none
5442
+ description: ffprobe `sample_fmt` of the audio stream (e.g. `fltp`).
5329
5443
  probed_at:
5330
5444
  type: string
5331
5445
  format: date-time
@@ -5641,12 +5755,23 @@ components:
5641
5755
  ReEncodeDecision:
5642
5756
  type: string
5643
5757
  description: |
5644
- Path chosen for `merge.video` when `re_encode_mode=auto`.
5645
- Server reports the actual path so callers can see why
5646
- `auto` took the slow path. Absent for non-`merge.video`
5647
- operations and for `merge.video` when `re_encode_mode` is
5648
- `always` or `never` (path was caller-fixed). Per ticket
5649
- I16-CONS (Trello 7nCZXEru). Workflow-create-time surface
5758
+ Path the worker actually took for a SUCCESSFUL `merge.video`,
5759
+ reported in EVERY `re_encode_mode`: `always` reports `re_encode`;
5760
+ `never` reports `stream_copy`; `auto` reports whichever path it
5761
+ chose. Absent for non-`merge.video` operations and on any failed
5762
+ operation, even one that carries other metrics such as sizes or
5763
+ cost figures (for example a `never`
5764
+ request whose inputs need a re-encode, or a long-form merge the
5765
+ uniformity gate refuses before the path is decided). Per ticket I16-CONS (Trello
5766
+ 7nCZXEru).
5767
+
5768
+ ⚠️ An earlier revision said the field was ABSENT under `always` /
5769
+ `never`. The worker never behaved that way (it reports the path
5770
+ in every mode), and the same contract listed an `always`-mode
5771
+ reason as an example, so the text contradicted itself. The
5772
+ worker's behaviour is the canonical one (ruled 2026-09-24 on
5773
+ compression_e2e's report); a consumer MUST NOT assert absence
5774
+ on a successful merge under a caller-fixed mode. Workflow-create-time surface
5650
5775
  on `processing_plan.jobs[]` lands with I15-CONS
5651
5776
  (Trello YZpBKzOM).
5652
5777
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "capabilities_profile": "baseline",
3
- "capabilities_version": 205,
3
+ "capabilities_version": 216,
4
4
  "endpoints": {
5
5
  "DELETE /api/auth/account": {
6
6
  "auth": "required",
@@ -1228,7 +1228,7 @@
1228
1228
  },
1229
1229
  "quality": {
1230
1230
  "default": 80,
1231
- "description": "Compression quality (1 = smallest file, 100 = best quality). For animated GIF this is honoured but real-world size reduction is typically small.",
1231
+ "description": "Compression quality (1 = smallest file, 100 = best quality). For animated GIF this is honoured but real-world size reduction is typically small. Ignored when a TIFF stays a TIFF: it is re-encoded losslessly, so this setting has no effect on a TIFF output. It does apply when a TIFF is converted to another format (for example WebP).",
1232
1232
  "honored_on": [
1233
1233
  "same_format"
1234
1234
  ],
@@ -1691,10 +1691,8 @@
1691
1691
  },
1692
1692
  "optimization_level": {
1693
1693
  "default": 3,
1694
- "description": "PNG optimization effort (0-6). Higher = smaller file, slower encode. Default 3.",
1695
- "honored_on": [
1696
- "same_format"
1697
- ],
1694
+ "description": "Currently has no effect on PNG output: it is accepted and ignored.",
1695
+ "honored_on": [],
1698
1696
  "max": 6,
1699
1697
  "min": 0,
1700
1698
  "type": "integer"
@@ -1720,7 +1718,7 @@
1720
1718
  },
1721
1719
  "quality": {
1722
1720
  "default": 80,
1723
- "description": "Compression quality (1-100). For PNG this is the SINGLE lossy/lossless control: `quality` < 100 applies lossy palette quantization (the value is the quantization level), while `quality: 100` keeps the PNG lossless (lossless optimisation only \u2014 tune the lossless effort via `optimization_level`). 1 = smallest file, 100 = best quality / lossless. There is no separate lossy/lossless toggle for PNG \u2014 it is purely quality-driven.",
1721
+ "description": "Compression quality (1-100). PNG compression reduces the image to a palette of at most 256 colours at every quality setting; this is what makes PNGs smaller. 1 = smallest file, 100 = closest to the original. No value is guaranteed lossless, including 100: when an image with more than 256 colours (a photo, a gradient) is made smaller, it loses some colour detail. If compressing would not make the file smaller, the original is returned unchanged.",
1724
1722
  "honored_on": [
1725
1723
  "same_format"
1726
1724
  ],
@@ -3796,6 +3794,40 @@
3796
3794
  "max_total_duration": "PT24H",
3797
3795
  "max_total_input_size_bytes": 5000000000
3798
3796
  },
3797
+ "input_uniformity": {
3798
+ "attributes": {
3799
+ "audio": [
3800
+ "codec",
3801
+ "sample_rate",
3802
+ "channels",
3803
+ "channel_layout",
3804
+ "sample_fmt",
3805
+ "timebase"
3806
+ ],
3807
+ "field_presence": [
3808
+ "input_metadata_inconsistent"
3809
+ ],
3810
+ "video": [
3811
+ "codec",
3812
+ "codec_tag",
3813
+ "framerate",
3814
+ "pix_fmt",
3815
+ "profile",
3816
+ "resolution",
3817
+ "sar",
3818
+ "timebase"
3819
+ ]
3820
+ },
3821
+ "refusal": "INPUTS_NOT_CONCAT_UNIFORM",
3822
+ "structural": [
3823
+ "input_count_below_minimum",
3824
+ "input_topology_not_single_video",
3825
+ "input_topology_multi_audio",
3826
+ "input_topology_extra_streams",
3827
+ "input_stream_topology_mismatch",
3828
+ "input_stream_order_mismatch"
3829
+ ]
3830
+ },
3799
3831
  "per_tier_constraints": {
3800
3832
  "enterprise": {
3801
3833
  "max_total_input_size_bytes": 120000000000
@@ -3915,7 +3947,7 @@
3915
3947
  "split": {
3916
3948
  "availability": "beta",
3917
3949
  "default": false,
3918
- "description": "Fan one input file into N outputs across GIF, PDF, audio, and\nvideo MIME families. Single-input \u2014 one input file per job, fanned\ninto N outputs per the per-mime-group catalog. Mirrors the\n`merge` / `convert` catalog-split-by-mime-group pattern.\n\n**Three shared modes** (audio + video; the mode discriminator\ngates which option applies per the `depends_on` rules in this\nschema):\n- `interval`: split every N numeric-seconds.\n- `count`: split into N equal-duration pieces (integer 2..=200).\n- `cut_points`: explicit cut points in numeric-seconds (strictly\n increasing, no duplicates, each > 0 and < probed duration).\n\n**Plus an audio-only `silence` mode** (`beta`, gated by the\n`silence_mode_audio` feature): cut at detected silence gaps via\nserver-side silence detection. Video stays three-mode.\n\n**GIF + PDF use range-based selection** instead of three modes:\n- GIF (`image_gif`): `frame_range` REQUIRED + `output_format`\n enum {png,webp,jpg}.\n- PDF (`document_pdf`): `page_range` OR `page_groups` (mutually\n exclusive per `depends_on`).\n\n**Wire format**: numeric seconds (floats allowed for sub-second\nprecision). NOT ISO 8601 duration strings. Matches common\nvideo-tooling conventions.\n\n**200-output hard cap** (`OperationResult.outputs[].maxItems:\n200`). Preflight rejects\nrequests exceeding this BEFORE work as `invalid_options` (422).\nCap math by mode:\n- `interval`: `ceil(probed_duration / interval) <= 200`\n- `count`: enforced by the option's `min: 2 max: 200` range\n- `cut_points`: `cut_points.len() + 1 <= 200`\n- `silence` (audio): resolved segment count (detected gaps + 1)\n `<= 200`; preflight rejects as `invalid_options` (422)\n- PDF: resolved page count after expansion `<= 200`\n (cross-ref [`WgCqnMRa`](https://trello.com/c/WgCqnMRa))\n- GIF: resolved frame count after expansion `<= 200`\n\n**Output naming (S3 object key)**: the object-key leaf is 3-digit\nzero-padded \u2014 `output-001` .. `output-200` (ADR-0014 \u00a7D9). This binds the\n**S3 object key**, NOT the user-facing download filename \u2014 the API\nsynthesises that separately (see `OperationDownload.filename` in\n`openapi/api.yaml`). Only the **3-digit zero-padding** follows the convert\nPDF\u2192N precedent \u2014 convert keys are `page-NNN.ext`, split keys are\n`output-NNN.ext`.\n\n**Output envelope binding**:\n- `image_gif`: `PositionIndexed` (frame stream-position 0-based\n ordinal)\n- `document_pdf`: `PageIndexed` (1-based literal source page number).\n **`mode: page_range` only** \u2014 each output is one page, so `page_index` is\n that page. For **`mode: page_groups`** an output spans multiple source\n pages, so a single `page_index` cannot name them all; that grouped-output\n semantics is NOT specified by this correction and is deferred (do not\n assume it is the group's first page \u2014 that is unverified).\n- `audio`: `PositionIndexed` (cut stream-position ordinal)\n- `video`: `PositionIndexed` (cut stream-position ordinal)\n\n**`precision` flag** (audio + video only): `fast` (default) =\npacket-boundary approximate cuts; `exact` = re-encode-aligned\nprecise cuts (`planned` \u2014 the API refuses it at create until the\nre-encode path is priced). Mime_group scoping is the gate \u2014 precision does\nNOT apply to GIF or PDF (frame extraction is exact and PDF page\nselection is exact by definition).\n\n**Long-form video** routes to a separate long-form processing\npath (same `split` OperationType; routing via `processing_class`).\nNo schema-side discriminator beyond MIME detection +\n`processing_class`.\n\n`availability: beta` for the `audio` and `video` mime_groups\n(shape-stable + opt-in, MUST NOT 422). Video activates **both\nclasses**: `video.processing_class.short_form` AND `long_form` are\n`beta`. The `image_gif` and `document_pdf` mime_groups stay\n`availability: planned` until their cross-repo backend support ships;\ndispatch returns `feature_not_available` (422) for the still-planned\ngroups/classes until then.\n",
3950
+ "description": "Fan one input file into N outputs across GIF, PDF, audio, and\nvideo MIME families. Single-input \u2014 one input file per job, fanned\ninto N outputs per the per-mime-group catalog. Mirrors the\n`merge` / `convert` catalog-split-by-mime-group pattern.\n\n**Three shared modes** (audio + video; the mode discriminator\ngates which option applies per the `depends_on` rules in this\nschema):\n- `interval`: split every N numeric-seconds.\n- `count`: split into N equal-duration pieces (integer 2..=200).\n- `cut_points`: explicit cut points in numeric-seconds (strictly\n increasing, no duplicates, each > 0 and < probed duration).\n\n**Plus an audio-only `silence` mode** (`beta`, gated by the\n`silence_mode_audio` feature): cut at detected silence gaps via\nserver-side silence detection. Video stays three-mode.\n\n**GIF + PDF use range-based selection** instead of three modes:\n- GIF (`image_gif`): `frame_range` REQUIRED + `output_format`\n enum {png,webp,jpg}.\n- PDF (`document_pdf`): `page_range` OR `page_groups` (mutually\n exclusive per `depends_on`).\n\n**Wire format**: numeric seconds (floats allowed for sub-second\nprecision). NOT ISO 8601 duration strings. Matches common\nvideo-tooling conventions.\n\n**200-output hard cap** (`OperationResult.outputs[].maxItems:\n200`). Preflight rejects\nrequests exceeding this BEFORE work as `invalid_options` (422).\nCap math by mode:\n- `interval`: `ceil(probed_duration / interval) <= 200`\n- `count`: enforced by the option's `min: 2 max: 200` range\n- `cut_points`: `cut_points.len() + 1 <= 200`\n- `silence` (audio): resolved segment count (detected gaps + 1)\n `<= 200`; preflight rejects as `invalid_options` (422)\n- PDF: resolved page count after expansion `<= 200`\n (cross-ref [`WgCqnMRa`](https://trello.com/c/WgCqnMRa))\n- GIF: resolved frame count after expansion `<= 200`\n\n**Output naming (S3 object key)**: the object-key leaf is 3-digit\nzero-padded \u2014 `output-001` .. `output-200` (ADR-0014 \u00a7D9). This binds the\n**S3 object key**, NOT the user-facing download filename \u2014 the API\nsynthesises that separately (see `OperationDownload.filename` in\n`openapi/api.yaml`). Only the **3-digit zero-padding** follows the convert\nPDF\u2192N precedent \u2014 convert keys are `page-NNN.ext`, split keys are\n`output-NNN.ext`.\n\n**Output envelope binding**:\n- `image_gif`: `PositionIndexed` (frame stream-position 0-based\n ordinal)\n- `document_pdf`: `PageIndexed` (1-based literal source page number).\n With **`mode: page_range`** each output is one page, so `page_index` is\n that page. With **`mode: page_groups`** each output is a group of\n consecutive pages and `page_index` is the group's FIRST source page;\n the group covers `page_index` .. `page_index + page_groups - 1`, and\n the last group ends at the document's last page (so it may be\n shorter). Verified in the worker, not assumed: `compression_lambdas`\n `crates/split/src/processor.rs` passes each range's START page as the\n index, over ranges from `resolve_page_groups` (`pdf_range.rs`, tests\n `page_groups_remainder` / `page_groups_size_larger_than_total`).\n Specified 2026-09-25 (card `jGTLrpzK`); the group stays `planned`\n until a production record exists.\n- `audio`: `PositionIndexed` (cut stream-position ordinal)\n- `video`: `PositionIndexed` (cut stream-position ordinal)\n\n**`precision` flag** (audio + video only): `fast` (default) =\npacket-boundary approximate cuts; `exact` = re-encode-aligned\nprecise cuts (`planned` \u2014 the API refuses it at create until the\nre-encode path is priced). Mime_group scoping is the gate \u2014 precision does\nNOT apply to GIF or PDF (frame extraction is exact and PDF page\nselection is exact by definition).\n\n**Long-form video** routes to a separate long-form processing\npath (same `split` OperationType; routing via `processing_class`).\nNo schema-side discriminator beyond MIME detection +\n`processing_class`.\n\n`availability: beta` for the `audio` and `video` mime_groups\n(shape-stable + opt-in, MUST NOT 422). Video activates **both\nclasses**: `video.processing_class.short_form` AND `long_form` are\n`beta`. The `image_gif` and `document_pdf` mime_groups stay\n`availability: planned` until their cross-repo backend support ships;\ndispatch returns `feature_not_available` (422) for the still-planned\ngroups/classes until then.\n",
3919
3951
  "features": {
3920
3952
  "silence_mode_audio": {
3921
3953
  "availability": "beta",
@@ -5125,6 +5157,39 @@
5125
5157
  "max_input_duration": "PT5M",
5126
5158
  "max_input_size_bytes": 524288000,
5127
5159
  "max_output_size_bytes": 524288000
5160
+ },
5161
+ "resolution_bands": {
5162
+ "gt_1080p": {
5163
+ "basis": "not_served"
5164
+ },
5165
+ "le_720p": {
5166
+ "basis": "measured",
5167
+ "constraints": {
5168
+ "max_input_duration": "PT4M35S"
5169
+ },
5170
+ "derivation": {
5171
+ "cap_s": 600,
5172
+ "intercept_s": 3.0,
5173
+ "slope_s_per_s": 2.167
5174
+ }
5175
+ },
5176
+ "p1080": {
5177
+ "basis": "measured",
5178
+ "constraints": {
5179
+ "max_input_duration": "PT2M3S"
5180
+ },
5181
+ "derivation": {
5182
+ "cap_s": 600,
5183
+ "intercept_s": -3.0,
5184
+ "slope_s_per_s": 4.867
5185
+ }
5186
+ },
5187
+ "unknown": {
5188
+ "basis": "ruled",
5189
+ "constraints": {
5190
+ "max_input_duration": "PT4M35S"
5191
+ }
5192
+ }
5128
5193
  }
5129
5194
  }
5130
5195
  }
@@ -5236,7 +5301,7 @@
5236
5301
  "sole_op": true
5237
5302
  }
5238
5303
  },
5239
- "schema_version": "2.211.0",
5304
+ "schema_version": "2.213.0",
5240
5305
  "source_commit": null,
5241
5306
  "user_tier": null,
5242
5307
  "workflow_features": {