@giveitsmaller/contracts 0.70.0 → 0.73.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 (540) hide show
  1. package/README.md +2 -2
  2. package/accepted-options/accepted-options.json +1 -1
  3. package/accepted-options/image-output-routes.json +1 -1
  4. package/asyncapi/events.yaml +133 -69
  5. package/availability/availability.json +33 -45
  6. package/code-builder/code-builder-metadata.json +55 -66
  7. package/dist/openapi/models/AccountLimitEntry.d.ts +1 -1
  8. package/dist/openapi/models/AccountLimitEntry.js +1 -1
  9. package/dist/openapi/models/AccountLimits.d.ts +1 -1
  10. package/dist/openapi/models/AccountLimits.js +1 -1
  11. package/dist/openapi/models/AccountLimitsLimits.d.ts +1 -1
  12. package/dist/openapi/models/AccountLimitsLimits.js +1 -1
  13. package/dist/openapi/models/AccountLimitsSuccessEnvelope.d.ts +1 -1
  14. package/dist/openapi/models/AccountLimitsSuccessEnvelope.js +1 -1
  15. package/dist/openapi/models/AudioWatermarkDecodeRequest.d.ts +1 -1
  16. package/dist/openapi/models/AudioWatermarkDecodeRequest.js +1 -1
  17. package/dist/openapi/models/AudioWatermarkDecodeResponse.d.ts +1 -1
  18. package/dist/openapi/models/AudioWatermarkDecodeResponse.js +1 -1
  19. package/dist/openapi/models/AuthErrorResponse.d.ts +3 -2
  20. package/dist/openapi/models/AuthErrorResponse.js +1 -1
  21. package/dist/openapi/models/AuthErrorType.d.ts +1 -1
  22. package/dist/openapi/models/AuthErrorType.js +1 -1
  23. package/dist/openapi/models/AuthRejectionEnvelope.d.ts +1 -1
  24. package/dist/openapi/models/AuthRejectionEnvelope.js +1 -1
  25. package/dist/openapi/models/AuthenticatedIdentity.d.ts +1 -1
  26. package/dist/openapi/models/AuthenticatedIdentity.js +1 -1
  27. package/dist/openapi/models/AvailabilityValue.d.ts +1 -1
  28. package/dist/openapi/models/AvailabilityValue.js +1 -1
  29. package/dist/openapi/models/BalanceExhaustedResponse.d.ts +3 -2
  30. package/dist/openapi/models/BalanceExhaustedResponse.js +1 -1
  31. package/dist/openapi/models/BalanceExhaustedResponseAllOfLinks.d.ts +1 -1
  32. package/dist/openapi/models/BalanceExhaustedResponseAllOfLinks.js +1 -1
  33. package/dist/openapi/models/BillingCheckoutRequest.d.ts +1 -1
  34. package/dist/openapi/models/BillingCheckoutRequest.js +1 -1
  35. package/dist/openapi/models/BillingCheckoutSession.d.ts +1 -1
  36. package/dist/openapi/models/BillingCheckoutSession.js +1 -1
  37. package/dist/openapi/models/BillingCheckoutSuccessEnvelope.d.ts +1 -1
  38. package/dist/openapi/models/BillingCheckoutSuccessEnvelope.js +1 -1
  39. package/dist/openapi/models/CallbackEventType.d.ts +1 -1
  40. package/dist/openapi/models/CallbackEventType.js +1 -1
  41. package/dist/openapi/models/CancelAccountDeletion200Response.d.ts +1 -1
  42. package/dist/openapi/models/CancelAccountDeletion200Response.js +1 -1
  43. package/dist/openapi/models/CancelAccountDeletion200ResponseData.d.ts +1 -1
  44. package/dist/openapi/models/CancelAccountDeletion200ResponseData.js +1 -1
  45. package/dist/openapi/models/CapabilityCondition.d.ts +1 -1
  46. package/dist/openapi/models/CapabilityCondition.js +1 -1
  47. package/dist/openapi/models/CapabilityConditionOneOf.d.ts +1 -1
  48. package/dist/openapi/models/CapabilityConditionOneOf.js +1 -1
  49. package/dist/openapi/models/CapabilityConditionOneOf1.d.ts +1 -1
  50. package/dist/openapi/models/CapabilityConditionOneOf1.js +1 -1
  51. package/dist/openapi/models/CapabilityConditionOneOf2.d.ts +1 -1
  52. package/dist/openapi/models/CapabilityConditionOneOf2.js +1 -1
  53. package/dist/openapi/models/CapabilityConditionOneOf3.d.ts +1 -1
  54. package/dist/openapi/models/CapabilityConditionOneOf3.js +1 -1
  55. package/dist/openapi/models/CapabilityConditionOneOf4.d.ts +1 -1
  56. package/dist/openapi/models/CapabilityConditionOneOf4.js +1 -1
  57. package/dist/openapi/models/CapabilityConditionOneOf5.d.ts +1 -1
  58. package/dist/openapi/models/CapabilityConditionOneOf5.js +1 -1
  59. package/dist/openapi/models/CapabilityConditionOneOf6.d.ts +1 -1
  60. package/dist/openapi/models/CapabilityConditionOneOf6.js +1 -1
  61. package/dist/openapi/models/CapabilityConstraint.d.ts +1 -1
  62. package/dist/openapi/models/CapabilityConstraint.js +1 -1
  63. package/dist/openapi/models/CapabilityInputSpec.d.ts +1 -1
  64. package/dist/openapi/models/CapabilityInputSpec.js +1 -1
  65. package/dist/openapi/models/CapabilityProduces.d.ts +1 -1
  66. package/dist/openapi/models/CapabilityProduces.js +1 -1
  67. package/dist/openapi/models/CapabilityProducesOneOf.d.ts +1 -1
  68. package/dist/openapi/models/CapabilityProducesOneOf.js +1 -1
  69. package/dist/openapi/models/CapabilityProducesOneOf1.d.ts +1 -1
  70. package/dist/openapi/models/CapabilityProducesOneOf1.js +1 -1
  71. package/dist/openapi/models/CapabilityProducesOneOf2.d.ts +1 -1
  72. package/dist/openapi/models/CapabilityProducesOneOf2.js +1 -1
  73. package/dist/openapi/models/ChangePasswordRequest.d.ts +1 -1
  74. package/dist/openapi/models/ChangePasswordRequest.js +1 -1
  75. package/dist/openapi/models/CodegenSource.d.ts +1 -1
  76. package/dist/openapi/models/CodegenSource.js +1 -1
  77. package/dist/openapi/models/CodegenSourceInput.d.ts +1 -1
  78. package/dist/openapi/models/CodegenSourceInput.js +1 -1
  79. package/dist/openapi/models/CodegenSourceJob.d.ts +1 -1
  80. package/dist/openapi/models/CodegenSourceJob.js +1 -1
  81. package/dist/openapi/models/CodegenSourceJobSource.d.ts +1 -1
  82. package/dist/openapi/models/CodegenSourceJobSource.js +1 -1
  83. package/dist/openapi/models/CodegenSourceOperation.d.ts +1 -1
  84. package/dist/openapi/models/CodegenSourceOperation.js +1 -1
  85. package/dist/openapi/models/CodegenUploadPlaceholder.d.ts +1 -1
  86. package/dist/openapi/models/CodegenUploadPlaceholder.js +1 -1
  87. package/dist/openapi/models/CompositionPlan.d.ts +1 -1
  88. package/dist/openapi/models/CompositionPlan.js +1 -1
  89. package/dist/openapi/models/CompositionPlanJob.d.ts +1 -1
  90. package/dist/openapi/models/CompositionPlanJob.js +1 -1
  91. package/dist/openapi/models/CompositionPlanOperation.d.ts +1 -1
  92. package/dist/openapi/models/CompositionPlanOperation.js +1 -1
  93. package/dist/openapi/models/ConfirmEmailChange200Response.d.ts +1 -1
  94. package/dist/openapi/models/ConfirmEmailChange200Response.js +1 -1
  95. package/dist/openapi/models/ConfirmEmailChange200ResponseData.d.ts +1 -1
  96. package/dist/openapi/models/ConfirmEmailChange200ResponseData.js +1 -1
  97. package/dist/openapi/models/ConfirmEmailChangeRequest.d.ts +1 -1
  98. package/dist/openapi/models/ConfirmEmailChangeRequest.js +1 -1
  99. package/dist/openapi/models/ConnectionSource.d.ts +1 -1
  100. package/dist/openapi/models/ConnectionSource.js +1 -1
  101. package/dist/openapi/models/ContactRequest.d.ts +1 -1
  102. package/dist/openapi/models/ContactRequest.js +1 -1
  103. package/dist/openapi/models/ContactSubject.d.ts +1 -1
  104. package/dist/openapi/models/ContactSubject.js +1 -1
  105. package/dist/openapi/models/ContactValidationErrorResponse.d.ts +1 -1
  106. package/dist/openapi/models/ContactValidationErrorResponse.js +1 -1
  107. package/dist/openapi/models/CreateApiKey201Response.d.ts +1 -1
  108. package/dist/openapi/models/CreateApiKey201Response.js +1 -1
  109. package/dist/openapi/models/CreateApiKey201ResponseData.d.ts +1 -1
  110. package/dist/openapi/models/CreateApiKey201ResponseData.js +1 -1
  111. package/dist/openapi/models/CreateApiKeyRequest.d.ts +1 -1
  112. package/dist/openapi/models/CreateApiKeyRequest.js +1 -1
  113. package/dist/openapi/models/CreateBillingCheckoutSession422Response.d.ts +1 -1
  114. package/dist/openapi/models/CreateBillingCheckoutSession422Response.js +1 -1
  115. package/dist/openapi/models/CreateExternalImport403Response.d.ts +1 -1
  116. package/dist/openapi/models/CreateExternalImport403Response.js +1 -1
  117. package/dist/openapi/models/CreateExternalImport422Response.d.ts +1 -1
  118. package/dist/openapi/models/CreateExternalImport422Response.js +1 -1
  119. package/dist/openapi/models/CreateWorkflow401Response.d.ts +3 -2
  120. package/dist/openapi/models/CreateWorkflow401Response.js +1 -1
  121. package/dist/openapi/models/CreateWorkflow422Response.d.ts +1 -1
  122. package/dist/openapi/models/CreateWorkflow422Response.js +1 -1
  123. package/dist/openapi/models/CreditTransaction.d.ts +1 -1
  124. package/dist/openapi/models/CreditTransaction.js +1 -1
  125. package/dist/openapi/models/CreditTransactionSourceBucket.d.ts +1 -1
  126. package/dist/openapi/models/CreditTransactionSourceBucket.js +1 -1
  127. package/dist/openapi/models/CreditsBalanceResponse.d.ts +1 -1
  128. package/dist/openapi/models/CreditsBalanceResponse.js +1 -1
  129. package/dist/openapi/models/CreditsBalanceSuccessEnvelope.d.ts +1 -1
  130. package/dist/openapi/models/CreditsBalanceSuccessEnvelope.js +1 -1
  131. package/dist/openapi/models/CreditsUsageResponse.d.ts +1 -1
  132. package/dist/openapi/models/CreditsUsageResponse.js +1 -1
  133. package/dist/openapi/models/CreditsUsageSuccessEnvelope.d.ts +1 -1
  134. package/dist/openapi/models/CreditsUsageSuccessEnvelope.js +1 -1
  135. package/dist/openapi/models/Delivery.d.ts +1 -1
  136. package/dist/openapi/models/Delivery.js +1 -1
  137. package/dist/openapi/models/DeliveryOutputRef.d.ts +1 -1
  138. package/dist/openapi/models/DeliveryOutputRef.js +1 -1
  139. package/dist/openapi/models/DeliveryPlan.d.ts +1 -1
  140. package/dist/openapi/models/DeliveryPlan.js +1 -1
  141. package/dist/openapi/models/DeliveryPlanOutput.d.ts +1 -1
  142. package/dist/openapi/models/DeliveryPlanOutput.js +1 -1
  143. package/dist/openapi/models/DeliveryPlanReason.d.ts +1 -1
  144. package/dist/openapi/models/DeliveryPlanReason.js +1 -1
  145. package/dist/openapi/models/DeliverySelection.d.ts +1 -1
  146. package/dist/openapi/models/DeliverySelection.js +1 -1
  147. package/dist/openapi/models/DownloadBundle.d.ts +1 -1
  148. package/dist/openapi/models/DownloadBundle.js +1 -1
  149. package/dist/openapi/models/DroppedOption.d.ts +1 -1
  150. package/dist/openapi/models/DroppedOption.js +1 -1
  151. package/dist/openapi/models/EmailNotify.d.ts +1 -1
  152. package/dist/openapi/models/EmailNotify.js +1 -1
  153. package/dist/openapi/models/EmptySuccessEnvelope.d.ts +1 -1
  154. package/dist/openapi/models/EmptySuccessEnvelope.js +1 -1
  155. package/dist/openapi/models/EndpointProjection.d.ts +1 -1
  156. package/dist/openapi/models/EndpointProjection.js +1 -1
  157. package/dist/openapi/models/EndpointProjectionServersInner.d.ts +1 -1
  158. package/dist/openapi/models/EndpointProjectionServersInner.js +1 -1
  159. package/dist/openapi/models/ErrorEnvelope.d.ts +3 -2
  160. package/dist/openapi/models/ErrorEnvelope.js +1 -1
  161. package/dist/openapi/models/EstimateQuality.d.ts +1 -1
  162. package/dist/openapi/models/EstimateQuality.js +1 -1
  163. package/dist/openapi/models/EstimateRange.d.ts +1 -1
  164. package/dist/openapi/models/EstimateRange.js +1 -1
  165. package/dist/openapi/models/ExportAccountData200Response.d.ts +1 -1
  166. package/dist/openapi/models/ExportAccountData200Response.js +1 -1
  167. package/dist/openapi/models/ExportAccountData200ResponseData.d.ts +1 -1
  168. package/dist/openapi/models/ExportAccountData200ResponseData.js +1 -1
  169. package/dist/openapi/models/ExternalDestination.d.ts +1 -1
  170. package/dist/openapi/models/ExternalDestination.js +1 -1
  171. package/dist/openapi/models/ExternalImportCreatedResponse.d.ts +1 -1
  172. package/dist/openapi/models/ExternalImportCreatedResponse.js +1 -1
  173. package/dist/openapi/models/ExternalImportCreatedSuccessEnvelope.d.ts +1 -1
  174. package/dist/openapi/models/ExternalImportCreatedSuccessEnvelope.js +1 -1
  175. package/dist/openapi/models/ExternalImportRequest.d.ts +1 -1
  176. package/dist/openapi/models/ExternalImportRequest.js +1 -1
  177. package/dist/openapi/models/ExternalImportToken.d.ts +1 -1
  178. package/dist/openapi/models/ExternalImportToken.js +1 -1
  179. package/dist/openapi/models/ExternalSource.d.ts +1 -1
  180. package/dist/openapi/models/ExternalSource.js +1 -1
  181. package/dist/openapi/models/FeatureNotAvailableResponse.d.ts +3 -2
  182. package/dist/openapi/models/FeatureNotAvailableResponse.js +1 -1
  183. package/dist/openapi/models/FeatureTierRestrictedResponse.d.ts +3 -2
  184. package/dist/openapi/models/FeatureTierRestrictedResponse.js +1 -1
  185. package/dist/openapi/models/FeatureViolation.d.ts +1 -1
  186. package/dist/openapi/models/FeatureViolation.js +1 -1
  187. package/dist/openapi/models/GetProfile200Response.d.ts +1 -1
  188. package/dist/openapi/models/GetProfile200Response.js +1 -1
  189. package/dist/openapi/models/GetProfile200ResponseData.d.ts +1 -1
  190. package/dist/openapi/models/GetProfile200ResponseData.js +1 -1
  191. package/dist/openapi/models/ImageEncodeCapabilities.d.ts +1 -1
  192. package/dist/openapi/models/ImageEncodeCapabilities.js +1 -1
  193. package/dist/openapi/models/JobDefinition.d.ts +1 -1
  194. package/dist/openapi/models/JobDefinition.js +1 -1
  195. package/dist/openapi/models/JobDownload.d.ts +1 -1
  196. package/dist/openapi/models/JobDownload.js +1 -1
  197. package/dist/openapi/models/JobInputV2.d.ts +1 -1
  198. package/dist/openapi/models/JobInputV2.js +1 -1
  199. package/dist/openapi/models/JobMediaClass.d.ts +1 -1
  200. package/dist/openapi/models/JobMediaClass.js +1 -1
  201. package/dist/openapi/models/JobOutputSource.d.ts +1 -1
  202. package/dist/openapi/models/JobOutputSource.js +1 -1
  203. package/dist/openapi/models/JobResponse.d.ts +1 -1
  204. package/dist/openapi/models/JobResponse.js +1 -1
  205. package/dist/openapi/models/JobStatus.d.ts +1 -1
  206. package/dist/openapi/models/JobStatus.js +1 -1
  207. package/dist/openapi/models/JobType.d.ts +1 -1
  208. package/dist/openapi/models/JobType.js +1 -1
  209. package/dist/openapi/models/LivenessResponse.d.ts +1 -1
  210. package/dist/openapi/models/LivenessResponse.js +1 -1
  211. package/dist/openapi/models/LoginUser200Response.d.ts +1 -1
  212. package/dist/openapi/models/LoginUser200Response.js +1 -1
  213. package/dist/openapi/models/LoginUser200ResponseData.d.ts +1 -1
  214. package/dist/openapi/models/LoginUser200ResponseData.js +1 -1
  215. package/dist/openapi/models/LoginUser200ResponseDataUser.d.ts +1 -1
  216. package/dist/openapi/models/LoginUser200ResponseDataUser.js +1 -1
  217. package/dist/openapi/models/LoginUser401Response.d.ts +3 -2
  218. package/dist/openapi/models/LoginUser401Response.js +1 -1
  219. package/dist/openapi/models/LoginUserRequest.d.ts +1 -1
  220. package/dist/openapi/models/LoginUserRequest.js +1 -1
  221. package/dist/openapi/models/LongFormConcurrencyLimitResponse.d.ts +8 -4
  222. package/dist/openapi/models/LongFormConcurrencyLimitResponse.js +1 -1
  223. package/dist/openapi/models/LongFormConcurrencyLimitResponseAllOfLinks.d.ts +1 -1
  224. package/dist/openapi/models/LongFormConcurrencyLimitResponseAllOfLinks.js +1 -1
  225. package/dist/openapi/models/MetadataResponse.d.ts +1 -1
  226. package/dist/openapi/models/MetadataResponse.js +1 -1
  227. package/dist/openapi/models/MetadataResponseDimensions.d.ts +1 -1
  228. package/dist/openapi/models/MetadataResponseDimensions.js +1 -1
  229. package/dist/openapi/models/MetadataResponseExif.d.ts +1 -1
  230. package/dist/openapi/models/MetadataResponseExif.js +1 -1
  231. package/dist/openapi/models/MetadataResponseExifGps.d.ts +1 -1
  232. package/dist/openapi/models/MetadataResponseExifGps.js +1 -1
  233. package/dist/openapi/models/MetadataSuccessEnvelope.d.ts +1 -1
  234. package/dist/openapi/models/MetadataSuccessEnvelope.js +1 -1
  235. package/dist/openapi/models/MimeGroupSchema.d.ts +26 -13
  236. package/dist/openapi/models/MimeGroupSchema.js +1 -1
  237. package/dist/openapi/models/MultiInputSource.d.ts +1 -1
  238. package/dist/openapi/models/MultiInputSource.js +1 -1
  239. package/dist/openapi/models/MultipartCompleteRequest.d.ts +1 -1
  240. package/dist/openapi/models/MultipartCompleteRequest.js +1 -1
  241. package/dist/openapi/models/MultipartCompleteRequestPartsInner.d.ts +1 -1
  242. package/dist/openapi/models/MultipartCompleteRequestPartsInner.js +1 -1
  243. package/dist/openapi/models/MultipartCompleteResponse.d.ts +1 -1
  244. package/dist/openapi/models/MultipartCompleteResponse.js +1 -1
  245. package/dist/openapi/models/MultipartCompleteSuccessEnvelope.d.ts +1 -1
  246. package/dist/openapi/models/MultipartCompleteSuccessEnvelope.js +1 -1
  247. package/dist/openapi/models/MultipartInitiateRequestMetadataHint.d.ts +1 -1
  248. package/dist/openapi/models/MultipartInitiateRequestMetadataHint.js +1 -1
  249. package/dist/openapi/models/MultipartInitiateResponse.d.ts +1 -1
  250. package/dist/openapi/models/MultipartInitiateResponse.js +1 -1
  251. package/dist/openapi/models/MultipartInitiateSuccessEnvelope.d.ts +1 -1
  252. package/dist/openapi/models/MultipartInitiateSuccessEnvelope.js +1 -1
  253. package/dist/openapi/models/MultipartKeepaliveResponse.d.ts +1 -1
  254. package/dist/openapi/models/MultipartKeepaliveResponse.js +1 -1
  255. package/dist/openapi/models/MultipartKeepaliveSuccessEnvelope.d.ts +1 -1
  256. package/dist/openapi/models/MultipartKeepaliveSuccessEnvelope.js +1 -1
  257. package/dist/openapi/models/MultipartPartListing.d.ts +1 -1
  258. package/dist/openapi/models/MultipartPartListing.js +1 -1
  259. package/dist/openapi/models/MultipartPresignRequest.d.ts +1 -1
  260. package/dist/openapi/models/MultipartPresignRequest.js +1 -1
  261. package/dist/openapi/models/MultipartPresignResponse.d.ts +1 -1
  262. package/dist/openapi/models/MultipartPresignResponse.js +1 -1
  263. package/dist/openapi/models/MultipartPresignSuccessEnvelope.d.ts +1 -1
  264. package/dist/openapi/models/MultipartPresignSuccessEnvelope.js +1 -1
  265. package/dist/openapi/models/MultipartStatusResponse.d.ts +1 -1
  266. package/dist/openapi/models/MultipartStatusResponse.js +1 -1
  267. package/dist/openapi/models/MultipartStatusSuccessEnvelope.d.ts +1 -1
  268. package/dist/openapi/models/MultipartStatusSuccessEnvelope.js +1 -1
  269. package/dist/openapi/models/NotifyConfig.d.ts +1 -1
  270. package/dist/openapi/models/NotifyConfig.js +1 -1
  271. package/dist/openapi/models/OperationCapability.d.ts +1 -1
  272. package/dist/openapi/models/OperationCapability.js +1 -1
  273. package/dist/openapi/models/OperationDefinition.d.ts +1 -1
  274. package/dist/openapi/models/OperationDefinition.js +1 -1
  275. package/dist/openapi/models/OperationDownload.d.ts +1 -1
  276. package/dist/openapi/models/OperationDownload.js +1 -1
  277. package/dist/openapi/models/OperationInputModel.d.ts +1 -1
  278. package/dist/openapi/models/OperationInputModel.js +1 -1
  279. package/dist/openapi/models/OperationResponse.d.ts +1 -1
  280. package/dist/openapi/models/OperationResponse.js +1 -1
  281. package/dist/openapi/models/OperationResult.d.ts +1 -1
  282. package/dist/openapi/models/OperationResult.js +1 -1
  283. package/dist/openapi/models/OperationResultMetadata.d.ts +1 -1
  284. package/dist/openapi/models/OperationResultMetadata.js +1 -1
  285. package/dist/openapi/models/OperationResultMetrics.d.ts +1 -1
  286. package/dist/openapi/models/OperationResultMetrics.js +1 -1
  287. package/dist/openapi/models/OperationSchemaDefinition.d.ts +4 -3
  288. package/dist/openapi/models/OperationSchemaDefinition.js +1 -1
  289. package/dist/openapi/models/OperationStatus.d.ts +1 -1
  290. package/dist/openapi/models/OperationStatus.js +1 -1
  291. package/dist/openapi/models/OperationType.d.ts +5 -5
  292. package/dist/openapi/models/OperationType.js +5 -5
  293. package/dist/openapi/models/OperationsSchemaResponse.d.ts +1 -1
  294. package/dist/openapi/models/OperationsSchemaResponse.js +1 -1
  295. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeatures.d.ts +1 -1
  296. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeatures.js +1 -1
  297. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDelivery.d.ts +1 -1
  298. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDelivery.js +1 -1
  299. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliveryMode.d.ts +1 -1
  300. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliveryMode.js +1 -1
  301. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliverySelection.d.ts +1 -1
  302. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliverySelection.js +1 -1
  303. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesProcessing.d.ts +1 -1
  304. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesProcessing.js +1 -1
  305. package/dist/openapi/models/OptionSchema.d.ts +1 -1
  306. package/dist/openapi/models/OptionSchema.js +1 -1
  307. package/dist/openapi/models/OutputProperties.d.ts +1 -1
  308. package/dist/openapi/models/OutputProperties.js +1 -1
  309. package/dist/openapi/models/OutputPropertiesIsAnimated.d.ts +1 -1
  310. package/dist/openapi/models/OutputPropertiesIsAnimated.js +1 -1
  311. package/dist/openapi/models/PerClassAvailabilityEntry.d.ts +1 -1
  312. package/dist/openapi/models/PerClassAvailabilityEntry.js +1 -1
  313. package/dist/openapi/models/PerRoleCardinalityEntry.d.ts +1 -1
  314. package/dist/openapi/models/PerRoleCardinalityEntry.js +1 -1
  315. package/dist/openapi/models/PerValueAvailabilityEntry.d.ts +1 -1
  316. package/dist/openapi/models/PerValueAvailabilityEntry.js +1 -1
  317. package/dist/openapi/models/PresignedUrlPart.d.ts +1 -1
  318. package/dist/openapi/models/PresignedUrlPart.js +1 -1
  319. package/dist/openapi/models/ProbePendingResponse.d.ts +3 -2
  320. package/dist/openapi/models/ProbePendingResponse.js +1 -1
  321. package/dist/openapi/models/ProcessingClass.d.ts +1 -1
  322. package/dist/openapi/models/ProcessingClass.js +1 -1
  323. package/dist/openapi/models/ProcessingClassBandViolation.d.ts +1 -1
  324. package/dist/openapi/models/ProcessingClassBandViolation.js +1 -1
  325. package/dist/openapi/models/ProcessingClassConstraints.d.ts +1 -1
  326. package/dist/openapi/models/ProcessingClassConstraints.js +1 -1
  327. package/dist/openapi/models/ProcessingClassEntry.d.ts +1 -1
  328. package/dist/openapi/models/ProcessingClassEntry.js +1 -1
  329. package/dist/openapi/models/ProcessingClassExceedsBandResponse.d.ts +3 -2
  330. package/dist/openapi/models/ProcessingClassExceedsBandResponse.js +1 -1
  331. package/dist/openapi/models/ProcessingClassHint.d.ts +1 -1
  332. package/dist/openapi/models/ProcessingClassHint.js +1 -1
  333. package/dist/openapi/models/ProcessingClassReason.d.ts +1 -1
  334. package/dist/openapi/models/ProcessingClassReason.js +1 -1
  335. package/dist/openapi/models/ProcessingClassRejectReason.d.ts +1 -1
  336. package/dist/openapi/models/ProcessingClassRejectReason.js +1 -1
  337. package/dist/openapi/models/ProcessingPlan.d.ts +1 -1
  338. package/dist/openapi/models/ProcessingPlan.js +1 -1
  339. package/dist/openapi/models/ProcessingPlanJob.d.ts +1 -1
  340. package/dist/openapi/models/ProcessingPlanJob.js +1 -1
  341. package/dist/openapi/models/ReEncodeDecision.d.ts +1 -1
  342. package/dist/openapi/models/ReEncodeDecision.js +1 -1
  343. package/dist/openapi/models/ReadinessResponse.d.ts +1 -1
  344. package/dist/openapi/models/ReadinessResponse.js +1 -1
  345. package/dist/openapi/models/RegisterUser422Response.d.ts +1 -1
  346. package/dist/openapi/models/RegisterUser422Response.js +1 -1
  347. package/dist/openapi/models/RegisterUserRequest.d.ts +1 -1
  348. package/dist/openapi/models/RegisterUserRequest.js +1 -1
  349. package/dist/openapi/models/RequestAccountDeletion200Response.d.ts +1 -1
  350. package/dist/openapi/models/RequestAccountDeletion200Response.js +1 -1
  351. package/dist/openapi/models/RequestAccountDeletion200ResponseData.d.ts +1 -1
  352. package/dist/openapi/models/RequestAccountDeletion200ResponseData.js +1 -1
  353. package/dist/openapi/models/RequestAccountDeletionRequest.d.ts +1 -1
  354. package/dist/openapi/models/RequestAccountDeletionRequest.js +1 -1
  355. package/dist/openapi/models/ResendVerificationEmailRequest.d.ts +1 -1
  356. package/dist/openapi/models/ResendVerificationEmailRequest.js +1 -1
  357. package/dist/openapi/models/ResetPasswordRequest.d.ts +1 -1
  358. package/dist/openapi/models/ResetPasswordRequest.js +1 -1
  359. package/dist/openapi/models/ResponseEnvelope.d.ts +1 -1
  360. package/dist/openapi/models/ResponseEnvelope.js +1 -1
  361. package/dist/openapi/models/RetryResponse.d.ts +1 -1
  362. package/dist/openapi/models/RetryResponse.js +1 -1
  363. package/dist/openapi/models/RetrySuccessEnvelope.d.ts +1 -1
  364. package/dist/openapi/models/RetrySuccessEnvelope.js +1 -1
  365. package/dist/openapi/models/SseCompletionBase.d.ts +1 -1
  366. package/dist/openapi/models/SseCompletionBase.js +1 -1
  367. package/dist/openapi/models/SseConnectionLimitResponse.d.ts +174 -0
  368. package/dist/openapi/models/SseConnectionLimitResponse.js +65 -0
  369. package/dist/openapi/models/SseEventType.d.ts +1 -1
  370. package/dist/openapi/models/SseEventType.js +1 -1
  371. package/dist/openapi/models/SseJobCompletedData.d.ts +1 -1
  372. package/dist/openapi/models/SseJobCompletedData.js +1 -1
  373. package/dist/openapi/models/SseJobFailedData.d.ts +1 -1
  374. package/dist/openapi/models/SseJobFailedData.js +1 -1
  375. package/dist/openapi/models/SseMultiOutputCompletion.d.ts +1 -1
  376. package/dist/openapi/models/SseMultiOutputCompletion.js +1 -1
  377. package/dist/openapi/models/SseMultiOutputCompletionMetrics.d.ts +1 -1
  378. package/dist/openapi/models/SseMultiOutputCompletionMetrics.js +1 -1
  379. package/dist/openapi/models/SseMultiOutputCompletionWithKind.d.ts +1 -1
  380. package/dist/openapi/models/SseMultiOutputCompletionWithKind.js +1 -1
  381. package/dist/openapi/models/SseMultiOutputResultEntry.d.ts +1 -1
  382. package/dist/openapi/models/SseMultiOutputResultEntry.js +1 -1
  383. package/dist/openapi/models/SseOperationCompletedData.d.ts +1 -1
  384. package/dist/openapi/models/SseOperationCompletedData.js +1 -1
  385. package/dist/openapi/models/SseOperationCompletionResult.d.ts +1 -1
  386. package/dist/openapi/models/SseOperationCompletionResult.js +1 -1
  387. package/dist/openapi/models/SseOperationFailedData.d.ts +1 -1
  388. package/dist/openapi/models/SseOperationFailedData.js +1 -1
  389. package/dist/openapi/models/SseOperationProgressData.d.ts +1 -1
  390. package/dist/openapi/models/SseOperationProgressData.js +1 -1
  391. package/dist/openapi/models/SseSingleOutputCompletion.d.ts +1 -1
  392. package/dist/openapi/models/SseSingleOutputCompletion.js +1 -1
  393. package/dist/openapi/models/SseWorkflowTerminalData.d.ts +1 -1
  394. package/dist/openapi/models/SseWorkflowTerminalData.js +1 -1
  395. package/dist/openapi/models/TierRestrictionKind.d.ts +1 -1
  396. package/dist/openapi/models/TierRestrictionKind.js +1 -1
  397. package/dist/openapi/models/TierRestrictionResponse.d.ts +3 -2
  398. package/dist/openapi/models/TierRestrictionResponse.js +1 -1
  399. package/dist/openapi/models/UpdateProfile200Response.d.ts +1 -1
  400. package/dist/openapi/models/UpdateProfile200Response.js +1 -1
  401. package/dist/openapi/models/UpdateProfile200ResponseData.d.ts +1 -1
  402. package/dist/openapi/models/UpdateProfile200ResponseData.js +1 -1
  403. package/dist/openapi/models/UpdateProfile422Response.d.ts +1 -1
  404. package/dist/openapi/models/UpdateProfile422Response.js +1 -1
  405. package/dist/openapi/models/UpdateProfileRequest.d.ts +1 -1
  406. package/dist/openapi/models/UpdateProfileRequest.js +1 -1
  407. package/dist/openapi/models/UploadConstraintsApplied.d.ts +1 -1
  408. package/dist/openapi/models/UploadConstraintsApplied.js +1 -1
  409. package/dist/openapi/models/UploadDurationExceedsTierResponse.d.ts +3 -2
  410. package/dist/openapi/models/UploadDurationExceedsTierResponse.js +1 -1
  411. package/dist/openapi/models/UploadFile403Response.d.ts +1 -1
  412. package/dist/openapi/models/UploadFile403Response.js +1 -1
  413. package/dist/openapi/models/UploadFile422Response.d.ts +1 -1
  414. package/dist/openapi/models/UploadFile422Response.js +1 -1
  415. package/dist/openapi/models/UploadProbeMediaMetadata.d.ts +1 -1
  416. package/dist/openapi/models/UploadProbeMediaMetadata.js +1 -1
  417. package/dist/openapi/models/UploadProbeProcessingClass.d.ts +7 -4
  418. package/dist/openapi/models/UploadProbeProcessingClass.js +7 -4
  419. package/dist/openapi/models/UploadProbeResponse.d.ts +1 -1
  420. package/dist/openapi/models/UploadProbeResponse.js +1 -1
  421. package/dist/openapi/models/UploadProbeStatus.d.ts +1 -1
  422. package/dist/openapi/models/UploadProbeStatus.js +1 -1
  423. package/dist/openapi/models/UploadProbeSuccessEnvelope.d.ts +1 -1
  424. package/dist/openapi/models/UploadProbeSuccessEnvelope.js +1 -1
  425. package/dist/openapi/models/UploadResponse.d.ts +1 -1
  426. package/dist/openapi/models/UploadResponse.js +1 -1
  427. package/dist/openapi/models/UploadSizeExceedsTierResponse.d.ts +3 -2
  428. package/dist/openapi/models/UploadSizeExceedsTierResponse.js +1 -1
  429. package/dist/openapi/models/UploadSource.d.ts +1 -1
  430. package/dist/openapi/models/UploadSource.js +1 -1
  431. package/dist/openapi/models/UploadSuccessEnvelope.d.ts +1 -1
  432. package/dist/openapi/models/UploadSuccessEnvelope.js +1 -1
  433. package/dist/openapi/models/UploadThresholds.d.ts +1 -1
  434. package/dist/openapi/models/UploadThresholds.js +1 -1
  435. package/dist/openapi/models/UserTier.d.ts +1 -1
  436. package/dist/openapi/models/UserTier.js +1 -1
  437. package/dist/openapi/models/ValidationErrorEnvelope.d.ts +1 -1
  438. package/dist/openapi/models/ValidationErrorEnvelope.js +1 -1
  439. package/dist/openapi/models/ValidationErrorEnvelopeDetailsInner.d.ts +1 -1
  440. package/dist/openapi/models/ValidationErrorEnvelopeDetailsInner.js +1 -1
  441. package/dist/openapi/models/VerifyEmailRequest.d.ts +1 -1
  442. package/dist/openapi/models/VerifyEmailRequest.js +1 -1
  443. package/dist/openapi/models/WarningType.d.ts +1 -1
  444. package/dist/openapi/models/WarningType.js +1 -1
  445. package/dist/openapi/models/WebhookOperationContext.d.ts +1 -1
  446. package/dist/openapi/models/WebhookOperationContext.js +1 -1
  447. package/dist/openapi/models/WebhookPayload.d.ts +1 -1
  448. package/dist/openapi/models/WebhookPayload.js +1 -1
  449. package/dist/openapi/models/WorkflowArchiveResponse.d.ts +1 -1
  450. package/dist/openapi/models/WorkflowArchiveResponse.js +1 -1
  451. package/dist/openapi/models/WorkflowArchiveSuccessEnvelope.d.ts +1 -1
  452. package/dist/openapi/models/WorkflowArchiveSuccessEnvelope.js +1 -1
  453. package/dist/openapi/models/WorkflowCancelBillingEffect.d.ts +1 -1
  454. package/dist/openapi/models/WorkflowCancelBillingEffect.js +1 -1
  455. package/dist/openapi/models/WorkflowCancelResponse.d.ts +1 -1
  456. package/dist/openapi/models/WorkflowCancelResponse.js +1 -1
  457. package/dist/openapi/models/WorkflowCancelSuccessEnvelope.d.ts +1 -1
  458. package/dist/openapi/models/WorkflowCancelSuccessEnvelope.js +1 -1
  459. package/dist/openapi/models/WorkflowCreateRequest.d.ts +1 -1
  460. package/dist/openapi/models/WorkflowCreateRequest.js +1 -1
  461. package/dist/openapi/models/WorkflowCreateResponse.d.ts +1 -1
  462. package/dist/openapi/models/WorkflowCreateResponse.js +1 -1
  463. package/dist/openapi/models/WorkflowCreateSuccessEnvelope.d.ts +1 -1
  464. package/dist/openapi/models/WorkflowCreateSuccessEnvelope.js +1 -1
  465. package/dist/openapi/models/WorkflowCreditSummary.d.ts +1 -1
  466. package/dist/openapi/models/WorkflowCreditSummary.js +1 -1
  467. package/dist/openapi/models/WorkflowDownloadResponse.d.ts +1 -1
  468. package/dist/openapi/models/WorkflowDownloadResponse.js +1 -1
  469. package/dist/openapi/models/WorkflowDownloadSuccessEnvelope.d.ts +1 -1
  470. package/dist/openapi/models/WorkflowDownloadSuccessEnvelope.js +1 -1
  471. package/dist/openapi/models/WorkflowEdge.d.ts +1 -1
  472. package/dist/openapi/models/WorkflowEdge.js +1 -1
  473. package/dist/openapi/models/WorkflowExpiredResponse.d.ts +3 -2
  474. package/dist/openapi/models/WorkflowExpiredResponse.js +1 -1
  475. package/dist/openapi/models/WorkflowListResponse.d.ts +1 -1
  476. package/dist/openapi/models/WorkflowListResponse.js +1 -1
  477. package/dist/openapi/models/WorkflowListSuccessEnvelope.d.ts +1 -1
  478. package/dist/openapi/models/WorkflowListSuccessEnvelope.js +1 -1
  479. package/dist/openapi/models/WorkflowPauseRequiredAction.d.ts +1 -1
  480. package/dist/openapi/models/WorkflowPauseRequiredAction.js +1 -1
  481. package/dist/openapi/models/WorkflowPausedDetail.d.ts +1 -1
  482. package/dist/openapi/models/WorkflowPausedDetail.js +1 -1
  483. package/dist/openapi/models/WorkflowPausedDetailLinks.d.ts +1 -1
  484. package/dist/openapi/models/WorkflowPausedDetailLinks.js +1 -1
  485. package/dist/openapi/models/WorkflowProcessing.d.ts +1 -1
  486. package/dist/openapi/models/WorkflowProcessing.js +1 -1
  487. package/dist/openapi/models/WorkflowRestoreResponse.d.ts +1 -1
  488. package/dist/openapi/models/WorkflowRestoreResponse.js +1 -1
  489. package/dist/openapi/models/WorkflowRestoreSuccessEnvelope.d.ts +1 -1
  490. package/dist/openapi/models/WorkflowRestoreSuccessEnvelope.js +1 -1
  491. package/dist/openapi/models/WorkflowResumeResponse.d.ts +1 -1
  492. package/dist/openapi/models/WorkflowResumeResponse.js +1 -1
  493. package/dist/openapi/models/WorkflowResumeSuccessEnvelope.d.ts +1 -1
  494. package/dist/openapi/models/WorkflowResumeSuccessEnvelope.js +1 -1
  495. package/dist/openapi/models/WorkflowSource.d.ts +1 -1
  496. package/dist/openapi/models/WorkflowSource.js +1 -1
  497. package/dist/openapi/models/WorkflowStatus.d.ts +1 -1
  498. package/dist/openapi/models/WorkflowStatus.js +1 -1
  499. package/dist/openapi/models/WorkflowStatusResponse.d.ts +1 -1
  500. package/dist/openapi/models/WorkflowStatusResponse.js +1 -1
  501. package/dist/openapi/models/WorkflowStatusSuccessEnvelope.d.ts +1 -1
  502. package/dist/openapi/models/WorkflowStatusSuccessEnvelope.js +1 -1
  503. package/dist/openapi/models/WorkflowSummary.d.ts +1 -1
  504. package/dist/openapi/models/WorkflowSummary.js +1 -1
  505. package/dist/openapi/models/WorkflowSummaryJob.d.ts +1 -1
  506. package/dist/openapi/models/WorkflowSummaryJob.js +1 -1
  507. package/dist/openapi/models/WorkflowWarning.d.ts +1 -1
  508. package/dist/openapi/models/WorkflowWarning.js +1 -1
  509. package/dist/openapi/models/WorkflowWarningSeverity.d.ts +1 -1
  510. package/dist/openapi/models/WorkflowWarningSeverity.js +1 -1
  511. package/dist/openapi/models/index.d.ts +1 -0
  512. package/dist/openapi/models/index.js +1 -0
  513. package/dist/openapi/runtime.d.ts +1 -1
  514. package/dist/openapi/runtime.js +1 -1
  515. package/dist/operations/audio_overlay.metadata.js +0 -2
  516. package/dist/operations/audio_to_video.metadata.js +1 -1
  517. package/dist/operations/compress.metadata.js +0 -1
  518. package/dist/operations/convert.metadata.js +0 -1
  519. package/dist/operations/custom_luma.metadata.js +0 -3
  520. package/dist/operations/merge.metadata.js +0 -1
  521. package/dist/operations/split.metadata.js +0 -1
  522. package/dist/operations/thumbnail.metadata.js +0 -1
  523. package/dist/operations/transform.metadata.js +0 -1
  524. package/dist/operations/video_text_watermark.metadata.js +0 -1
  525. package/dist/operations/video_watermark.metadata.js +2 -3
  526. package/openapi/README.md +1 -1
  527. package/openapi/api.yaml +229 -64
  528. package/operation-capabilities/operation-capabilities.json +3 -3
  529. package/operations/schemas/audio_overlay.yaml +2 -4
  530. package/operations/schemas/audio_to_video.yaml +25 -5
  531. package/operations/schemas/compress.yaml +9 -2
  532. package/operations/schemas/convert.yaml +1 -2
  533. package/operations/schemas/custom_luma.yaml +5 -7
  534. package/operations/schemas/merge.yaml +1 -2
  535. package/operations/schemas/split.yaml +154 -2
  536. package/operations/schemas/thumbnail.yaml +1 -2
  537. package/operations/schemas/transform.yaml +1 -2
  538. package/operations/schemas/video_text_watermark.yaml +72 -12
  539. package/operations/schemas/video_watermark.yaml +61 -24
  540. package/package.json +3 -3
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "capabilities_profile": "baseline",
3
- "capabilities_version": 185,
3
+ "capabilities_version": 190,
4
4
  "endpoints": {
5
5
  "DELETE /api/auth/account": {
6
6
  "auth": "required",
@@ -526,8 +526,7 @@
526
526
  "max_input_size_bytes": 50000000000,
527
527
  "max_output_size_bytes": 50000000000
528
528
  }
529
- },
530
- "required_tier": "pro"
529
+ }
531
530
  },
