@giveitsmaller/contracts 0.48.0 → 0.51.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 (488) hide show
  1. package/accepted-options/accepted-options.json +31 -54
  2. package/accepted-options/image-output-routes.json +12 -22
  3. package/asyncapi/events.yaml +41 -11
  4. package/availability/availability.json +146 -265
  5. package/dist/asyncapi/OperationMetrics.d.ts +2 -0
  6. package/dist/openapi/models/AccountLimitEntry.d.ts +1 -1
  7. package/dist/openapi/models/AccountLimitEntry.js +1 -1
  8. package/dist/openapi/models/AccountLimits.d.ts +1 -1
  9. package/dist/openapi/models/AccountLimits.js +1 -1
  10. package/dist/openapi/models/AccountLimitsLimits.d.ts +1 -1
  11. package/dist/openapi/models/AccountLimitsLimits.js +1 -1
  12. package/dist/openapi/models/AccountLimitsSuccessEnvelope.d.ts +1 -1
  13. package/dist/openapi/models/AccountLimitsSuccessEnvelope.js +1 -1
  14. package/dist/openapi/models/AudioWatermarkDecodeRequest.d.ts +1 -1
  15. package/dist/openapi/models/AudioWatermarkDecodeRequest.js +1 -1
  16. package/dist/openapi/models/AudioWatermarkDecodeResponse.d.ts +1 -1
  17. package/dist/openapi/models/AudioWatermarkDecodeResponse.js +1 -1
  18. package/dist/openapi/models/AuthErrorResponse.d.ts +1 -1
  19. package/dist/openapi/models/AuthErrorResponse.js +1 -1
  20. package/dist/openapi/models/AuthErrorType.d.ts +1 -1
  21. package/dist/openapi/models/AuthErrorType.js +1 -1
  22. package/dist/openapi/models/AuthRejectionEnvelope.d.ts +1 -1
  23. package/dist/openapi/models/AuthRejectionEnvelope.js +1 -1
  24. package/dist/openapi/models/AvailabilityValue.d.ts +1 -1
  25. package/dist/openapi/models/AvailabilityValue.js +1 -1
  26. package/dist/openapi/models/BalanceExhaustedResponse.d.ts +1 -1
  27. package/dist/openapi/models/BalanceExhaustedResponse.js +1 -1
  28. package/dist/openapi/models/BalanceExhaustedResponseAllOfLinks.d.ts +1 -1
  29. package/dist/openapi/models/BalanceExhaustedResponseAllOfLinks.js +1 -1
  30. package/dist/openapi/models/BillingCheckoutRequest.d.ts +75 -0
  31. package/dist/openapi/models/BillingCheckoutRequest.js +64 -0
  32. package/dist/openapi/models/BillingCheckoutSession.d.ts +42 -0
  33. package/dist/openapi/models/BillingCheckoutSession.js +47 -0
  34. package/dist/openapi/models/BillingCheckoutSuccessEnvelope.d.ts +46 -0
  35. package/dist/openapi/models/BillingCheckoutSuccessEnvelope.js +54 -0
  36. package/dist/openapi/models/CallbackEventType.d.ts +1 -1
  37. package/dist/openapi/models/CallbackEventType.js +1 -1
  38. package/dist/openapi/models/CapabilityCondition.d.ts +1 -1
  39. package/dist/openapi/models/CapabilityCondition.js +1 -1
  40. package/dist/openapi/models/CapabilityConditionOneOf.d.ts +1 -1
  41. package/dist/openapi/models/CapabilityConditionOneOf.js +1 -1
  42. package/dist/openapi/models/CapabilityConditionOneOf1.d.ts +1 -1
  43. package/dist/openapi/models/CapabilityConditionOneOf1.js +1 -1
  44. package/dist/openapi/models/CapabilityConditionOneOf2.d.ts +1 -1
  45. package/dist/openapi/models/CapabilityConditionOneOf2.js +1 -1
  46. package/dist/openapi/models/CapabilityConditionOneOf3.d.ts +1 -1
  47. package/dist/openapi/models/CapabilityConditionOneOf3.js +1 -1
  48. package/dist/openapi/models/CapabilityConditionOneOf4.d.ts +1 -1
  49. package/dist/openapi/models/CapabilityConditionOneOf4.js +1 -1
  50. package/dist/openapi/models/CapabilityConditionOneOf5.d.ts +1 -1
  51. package/dist/openapi/models/CapabilityConditionOneOf5.js +1 -1
  52. package/dist/openapi/models/CapabilityConditionOneOf6.d.ts +1 -1
  53. package/dist/openapi/models/CapabilityConditionOneOf6.js +1 -1
  54. package/dist/openapi/models/CapabilityConstraint.d.ts +1 -1
  55. package/dist/openapi/models/CapabilityConstraint.js +1 -1
  56. package/dist/openapi/models/CapabilityInputSpec.d.ts +1 -1
  57. package/dist/openapi/models/CapabilityInputSpec.js +1 -1
  58. package/dist/openapi/models/CapabilityProduces.d.ts +1 -1
  59. package/dist/openapi/models/CapabilityProduces.js +1 -1
  60. package/dist/openapi/models/CapabilityProducesOneOf.d.ts +1 -1
  61. package/dist/openapi/models/CapabilityProducesOneOf.js +1 -1
  62. package/dist/openapi/models/CapabilityProducesOneOf1.d.ts +1 -1
  63. package/dist/openapi/models/CapabilityProducesOneOf1.js +1 -1
  64. package/dist/openapi/models/CapabilityProducesOneOf2.d.ts +1 -1
  65. package/dist/openapi/models/CapabilityProducesOneOf2.js +1 -1
  66. package/dist/openapi/models/ChangePasswordRequest.d.ts +1 -1
  67. package/dist/openapi/models/ChangePasswordRequest.js +1 -1
  68. package/dist/openapi/models/CodegenSource.d.ts +1 -1
  69. package/dist/openapi/models/CodegenSource.js +1 -1
  70. package/dist/openapi/models/CodegenSourceInput.d.ts +1 -1
  71. package/dist/openapi/models/CodegenSourceInput.js +1 -1
  72. package/dist/openapi/models/CodegenSourceJob.d.ts +1 -1
  73. package/dist/openapi/models/CodegenSourceJob.js +1 -1
  74. package/dist/openapi/models/CodegenSourceJobSource.d.ts +1 -1
  75. package/dist/openapi/models/CodegenSourceJobSource.js +1 -1
  76. package/dist/openapi/models/CodegenSourceOperation.d.ts +1 -1
  77. package/dist/openapi/models/CodegenSourceOperation.js +1 -1
  78. package/dist/openapi/models/CodegenUploadPlaceholder.d.ts +1 -1
  79. package/dist/openapi/models/CodegenUploadPlaceholder.js +1 -1
  80. package/dist/openapi/models/CompositionPlan.d.ts +1 -1
  81. package/dist/openapi/models/CompositionPlan.js +1 -1
  82. package/dist/openapi/models/CompositionPlanJob.d.ts +1 -1
  83. package/dist/openapi/models/CompositionPlanJob.js +1 -1
  84. package/dist/openapi/models/CompositionPlanOperation.d.ts +1 -1
  85. package/dist/openapi/models/CompositionPlanOperation.js +1 -1
  86. package/dist/openapi/models/ConfirmEmailChange200Response.d.ts +1 -1
  87. package/dist/openapi/models/ConfirmEmailChange200Response.js +1 -1
  88. package/dist/openapi/models/ConfirmEmailChange200ResponseData.d.ts +1 -1
  89. package/dist/openapi/models/ConfirmEmailChange200ResponseData.js +1 -1
  90. package/dist/openapi/models/ConfirmEmailChangeRequest.d.ts +1 -1
  91. package/dist/openapi/models/ConfirmEmailChangeRequest.js +1 -1
  92. package/dist/openapi/models/ConnectionSource.d.ts +1 -1
  93. package/dist/openapi/models/ConnectionSource.js +1 -1
  94. package/dist/openapi/models/ContactRequest.d.ts +1 -1
  95. package/dist/openapi/models/ContactRequest.js +1 -1
  96. package/dist/openapi/models/ContactSubject.d.ts +1 -1
  97. package/dist/openapi/models/ContactSubject.js +1 -1
  98. package/dist/openapi/models/ContactValidationErrorResponse.d.ts +1 -1
  99. package/dist/openapi/models/ContactValidationErrorResponse.js +1 -1
  100. package/dist/openapi/models/CreateApiKey201Response.d.ts +1 -1
  101. package/dist/openapi/models/CreateApiKey201Response.js +1 -1
  102. package/dist/openapi/models/CreateApiKey201ResponseData.d.ts +1 -1
  103. package/dist/openapi/models/CreateApiKey201ResponseData.js +1 -1
  104. package/dist/openapi/models/CreateApiKeyRequest.d.ts +1 -1
  105. package/dist/openapi/models/CreateApiKeyRequest.js +1 -1
  106. package/dist/openapi/models/CreateBillingCheckoutSession422Response.d.ts +23 -0
  107. package/dist/openapi/models/CreateBillingCheckoutSession422Response.js +51 -0
  108. package/dist/openapi/models/CreateExternalImport403Response.d.ts +1 -1
  109. package/dist/openapi/models/CreateExternalImport403Response.js +1 -1
  110. package/dist/openapi/models/CreateExternalImport422Response.d.ts +1 -1
  111. package/dist/openapi/models/CreateExternalImport422Response.js +1 -1
  112. package/dist/openapi/models/CreateWorkflow422Response.d.ts +1 -1
  113. package/dist/openapi/models/CreateWorkflow422Response.js +1 -1
  114. package/dist/openapi/models/CreditTransaction.d.ts +1 -1
  115. package/dist/openapi/models/CreditTransaction.js +1 -1
  116. package/dist/openapi/models/CreditTransactionSourceBucket.d.ts +1 -1
  117. package/dist/openapi/models/CreditTransactionSourceBucket.js +1 -1
  118. package/dist/openapi/models/CreditsBalanceResponse.d.ts +1 -1
  119. package/dist/openapi/models/CreditsBalanceResponse.js +1 -1
  120. package/dist/openapi/models/CreditsBalanceSuccessEnvelope.d.ts +1 -1
  121. package/dist/openapi/models/CreditsBalanceSuccessEnvelope.js +1 -1
  122. package/dist/openapi/models/CreditsUsageResponse.d.ts +1 -1
  123. package/dist/openapi/models/CreditsUsageResponse.js +1 -1
  124. package/dist/openapi/models/CreditsUsageSuccessEnvelope.d.ts +1 -1
  125. package/dist/openapi/models/CreditsUsageSuccessEnvelope.js +1 -1
  126. package/dist/openapi/models/Delivery.d.ts +1 -1
  127. package/dist/openapi/models/Delivery.js +1 -1
  128. package/dist/openapi/models/DeliveryOutputRef.d.ts +1 -1
  129. package/dist/openapi/models/DeliveryOutputRef.js +1 -1
  130. package/dist/openapi/models/DeliveryPlan.d.ts +1 -1
  131. package/dist/openapi/models/DeliveryPlan.js +1 -1
  132. package/dist/openapi/models/DeliveryPlanOutput.d.ts +1 -1
  133. package/dist/openapi/models/DeliveryPlanOutput.js +1 -1
  134. package/dist/openapi/models/DeliveryPlanReason.d.ts +1 -1
  135. package/dist/openapi/models/DeliveryPlanReason.js +1 -1
  136. package/dist/openapi/models/DeliverySelection.d.ts +1 -1
  137. package/dist/openapi/models/DeliverySelection.js +1 -1
  138. package/dist/openapi/models/DownloadBundle.d.ts +1 -1
  139. package/dist/openapi/models/DownloadBundle.js +1 -1
  140. package/dist/openapi/models/EmptySuccessEnvelope.d.ts +1 -1
  141. package/dist/openapi/models/EmptySuccessEnvelope.js +1 -1
  142. package/dist/openapi/models/EndpointProjection.d.ts +1 -1
  143. package/dist/openapi/models/EndpointProjection.js +1 -1
  144. package/dist/openapi/models/ErrorEnvelope.d.ts +1 -1
  145. package/dist/openapi/models/ErrorEnvelope.js +1 -1
  146. package/dist/openapi/models/EstimateQuality.d.ts +1 -1
  147. package/dist/openapi/models/EstimateQuality.js +1 -1
  148. package/dist/openapi/models/EstimateRange.d.ts +1 -1
  149. package/dist/openapi/models/EstimateRange.js +1 -1
  150. package/dist/openapi/models/ExternalDestination.d.ts +1 -1
  151. package/dist/openapi/models/ExternalDestination.js +1 -1
  152. package/dist/openapi/models/ExternalImportCreatedResponse.d.ts +1 -1
  153. package/dist/openapi/models/ExternalImportCreatedResponse.js +1 -1
  154. package/dist/openapi/models/ExternalImportCreatedSuccessEnvelope.d.ts +1 -1
  155. package/dist/openapi/models/ExternalImportCreatedSuccessEnvelope.js +1 -1
  156. package/dist/openapi/models/ExternalImportRequest.d.ts +1 -1
  157. package/dist/openapi/models/ExternalImportRequest.js +1 -1
  158. package/dist/openapi/models/ExternalImportToken.d.ts +1 -1
  159. package/dist/openapi/models/ExternalImportToken.js +1 -1
  160. package/dist/openapi/models/ExternalSource.d.ts +1 -1
  161. package/dist/openapi/models/ExternalSource.js +1 -1
  162. package/dist/openapi/models/FeatureNotAvailableResponse.d.ts +1 -1
  163. package/dist/openapi/models/FeatureNotAvailableResponse.js +1 -1
  164. package/dist/openapi/models/FeatureTierRestrictedResponse.d.ts +1 -1
  165. package/dist/openapi/models/FeatureTierRestrictedResponse.js +1 -1
  166. package/dist/openapi/models/FeatureViolation.d.ts +1 -1
  167. package/dist/openapi/models/FeatureViolation.js +1 -1
  168. package/dist/openapi/models/ForgotPasswordRequest.d.ts +1 -1
  169. package/dist/openapi/models/ForgotPasswordRequest.js +1 -1
  170. package/dist/openapi/models/ImageEncodeCapabilities.d.ts +1 -1
  171. package/dist/openapi/models/ImageEncodeCapabilities.js +1 -1
  172. package/dist/openapi/models/JobDefinition.d.ts +1 -1
  173. package/dist/openapi/models/JobDefinition.js +1 -1
  174. package/dist/openapi/models/JobDownload.d.ts +1 -1
  175. package/dist/openapi/models/JobDownload.js +1 -1
  176. package/dist/openapi/models/JobInputV2.d.ts +1 -1
  177. package/dist/openapi/models/JobInputV2.js +1 -1
  178. package/dist/openapi/models/JobMediaClass.d.ts +1 -1
  179. package/dist/openapi/models/JobMediaClass.js +1 -1
  180. package/dist/openapi/models/JobOutputSource.d.ts +1 -1
  181. package/dist/openapi/models/JobOutputSource.js +1 -1
  182. package/dist/openapi/models/JobResponse.d.ts +1 -1
  183. package/dist/openapi/models/JobResponse.js +1 -1
  184. package/dist/openapi/models/JobStatus.d.ts +1 -1
  185. package/dist/openapi/models/JobStatus.js +1 -1
  186. package/dist/openapi/models/JobType.d.ts +1 -1
  187. package/dist/openapi/models/JobType.js +1 -1
  188. package/dist/openapi/models/LivenessResponse.d.ts +1 -1
  189. package/dist/openapi/models/LivenessResponse.js +1 -1
  190. package/dist/openapi/models/LoginUser200Response.d.ts +1 -1
  191. package/dist/openapi/models/LoginUser200Response.js +1 -1
  192. package/dist/openapi/models/LoginUser200ResponseData.d.ts +1 -1
  193. package/dist/openapi/models/LoginUser200ResponseData.js +1 -1
  194. package/dist/openapi/models/LoginUser200ResponseDataUser.d.ts +1 -1
  195. package/dist/openapi/models/LoginUser200ResponseDataUser.js +1 -1
  196. package/dist/openapi/models/LoginUserRequest.d.ts +1 -1
  197. package/dist/openapi/models/LoginUserRequest.js +1 -1
  198. package/dist/openapi/models/LongFormConcurrencyLimitResponse.d.ts +1 -1
  199. package/dist/openapi/models/LongFormConcurrencyLimitResponse.js +1 -1
  200. package/dist/openapi/models/LongFormConcurrencyLimitResponseAllOfLinks.d.ts +1 -1
  201. package/dist/openapi/models/LongFormConcurrencyLimitResponseAllOfLinks.js +1 -1
  202. package/dist/openapi/models/MetadataResponse.d.ts +1 -1
  203. package/dist/openapi/models/MetadataResponse.js +1 -1
  204. package/dist/openapi/models/MetadataResponseDimensions.d.ts +1 -1
  205. package/dist/openapi/models/MetadataResponseDimensions.js +1 -1
  206. package/dist/openapi/models/MetadataResponseExif.d.ts +1 -1
  207. package/dist/openapi/models/MetadataResponseExif.js +1 -1
  208. package/dist/openapi/models/MetadataResponseExifGps.d.ts +1 -1
  209. package/dist/openapi/models/MetadataResponseExifGps.js +1 -1
  210. package/dist/openapi/models/MetadataSuccessEnvelope.d.ts +1 -1
  211. package/dist/openapi/models/MetadataSuccessEnvelope.js +1 -1
  212. package/dist/openapi/models/MimeGroupSchema.d.ts +1 -1
  213. package/dist/openapi/models/MimeGroupSchema.js +1 -1
  214. package/dist/openapi/models/MultiInputSource.d.ts +1 -1
  215. package/dist/openapi/models/MultiInputSource.js +1 -1
  216. package/dist/openapi/models/MultipartCompleteRequest.d.ts +1 -1
  217. package/dist/openapi/models/MultipartCompleteRequest.js +1 -1
  218. package/dist/openapi/models/MultipartCompleteRequestPartsInner.d.ts +1 -1
  219. package/dist/openapi/models/MultipartCompleteRequestPartsInner.js +1 -1
  220. package/dist/openapi/models/MultipartCompleteResponse.d.ts +1 -1
  221. package/dist/openapi/models/MultipartCompleteResponse.js +1 -1
  222. package/dist/openapi/models/MultipartCompleteSuccessEnvelope.d.ts +1 -1
  223. package/dist/openapi/models/MultipartCompleteSuccessEnvelope.js +1 -1
  224. package/dist/openapi/models/MultipartInitiateRequestMetadataHint.d.ts +1 -1
  225. package/dist/openapi/models/MultipartInitiateRequestMetadataHint.js +1 -1
  226. package/dist/openapi/models/MultipartInitiateResponse.d.ts +1 -1
  227. package/dist/openapi/models/MultipartInitiateResponse.js +1 -1
  228. package/dist/openapi/models/MultipartInitiateSuccessEnvelope.d.ts +1 -1
  229. package/dist/openapi/models/MultipartInitiateSuccessEnvelope.js +1 -1
  230. package/dist/openapi/models/MultipartKeepaliveResponse.d.ts +1 -1
  231. package/dist/openapi/models/MultipartKeepaliveResponse.js +1 -1
  232. package/dist/openapi/models/MultipartKeepaliveSuccessEnvelope.d.ts +1 -1
  233. package/dist/openapi/models/MultipartKeepaliveSuccessEnvelope.js +1 -1
  234. package/dist/openapi/models/MultipartPartListing.d.ts +1 -1
  235. package/dist/openapi/models/MultipartPartListing.js +1 -1
  236. package/dist/openapi/models/MultipartPresignRequest.d.ts +1 -1
  237. package/dist/openapi/models/MultipartPresignRequest.js +1 -1
  238. package/dist/openapi/models/MultipartPresignResponse.d.ts +1 -1
  239. package/dist/openapi/models/MultipartPresignResponse.js +1 -1
  240. package/dist/openapi/models/MultipartPresignSuccessEnvelope.d.ts +1 -1
  241. package/dist/openapi/models/MultipartPresignSuccessEnvelope.js +1 -1
  242. package/dist/openapi/models/MultipartStatusResponse.d.ts +1 -1
  243. package/dist/openapi/models/MultipartStatusResponse.js +1 -1
  244. package/dist/openapi/models/MultipartStatusSuccessEnvelope.d.ts +1 -1
  245. package/dist/openapi/models/MultipartStatusSuccessEnvelope.js +1 -1
  246. package/dist/openapi/models/OperationCapability.d.ts +1 -1
  247. package/dist/openapi/models/OperationCapability.js +1 -1
  248. package/dist/openapi/models/OperationDefinition.d.ts +1 -1
  249. package/dist/openapi/models/OperationDefinition.js +1 -1
  250. package/dist/openapi/models/OperationDownload.d.ts +27 -4
  251. package/dist/openapi/models/OperationDownload.js +5 -1
  252. package/dist/openapi/models/OperationInputModel.d.ts +2 -2
  253. package/dist/openapi/models/OperationInputModel.js +2 -2
  254. package/dist/openapi/models/OperationResponse.d.ts +1 -1
  255. package/dist/openapi/models/OperationResponse.js +1 -1
  256. package/dist/openapi/models/OperationResult.d.ts +1 -1
  257. package/dist/openapi/models/OperationResult.js +1 -1
  258. package/dist/openapi/models/OperationResultMetadata.d.ts +1 -1
  259. package/dist/openapi/models/OperationResultMetadata.js +1 -1
  260. package/dist/openapi/models/OperationResultMetrics.d.ts +28 -5
  261. package/dist/openapi/models/OperationResultMetrics.js +5 -1
  262. package/dist/openapi/models/OperationSchemaDefinition.d.ts +1 -1
  263. package/dist/openapi/models/OperationSchemaDefinition.js +1 -1
  264. package/dist/openapi/models/OperationStatus.d.ts +1 -1
  265. package/dist/openapi/models/OperationStatus.js +1 -1
  266. package/dist/openapi/models/OperationType.d.ts +3 -3
  267. package/dist/openapi/models/OperationType.js +3 -3
  268. package/dist/openapi/models/OperationsSchemaResponse.d.ts +1 -1
  269. package/dist/openapi/models/OperationsSchemaResponse.js +1 -1
  270. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeatures.d.ts +1 -1
  271. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeatures.js +1 -1
  272. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDelivery.d.ts +1 -1
  273. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDelivery.js +1 -1
  274. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliveryMode.d.ts +1 -1
  275. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliveryMode.js +1 -1
  276. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliverySelection.d.ts +1 -1
  277. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliverySelection.js +1 -1
  278. package/dist/openapi/models/OptionSchema.d.ts +1 -1
  279. package/dist/openapi/models/OptionSchema.js +1 -1
  280. package/dist/openapi/models/OutputProperties.d.ts +1 -1
  281. package/dist/openapi/models/OutputProperties.js +1 -1
  282. package/dist/openapi/models/OutputPropertiesIsAnimated.d.ts +1 -1
  283. package/dist/openapi/models/OutputPropertiesIsAnimated.js +1 -1
  284. package/dist/openapi/models/PerRoleCardinalityEntry.d.ts +1 -1
  285. package/dist/openapi/models/PerRoleCardinalityEntry.js +1 -1
  286. package/dist/openapi/models/PerValueAvailabilityEntry.d.ts +1 -1
  287. package/dist/openapi/models/PerValueAvailabilityEntry.js +1 -1
  288. package/dist/openapi/models/PresignedUrlPart.d.ts +1 -1
  289. package/dist/openapi/models/PresignedUrlPart.js +1 -1
  290. package/dist/openapi/models/ProbePendingResponse.d.ts +1 -1
  291. package/dist/openapi/models/ProbePendingResponse.js +1 -1
  292. package/dist/openapi/models/ProcessingClass.d.ts +1 -1
  293. package/dist/openapi/models/ProcessingClass.js +1 -1
  294. package/dist/openapi/models/ProcessingClassBandViolation.d.ts +1 -1
  295. package/dist/openapi/models/ProcessingClassBandViolation.js +1 -1
  296. package/dist/openapi/models/ProcessingClassConstraints.d.ts +1 -1
  297. package/dist/openapi/models/ProcessingClassConstraints.js +1 -1
  298. package/dist/openapi/models/ProcessingClassEntry.d.ts +1 -1
  299. package/dist/openapi/models/ProcessingClassEntry.js +1 -1
  300. package/dist/openapi/models/ProcessingClassExceedsBandResponse.d.ts +1 -1
  301. package/dist/openapi/models/ProcessingClassExceedsBandResponse.js +1 -1
  302. package/dist/openapi/models/ProcessingClassHint.d.ts +1 -1
  303. package/dist/openapi/models/ProcessingClassHint.js +1 -1
  304. package/dist/openapi/models/ProcessingClassReason.d.ts +1 -1
  305. package/dist/openapi/models/ProcessingClassReason.js +1 -1
  306. package/dist/openapi/models/ProcessingClassRejectReason.d.ts +1 -1
  307. package/dist/openapi/models/ProcessingClassRejectReason.js +1 -1
  308. package/dist/openapi/models/ProcessingPlan.d.ts +1 -1
  309. package/dist/openapi/models/ProcessingPlan.js +1 -1
  310. package/dist/openapi/models/ProcessingPlanJob.d.ts +1 -1
  311. package/dist/openapi/models/ProcessingPlanJob.js +1 -1
  312. package/dist/openapi/models/ReEncodeDecision.d.ts +1 -1
  313. package/dist/openapi/models/ReEncodeDecision.js +1 -1
  314. package/dist/openapi/models/ReadinessResponse.d.ts +1 -1
  315. package/dist/openapi/models/ReadinessResponse.js +1 -1
  316. package/dist/openapi/models/RegisterUser422Response.d.ts +1 -1
  317. package/dist/openapi/models/RegisterUser422Response.js +1 -1
  318. package/dist/openapi/models/RegisterUserRequest.d.ts +1 -1
  319. package/dist/openapi/models/RegisterUserRequest.js +1 -1
  320. package/dist/openapi/models/ResetPasswordRequest.d.ts +1 -1
  321. package/dist/openapi/models/ResetPasswordRequest.js +1 -1
  322. package/dist/openapi/models/ResponseEnvelope.d.ts +1 -1
  323. package/dist/openapi/models/ResponseEnvelope.js +1 -1
  324. package/dist/openapi/models/RetryResponse.d.ts +1 -1
  325. package/dist/openapi/models/RetryResponse.js +1 -1
  326. package/dist/openapi/models/RetrySuccessEnvelope.d.ts +1 -1
  327. package/dist/openapi/models/RetrySuccessEnvelope.js +1 -1
  328. package/dist/openapi/models/SseCompletionBase.d.ts +1 -1
  329. package/dist/openapi/models/SseCompletionBase.js +1 -1
  330. package/dist/openapi/models/SseEventType.d.ts +1 -1
  331. package/dist/openapi/models/SseEventType.js +1 -1
  332. package/dist/openapi/models/SseJobCompletedData.d.ts +1 -1
  333. package/dist/openapi/models/SseJobCompletedData.js +1 -1
  334. package/dist/openapi/models/SseJobFailedData.d.ts +1 -1
  335. package/dist/openapi/models/SseJobFailedData.js +1 -1
  336. package/dist/openapi/models/SseMultiOutputCompletion.d.ts +1 -1
  337. package/dist/openapi/models/SseMultiOutputCompletion.js +1 -1
  338. package/dist/openapi/models/SseMultiOutputCompletionMetrics.d.ts +1 -1
  339. package/dist/openapi/models/SseMultiOutputCompletionMetrics.js +1 -1
  340. package/dist/openapi/models/SseMultiOutputCompletionWithKind.d.ts +1 -1
  341. package/dist/openapi/models/SseMultiOutputCompletionWithKind.js +1 -1
  342. package/dist/openapi/models/SseMultiOutputResultEntry.d.ts +1 -1
  343. package/dist/openapi/models/SseMultiOutputResultEntry.js +1 -1
  344. package/dist/openapi/models/SseOperationCompletedData.d.ts +1 -1
  345. package/dist/openapi/models/SseOperationCompletedData.js +1 -1
  346. package/dist/openapi/models/SseOperationCompletionResult.d.ts +1 -1
  347. package/dist/openapi/models/SseOperationCompletionResult.js +1 -1
  348. package/dist/openapi/models/SseOperationFailedData.d.ts +1 -1
  349. package/dist/openapi/models/SseOperationFailedData.js +1 -1
  350. package/dist/openapi/models/SseOperationProgressData.d.ts +1 -1
  351. package/dist/openapi/models/SseOperationProgressData.js +1 -1
  352. package/dist/openapi/models/SseSingleOutputCompletion.d.ts +1 -1
  353. package/dist/openapi/models/SseSingleOutputCompletion.js +1 -1
  354. package/dist/openapi/models/SseWorkflowTerminalData.d.ts +1 -1
  355. package/dist/openapi/models/SseWorkflowTerminalData.js +1 -1
  356. package/dist/openapi/models/TierRestrictionKind.d.ts +1 -1
  357. package/dist/openapi/models/TierRestrictionKind.js +1 -1
  358. package/dist/openapi/models/TierRestrictionResponse.d.ts +1 -1
  359. package/dist/openapi/models/TierRestrictionResponse.js +1 -1
  360. package/dist/openapi/models/UpdateProfile200Response.d.ts +1 -1
  361. package/dist/openapi/models/UpdateProfile200Response.js +1 -1
  362. package/dist/openapi/models/UpdateProfile200ResponseData.d.ts +1 -1
  363. package/dist/openapi/models/UpdateProfile200ResponseData.js +1 -1
  364. package/dist/openapi/models/UpdateProfile422Response.d.ts +1 -1
  365. package/dist/openapi/models/UpdateProfile422Response.js +1 -1
  366. package/dist/openapi/models/UpdateProfileRequest.d.ts +1 -1
  367. package/dist/openapi/models/UpdateProfileRequest.js +1 -1
  368. package/dist/openapi/models/UploadConstraintsApplied.d.ts +1 -1
  369. package/dist/openapi/models/UploadConstraintsApplied.js +1 -1
  370. package/dist/openapi/models/UploadDurationExceedsTierResponse.d.ts +1 -1
  371. package/dist/openapi/models/UploadDurationExceedsTierResponse.js +1 -1
  372. package/dist/openapi/models/UploadFile403Response.d.ts +1 -1
  373. package/dist/openapi/models/UploadFile403Response.js +1 -1
  374. package/dist/openapi/models/UploadFile422Response.d.ts +1 -1
  375. package/dist/openapi/models/UploadFile422Response.js +1 -1
  376. package/dist/openapi/models/UploadProbeMediaMetadata.d.ts +1 -1
  377. package/dist/openapi/models/UploadProbeMediaMetadata.js +1 -1
  378. package/dist/openapi/models/UploadProbeProcessingClass.d.ts +1 -1
  379. package/dist/openapi/models/UploadProbeProcessingClass.js +1 -1
  380. package/dist/openapi/models/UploadProbeResponse.d.ts +1 -1
  381. package/dist/openapi/models/UploadProbeResponse.js +1 -1
  382. package/dist/openapi/models/UploadProbeStatus.d.ts +1 -1
  383. package/dist/openapi/models/UploadProbeStatus.js +1 -1
  384. package/dist/openapi/models/UploadProbeSuccessEnvelope.d.ts +1 -1
  385. package/dist/openapi/models/UploadProbeSuccessEnvelope.js +1 -1
  386. package/dist/openapi/models/UploadResponse.d.ts +1 -1
  387. package/dist/openapi/models/UploadResponse.js +1 -1
  388. package/dist/openapi/models/UploadSizeExceedsTierResponse.d.ts +1 -1
  389. package/dist/openapi/models/UploadSizeExceedsTierResponse.js +1 -1
  390. package/dist/openapi/models/UploadSource.d.ts +1 -1
  391. package/dist/openapi/models/UploadSource.js +1 -1
  392. package/dist/openapi/models/UploadSuccessEnvelope.d.ts +1 -1
  393. package/dist/openapi/models/UploadSuccessEnvelope.js +1 -1
  394. package/dist/openapi/models/UploadThresholds.d.ts +1 -1
  395. package/dist/openapi/models/UploadThresholds.js +1 -1
  396. package/dist/openapi/models/UserTier.d.ts +1 -1
  397. package/dist/openapi/models/UserTier.js +1 -1
  398. package/dist/openapi/models/ValidationErrorEnvelope.d.ts +1 -1
  399. package/dist/openapi/models/ValidationErrorEnvelope.js +1 -1
  400. package/dist/openapi/models/ValidationErrorEnvelopeDetailsInner.d.ts +1 -1
  401. package/dist/openapi/models/ValidationErrorEnvelopeDetailsInner.js +1 -1
  402. package/dist/openapi/models/VerifyEmailRequest.d.ts +1 -1
  403. package/dist/openapi/models/VerifyEmailRequest.js +1 -1
  404. package/dist/openapi/models/WarningType.d.ts +1 -1
  405. package/dist/openapi/models/WarningType.js +1 -1
  406. package/dist/openapi/models/WebhookOperationContext.d.ts +1 -1
  407. package/dist/openapi/models/WebhookOperationContext.js +1 -1
  408. package/dist/openapi/models/WebhookPayload.d.ts +1 -1
  409. package/dist/openapi/models/WebhookPayload.js +1 -1
  410. package/dist/openapi/models/WorkflowCancelBillingEffect.d.ts +1 -1
  411. package/dist/openapi/models/WorkflowCancelBillingEffect.js +1 -1
  412. package/dist/openapi/models/WorkflowCancelResponse.d.ts +1 -1
  413. package/dist/openapi/models/WorkflowCancelResponse.js +1 -1
  414. package/dist/openapi/models/WorkflowCancelSuccessEnvelope.d.ts +1 -1
  415. package/dist/openapi/models/WorkflowCancelSuccessEnvelope.js +1 -1
  416. package/dist/openapi/models/WorkflowCreateRequest.d.ts +1 -1
  417. package/dist/openapi/models/WorkflowCreateRequest.js +1 -1
  418. package/dist/openapi/models/WorkflowCreateResponse.d.ts +1 -1
  419. package/dist/openapi/models/WorkflowCreateResponse.js +1 -1
  420. package/dist/openapi/models/WorkflowCreateSuccessEnvelope.d.ts +1 -1
  421. package/dist/openapi/models/WorkflowCreateSuccessEnvelope.js +1 -1
  422. package/dist/openapi/models/WorkflowCreditSummary.d.ts +22 -56
  423. package/dist/openapi/models/WorkflowCreditSummary.js +4 -24
  424. package/dist/openapi/models/WorkflowDownloadResponse.d.ts +1 -1
  425. package/dist/openapi/models/WorkflowDownloadResponse.js +1 -1
  426. package/dist/openapi/models/WorkflowDownloadSuccessEnvelope.d.ts +1 -1
  427. package/dist/openapi/models/WorkflowDownloadSuccessEnvelope.js +1 -1
  428. package/dist/openapi/models/WorkflowEdge.d.ts +1 -1
  429. package/dist/openapi/models/WorkflowEdge.js +1 -1
  430. package/dist/openapi/models/WorkflowExpiredResponse.d.ts +1 -1
  431. package/dist/openapi/models/WorkflowExpiredResponse.js +1 -1
  432. package/dist/openapi/models/WorkflowListResponse.d.ts +1 -1
  433. package/dist/openapi/models/WorkflowListResponse.js +1 -1
  434. package/dist/openapi/models/WorkflowListSuccessEnvelope.d.ts +1 -1
  435. package/dist/openapi/models/WorkflowListSuccessEnvelope.js +1 -1
  436. package/dist/openapi/models/WorkflowPauseRequiredAction.d.ts +1 -1
  437. package/dist/openapi/models/WorkflowPauseRequiredAction.js +1 -1
  438. package/dist/openapi/models/WorkflowPausedDetail.d.ts +1 -1
  439. package/dist/openapi/models/WorkflowPausedDetail.js +1 -1
  440. package/dist/openapi/models/WorkflowPausedDetailLinks.d.ts +1 -1
  441. package/dist/openapi/models/WorkflowPausedDetailLinks.js +1 -1
  442. package/dist/openapi/models/WorkflowProcessing.d.ts +1 -1
  443. package/dist/openapi/models/WorkflowProcessing.js +1 -1
  444. package/dist/openapi/models/WorkflowResumeResponse.d.ts +1 -1
  445. package/dist/openapi/models/WorkflowResumeResponse.js +1 -1
  446. package/dist/openapi/models/WorkflowResumeSuccessEnvelope.d.ts +1 -1
  447. package/dist/openapi/models/WorkflowResumeSuccessEnvelope.js +1 -1
  448. package/dist/openapi/models/WorkflowSource.d.ts +1 -1
  449. package/dist/openapi/models/WorkflowSource.js +1 -1
  450. package/dist/openapi/models/WorkflowStatus.d.ts +1 -1
  451. package/dist/openapi/models/WorkflowStatus.js +1 -1
  452. package/dist/openapi/models/WorkflowStatusResponse.d.ts +1 -1
  453. package/dist/openapi/models/WorkflowStatusResponse.js +1 -1
  454. package/dist/openapi/models/WorkflowStatusSuccessEnvelope.d.ts +1 -1
  455. package/dist/openapi/models/WorkflowStatusSuccessEnvelope.js +1 -1
  456. package/dist/openapi/models/WorkflowSummary.d.ts +1 -1
  457. package/dist/openapi/models/WorkflowSummary.js +1 -1
  458. package/dist/openapi/models/WorkflowSummaryJob.d.ts +1 -1
  459. package/dist/openapi/models/WorkflowSummaryJob.js +1 -1
  460. package/dist/openapi/models/WorkflowWarning.d.ts +1 -1
  461. package/dist/openapi/models/WorkflowWarning.js +1 -1
  462. package/dist/openapi/models/WorkflowWarningSeverity.d.ts +1 -1
  463. package/dist/openapi/models/WorkflowWarningSeverity.js +1 -1
  464. package/dist/openapi/models/index.d.ts +4 -0
  465. package/dist/openapi/models/index.js +4 -0
  466. package/dist/openapi/runtime.d.ts +1 -1
  467. package/dist/openapi/runtime.js +1 -1
  468. package/dist/operations/compress.d.ts +27 -12
  469. package/dist/operations/compress.js +24 -0
  470. package/dist/operations/compress.metadata.js +10 -42
  471. package/dist/operations/convert.d.ts +3 -6
  472. package/dist/operations/convert.js +2 -5
  473. package/dist/operations/convert.metadata.js +1 -15
  474. package/dist/operations/image_watermark.d.ts +19 -0
  475. package/dist/operations/image_watermark.js +12 -0
  476. package/dist/operations/image_watermark.metadata.js +5 -4
  477. package/dist/operations/text_watermark.metadata.js +0 -2
  478. package/dist/operations/thumbnail.d.ts +6 -24
  479. package/dist/operations/thumbnail.js +0 -12
  480. package/dist/operations/thumbnail.metadata.js +0 -33
  481. package/openapi/api.yaml +349 -63
  482. package/operation-capabilities/operation-capabilities.json +53 -3
  483. package/operations/schemas/compress.yaml +142 -139
  484. package/operations/schemas/convert.yaml +39 -42
  485. package/operations/schemas/image_watermark.yaml +140 -31
  486. package/operations/schemas/text_watermark.yaml +17 -17
  487. package/operations/schemas/thumbnail.yaml +40 -77
  488. package/package.json +1 -1