532
531
  "short_form": {
533
532
  "availability": "planned",
@@ -690,8 +689,7 @@
690
689
  "max_input_size_bytes": 50000000000,
691
690
  "max_output_size_bytes": 50000000000
692
691
  }
693
- },
694
- "required_tier": "pro"
692
+ }
695
693
  },
696
694
  "short_form": {
697
695
  "availability": "planned",
@@ -718,9 +716,9 @@
718
716
  "sole_op": true
719
717
  },
720
718
  "audio_to_video": {
721
- "availability": "stable",
719
+ "availability": "planned",
722
720
  "default": false,
723
- "description": "Produce a video from an audio input plus an OPTIONAL still image\noverlay. Use cases: podcast \u2192 YouTube uploads, audio-only tracks\nthat need a video container for platforms requiring it, branded\naudio releases with a static cover image.\n\n**Role asymmetry.** First role-based operation on the contract\nwith an OPTIONAL role \u2014 REQUIRED `base` (audio source) +\nOPTIONAL `overlay` (still image, 0..1). When `overlay` is\nomitted, the video uses a solid `background_color`. The\nmachine-readable cardinality lives in `per_role_cardinality`\non this schema.\n\n**Input vs output asymmetry.** The single `mime_groups.audio`\nblock keys the INPUT MIME family (the `base` role input is\naudio). The OUTPUT is always video \u2014 `output_format` controls\nthe container; `mime_groups` is NOT the output type. Mirrors\nthe `audio_overlay.video` group pattern (input-keyed).\n\nRe-encode required (audio \u2192 video composition always re-encodes).\nA lower framerate plus still-image tuning keeps file size tiny\nwhen the overlay is a still image (the common case).\n\nActivated to `availability: beta`: the backend is live (API\naccepts + publishes), so this is shape-stable + opt-in for callers\nand MUST NOT return `feature_not_available` \u2014 it may still change\nwith notice while beta.\n",
721
+ "description": "Produce a video from an audio input plus an OPTIONAL still image\noverlay. Use cases: podcast \u2192 YouTube uploads, audio-only tracks\nthat need a video container for platforms requiring it, branded\naudio releases with a static cover image.\n\n**Role asymmetry.** First role-based operation on the contract\nwith an OPTIONAL role \u2014 REQUIRED `base` (audio source) +\nOPTIONAL `overlay` (still image, 0..1). When `overlay` is\nomitted, the video uses a solid `background_color`. The\nmachine-readable cardinality lives in `per_role_cardinality`\non this schema.\n\n**Input vs output asymmetry.** The single `mime_groups.audio`\nblock keys the INPUT MIME family (the `base` role input is\naudio). The OUTPUT is always video \u2014 `output_format` controls\nthe container; `mime_groups` is NOT the output type. Mirrors\nthe `audio_overlay.video` group pattern (input-keyed).\n\nRe-encode required (audio \u2192 video composition always re-encodes).\nA lower framerate plus still-image tuning keeps file size tiny\nwhen the overlay is a still image (the common case).\n\n`availability: planned` \u2014 withdrawn 2026-09-15. Measured encode cost is\n0.300 s per second of output PLUS A 7 s FIXED COST, so the advertised PT2H\nneeds 2167 s against a 900 s platform maximum. \u26a0\ufe0f The 7 s is not a rounding\ndetail: 0.300 x 7200 alone is 2160, and a consumer dividing 600 by 0.300\nderives a 2000 s in-flight boundary where the real one is ~1976 s. Workflow-create returns `feature_not_available` (422).\n\n\u26a0\ufe0f An already-accepted workflow is NOT cancelled \u2014 availability is checked at\ncreate \u2014 and it is NOT thereby doomed. \u26d4 DO NOT READ THIS AS \"in-flight work\nfails\": the 60 s and 120 s cells behind this withdrawal both COMPLETED WITH\nOUTPUT, which is precisely why the evidence is arithmetic rather than a kill.\nWhat fails is an accepted workflow whose OUTPUT DURATION exceeds ~1976 s\n\u26a0\ufe0f ON THE INPUT THE RATE WAS MEASURED WITH \u2014 a real photographic 1080p STILL\nplus looped real audio \u2014 the point at which 0.300 s/s plus the 7 s fixed cost\nreaches the 600 s cap. \u26d4 THE DRIVER IS THE STILL'S RESOLUTION, NOT THE\nDURATION ALONE: a 4K still is roughly 4x the rate (recorded as UNMEASURED),\nwhich would put the boundary near a quarter of that figure, and this schema\nplaces NO constraint on the overlay's resolution. Other still resolutions and\nother output settings are likewise unmeasured, and the contract does not\nclaim which direction they move \u2014\nand what the caller then sees is NOT SETTLED \u2014 see the CHANGELOG entry for\n2.203.0; this contract does not pin a worker's error classification. Measured figures and the conditions for re-listing are in the\nCHANGELOG entry for 2.203.0 \u2014 the only one of the two records that is\nPUBLISHED (`schemas/manifest-divergence-register.yaml` is working material\nfor the drift gate and is not in the npm tarball).\n",
724
722
  "input_model": "multi",
725
723
  "max_inputs": 2,
726
724
  "mime_groups": {
@@ -2125,8 +2123,7 @@
2125
2123
  "max_input_size_bytes": 50000000000,
2126
2124
  "max_output_size_bytes": 50000000000
2127
2125
  }
2128
- },
2129
- "required_tier": "pro"
2126
+ }
2130
2127
  },