package/openapi/api.yaml CHANGED
@@ -89,7 +89,7 @@ info:
89
89
  of truth instead of hardcoding magic numbers. A runtime
90
90
  `GET /api/uploads/limits` endpoint for dynamic discovery
91
91
  (per-tier / per-environment overrides) is a deferred follow-up.
92
- version: 2.135.0
92
+ version: 2.152.0
93
93
  contact:
94
94
  name: API Support
95
95
 
@@ -4653,6 +4653,200 @@ paths:
4653
4653
  schema:
4654
4654
  $ref: '#/components/schemas/ErrorEnvelope'
4655
4655
 
4656
+ # ============================================
4657
+ # BILLING CHECKOUT ENDPOINT
4658
+ # ============================================
4659
+
4660
+ /api/billing/checkout:
4661
+ post:
4662
+ summary: Start a Stripe hosted-Checkout session
4663
+ description: |
4664
+ Create a Stripe **hosted Checkout** session for a subscription
4665
+ upgrade or a credit-pack purchase, and return the Stripe-hosted
4666
+ `checkout_url` for the frontend to redirect the browser to.
4667
+
4668
+ The client supplies only `type` + `key`; the Stripe
4669
+ `success_url` / `cancel_url` redirect targets are **server-set**.
4670
+
4671
+ Gated behind the server `STRIPE_CHECKOUT_ENABLED` flag: while the
4672
+ flag is OFF the endpoint returns `422` `feature_not_available`
4673
+ (`FeatureNotAvailableResponse`, single violation
4674
+ `endpoint.billing.checkout`, `availability: planned`) so the
4675
+ frontend can hide/disable the upgrade affordance without
4676
+ hard-coding the rollout state.
4677
+
4678
+ The Stripe **webhook** (`POST /api/webhooks/stripe`) is a
4679
+ server-to-server, signature-authenticated callback and is
4680
+ deliberately **not** part of this client contract.
4681
+
4682
+ Per the Stripe go-live (routed 2026-07-02).
4683
+ operationId: createBillingCheckoutSession
4684
+ security: [{bearerAuth: []}, {sessionAuth: []}] # required (IS_AUTHENTICATED_FULLY; anonymous/partial sessions → 401)
4685
+ x-identity-scoped: true # the checkout session is created for the authenticated caller
4686
+ tags:
4687
+ - Billing
4688
+ requestBody:
4689
+ required: true
4690
+ content:
4691
+ application/json:
4692
+ schema:
4693
+ $ref: '#/components/schemas/BillingCheckoutRequest'
4694
+ examples:
4695
+ subscription_pro:
4696
+ summary: Upgrade to the Pro subscription
4697
+ value:
4698
+ type: subscription
4699
+ key: pro
4700
+ credit_pack:
4701
+ summary: Buy a 25-credit pack
4702
+ value:
4703
+ type: pack
4704
+ key: pack_25
4705
+ responses:
4706
+ '200':
4707
+ description: Checkout session created; redirect the browser to `checkout_url`.
4708
+ content:
4709
+ application/json:
4710
+ schema:
4711
+ $ref: '#/components/schemas/BillingCheckoutSuccessEnvelope'
4712
+ example:
4713
+ success: true
4714
+ data:
4715
+ checkout_url: "https://checkout.stripe.com/c/pay/cs_test_a1b2c3"
4716
+ session_id: "cs_test_a1b2c3"
4717
+ '400':
4718
+ description: "Malformed JSON request body (`error: INVALID_JSON`)."
4719
+ content:
4720
+ application/json:
4721
+ schema:
4722
+ $ref: '#/components/schemas/ErrorEnvelope'
4723
+ example:
4724
+ success: false
4725
+ error: INVALID_JSON
4726
+ message: "Malformed JSON in request body."
4727
+ '401':
4728
+ description: |
4729
+ Authentication required (`error: UNAUTHORIZED`). Anonymous or
4730
+ partially-authenticated (remember-me) sessions are rejected —
4731
+ the endpoint requires a fully-authenticated caller.
4732
+ content:
4733
+ application/json:
4734
+ schema:
4735
+ $ref: '#/components/schemas/ErrorEnvelope'
4736
+ example:
4737
+ success: false
4738
+ error: UNAUTHORIZED
4739
+ message: "Authentication required."
4740
+ '422':
4741
+ description: |
4742
+ One of three flavours — dispatch on `error_type` (present only
4743
+ on the feature-gate branch), then on the `error` machine code:
4744
+
4745
+ - **`error_type: feature_not_available`**
4746
+ (`FeatureNotAvailableResponse`, carries `violations[]`) —
4747
+ checkout is flag-gated OFF (`STRIPE_CHECKOUT_ENABLED=false`).
4748
+ The single violation names feature `endpoint.billing.checkout`
4749
+ (`availability: planned`). The frontend hides the upgrade
4750
+ affordance on this branch.
4751
+ - **`error: VALIDATION_FAILED`** (plain `ErrorEnvelope`, no
4752
+ `error_type`) — `type` is missing or not one of
4753
+ `subscription` / `pack`, or `key` is empty.
4754
+ - **`error: UNPROCESSABLE_ENTITY`** (plain `ErrorEnvelope`, no
4755
+ `error_type`) — the `type` + `key` pair does not resolve to a
4756
+ provisioned plan or pack (a mismatched pair such as
4757
+ `subscription` + `pack_10`, or an unknown/unprovisioned
4758
+ `key`). The pairing is validated server-side, not by the
4759
+ request schema.
4760
+ content:
4761
+ application/json:
4762
+ schema:
4763
+ # Non-overlapping oneOf, discriminable by `error_type` presence:
4764
+ # the flag-off branch (FeatureNotAvailableResponse) always carries
4765
+ # `error_type: feature_not_available` + `violations[]`; the generic
4766
+ # validation branch is a plain ErrorEnvelope with NO `error_type`
4767
+ # (the `not: required` guard keeps the two branches mutually
4768
+ # exclusive so a feature-gate body cannot also match the generic
4769
+ # branch — the workflows 422 uses a discriminated oneOf, but that
4770
+ # needs `error_type` on every branch, which these two flat codes
4771
+ # do not carry).
4772
+ oneOf:
4773
+ - $ref: '#/components/schemas/FeatureNotAvailableResponse'
4774
+ - allOf:
4775
+ - $ref: '#/components/schemas/ErrorEnvelope'
4776
+ - not:
4777
+ required: [error_type]
4778
+ examples:
4779
+ feature_not_available:
4780
+ summary: Checkout flag is off (STRIPE_CHECKOUT_ENABLED=false)
4781
+ value:
4782
+ success: false
4783
+ error_type: feature_not_available
4784
+ error: FEATURE_NOT_AVAILABLE
4785
+ message: "Checkout is not yet available."
4786
+ violations:
4787
+ - feature: endpoint.billing.checkout
4788
+ availability: planned
4789
+ message_key: feature.not_available
4790
+ validation_failed:
4791
+ summary: Missing / invalid type or empty key
4792
+ value:
4793
+ success: false
4794
+ error: VALIDATION_FAILED
4795
+ message: "Invalid checkout request: 'type' must be 'subscription' or 'pack' and 'key' is required."
4796
+ unprocessable_entity:
4797
+ summary: type/key pair does not resolve to a provisioned plan or pack
4798
+ value:
4799
+ success: false
4800
+ error: UNPROCESSABLE_ENTITY
4801
+ message: "The requested plan or pack is not available."
4802
+ '429':
4803
+ description: |
4804
+ Rate limit exceeded (`error: TOO_MANY_REQUESTS`). The billing
4805
+ endpoint family has its own tiered limiter; the response carries
4806
+ `X-RateLimit-Limit` / `X-RateLimit-Remaining` / `X-RateLimit-Reset`
4807
+ headers.
4808
+ headers:
4809
+ X-RateLimit-Limit:
4810
+ required: false
4811
+ description: Requests permitted in the current window.
4812
+ schema:
4813
+ type: integer
4814
+ minimum: 0
4815
+ X-RateLimit-Remaining:
4816
+ required: false
4817
+ description: Requests remaining in the current window.
4818
+ schema:
4819
+ type: integer
4820
+ minimum: 0
4821
+ X-RateLimit-Reset:
4822
+ required: false
4823
+ description: Unix epoch seconds when the current window resets.
4824
+ schema:
4825
+ type: integer
4826
+ minimum: 0
4827
+ content:
4828
+ application/json:
4829
+ schema:
4830
+ $ref: '#/components/schemas/ErrorEnvelope'
4831
+ '503':
4832
+ description: |
4833
+ Checkout temporarily unavailable — the flag is on but Stripe is
4834
+ not configured on the server (`error: SERVICE_UNAVAILABLE`).
4835
+ content:
4836
+ application/json:
4837
+ schema:
4838
+ $ref: '#/components/schemas/ErrorEnvelope'
4839
+ example:
4840
+ success: false
4841
+ error: SERVICE_UNAVAILABLE
4842
+ message: "Checkout is temporarily unavailable."
4843
+ '500':
4844
+ description: Internal server error (e.g. an unexpected Stripe SDK error).
4845
+ content:
4846
+ application/json:
4847
+ schema:
4848
+ $ref: '#/components/schemas/ErrorEnvelope'
4849
+
4656
4850
  # ============================================