2131
2128
  "short_form": {
2132
2129
  "availability": "stable",
@@ -2660,8 +2657,7 @@
2660
2657
  "max_input_size_bytes": 50000000000,
2661
2658
  "max_output_size_bytes": 50000000000
2662
2659
  }
2663
- },
2664
- "required_tier": "pro"
2660
+ }
2665
2661
  },
2666
2662
  "short_form": {
2667
2663
  "availability": "stable",
@@ -2678,7 +2674,7 @@
2678
2674
  "custom_luma": {
2679
2675
  "availability": "planned",
2680
2676
  "default": false,
2681
- "description": "Apply a caller-uploaded luma matte (transition-mask) over a base\nvideo to produce a custom luma-matte transition effect. Inspired\nby Cloudinary's deprecated luma-matte custom transitions and\nintended as a paid-tier (`pro`+) creative feature.\n\n**NOT** related to the `xfade=custom` expression-mode transition\nparameter. The `merge.transition.custom` value is tagged `planned`\nas an advisory that points callers at this dedicated operation for\ncaller-uploaded luma-matte transitions.\n\nMulti-input: exactly one input with `role: base` (the source\nvideo being transitioned) + exactly one input with\n`role: transition_mask` (the luma matte \u2014 a video whose pixel\nluminance drives the transition reveal \u2014 bright = revealed,\ndark = held). Each input is imported\nexternally, referenced from a vault connection, or an upstream\n`job_output` (uploads are NOT referenced directly inside inputs[]).\nAn uploaded base or mask enters via a `passthrough` source job\nreferenced by `{ type: job_output, from: <id> }` (per ticket\n4som89Uh).\n\n`planned` \u2014 not yet supported.\n",
2677
+ "description": "Apply a caller-uploaded luma matte (transition-mask) over a base\nvideo to produce a custom luma-matte transition effect. Inspired\nby Cloudinary's deprecated luma-matte custom transitions and\nintended as a creative feature, metered by credits like every\nother operation (no tier gate \u2014 decision 26, 2026-09-23).\n\n**NOT** related to the `xfade=custom` expression-mode transition\nparameter. The `merge.transition.custom` value is tagged `planned`\nas an advisory that points callers at this dedicated operation for\ncaller-uploaded luma-matte transitions.\n\nMulti-input: exactly one input with `role: base` (the source\nvideo being transitioned) + exactly one input with\n`role: transition_mask` (the luma matte \u2014 a video whose pixel\nluminance drives the transition reveal \u2014 bright = revealed,\ndark = held). Each input is imported\nexternally, referenced from a vault connection, or an upstream\n`job_output` (uploads are NOT referenced directly inside inputs[]).\nAn uploaded base or mask enters via a `passthrough` source job\nreferenced by `{ type: job_output, from: <id> }` (per ticket\n4som89Uh).\n\n`planned` \u2014 not yet supported.\n",
2682
2678
  "input_model": "multi",
2683
2679
  "max_inputs": 2,
2684
2680
  "mime_groups": {
@@ -2738,8 +2734,7 @@
2738
2734
  "max_input_size_bytes": 50000000000,
2739
2735
  "max_output_size_bytes": 50000000000
2740
2736
  }
2741
- },
2742
- "required_tier": "pro"
2737
+ }
2743
2738
  },