4657
4851
  # CONTACT ENDPOINT
4658
4852
  # ============================================
@@ -5828,6 +6022,78 @@ components:
5828
6022
  tier:
5829
6023
  $ref: '#/components/schemas/UserTier'
5830
6024
 
6025
+ BillingCheckoutRequest:
6026
+ type: object
6027
+ additionalProperties: false
6028
+ description: |
6029
+ Request body for `POST /api/billing/checkout`. The client supplies
6030
+ only the target `type` + `key`; the Stripe `success_url` /
6031
+ `cancel_url` redirect targets are server-set. Unknown extra
6032
+ properties are rejected.
6033
+
6034
+ Valid `key` values partition by `type`:
6035
+ - `type: subscription` → `key` ∈ { `pro`, `max` }
6036
+ - `type: pack` → `key` ∈ { `pack_10`, `pack_25`, `pack_50` }
6037
+
6038
+ The `type` ↔ `key` pairing is validated **server-side**, not by this
6039
+ schema (the `key` enum lists all values across both types). A
6040
+ mismatched or unprovisioned pair returns `422` `UNPROCESSABLE_ENTITY`;
6041
+ a missing `type` or empty `key` returns `422` `VALIDATION_FAILED`.
6042
+ required:
6043
+ - type
6044
+ - key
6045
+ properties:
6046
+ type:
6047
+ type: string
6048
+ enum: [subscription, pack]
6049
+ description: |
6050
+ Whether the checkout is for a recurring `subscription` upgrade
6051
+ or a one-off credit `pack` purchase.
6052
+ key:
6053
+ type: string
6054
+ enum: [pro, max, pack_10, pack_25, pack_50]
6055
+ description: |
6056
+ The specific plan or pack to purchase. Must be consistent with
6057
+ `type` (subscription → `pro` / `max`; pack → `pack_10` /
6058
+ `pack_25` / `pack_50`) — the pairing is server-validated.
6059
+
6060
+ BillingCheckoutSession:
6061
+ type: object
6062
+ # Open payload (the response-data target stays open for additive
6063
+ # evolution — matches CreditsBalanceResponse / AccountLimits; the
6064
+ # enclosing BillingCheckoutSuccessEnvelope is the closed shape). New
6065
+ # top-level fields (e.g. an expiry) may be added without a breaking
6066
+ # change.
6067
+ description: |
6068
+ The created Stripe hosted-Checkout session — the redirect URL plus
6069
+ the Stripe session id.
6070
+ required:
6071
+ - checkout_url
6072
+ - session_id
6073
+ properties:
6074
+ checkout_url:
6075
+ type: string
6076
+ format: uri
6077
+ description: The Stripe-hosted Checkout URL to redirect the browser to.
6078
+ session_id:
6079
+ type: string
6080
+ description: |
6081
+ The Stripe Checkout Session id (`cs_...`). Opaque; useful for
6082
+ correlation / observability.
6083
+
6084
+ BillingCheckoutSuccessEnvelope:
6085
+ type: object
6086
+ additionalProperties: false
6087
+ required:
6088
+ - success
6089
+ - data
6090
+ properties:
6091
+ success:
6092
+ type: boolean
6093
+ enum: [true]
6094
+ data:
6095
+ $ref: '#/components/schemas/BillingCheckoutSession'
6096
+
5831
6097
  CreditsBalanceSuccessEnvelope:
5832
6098
  type: object
5833
6099
  additionalProperties: false
@@ -7314,8 +7580,8 @@ components:
7314
7580
  - thumbnail_office: Office document (DOCX/XLSX/PPTX/ODT/ODS/ODP)
7315
7581
  thumbnail sub-type. Backed by a dedicated LibreOffice Lambda.
7316
7582
  Emitted by the publisher for office-document inputs.
7317
- - image_watermark: Image overlay onto a base IMAGE asset. Multi-input (Path B with role: base + overlay). Each input is a `MultiInputSource` (external_import / connection / job_output — no upload-direct); an uploaded base or overlay enters via a `passthrough` source job referenced by `job_output`. Stable for static-image bases (jpeg/png/webp); animated GIF (`image_gif`), TIFF (`image_tiff`) and BMP (`image_bmp`) bases are advertised as `planned` via parallel mime_groups — dispatch returns `feature_not_available` (422) until Lambda support ships. Video bases are NOT supported by image_watermark — use the dedicated `video_watermark` operation per ADR-0013. Per ADR-0004 + I4-CONS + I5 (Trello AKZiOXnd).
7318
- - text_watermark: Text overlay rendered onto an image (Liberation Sans). Single-input. Stable for jpeg/png/webp; TIFF (`image_tiff`) and BMP (`image_bmp`) inputs are advertised as `planned` — dispatch returns `feature_not_available` (422) until Lambda support ships. Per ADR-0004 + I4-CONS.
7583
+ - image_watermark: Image overlay onto a base IMAGE asset. Multi-input (Path B, role-based): one `base` + 1–8 `overlay` inputs (`input` min 2 / max 9). A single overlay uses the flat placement options (`anchor` / `margin_x` / `margin_y` / `opacity` / `overlay_width`); 2–8 overlays use the index-aligned `overlays[]` array (multi_overlay_stack, LIVE 2026-07-01) — the two are mutually exclusive. Each input is a `MultiInputSource` (external_import / connection / job_output — no upload-direct); an uploaded base or overlay enters via a `passthrough` source job referenced by `job_output`. Stable for static-image bases (jpeg/png/webp); TIFF (`image_tiff`) and BMP (`image_bmp`) bases are now `stable` too (flipped 2026-06-30, UANjD38A). Animated GIF (`image_gif`) bases stay `planned` via a parallel mime_group — dispatch returns `feature_not_available` (422) until Lambda support ships. Video bases are NOT supported by image_watermark — use the dedicated `video_watermark` operation per ADR-0013. Per ADR-0004 + I4-CONS + I5 (Trello AKZiOXnd).
7584
+ - text_watermark: Text overlay rendered onto an image (Liberation Sans). Single-input. Stable for jpeg/png/webp; TIFF (`image_tiff`) and BMP (`image_bmp`) inputs are now `stable` too (flipped 2026-06-30, UANjD38A). Per ADR-0004 + I4-CONS.
7319
7585
  - merge: Concatenate/combine multiple files into one (images, video, audio). Multi-input. Image inputs merge into animated GIF or slideshow video; image collage/grid and PDF concatenation are not supported by the V1 Lambda.