2744
2739
  "short_form": {
2745
2740
  "availability": "planned",
@@ -2747,8 +2742,7 @@
2747
2742
  "max_input_duration": "PT5M",
2748
2743
  "max_input_size_bytes": 524288000,
2749
2744
  "max_output_size_bytes": 524288000
2750
- },
2751
- "required_tier": "pro"
2745
+ }
2752
2746
  }
2753
2747
  }
2754
2748
  }
@@ -2764,7 +2758,6 @@
2764
2758
  "min": 1
2765
2759
  }
2766
2760
  },
2767
- "required_tier": "pro",
2768
2761
  "sole_op": true
2769
2762
  },
2770
2763
  "image_watermark": {
@@ -3788,8 +3781,7 @@
3788
3781
  "max": {
3789
3782
  "max_total_input_size_bytes": 50000000000
3790
3783
  }
3791
- },
3792
- "required_tier": "pro"
3784
+ }
3793
3785
  },
3794
3786
  "short_form_concat": {
3795
3787
  "availability": "stable",
@@ -3912,6 +3904,7 @@
3912
3904
  "mime_groups": {
3913
3905
  "audio": {
3914
3906
  "availability": "beta",
3907
+ "input_size_bound": "processing_time",
3915
3908
  "mimes": [
3916
3909
  "audio/mpeg",
3917
3910
  "audio/aac",
@@ -3973,7 +3966,7 @@
3973
3966
  },
3974
3967
  "precision": {
3975
3968
  "default": "fast",
3976
- "description": "Cut precision. Under `fast`, audio cuts are\npacket-boundary approximate (drift bounded by codec\npacket size \u2014 typically <= 23ms for AAC, <= 26ms for\nMP3). Under `exact`, the server re-encodes to align cuts\nprecisely at the requested timestamps (slower, larger\noutput, but sample-accurate).\n",
3969
+ "description": "Cut precision. Under `fast`, audio cuts are\npacket-boundary approximate (drift bounded by codec\npacket size \u2014 typically <= 23ms for AAC, <= 26ms for\nMP3). Under `exact`, the server re-encodes to align cuts\nprecisely at the requested timestamps (slower, larger\noutput, but sample-accurate).\n\n\ud83d\udd34 **THE TWO VALUES HAVE DIFFERENT DURATION LIMITS, AND ONLY\nONE OF THEM REFUSES.** This is stated here, on the option a\ncaller chooses, because the group declares\n`input_size_bound: processing_time` and no\n`max_input_duration` \u2014 there is no per-value constraint\nprimitive to carry it.\n\n\u26d4 **NEITHER VALUE GIVES A PRE-FLIGHT SIGNAL. BOTH FAIL AFTER\nTHE JOB IS ACCEPTED AND BILLED.** No duration ceiling is\ndeclared on this group, so the API cannot enforce one at\ncreate; the worker's own check reads a probe result, which\nmeans the input has already been uploaded, accepted and\ndownloaded.\n\n- **`exact`: refused when its computed time budget does not\n fit** \u2014 but WORKER-SIDE, after download and probe. The job\n returns a terminal `OperationResult` with `error_code:\n invalid_options`. \u26a0\ufe0f It is NOT an HTTP 422 and it is not a\n create-time rejection: a worker cannot emit a status code.\n The boundary does not move with `count` \u2014 once the cap\n binds, the per-output term stops mattering.\n- **`fast` (the default): no boundary and no refusal at\n all.** Past the point where its deadline saturates, the time\n budget stops growing while the work does, so the job fails\n as a **TIMEOUT** rather than with any reason a caller can\n act on.\n\n\ud83d\udd34 **TWO LIMITS EXIST AND THE SMALLER ONE BINDS.** The worker\ncarries an internal time budget and the Lambda function\ncarries a platform timeout; **the effective boundary is the\nLOWER of the two**, and the internal budget sits ABOVE the\nplatform timeout.\n\n\u21d2 **`exact`'s refusal threshold is calibrated to a limit that\nis not the one that ends the job.** Its check does fire, and\nfires early \u2014 it reads the probe result before any re-encode\nstarts, so a long-but-small input is refused within seconds.\nBut there is a band of inputs it judges FINE which the\nplatform then hard-kills mid-encode, with no named cause. **So\n`exact` refusing is a reliable signal; `exact` NOT refusing is\nnot a promise the job will finish.**\n\n\u26d4 **NO SECONDS FIGURE IS GIVEN HERE, DELIBERATELY.** v2.205.0\npublished figures keyed to the crate constant \u2014 the larger\nlimit, the one that does not bind. The effective number lands\nonly when that derivation settles AND a job is measured near\nit. **A published number a caller pre-validates against is\nworse wrong than absent**; the shape above is what a caller can\nactually act on today, which is: do not rely on either value\nfailing gracefully.\n\n\u21d2 `exact` at least names a cause when it is reached; `fast`\nnever does. **Both are the accept-then-bill-then-fail shape**,\nwhich is the very thing this group's `input_size_bound`\ndeclaration exists to stop happening silently on the BYTE\naxis. On the DURATION axis it is stated here and not yet\nfixed.\n\n\u26a0\ufe0f Read from `compression_lambdas` `crates/split`. **NOT\nmeasured** \u2014 their audio fixtures reach 145 s, a small\nfraction of any candidate cap, so this describes what the code\nwill do rather than observed behaviour at the boundary.\n",
3977
3970
  "type": "enum",
3978
3971
  "values": [
3979
3972
  "fast",
@@ -4149,8 +4142,7 @@
4149
4142
  "max_input_size_bytes": 50000000000,
4150
4143
  "max_output_size_bytes": 50000000000
4151
4144
  }
4152
- },
4153
- "required_tier": "pro"
4145
+ }
4154
4146
  },
4155
4147
  "short_form": {
4156
4148
  "availability": "beta",
@@ -4812,8 +4804,7 @@
4812
4804
  "max": {
4813
4805
  "max_input_size_bytes": 50000000000
4814
4806
  }
4815
- },
4816
- "required_tier": "pro"
4807
+ }
4817
4808
  },