7320
7586
  - archive: Bundle files into ZIP/tar.gz (all types). Multi-input.
7321
7587
  - convert: Change file format (all types)
@@ -7366,7 +7632,7 @@ components:
7366
7632
  thumbnail_video, thumbnail_document, thumbnail_office,
7367
7633
  text_watermark, convert, audio_watermark,
7368
7634
  video_text_watermark, split, passthrough)
7369
- - multi: Multiple input files (merge, archive, image_watermark, custom_luma, audio_overlay, audio_to_video, video_watermark). audio_to_video is the first role-based op with an OPTIONAL role (min_inputs=1, max_inputs=2 — see `per_role_cardinality`); video_watermark mirrors `image_watermark`'s 2-required pattern on video bases.
7635
+ - multi: Multiple input files (merge, archive, image_watermark, custom_luma, audio_overlay, audio_to_video, video_watermark). audio_to_video is the first role-based op with an OPTIONAL role (min_inputs=1, max_inputs=2 — see `per_role_cardinality`); video_watermark is a fixed base+overlay pair (exactly one each, min_inputs=max_inputs=2) on video bases; image_watermark widened to base + 1–8 overlays (min 2 / max 9) with the multi_overlay_stack flip (2026-07-01).
7370
7636
  enum:
7371
7637
  - single
7372
7638
  - multi
@@ -9839,10 +10105,10 @@ components:
9839
10105
  [`RrxdUBGZ`](https://trello.com/c/RrxdUBGZ) / `i2J8AMy6`.
9840
10106
  credits:
9841
10107
  description: |
9842
- OPTIONAL. Per-workflow credit summary (`reserved` / `refunded` /
9843
- `net` + settlement `state`) for the credits-per-run readout — what
9844
- this run cost. `null` for legacy workflows with no credit record.
9845
- See `WorkflowCreditSummary`. Per ticket `7XbqXO1B`.
10108
+ OPTIONAL. Per-workflow credit summary — the net cost of the run
10109
+ (`used`). `null` for legacy workflows with no credit record (or
10110
+ while a run has no final charge yet). See `WorkflowCreditSummary`.
10111
+ Per ticket `7XbqXO1B` (reshaped to `{ used }`-only per `DsHbIlC1`).
9846
10112
  oneOf:
9847
10113
  - $ref: '#/components/schemas/WorkflowCreditSummary'
9848
10114
  - type: 'null'
@@ -9988,66 +10254,46 @@ components:
9988
10254
  $ref: '#/components/schemas/WorkflowSummaryJob'
9989
10255
  credits:
9990
10256
  description: |
9991
- OPTIONAL. Per-workflow credit summary (`reserved` / `refunded` /
9992
- `net` + settlement `state`) so the list row can show what each run
9993
- cost. `null` for legacy workflows with no credit record. Same shape
9994
- as `WorkflowStatusResponse.credits`. Per ticket `7XbqXO1B`.
10257
+ OPTIONAL. Per-workflow credit summary — the net cost of the run
10258
+ (`used`) so the list row can show what each run cost. `null` for
10259
+ legacy workflows with no credit record. Same shape as
10260
+ `WorkflowStatusResponse.credits`. Per ticket `7XbqXO1B` (reshaped to
10261
+ `{ used }`-only per `DsHbIlC1`).
9995
10262
  oneOf:
9996
10263
  - $ref: '#/components/schemas/WorkflowCreditSummary'
9997
10264
  - type: 'null'
9998
10265
 
9999
10266
  WorkflowCreditSummary:
10000
10267
  type: object
10268
+ additionalProperties: false
10001
10269
  description: |
10002
- Per-workflow credit summary for the workflows-history read
10003
- (credits-per-run). Exposes the billing-ledger figures so the UI can show
10004
- what a run cost without treating an in-flight reservation as a final
10005
- charge — `state` distinguishes a held reservation from a settled charge.
10006
- Additive; the enclosing `credits` field is `null` for legacy workflows
10007
- with no credit record. Per ticket `7XbqXO1B`.
10270
+ Per-workflow credit summary for the workflow reads — the net cost of a
10271
+ run. Exposes ONLY `used` (the net credits charged); the internal
10272
+ reservation mechanics (`reserved` / `refunded` / lifecycle `state`) are
10273
+ deliberately NOT surfaced — a user-facing cost readout needs only the
10274
+ net figure, and `reserved` would leak a worst-case COGS estimate. The
10275
+ schema is CLOSED (`additionalProperties: false`) so the removed
10276
+ reservation fields cannot leak back into the payload.
10277
+
10278
+ The enclosing `credits` field is `null` for legacy workflows with no
10279
+ credit record, and may be `null`/absent while a run has no charge yet.
10280
+ Per ticket `7XbqXO1B` (reshaped to `{ used }` per `DsHbIlC1` — product
10281
+ decision to show net cost only).
10008
10282
  required:
10009
- - reserved
10010
- - refunded
10011
- - net
10012
- - state
10283
+ - used
10013
10284
  properties:
10014
- reserved:
10015
- type: integer
10016
- minimum: 0
10017
- description: Credits reserved (held) for the workflow at create time.
10018
- refunded:
10285
+ used:
10019
10286
  type: integer
10020
10287
  minimum: 0
10021
10288
  description: |
10022
- Credits refunded back to the caller (e.g. on failure / partial
10023
- completion / released reservation).
10024
- net:
10025
- type: integer
10026
- minimum: 0
10027
- description: |
10028
- Net credits charged for the run (`reserved` − `refunded`).
10029
- AUTHORITATIVE for every non-`active` `state` (both `settled` and
10030
- `released`); only while `state` is `active` is it a
10031
- current-but-not-yet-final figure.
10032
- state:
10033
- type: string
10034
- enum: [active, settled, released]
10035
- description: |
10036
- A UI-facing PROJECTION of the workflow's billing-ledger reservation
10037
- lifecycle into three states — the API maps the underlying ledger
10038
- states into exactly one of these (consumers read only this projected
10039
- value, not the raw ledger state):
10040
- - `active` — reservation held, charge NOT yet final (a UI MUST NOT
10041
- present `net` as the final cost).
10042
- - `settled` — final charge applied; `net` is authoritative.
10043
- - `released` — the reservation reached a terminal NON-settled
10044
- outcome (released / cancelled / expired / fully-refunded — they
10045
- all project here); `net` is authoritative (typically 0, or the
10046
- partial charge that stuck).
10047
-
10048
- Both non-`active` states are TERMINAL with an authoritative `net`;
10049
- the `active` vs non-`active` split is the only distinction a cost
10050
- readout needs (don't show a final figure while `active`).
10289
+ Net credits charged for the run (the value the old `net` field
10290
+ carried). AUTHORITATIVE (final) only once the workflow reaches a
10291
+ TERMINAL status — while the run is in flight this is a
10292
+ current-but-not-yet-final figure. Consumers MUST gate any "final
10293
+ cost" display on the workflow's terminal status: the removed `state`
10294
+ field previously carried the active-vs-final distinction, so read
10295
+ the workflow status instead (do not present `used` as the final
10296
+ charge while the run is still in flight).
10051
10297
 
10052
10298
  CodegenSource:
10053
10299
  type: object
@@ -10495,10 +10741,12 @@ components:
10495
10741
  minimum: 1
10496
10742
  maximum: 100
10497
10743
  description: |
10498
- The quality the encode-measure loop settled on for a `target_size`
10499
- encode (`encoding_mode: target_size`). Present only for a target_size
10500
- operation. Mirrors the AsyncAPI `OperationMetrics.chosen_quality`;
10501
- lets the client show "hit your target at quality 66".
10744
+ The encoder quality the search settled on — for a `target_size`
10745
+ encode OR an `auto_quality` encode (the quality that met the
10746
+ `quality_preset` perceptual target). Present for target_size and
10747
+ auto_quality operations. Mirrors the AsyncAPI
10748
+ `OperationMetrics.chosen_quality`; lets the client show "hit your
10749
+ target at quality 66".
10502
10750
  target_size_met:
10503
10751
  type: boolean
10504
10752
  description: |
@@ -10506,6 +10754,24 @@ components:
10506
10754
  `target_size_bytes`. `false` is an honest best-effort outcome (target
10507
10755
  unreachable at min quality), not a failure. Present only for a
10508
10756
  target_size operation. Mirrors `OperationMetrics.target_size_met`.
10757
+ measured_quality:
10758
+ type: number
10759
+ format: double
10760
+ minimum: 0
10761
+ maximum: 1
10762
+ description: |
10763
+ The achieved perceptual-quality score (0.0–1.0) for an `auto_quality`
10764
+ encode (compress.image jpeg/webp/avif). Present only for an
10765
+ auto_quality operation; pairs with `chosen_quality`. Metric-agnostic —
10766
+ the producing metric is named in `quality_metric`. Mirrors
10767
+ `OperationMetrics.measured_quality`.
10768
+ quality_metric:
10769
+ type: string
10770
+ description: |
10771
+ The perceptual metric that produced `measured_quality` — a free-form
10772
+ string (not an enum) so it can evolve without contract churn. Present
10773
+ only for an auto_quality operation. Current value: `ssim`. Mirrors
10774
+ `OperationMetrics.quality_metric`.
10509
10775
  duration_ms:
10510
10776
  type: integer
10511
10777
  description: Processing time in milliseconds
@@ -10666,13 +10932,15 @@ components:
10666
10932
  minimum: 1
10667
10933
  maximum: 100
10668
10934
  description: |
10669
- For a `target_size` encode (`encoding_mode: target_size`): the quality
10670
- the encode-measure loop settled on. Present only for a target_size
10935
+ The encoder quality the search settled on — for a `target_size` encode
10936
+ OR an `auto_quality` encode (the quality that met the `quality_preset`
10937
+ perceptual target). Present only for a target_size or auto_quality
10671
10938
  output; absent otherwise. Optional/additive (rides the shared property
10672
10939
  bag — not in any oneOf `required`/`not`). The per-output `/downloads`
10673
10940
  read is the canonical output-properties surface per the ZjVXHkYK
10674
10941
  narrowing (alongside `size_bytes`); mirrors the worker source
10675
- `OperationMetrics.chosen_quality`. Pairs with `target_size_met`.
10942
+ `OperationMetrics.chosen_quality`. Pairs with `target_size_met`
10943
+ (target_size) or `measured_quality` (auto_quality).
10676
10944
  target_size_met:
10677
10945
  type: boolean
10678
10946
  description: |
@@ -10680,6 +10948,24 @@ components:
10680
10948
  requested `target_size_bytes`. `false` is an honest best-effort outcome
10681
10949
  (target unreachable at min quality), NOT a failure. Present only for a
10682
10950
  target_size output. Mirrors `OperationMetrics.target_size_met`.
10951
+ measured_quality:
10952
+ type: number
10953
+ format: double
10954
+ minimum: 0
10955
+ maximum: 1
10956
+ description: |
10957
+ For an `auto_quality` encode (`encoding_mode: auto_quality`): the achieved
10958
+ perceptual-quality score (0.0–1.0) that met the `quality_preset` target.
10959
+ Present only for an auto_quality output; pairs with `chosen_quality`.
10960
+ Metric-agnostic — the producing metric is named in `quality_metric`.
10961
+ Mirrors `OperationMetrics.measured_quality`.
10962
+ quality_metric:
10963
+ type: string
10964
+ description: |
10965
+ For an `auto_quality` encode: the perceptual metric that produced
10966
+ `measured_quality` — a free-form string (not an enum) so it can evolve
10967
+ without contract churn. Present only for an auto_quality output. Current
10968
+ value: `ssim`. Mirrors `OperationMetrics.quality_metric`.
10683
10969
  download_url:
10684
10970
  type: string
10685
10971
  format: uri
@@ -265,7 +265,9 @@
265
265
  "in": [
266
266
  "mp4",
267
267
  "webm",
268
- "ogg"
268
+ "ogg",
269
+ "mov",
270
+ "mkv"
269
271
  ]
270
272
  }
271
273
  },