4818
4809
  "short_form": {
4819
4810
  "availability": "stable",
@@ -4963,8 +4954,7 @@
4963
4954
  "max_input_size_bytes": 50000000000,
4964
4955
  "max_output_size_bytes": 50000000000
4965
4956
  }
4966
- },
4967
- "required_tier": "pro"
4957
+ }
4968
4958
  },
4969
4959
  "short_form": {
4970
4960
  "availability": "planned",
@@ -4982,7 +4972,7 @@
4982
4972
  "video_text_watermark": {
4983
4973
  "availability": "planned",
4984
4974
  "default": false,
4985
- "description": "Render a text overlay onto a base video using bundled Liberation\nSans (SIL OFL). Single-input \u2014 the text and its styling come from\noptions, not from a file input.\n\n**Dedicated operation, not an extension of `text_watermark`.**\n`text_watermark` renders onto images (single-pass); per-frame video\ntext rendering requires a re-encode (overlay = pixel modification,\nno stream-copy escape). Different runtime.\n\n**Audio passthrough.** The base video's audio stream is preserved\nunchanged (stream-copied) \u2014 the watermark applies to the visual\ntrack only.\n\nTwo rendering modes (mirrors `text_watermark`):\n- `single`: one label rendered at the anchor + margin position.\n- `tiled`: text tiled across the source frames at the rotation\n angle.\n\n`availability: planned` until the cross-repo backend support ships;\ndispatch returns `feature_not_available` (422) until then.\n",
4975
+ "description": "Render a text overlay onto a base video using bundled Liberation\nSans (SIL OFL). Single-input \u2014 the text and its styling come from\noptions, not from a file input.\n\n**Dedicated operation, not an extension of `text_watermark`.**\n`text_watermark` renders onto images (single-pass); per-frame video\ntext rendering requires a re-encode (overlay = pixel modification,\nno stream-copy escape). Different runtime.\n\n**Audio passthrough.** The base video's audio stream is preserved\nunchanged (stream-copied) \u2014 the watermark applies to the visual\ntrack only.\n\nTwo rendering modes (mirrors `text_watermark`):\n- `single`: one label rendered at the anchor + margin position.\n- `tiled`: text tiled across the source frames at the rotation\n angle.\n\n`availability: planned` \u2014 withdrawn 2026-09-15. A real 1080p source at the\nadvertised PT5M could not finish inside the worker's 600 s encode cap.\nWorkflow-create returns `feature_not_available` (422).\n\n\u26a0\ufe0f An already-accepted workflow is NOT cancelled \u2014 availability is checked at\ncreate \u2014 and it is NOT thereby doomed. \u26d4 The withdrawal rests on ONE measured\npoint: a 435 MB / 300 s real 1080p source KILLED at 604 s with no output.\nWork far enough inside the 600 s cap still completes, and NOTHING MEASURED\nSAYS WHERE THE BOUNDARY IS. What a caller sees when a job crosses it is NOT\nSETTLED \u2014 see the CHANGELOG entry for 2.203.0; this contract does not pin\na worker's error classification. Measured figures and the conditions for re-listing are in the\nCHANGELOG entry for 2.203.0 \u2014 the only one of the two records that is\nPUBLISHED (`schemas/manifest-divergence-register.yaml` is working material\nfor the drift gate and is not in the npm tarball).\n",
4986
4976
  "input_model": "single",
4987
4977
  "mime_groups": {
4988
4978
  "video": {
@@ -4993,7 +4983,7 @@
4993
4983
  "options": {
4994
4984
  "anchor": {
4995
4985
  "default": "bottom_right",
4996
- "description": "9-grid anchor position. For `watermark_mode: single`, the\ntext label is placed at this anchor + margin_x/margin_y\noffset on each frame. For `watermark_mode: tiled`, anchor\nis ignored (tiles fill the frame).\n",
4986
+ "description": "9-grid anchor position. For `watermark_mode: single`, the\ntext label is placed at this anchor + margin_x/margin_y\noffset on each frame. For `watermark_mode: tiled`, anchor\nis ignored (tiles fill the frame).\n\n\ud83d\udd34 **`center` IGNORES `margin_x` / `margin_y` rather than\nrejecting them. THE REJECTION AS WRITTEN CANNOT SURVIVE A\nNON-ZERO DEFAULT; IGNORING IS THE REPLACEMENT THAT WAS CHOSEN.**\nThe sibling operations still reject a non-zero\nmargin at `anchor: center` as `invalid_options` (422), and\nthat rule is sound THERE because their margin default is\n`0px`: a client that materialises the default sends `0px`,\nwhich is not non-zero, so only a caller who actually asked\nfor an offset is ever refused.\n\n\u26d4 **Here the default is `2%`, and that makes the rejection\nrule unusable as written.** Schema-driven clients fill contract\ndefaults BEFORE sending, so a request with `anchor: center`\narrives carrying `margin_x: \"2%\"` whether the caller chose it\nor never mentioned margins at all. **After default\nmaterialisation an explicit value and a defaulted one are\nINDISTINGUISHABLE on the wire**, so a rejection cannot\nseparate the mistake it exists to catch from the overwhelming\nmajority of requests that simply accepted the default. It\nwould 422 almost every centred watermark.\n\n\u26a0\ufe0f **Rejection is not the only alternative, and this text does\nnot claim it was forced.** A reject-if-it-differs-from-the-\ndefault rule would survive materialisation exactly as the zero\nrule does for the siblings. **Ignoring is the behaviour CHOSEN**\nunder hub decision 465, because margins are meaningless when the\nlabel is centred and a no-op is kinder than a 422 on a request\nthat renders correctly. The cost is stated: a caller who\ndeliberately passes a margin with `anchor: center` gets silence\nrather than a correction.\n\n\u26a0\ufe0f **DO NOT \"align\" `text_watermark` or `image_watermark` to\nthis on the strength of the operation NAME.** Their rejection\nstill works because their default is still `0px`. Changing one\nof THOSE defaults to non-zero is what would force the same move\nthere \u2014 the trigger is a non-zero default, never the operation\nname. (`video_watermark` moved with this operation because its\ndefault moved too, under the same decision.)\n",
4997
4987
  "type": "enum",
4998
4988
  "values": [
4999
4989
  "top_left",
@@ -5029,14 +5019,14 @@
5029
5019
  "type": "float"
5030
5020
  },
5031
5021
  "margin_x": {
5032
- "default": "0px",
5033
- "description": "Horizontal offset from the anchor as pixels (e.g. \"40px\")\nor percentage of video frame width (e.g. \"5%\").\nAnchor-relative. Ignored when `watermark_mode: tiled`.\n\n**`anchor: center` exception** (watermark_mode: single\nonly). Non-zero `margin_x` combined with `anchor: center`\nis rejected by the API at workflow-create time as\n`invalid_options` (HTTP 422).\n",
5022
+ "default": "2%",
5023
+ "description": "Horizontal offset from the anchor as pixels (e.g. \"40px\")\nor percentage of video frame width (e.g. \"5%\").\nAnchor-relative. Ignored when `watermark_mode: tiled`.\n\n**Defaults to `2%`, i.e. INSET from the frame edge**, because\na watermark flush against the edge is the wrong default for\nvideo: player chrome, safe-area cropping and letterboxing all\neat the outermost pixels. **A true flush remains available by\npassing `\"0px\"` explicitly** \u2014 the default is a default, not a\nfloor.\n\n**`anchor: center`: margins are IGNORED** (watermark_mode:\nsingle only). They are meaningless when the label is centred,\nand this is deliberately a silent no-op rather than a\nrejection. See the `anchor` description for why rejection is\nnot available here.\n",
5034
5024
  "pattern": "^\\d+(\\.\\d+)?(px|%)$",
5035
5025
  "type": "string"
5036
5026
  },
5037
5027
  "margin_y": {
5038
- "default": "0px",
5039
- "description": "Vertical offset from the anchor as pixels or percentage of\nvideo frame height. Ignored when `watermark_mode: tiled`.\n\n**`anchor: center` exception** (watermark_mode: single\nonly). Same rejection rule as `margin_x`.\n",
5028
+ "default": "2%",
5029
+ "description": "Vertical offset from the anchor as pixels or percentage of\nvideo frame height. Ignored when `watermark_mode: tiled`.\n\n**Defaults to `2%` (inset), for the reasons on `margin_x`**;\n`\"0px\"` still gives a true flush. **`anchor: center`: ignored**,\nsame as `margin_x`.\n",
5040
5030
  "pattern": "^\\d+(\\.\\d+)?(px|%)$",
5041
5031
  "type": "string"
5042
5032
  },
@@ -5095,8 +5085,7 @@
5095
5085
  "max_input_size_bytes": 50000000000,
5096
5086
  "max_output_size_bytes": 50000000000
5097
5087
  }
5098
- },
5099
- "required_tier": "pro"
5088
+ }
5100
5089
  },
5101
5090
  "short_form": {
5102
5091
  "availability": "planned",
@@ -5112,9 +5101,9 @@
5112
5101
  "sole_op": true
5113
5102
  },
5114
5103
  "video_watermark": {
5115
- "availability": "stable",
5104
+ "availability": "planned",
5116
5105
  "default": false,
5117
- "description": "Apply an image overlay onto a base video\nasset. Multi-input role-based:\nexactly one input with `role: base` (the source video) + exactly\none with `role: overlay` (the watermark image). Each input is a\na multi-input source \u2014 an external_import handle, a vault connection,\nor an upstream `job_output` (uploads are NOT referenced directly\ninside inputs[]). To use an uploaded base or overlay, feed it through\na `passthrough` source job and reference it via `{ type: job_output,\nfrom: <id> }` (per ticket 4som89Uh).\n\n**Dedicated operation, not an extension of `image_watermark`.**\n`image_watermark` handles image-on-image overlay only.\n`video_watermark` requires an overlay + re-encode (no stream-copy escape \u2014 overlay = pixel modification).\n\n**Audio passthrough.** The base video's audio stream is preserved\nunchanged (stream-copied) \u2014 the watermark applies to the visual\ntrack only.\n\nActivated to `availability: beta` (Wave A, ticket\n[`c3uthIP4`](https://trello.com/c/c3uthIP4)): the cross-repo backend\nis live (API accepts + publishes via the operations SNS\ntopic), so the operation and its `short_form` processing class are\nshape-stable + opt-in and MUST NOT return `feature_not_available`.\n`long_form` stays `planned` (its long-form path is not yet\nprovisioned) and the `multi_overlay_stack` feature stays `planned`\n(backend support unconfirmed); requesting those planned sub-features\nDOES still return `feature_not_available` until they are separately\nactivated.\n",
5106
+ "description": "Apply an image overlay onto a base video\nasset. Multi-input role-based:\nexactly one input with `role: base` (the source video) + exactly\none with `role: overlay` (the watermark image). Each input is a\na multi-input source \u2014 an external_import handle, a vault connection,\nor an upstream `job_output` (uploads are NOT referenced directly\ninside inputs[]). To use an uploaded base or overlay, feed it through\na `passthrough` source job and reference it via `{ type: job_output,\nfrom: <id> }` (per ticket 4som89Uh).\n\n**Dedicated operation, not an extension of `image_watermark`.**\n`image_watermark` handles image-on-image overlay only.\n`video_watermark` requires an overlay + re-encode (no stream-copy escape \u2014 overlay = pixel modification).\n\n**Audio passthrough.** The base video's audio stream is preserved\nunchanged (stream-copied) \u2014 the watermark applies to the visual\ntrack only.\n\n`availability: planned` \u2014 withdrawn 2026-09-15. A real 1080p source at the\nadvertised PT5M / 500 MB could not finish inside the worker's 600 s encode\ncap. Workflow-create returns `feature_not_available` (422).\n\n\u26a0\ufe0f An already-accepted workflow is NOT cancelled \u2014 availability is checked at\ncreate \u2014 and it is NOT thereby doomed. \u26d4 The withdrawal rests on ONE measured\npoint: the same source plus a PNG overlay, KILLED at 606 s with no output, on\n3008 MB \u2014 47% more memory than `video_text_watermark` and dead at the same\nsecond, which is what rules out resizing the function as the remedy. Work far\nenough inside the 600 s cap still completes, and NOTHING MEASURED SAYS WHERE\nTHE BOUNDARY IS. What a caller sees when a job crosses it is NOT\nSETTLED \u2014 see the CHANGELOG entry for 2.203.0; this contract does not pin\na worker's error classification. Measured figures and the conditions for re-listing are in the\nCHANGELOG entry for 2.203.0 \u2014 the only one of the two records that is\nPUBLISHED (`schemas/manifest-divergence-register.yaml` is working material\nfor the drift gate and is not in the npm tarball).\n",
5118
5107
  "features": {
5119
5108
  "multi_overlay_stack": {
5120
5109
  "availability": "planned",
@@ -5132,7 +5121,7 @@
5132
5121
  "options": {
5133
5122
  "anchor": {
5134
5123
  "default": "bottom_right",
5135
- "description": "9-grid anchor position on each video frame. Same vocabulary\nas `image_watermark.image` and `text_watermark.image`.\n",
5124
+ "description": "9-grid anchor position on each video frame. Same vocabulary\nas `image_watermark.image` and `text_watermark.image`.\n\n\ud83d\udd34 **`center` IGNORES `margin_x` / `margin_y` rather than\nrejecting them. The rejection as written cannot survive a\nnon-zero default; ignoring is the replacement that was CHOSEN.\nThe trigger is the DEFAULT, not this operation.** Schema-driven\nclients materialise contract\ndefaults BEFORE sending, so with a non-zero default a centred\nrequest arrives carrying `margin_x: \"2%\"` whether the caller\nchose it or never mentioned margins. **After materialisation\nan explicit value and a defaulted one are indistinguishable on\nthe wire**, so the old `invalid_options` (422) rule would\nrefuse nearly every centred watermark.\n\n\u26a0\ufe0f Rejection is not the only alternative \u2014 a\nreject-if-it-differs-from-the-default rule would also survive\nmaterialisation. **Ignoring is the behaviour CHOSEN** under hub\ndecision 465, because margins are meaningless when the label is\ncentred. The cost is stated: a caller who deliberately passes a\nmargin with `anchor: center` gets silence, not a correction.\n\n\u26a0\ufe0f **The trigger is a NON-ZERO DEFAULT, never an operation\nname.** `image_watermark` and `text_watermark` keep their 422\nbecause their defaults are still `0px`, where a materialised\ndefault is not non-zero and only a deliberate offset is\nrefused.\n",
5136
5125
  "type": "enum",
5137
5126
  "values": [
5138
5127
  "top_left",
@@ -5147,14 +5136,14 @@
5147
5136
  ]
5148
5137
  },
5149
5138
  "margin_x": {
5150
- "default": "0px",
5151
- "description": "Horizontal offset from the anchor as pixels (e.g. \"40px\")\nor percentage of video frame width (e.g. \"5%\"). Direction\nis anchor-relative \u2014 positive moves toward the frame\ncentre.\n\n**`anchor: center` exception.** When the anchor is `center`\nthe centre is the centre \u2014 there is no anchor-relative\ndirection. Non-zero `margin_x` combined with\n`anchor: center` is rejected by the API at workflow-create\ntime as `invalid_options` (HTTP 422). Same rule as the\nother watermark operations.\n",
5139
+ "default": "2%",
5140
+ "description": "Horizontal offset from the anchor as pixels (e.g. \"40px\")\nor percentage of video frame width (e.g. \"5%\"). Direction\nis anchor-relative \u2014 positive moves toward the frame\ncentre.\n\n**Defaults to `2%`, i.e. INSET from the frame edge**, because\na watermark flush against the edge is the wrong default for\nvideo: player chrome, safe-area cropping and letterboxing all\neat the outermost pixels. **A true flush remains available by\npassing `\"0px\"` explicitly.**\n\n**`anchor: center`: margins are IGNORED.** The centre is the\ncentre \u2014 there is no anchor-relative direction \u2014 so this is a\nsilent no-op rather than a rejection. See the `anchor`\ndescription for why a rejection is not usable with a non-zero\ndefault.\n",
5152
5141
  "pattern": "^\\d+(\\.\\d+)?(px|%)$",
5153
5142
  "type": "string"
5154
5143
  },
5155
5144
  "margin_y": {
5156
- "default": "0px",
5157
- "description": "Vertical offset from the anchor as pixels or percentage of\nvideo frame height. Anchor-relative; positive moves toward\nthe frame centre.\n\n**`anchor: center` exception.** Same rejection rule as\n`margin_x`.\n",
5145
+ "default": "2%",
5146
+ "description": "Vertical offset from the anchor as pixels or percentage of\nvideo frame height. Anchor-relative; positive moves toward\nthe frame centre.\n\n**Defaults to `2%` (inset), for the reasons on `margin_x`**;\n`\"0px\"` still gives a true flush. **`anchor: center`: margins\nare IGNORED**, same as `margin_x`.\n",
5158
5147
  "pattern": "^\\d+(\\.\\d+)?(px|%)$",
5159
5148
  "type": "string"
5160
5149
  },
@@ -5188,11 +5177,10 @@
5188
5177
  "max_input_size_bytes": 50000000000,
5189
5178
  "max_output_size_bytes": 50000000000
5190
5179
  }
5191
- },
5192
- "required_tier": "pro"
5180
+ }
5193
5181
  },
5194
5182
  "short_form": {
5195
- "availability": "stable",
5183
+ "availability": "planned",
5196
5184
  "constraints": {
5197
5185
  "max_input_duration": "PT5M",
5198
5186
  "max_input_size_bytes": 524288000,
@@ -5216,7 +5204,7 @@
5216
5204
  "sole_op": true
5217
5205
  }
5218
5206
  },
5219
- "schema_version": "2.201.0",
5207
+ "schema_version": "2.208.0",
5220
5208
  "source_commit": null,
5221
5209
  "user_tier": null,
5222
5210
  "workflow_features": {