@@ -292,7 +294,7 @@
292
294
  ],
293
295
  "availability": "stable",
294
296
  "input": {
295
- "max": 2,
297
+ "max": 9,
296
298
  "min": 2,
297
299
  "model": "multi",
298
300
  "roles": [
@@ -300,6 +302,46 @@
300
302
  "overlay"
301
303
  ]
302
304
  },
305
+ "option_conflicts": [
306
+ {
307
+ "availability": "stable",
308
+ "constraint_id": "image_watermark.overlays_vs_flat_options",
309
+ "message": "`overlays[]` (multi-overlay) is mutually exclusive with the flat single-overlay options (anchor / margin_x / margin_y / opacity / overlay_width) \u2014 set one mode, not both.",
310
+ "when": {
311
+ "all": [
312
+ {
313
+ "field": "image_watermark.overlays",
314
+ "isSet": true
315
+ },
316
+ {
317
+ "any": [
318
+ {
319
+ "field": "image_watermark.anchor",
320
+ "isSet": true
321
+ },
322
+ {
323
+ "field": "image_watermark.margin_x",
324
+ "isSet": true
325
+ },
326
+ {
327
+ "field": "image_watermark.margin_y",
328
+ "isSet": true
329
+ },
330
+ {
331
+ "field": "image_watermark.opacity",
332
+ "isSet": true
333
+ },
334
+ {
335
+ "field": "image_watermark.overlay_width",
336
+ "isSet": true
337
+ }
338
+ ]
339
+ }
340
+ ]
341
+ },
342
+ "wire_code": "invalid_options"
343
+ }
344
+ ],
303
345
  "produces": {
304
346
  "same_as_input": true
305
347
  },
@@ -478,6 +520,14 @@
478
520
  "hasAudioTrack": false,
479
521
  "isAnimated": false
480
522
  },
523
+ "mkv": {
524
+ "hasAudioTrack": true,
525
+ "isAnimated": false
526
+ },
527
+ "mov": {
528
+ "hasAudioTrack": true,
529
+ "isAnimated": false
530
+ },
481
531
  "mp3": {
482
532
  "hasAudioTrack": true,
483
533
  "isAnimated": false
@@ -515,5 +565,5 @@
515
565
  "isAnimated": "maybe"
516
566
  }
517
567
  },
518
- "schema_version": "2.135.0"
568
+ "schema_version": "2.152.0"
519
569
  }