@giveitsmaller/contracts 0.8.0 → 0.16.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.
- package/asyncapi/events.yaml +806 -173
- package/availability/availability.json +355 -98
- package/dist/asyncapi/Failure.d.ts +2 -0
- package/dist/asyncapi/LongFormJobMessage.d.ts +4 -3
- package/dist/asyncapi/LongFormOperationType.d.ts +5 -0
- package/dist/asyncapi/LongFormOperationType.js +6 -0
- package/dist/asyncapi/LongFormProcessingClass.d.ts +4 -0
- package/dist/asyncapi/LongFormProcessingClass.js +5 -0
- package/dist/asyncapi/MultiOutputCompletion.d.ts +2 -0
- package/dist/asyncapi/{NotificationsOperationsQueue.d.ts → NotificationsJobsQueue.d.ts} +2 -2
- package/dist/asyncapi/OperationResultMetadata.d.ts +4 -0
- package/dist/asyncapi/OperationResultMetadata.js +1 -0
- package/dist/asyncapi/OperationType.d.ts +2 -1
- package/dist/asyncapi/OperationType.js +1 -0
- package/dist/asyncapi/PageIndexed.d.ts +1 -0
- package/dist/asyncapi/PositionIndexed.d.ts +1 -0
- package/dist/asyncapi/SingleOutputCompletion.d.ts +2 -0
- package/dist/asyncapi/SourceEntry.d.ts +4 -0
- package/dist/asyncapi/Unindexed.d.ts +1 -0
- package/dist/asyncapi/index.d.ts +4 -2
- package/dist/asyncapi/index.js +2 -1
- package/dist/openapi/models/AudioWatermarkDecodeRequest.d.ts +2 -2
- package/dist/openapi/models/AudioWatermarkDecodeRequest.js +2 -2
- package/dist/openapi/models/AudioWatermarkDecodeResponse.d.ts +2 -2
- package/dist/openapi/models/AudioWatermarkDecodeResponse.js +2 -2
- package/dist/openapi/models/AuthErrorResponse.d.ts +13 -2
- package/dist/openapi/models/AuthErrorResponse.js +2 -2
- package/dist/openapi/models/AuthErrorType.d.ts +2 -2
- package/dist/openapi/models/AuthErrorType.js +2 -2
- package/dist/openapi/models/AuthRejectionEnvelope.d.ts +126 -0
- package/dist/openapi/models/AuthRejectionEnvelope.js +72 -0
- package/dist/openapi/models/AvailabilityValue.d.ts +2 -2
- package/dist/openapi/models/AvailabilityValue.js +2 -2
- package/dist/openapi/models/BalanceExhaustedResponse.d.ts +13 -2
- package/dist/openapi/models/BalanceExhaustedResponse.js +2 -2
- package/dist/openapi/models/BalanceExhaustedResponseAllOfLinks.d.ts +2 -2
- package/dist/openapi/models/BalanceExhaustedResponseAllOfLinks.js +2 -2
- package/dist/openapi/models/CallbackEventType.d.ts +2 -2
- package/dist/openapi/models/CallbackEventType.js +2 -2
- package/dist/openapi/models/ChangePasswordRequest.d.ts +38 -0
- package/dist/openapi/models/ChangePasswordRequest.js +47 -0
- package/dist/openapi/models/CompositionPlan.d.ts +72 -0
- package/dist/openapi/models/CompositionPlan.js +53 -0
- package/dist/openapi/models/CompositionPlanJob.d.ts +39 -0
- package/dist/openapi/models/CompositionPlanJob.js +48 -0
- package/dist/openapi/models/CompositionPlanOperation.d.ts +116 -0
- package/dist/openapi/models/CompositionPlanOperation.js +62 -0
- package/dist/openapi/models/ConfirmEmailChange200Response.d.ts +46 -0
- package/dist/openapi/models/ConfirmEmailChange200Response.js +54 -0
- package/dist/openapi/models/ConfirmEmailChange200ResponseData.d.ts +32 -0
- package/dist/openapi/models/ConfirmEmailChange200ResponseData.js +43 -0
- package/dist/openapi/models/ConfirmEmailChangeRequest.d.ts +32 -0
- package/dist/openapi/models/ConfirmEmailChangeRequest.js +43 -0
- package/dist/openapi/models/ConnectionSource.d.ts +2 -2
- package/dist/openapi/models/ConnectionSource.js +2 -2
- package/dist/openapi/models/ContactRequest.d.ts +2 -2
- package/dist/openapi/models/ContactRequest.js +2 -2
- package/dist/openapi/models/ContactSubject.d.ts +2 -2
- package/dist/openapi/models/ContactSubject.js +2 -2
- package/dist/openapi/models/ContactValidationErrorResponse.d.ts +2 -2
- package/dist/openapi/models/ContactValidationErrorResponse.js +2 -2
- package/dist/openapi/models/CreateApiKey201Response.d.ts +46 -0
- package/dist/openapi/models/CreateApiKey201Response.js +54 -0
- package/dist/openapi/models/CreateApiKey201ResponseData.d.ts +56 -0
- package/dist/openapi/models/CreateApiKey201ResponseData.js +59 -0
- package/dist/openapi/models/CreateApiKeyRequest.d.ts +32 -0
- package/dist/openapi/models/CreateApiKeyRequest.js +43 -0
- package/dist/openapi/models/CreateExternalImport403Response.d.ts +2 -2
- package/dist/openapi/models/CreateExternalImport403Response.js +2 -2
- package/dist/openapi/models/CreateExternalImport422Response.d.ts +7 -3
- package/dist/openapi/models/CreateExternalImport422Response.js +18 -22
- package/dist/openapi/models/CreateWorkflow422Response.d.ts +11 -3
- package/dist/openapi/models/CreateWorkflow422Response.js +28 -36
- package/dist/openapi/models/CreditTransaction.d.ts +2 -2
- package/dist/openapi/models/CreditTransaction.js +2 -2
- package/dist/openapi/models/CreditTransactionSourceBucket.d.ts +2 -2
- package/dist/openapi/models/CreditTransactionSourceBucket.js +2 -2
- package/dist/openapi/models/CreditsBalanceResponse.d.ts +2 -2
- package/dist/openapi/models/CreditsBalanceResponse.js +2 -2
- package/dist/openapi/models/CreditsBalanceSuccessEnvelope.d.ts +2 -2
- package/dist/openapi/models/CreditsBalanceSuccessEnvelope.js +2 -2
- package/dist/openapi/models/CreditsUsageResponse.d.ts +2 -2
- package/dist/openapi/models/CreditsUsageResponse.js +2 -2
- package/dist/openapi/models/CreditsUsageSuccessEnvelope.d.ts +2 -2
- package/dist/openapi/models/CreditsUsageSuccessEnvelope.js +2 -2
- package/dist/openapi/models/Delivery.d.ts +2 -2
- package/dist/openapi/models/Delivery.js +2 -2
- package/dist/openapi/models/DeliveryOutputRef.d.ts +9 -2
- package/dist/openapi/models/DeliveryOutputRef.js +2 -2
- package/dist/openapi/models/DeliveryPlan.d.ts +2 -2
- package/dist/openapi/models/DeliveryPlan.js +2 -2
- package/dist/openapi/models/DeliveryPlanOutput.d.ts +17 -2
- package/dist/openapi/models/DeliveryPlanOutput.js +4 -2
- package/dist/openapi/models/DeliveryPlanReason.d.ts +2 -2
- package/dist/openapi/models/DeliveryPlanReason.js +2 -2
- package/dist/openapi/models/DeliverySelection.d.ts +6 -4
- package/dist/openapi/models/DeliverySelection.js +2 -2
- package/dist/openapi/models/EmptySuccessEnvelope.d.ts +58 -0
- package/dist/openapi/models/EmptySuccessEnvelope.js +53 -0
- package/dist/openapi/models/EndpointProjection.d.ts +12 -3
- package/dist/openapi/models/EndpointProjection.js +2 -2
- package/dist/openapi/models/ErrorEnvelope.d.ts +13 -2
- package/dist/openapi/models/ErrorEnvelope.js +2 -2
- package/dist/openapi/models/EstimateQuality.d.ts +2 -2
- package/dist/openapi/models/EstimateQuality.js +2 -2
- package/dist/openapi/models/EstimateRange.d.ts +2 -2
- package/dist/openapi/models/EstimateRange.js +2 -2
- package/dist/openapi/models/ExternalDestination.d.ts +2 -2
- package/dist/openapi/models/ExternalDestination.js +2 -2
- package/dist/openapi/models/ExternalImportCreatedResponse.d.ts +2 -2
- package/dist/openapi/models/ExternalImportCreatedResponse.js +2 -2
- package/dist/openapi/models/ExternalImportCreatedSuccessEnvelope.d.ts +2 -2
- package/dist/openapi/models/ExternalImportCreatedSuccessEnvelope.js +2 -2
- package/dist/openapi/models/ExternalImportRequest.d.ts +2 -2
- package/dist/openapi/models/ExternalImportRequest.js +2 -2
- package/dist/openapi/models/ExternalImportToken.d.ts +2 -2
- package/dist/openapi/models/ExternalImportToken.js +2 -2
- package/dist/openapi/models/ExternalSource.d.ts +2 -2
- package/dist/openapi/models/ExternalSource.js +2 -2
- package/dist/openapi/models/FeatureNotAvailableResponse.d.ts +19 -9
- package/dist/openapi/models/FeatureNotAvailableResponse.js +2 -2
- package/dist/openapi/models/FeatureTierRestrictedResponse.d.ts +13 -2
- package/dist/openapi/models/FeatureTierRestrictedResponse.js +2 -2
- package/dist/openapi/models/FeatureViolation.d.ts +2 -2
- package/dist/openapi/models/FeatureViolation.js +2 -2
- package/dist/openapi/models/ForgotPasswordRequest.d.ts +32 -0
- package/dist/openapi/models/ForgotPasswordRequest.js +43 -0
- package/dist/openapi/models/ImageEncodeCapabilities.d.ts +65 -0
- package/dist/openapi/models/ImageEncodeCapabilities.js +55 -0
- package/dist/openapi/models/JobDefinition.d.ts +27 -8
- package/dist/openapi/models/JobDefinition.js +2 -2
- package/dist/openapi/models/JobDownload.d.ts +2 -2
- package/dist/openapi/models/JobDownload.js +2 -2
- package/dist/openapi/models/JobInputV2.d.ts +13 -9
- package/dist/openapi/models/JobInputV2.js +5 -5
- package/dist/openapi/models/JobMediaClass.d.ts +34 -0
- package/dist/openapi/models/JobMediaClass.js +52 -0
- package/dist/openapi/models/JobOutputSource.d.ts +2 -2
- package/dist/openapi/models/JobOutputSource.js +2 -2
- package/dist/openapi/models/JobResponse.d.ts +24 -2
- package/dist/openapi/models/JobResponse.js +5 -2
- package/dist/openapi/models/JobStatus.d.ts +2 -2
- package/dist/openapi/models/JobStatus.js +2 -2
- package/dist/openapi/models/JobType.d.ts +2 -2
- package/dist/openapi/models/JobType.js +2 -2
- package/dist/openapi/models/LivenessResponse.d.ts +2 -2
- package/dist/openapi/models/LivenessResponse.js +2 -2
- package/dist/openapi/models/LoginUser200Response.d.ts +2 -2
- package/dist/openapi/models/LoginUser200Response.js +2 -2
- package/dist/openapi/models/LoginUser200ResponseData.d.ts +2 -2
- package/dist/openapi/models/LoginUser200ResponseData.js +2 -2
- package/dist/openapi/models/LoginUser200ResponseDataUser.d.ts +2 -2
- package/dist/openapi/models/LoginUser200ResponseDataUser.js +2 -2
- package/dist/openapi/models/LoginUserRequest.d.ts +2 -2
- package/dist/openapi/models/LoginUserRequest.js +2 -2
- package/dist/openapi/models/MetadataResponse.d.ts +2 -2
- package/dist/openapi/models/MetadataResponse.js +2 -2
- package/dist/openapi/models/MetadataResponseDimensions.d.ts +2 -2
- package/dist/openapi/models/MetadataResponseDimensions.js +2 -2
- package/dist/openapi/models/MetadataResponseExif.d.ts +2 -2
- package/dist/openapi/models/MetadataResponseExif.js +2 -2
- package/dist/openapi/models/MetadataResponseExifGps.d.ts +2 -2
- package/dist/openapi/models/MetadataResponseExifGps.js +2 -2
- package/dist/openapi/models/MetadataSuccessEnvelope.d.ts +2 -2
- package/dist/openapi/models/MetadataSuccessEnvelope.js +2 -2
- package/dist/openapi/models/MimeGroupSchema.d.ts +37 -2
- package/dist/openapi/models/MimeGroupSchema.js +5 -2
- package/dist/openapi/models/MultiInputSource.d.ts +41 -0
- package/dist/openapi/models/MultiInputSource.js +52 -0
- package/dist/openapi/models/MultipartCompleteRequest.d.ts +2 -2
- package/dist/openapi/models/MultipartCompleteRequest.js +2 -2
- package/dist/openapi/models/MultipartCompleteRequestPartsInner.d.ts +2 -2
- package/dist/openapi/models/MultipartCompleteRequestPartsInner.js +2 -2
- package/dist/openapi/models/MultipartCompleteResponse.d.ts +2 -2
- package/dist/openapi/models/MultipartCompleteResponse.js +2 -2
- package/dist/openapi/models/MultipartCompleteSuccessEnvelope.d.ts +2 -2
- package/dist/openapi/models/MultipartCompleteSuccessEnvelope.js +2 -2
- package/dist/openapi/models/MultipartInitiateRequestMetadataHint.d.ts +2 -2
- package/dist/openapi/models/MultipartInitiateRequestMetadataHint.js +2 -2
- package/dist/openapi/models/MultipartInitiateResponse.d.ts +2 -2
- package/dist/openapi/models/MultipartInitiateResponse.js +2 -2
- package/dist/openapi/models/MultipartInitiateSuccessEnvelope.d.ts +2 -2
- package/dist/openapi/models/MultipartInitiateSuccessEnvelope.js +2 -2
- package/dist/openapi/models/MultipartKeepaliveResponse.d.ts +2 -2
- package/dist/openapi/models/MultipartKeepaliveResponse.js +2 -2
- package/dist/openapi/models/MultipartKeepaliveSuccessEnvelope.d.ts +2 -2
- package/dist/openapi/models/MultipartKeepaliveSuccessEnvelope.js +2 -2
- package/dist/openapi/models/MultipartPartListing.d.ts +2 -2
- package/dist/openapi/models/MultipartPartListing.js +2 -2
- package/dist/openapi/models/MultipartPresignRequest.d.ts +2 -2
- package/dist/openapi/models/MultipartPresignRequest.js +2 -2
- package/dist/openapi/models/MultipartPresignResponse.d.ts +2 -2
- package/dist/openapi/models/MultipartPresignResponse.js +2 -2
- package/dist/openapi/models/MultipartPresignSuccessEnvelope.d.ts +2 -2
- package/dist/openapi/models/MultipartPresignSuccessEnvelope.js +2 -2
- package/dist/openapi/models/MultipartStatusResponse.d.ts +2 -2
- package/dist/openapi/models/MultipartStatusResponse.js +2 -2
- package/dist/openapi/models/MultipartStatusSuccessEnvelope.d.ts +2 -2
- package/dist/openapi/models/MultipartStatusSuccessEnvelope.js +2 -2
- package/dist/openapi/models/OperationDefinition.d.ts +27 -2
- package/dist/openapi/models/OperationDefinition.js +11 -2
- package/dist/openapi/models/OperationDownload.d.ts +30 -2
- package/dist/openapi/models/OperationDownload.js +6 -2
- package/dist/openapi/models/OperationInputModel.d.ts +3 -3
- package/dist/openapi/models/OperationInputModel.js +3 -3
- package/dist/openapi/models/OperationResponse.d.ts +18 -2
- package/dist/openapi/models/OperationResponse.js +5 -2
- package/dist/openapi/models/OperationResult.d.ts +2 -2
- package/dist/openapi/models/OperationResult.js +2 -2
- package/dist/openapi/models/OperationResultMetadata.d.ts +48 -0
- package/dist/openapi/models/OperationResultMetadata.js +41 -0
- package/dist/openapi/models/OperationResultMetrics.d.ts +16 -3
- package/dist/openapi/models/OperationResultMetrics.js +2 -2
- package/dist/openapi/models/OperationSchemaDefinition.d.ts +6 -5
- package/dist/openapi/models/OperationSchemaDefinition.js +2 -2
- package/dist/openapi/models/OperationStatus.d.ts +2 -2
- package/dist/openapi/models/OperationStatus.js +2 -2
- package/dist/openapi/models/OperationType.d.ts +19 -14
- package/dist/openapi/models/OperationType.js +20 -15
- package/dist/openapi/models/OperationsSchemaResponse.d.ts +39 -4
- package/dist/openapi/models/OperationsSchemaResponse.js +8 -2
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeatures.d.ts +55 -0
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeatures.js +42 -0
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDelivery.d.ts +40 -0
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDelivery.js +45 -0
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliveryMode.d.ts +45 -0
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliveryMode.js +43 -0
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliverySelection.d.ts +33 -0
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliverySelection.js +42 -0
- package/dist/openapi/models/OptionSchema.d.ts +2 -2
- package/dist/openapi/models/OptionSchema.js +2 -2
- package/dist/openapi/models/PerRoleCardinalityEntry.d.ts +2 -2
- package/dist/openapi/models/PerRoleCardinalityEntry.js +2 -2
- package/dist/openapi/models/PerValueAvailabilityEntry.d.ts +2 -2
- package/dist/openapi/models/PerValueAvailabilityEntry.js +2 -2
- package/dist/openapi/models/PresignedUrlPart.d.ts +2 -2
- package/dist/openapi/models/PresignedUrlPart.js +2 -2
- package/dist/openapi/models/ProbePendingResponse.d.ts +20 -8
- package/dist/openapi/models/ProbePendingResponse.js +2 -2
- package/dist/openapi/models/ProcessingClass.d.ts +2 -2
- package/dist/openapi/models/ProcessingClass.js +2 -2
- package/dist/openapi/models/ProcessingClassBandViolation.d.ts +2 -2
- package/dist/openapi/models/ProcessingClassBandViolation.js +2 -2
- package/dist/openapi/models/ProcessingClassConstraints.d.ts +69 -0
- package/dist/openapi/models/ProcessingClassConstraints.js +49 -0
- package/dist/openapi/models/ProcessingClassEntry.d.ts +93 -0
- package/dist/openapi/models/ProcessingClassEntry.js +57 -0
- package/dist/openapi/models/ProcessingClassExceedsBandResponse.d.ts +19 -6
- package/dist/openapi/models/ProcessingClassExceedsBandResponse.js +2 -2
- package/dist/openapi/models/ProcessingClassHint.d.ts +2 -2
- package/dist/openapi/models/ProcessingClassHint.js +2 -2
- package/dist/openapi/models/ProcessingClassReason.d.ts +2 -2
- package/dist/openapi/models/ProcessingClassReason.js +2 -2
- package/dist/openapi/models/ProcessingClassRejectReason.d.ts +2 -2
- package/dist/openapi/models/ProcessingClassRejectReason.js +2 -2
- package/dist/openapi/models/ProcessingPlan.d.ts +2 -2
- package/dist/openapi/models/ProcessingPlan.js +2 -2
- package/dist/openapi/models/ProcessingPlanJob.d.ts +2 -2
- package/dist/openapi/models/ProcessingPlanJob.js +2 -2
- package/dist/openapi/models/ReEncodeDecision.d.ts +2 -2
- package/dist/openapi/models/ReEncodeDecision.js +2 -2
- package/dist/openapi/models/ReadinessResponse.d.ts +2 -2
- package/dist/openapi/models/ReadinessResponse.js +2 -2
- package/dist/openapi/models/RegisterUser422Response.d.ts +27 -0
- package/dist/openapi/models/RegisterUser422Response.js +47 -0
- package/dist/openapi/models/RegisterUserRequest.d.ts +38 -0
- package/dist/openapi/models/RegisterUserRequest.js +47 -0
- package/dist/openapi/models/ResetPasswordRequest.d.ts +38 -0
- package/dist/openapi/models/ResetPasswordRequest.js +47 -0
- package/dist/openapi/models/ResponseEnvelope.d.ts +2 -2
- package/dist/openapi/models/ResponseEnvelope.js +2 -2
- package/dist/openapi/models/RetryResponse.d.ts +2 -2
- package/dist/openapi/models/RetryResponse.js +2 -2
- package/dist/openapi/models/RetrySuccessEnvelope.d.ts +2 -2
- package/dist/openapi/models/RetrySuccessEnvelope.js +2 -2
- package/dist/openapi/models/SseCompletionBase.d.ts +2 -2
- package/dist/openapi/models/SseCompletionBase.js +2 -2
- package/dist/openapi/models/SseEventType.d.ts +2 -2
- package/dist/openapi/models/SseEventType.js +2 -2
- package/dist/openapi/models/SseJobCompletedData.d.ts +2 -2
- package/dist/openapi/models/SseJobCompletedData.js +2 -2
- package/dist/openapi/models/SseJobFailedData.d.ts +2 -2
- package/dist/openapi/models/SseJobFailedData.js +2 -2
- package/dist/openapi/models/SseMultiOutputCompletion.d.ts +2 -2
- package/dist/openapi/models/SseMultiOutputCompletion.js +2 -2
- package/dist/openapi/models/SseMultiOutputCompletionMetrics.d.ts +2 -2
- package/dist/openapi/models/SseMultiOutputCompletionMetrics.js +2 -2
- package/dist/openapi/models/SseMultiOutputCompletionWithKind.d.ts +2 -2
- package/dist/openapi/models/SseMultiOutputCompletionWithKind.js +2 -2
- package/dist/openapi/models/SseMultiOutputResultEntry.d.ts +2 -2
- package/dist/openapi/models/SseMultiOutputResultEntry.js +2 -2
- package/dist/openapi/models/SseOperationCompletedData.d.ts +17 -3
- package/dist/openapi/models/SseOperationCompletedData.js +2 -2
- package/dist/openapi/models/SseOperationCompletionResult.d.ts +2 -2
- package/dist/openapi/models/SseOperationCompletionResult.js +2 -2
- package/dist/openapi/models/SseOperationFailedData.d.ts +2 -2
- package/dist/openapi/models/SseOperationFailedData.js +2 -2
- package/dist/openapi/models/SseOperationProgressData.d.ts +4 -3
- package/dist/openapi/models/SseOperationProgressData.js +2 -2
- package/dist/openapi/models/SseSingleOutputCompletion.d.ts +2 -2
- package/dist/openapi/models/SseSingleOutputCompletion.js +2 -2
- package/dist/openapi/models/SseWorkflowTerminalData.d.ts +2 -2
- package/dist/openapi/models/SseWorkflowTerminalData.js +2 -2
- package/dist/openapi/models/TierRestrictionKind.d.ts +2 -2
- package/dist/openapi/models/TierRestrictionKind.js +2 -2
- package/dist/openapi/models/TierRestrictionResponse.d.ts +13 -2
- package/dist/openapi/models/TierRestrictionResponse.js +2 -2
- package/dist/openapi/models/UpdateProfile200Response.d.ts +46 -0
- package/dist/openapi/models/UpdateProfile200Response.js +54 -0
- package/dist/openapi/models/UpdateProfile200ResponseData.d.ts +71 -0
- package/dist/openapi/models/UpdateProfile200ResponseData.js +67 -0
- package/dist/openapi/models/UpdateProfile422Response.d.ts +27 -0
- package/dist/openapi/models/UpdateProfile422Response.js +47 -0
- package/dist/openapi/models/UpdateProfileRequest.d.ts +44 -0
- package/dist/openapi/models/UpdateProfileRequest.js +47 -0
- package/dist/openapi/models/UploadConstraintsApplied.d.ts +2 -2
- package/dist/openapi/models/UploadConstraintsApplied.js +2 -2
- package/dist/openapi/models/UploadDurationExceedsTierResponse.d.ts +13 -2
- package/dist/openapi/models/UploadDurationExceedsTierResponse.js +2 -2
- package/dist/openapi/models/UploadFile403Response.d.ts +2 -2
- package/dist/openapi/models/UploadFile403Response.js +2 -2
- package/dist/openapi/models/UploadFile422Response.d.ts +2 -2
- package/dist/openapi/models/UploadFile422Response.js +2 -2
- package/dist/openapi/models/UploadProbeMediaMetadata.d.ts +2 -2
- package/dist/openapi/models/UploadProbeMediaMetadata.js +2 -2
- package/dist/openapi/models/UploadProbeProcessingClass.d.ts +2 -2
- package/dist/openapi/models/UploadProbeProcessingClass.js +2 -2
- package/dist/openapi/models/UploadProbeResponse.d.ts +2 -2
- package/dist/openapi/models/UploadProbeResponse.js +2 -2
- package/dist/openapi/models/UploadProbeStatus.d.ts +2 -2
- package/dist/openapi/models/UploadProbeStatus.js +2 -2
- package/dist/openapi/models/UploadProbeSuccessEnvelope.d.ts +2 -2
- package/dist/openapi/models/UploadProbeSuccessEnvelope.js +2 -2
- package/dist/openapi/models/UploadResponse.d.ts +2 -2
- package/dist/openapi/models/UploadResponse.js +2 -2
- package/dist/openapi/models/UploadSizeExceedsTierResponse.d.ts +13 -2
- package/dist/openapi/models/UploadSizeExceedsTierResponse.js +2 -2
- package/dist/openapi/models/UploadSource.d.ts +2 -2
- package/dist/openapi/models/UploadSource.js +2 -2
- package/dist/openapi/models/UploadSuccessEnvelope.d.ts +2 -2
- package/dist/openapi/models/UploadSuccessEnvelope.js +2 -2
- package/dist/openapi/models/UploadThresholds.d.ts +2 -2
- package/dist/openapi/models/UploadThresholds.js +2 -2
- package/dist/openapi/models/UserTier.d.ts +2 -2
- package/dist/openapi/models/UserTier.js +2 -2
- package/dist/openapi/models/ValidationErrorEnvelope.d.ts +32 -5
- package/dist/openapi/models/ValidationErrorEnvelope.js +12 -2
- package/dist/openapi/models/ValidationErrorEnvelopeDetailsInner.d.ts +2 -2
- package/dist/openapi/models/ValidationErrorEnvelopeDetailsInner.js +2 -2
- package/dist/openapi/models/VerifyEmailRequest.d.ts +32 -0
- package/dist/openapi/models/VerifyEmailRequest.js +43 -0
- package/dist/openapi/models/WarningType.d.ts +2 -2
- package/dist/openapi/models/WarningType.js +2 -2
- package/dist/openapi/models/WebhookOperationContext.d.ts +2 -2
- package/dist/openapi/models/WebhookOperationContext.js +2 -2
- package/dist/openapi/models/WebhookPayload.d.ts +2 -2
- package/dist/openapi/models/WebhookPayload.js +2 -2
- package/dist/openapi/models/WorkflowCancelBillingEffect.d.ts +2 -2
- package/dist/openapi/models/WorkflowCancelBillingEffect.js +2 -2
- package/dist/openapi/models/WorkflowCancelResponse.d.ts +2 -2
- package/dist/openapi/models/WorkflowCancelResponse.js +2 -2
- package/dist/openapi/models/WorkflowCancelSuccessEnvelope.d.ts +2 -2
- package/dist/openapi/models/WorkflowCancelSuccessEnvelope.js +2 -2
- package/dist/openapi/models/WorkflowCreateRequest.d.ts +64 -4
- package/dist/openapi/models/WorkflowCreateRequest.js +10 -6
- package/dist/openapi/models/WorkflowCreateResponse.d.ts +24 -2
- package/dist/openapi/models/WorkflowCreateResponse.js +5 -2
- package/dist/openapi/models/WorkflowCreateSuccessEnvelope.d.ts +2 -2
- package/dist/openapi/models/WorkflowCreateSuccessEnvelope.js +2 -2
- package/dist/openapi/models/WorkflowDownloadResponse.d.ts +2 -2
- package/dist/openapi/models/WorkflowDownloadResponse.js +2 -2
- package/dist/openapi/models/WorkflowDownloadSuccessEnvelope.d.ts +2 -2
- package/dist/openapi/models/WorkflowDownloadSuccessEnvelope.js +2 -2
- package/dist/openapi/models/WorkflowEdge.d.ts +2 -2
- package/dist/openapi/models/WorkflowEdge.js +2 -2
- package/dist/openapi/models/WorkflowExpiredResponse.d.ts +13 -2
- package/dist/openapi/models/WorkflowExpiredResponse.js +2 -2
- package/dist/openapi/models/WorkflowListResponse.d.ts +50 -0
- package/dist/openapi/models/WorkflowListResponse.js +50 -0
- package/dist/openapi/models/WorkflowListSuccessEnvelope.d.ts +46 -0
- package/dist/openapi/models/WorkflowListSuccessEnvelope.js +54 -0
- package/dist/openapi/models/WorkflowPauseRequiredAction.d.ts +2 -2
- package/dist/openapi/models/WorkflowPauseRequiredAction.js +2 -2
- package/dist/openapi/models/WorkflowPausedDetail.d.ts +2 -2
- package/dist/openapi/models/WorkflowPausedDetail.js +2 -2
- package/dist/openapi/models/WorkflowPausedDetailLinks.d.ts +2 -2
- package/dist/openapi/models/WorkflowPausedDetailLinks.js +2 -2
- package/dist/openapi/models/WorkflowProcessing.d.ts +2 -2
- package/dist/openapi/models/WorkflowProcessing.js +2 -2
- package/dist/openapi/models/WorkflowResumeResponse.d.ts +2 -2
- package/dist/openapi/models/WorkflowResumeResponse.js +2 -2
- package/dist/openapi/models/WorkflowResumeSuccessEnvelope.d.ts +2 -2
- package/dist/openapi/models/WorkflowResumeSuccessEnvelope.js +2 -2
- package/dist/openapi/models/WorkflowSource.d.ts +7 -4
- package/dist/openapi/models/WorkflowSource.js +2 -2
- package/dist/openapi/models/WorkflowStatus.d.ts +2 -2
- package/dist/openapi/models/WorkflowStatus.js +2 -2
- package/dist/openapi/models/WorkflowStatusResponse.d.ts +21 -2
- package/dist/openapi/models/WorkflowStatusResponse.js +5 -2
- package/dist/openapi/models/WorkflowStatusSuccessEnvelope.d.ts +2 -2
- package/dist/openapi/models/WorkflowStatusSuccessEnvelope.js +2 -2
- package/dist/openapi/models/WorkflowSummary.d.ts +60 -0
- package/dist/openapi/models/WorkflowSummary.js +57 -0
- package/dist/openapi/models/WorkflowSummaryJob.d.ts +57 -0
- package/dist/openapi/models/WorkflowSummaryJob.js +57 -0
- package/dist/openapi/models/WorkflowWarning.d.ts +2 -2
- package/dist/openapi/models/WorkflowWarning.js +2 -2
- package/dist/openapi/models/WorkflowWarningSeverity.d.ts +2 -2
- package/dist/openapi/models/WorkflowWarningSeverity.js +2 -2
- package/dist/openapi/models/index.d.ts +35 -1
- package/dist/openapi/models/index.js +35 -1
- package/dist/openapi/runtime.d.ts +2 -2
- package/dist/openapi/runtime.js +2 -2
- package/dist/operations/audio_to_video.metadata.js +1 -1
- package/dist/operations/compress.d.ts +0 -9
- package/dist/operations/compress.js +0 -6
- package/dist/operations/compress.metadata.js +4 -12
- package/dist/operations/index.d.ts +3 -0
- package/dist/operations/index.js +3 -0
- package/dist/operations/merge.d.ts +4 -0
- package/dist/operations/merge.metadata.js +12 -3
- package/dist/operations/passthrough.metadata.d.ts +2 -0
- package/dist/operations/passthrough.metadata.js +6 -0
- package/dist/operations/render_variants.d.ts +24 -0
- package/dist/operations/render_variants.js +14 -0
- package/dist/operations/render_variants.metadata.d.ts +2 -0
- package/dist/operations/render_variants.metadata.js +18 -0
- package/dist/operations/split.d.ts +8 -1
- package/dist/operations/split.js +5 -0
- package/dist/operations/split.metadata.js +22 -5
- package/dist/operations/video_watermark.metadata.js +2 -2
- package/openapi/api.yaml +2566 -288
- package/operations/schemas/archive.yaml +1 -1
- package/operations/schemas/audio_overlay.yaml +29 -13
- package/operations/schemas/audio_to_video.yaml +12 -9
- package/operations/schemas/audio_watermark.yaml +18 -16
- package/operations/schemas/compress.yaml +34 -32
- package/operations/schemas/custom_luma.yaml +21 -7
- package/operations/schemas/image_watermark.yaml +22 -7
- package/operations/schemas/merge.yaml +94 -41
- package/operations/schemas/passthrough.yaml +49 -0
- package/operations/schemas/render_variants.yaml +117 -0
- package/operations/schemas/split.yaml +76 -15
- package/operations/schemas/text_watermark.yaml +6 -6
- package/operations/schemas/thumbnail.yaml +1 -1
- package/operations/schemas/video_text_watermark.yaml +2 -2
- package/operations/schemas/video_watermark.yaml +20 -9
- package/package.json +3 -1
- package/dist/asyncapi/AnonymousSchema_253.d.ts +0 -5
- package/dist/asyncapi/AnonymousSchema_253.js +0 -6
- package/dist/openapi/models/LogoutUser200Response.d.ts +0 -50
- package/dist/openapi/models/LogoutUser200Response.js +0 -53
- /package/dist/asyncapi/{NotificationsOperationsQueue.js → NotificationsJobsQueue.js} +0 -0
|
@@ -75,10 +75,8 @@ operation:
|
|
|
75
75
|
depends_on: { output_type: video }
|
|
76
76
|
description: |
|
|
77
77
|
Transition effect between images in the slideshow output.
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
`none` value is a sentinel ("no transition / hard cut"),
|
|
81
|
-
not an FFmpeg preset.
|
|
78
|
+
`none` means a hard cut with no transition. Some effects
|
|
79
|
+
are still rolling out — check their availability.
|
|
82
80
|
per_value_availability:
|
|
83
81
|
# Untagged values default to stable per ADR-0001 §1.4.
|
|
84
82
|
smoothleft: { availability: beta }
|
|
@@ -106,11 +104,11 @@ operation:
|
|
|
106
104
|
# `custom` is `planned` indefinitely as an advisory — for
|
|
107
105
|
# caller-uploaded luma-matte transitions, use the dedicated
|
|
108
106
|
# `custom_luma` operation (multi-input with role: base +
|
|
109
|
-
# transition_mask)
|
|
107
|
+
# transition_mask). FFmpeg's
|
|
110
108
|
# xfade=custom is an expression-mode parameter, not the
|
|
111
109
|
# shape callers want; the dedicated operation is the
|
|
112
110
|
# supported path.
|
|
113
|
-
custom: { availability: planned
|
|
111
|
+
custom: { availability: planned }
|
|
114
112
|
wipetl: { availability: planned, eta: "2026-Q3" }
|
|
115
113
|
wipetr: { availability: planned, eta: "2026-Q3" }
|
|
116
114
|
wipebl: { availability: planned, eta: "2026-Q3" }
|
|
@@ -139,12 +137,27 @@ operation:
|
|
|
139
137
|
mimes:
|
|
140
138
|
- video/mp4
|
|
141
139
|
- video/webm
|
|
140
|
+
- video/quicktime
|
|
142
141
|
processing_class:
|
|
143
142
|
# F8 long-form video tier (per ticket I15-CONS). Merge uses
|
|
144
|
-
# alias class names
|
|
145
|
-
#
|
|
146
|
-
#
|
|
147
|
-
# when
|
|
143
|
+
# alias class names (short_form_concat / long_form_re_encode),
|
|
144
|
+
# but ROUTING (which class) is DURATION/SIZE-driven at
|
|
145
|
+
# create-plan, NOT concat-compatibility: the API resolver
|
|
146
|
+
# assigns long_form when summed input duration exceeds the
|
|
147
|
+
# short_form cap (PT5M) OR summed size exceeds 1 GiB; it has no
|
|
148
|
+
# per-input codec/pixfmt at create-plan to decide re-encode-need
|
|
149
|
+
# (MAVh1blw; api d363a4ab). re_encode-vs-stream-copy is a WORKER
|
|
150
|
+
# SUB-MODE WITHIN EACH class, not a long-form differentiator:
|
|
151
|
+
# short-form (filter_complex) re-encodes heterogeneous inputs +
|
|
152
|
+
# crossfade fine; long_form_re_encode (FFmpeg concat-demuxer)
|
|
153
|
+
# REQUIRES UNIFORM inputs and re-encodes them (e.g. uniform VP9 ->
|
|
154
|
+
# mp4). So long_form_re_encode = LONG-duration/size + uniform-but-
|
|
155
|
+
# not-stream-copyable. HETEROGENEOUS long merges (per-input codec
|
|
156
|
+
# mismatch at long duration) are the deferred Phase-3 gap (NOT
|
|
157
|
+
# built; concat-demuxer uniformity-rejects them). The earlier
|
|
158
|
+
# "a small merge can need long_form when inputs require
|
|
159
|
+
# re-encoding" claim was an over-claim describing a future
|
|
160
|
+
# two-trigger state — corrected here.
|
|
148
161
|
short_form_concat:
|
|
149
162
|
availability: stable
|
|
150
163
|
constraints:
|
|
@@ -183,9 +196,8 @@ operation:
|
|
|
183
196
|
custom, wipetl, wipetr, wipebl]
|
|
184
197
|
default: none
|
|
185
198
|
description: |
|
|
186
|
-
Default transition between clips.
|
|
187
|
-
|
|
188
|
-
per-value rollout state.
|
|
199
|
+
Default transition between clips. Some effects are still
|
|
200
|
+
rolling out — check their availability.
|
|
189
201
|
per_value_availability:
|
|
190
202
|
smoothleft: { availability: beta }
|
|
191
203
|
smoothright: { availability: beta }
|
|
@@ -212,11 +224,11 @@ operation:
|
|
|
212
224
|
# `custom` is `planned` indefinitely as an advisory — for
|
|
213
225
|
# caller-uploaded luma-matte transitions, use the dedicated
|
|
214
226
|
# `custom_luma` operation (multi-input with role: base +
|
|
215
|
-
# transition_mask)
|
|
227
|
+
# transition_mask). FFmpeg's
|
|
216
228
|
# xfade=custom is an expression-mode parameter, not the
|
|
217
229
|
# shape callers want; the dedicated operation is the
|
|
218
230
|
# supported path.
|
|
219
|
-
custom: { availability: planned
|
|
231
|
+
custom: { availability: planned }
|
|
220
232
|
wipetl: { availability: planned, eta: "2026-Q3" }
|
|
221
233
|
wipetr: { availability: planned, eta: "2026-Q3" }
|
|
222
234
|
wipebl: { availability: planned, eta: "2026-Q3" }
|
|
@@ -291,33 +303,37 @@ operation:
|
|
|
291
303
|
depends_on: { re_encode_mode: [auto, always] }
|
|
292
304
|
per_value_depends_on:
|
|
293
305
|
target_size: { codec: [h264] }
|
|
306
|
+
# target_size is currently codec=h264 only — h265 / vp9 / av1
|
|
307
|
+
# each require a different encoder invocation and are tracked
|
|
308
|
+
# as separate per-codec Lambda follow-ups. The
|
|
309
|
+
# per_value_depends_on block above gates encoding_mode=target_size
|
|
310
|
+
# on codec ∈ [h264], so a request pairing target_size with
|
|
311
|
+
# {h265, vp9, av1} is rejected as invalid_options whether or not
|
|
312
|
+
# target_size_bytes is supplied — closing the gap left by the
|
|
313
|
+
# previous option-level depends_on (which only triggered when
|
|
314
|
+
# target_size_bytes was present). Per ticket bsV3FWM5.
|
|
294
315
|
description: |
|
|
295
|
-
CRF
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
`encoding_mode=target_size` itself on `codec ∈ [h264]`, so a request with
|
|
300
|
-
`encoding_mode=target_size + codec ∈ {h265, vp9, av1}` is rejected as
|
|
301
|
-
`invalid_options` regardless of whether `target_size_bytes` is supplied —
|
|
302
|
-
closing the gap left by the previous option-level `depends_on` (which only
|
|
303
|
-
triggered when `target_size_bytes` was present in the payload). Per ticket
|
|
304
|
-
[`bsV3FWM5`](https://trello.com/c/bsV3FWM5).
|
|
316
|
+
CRF aims for a quality level and lets the file size vary;
|
|
317
|
+
target_size aims for a fixed output file size. `target_size`
|
|
318
|
+
currently works with `codec=h264` only — a request pairing it
|
|
319
|
+
with another codec is rejected as `invalid_options`.
|
|
305
320
|
|
|
306
321
|
target_size_bytes:
|
|
307
322
|
type: integer
|
|
308
323
|
min: 1048576
|
|
309
324
|
depends_on: { re_encode_mode: [auto, always], encoding_mode: target_size }
|
|
325
|
+
# h264-only — the codec gate lives on
|
|
326
|
+
# encoding_mode.per_value_depends_on.target_size.codec (per ticket
|
|
327
|
+
# bsV3FWM5); this option's own depends_on no longer duplicates it.
|
|
328
|
+
# The practical floor below is enforced by the h264 encoder.
|
|
310
329
|
description: |
|
|
311
|
-
|
|
312
|
-
`encoding_mode=target_size
|
|
313
|
-
`encoding_mode.per_value_depends_on.target_size.codec` (per ticket
|
|
314
|
-
[`bsV3FWM5`](https://trello.com/c/bsV3FWM5)); this option's own
|
|
315
|
-
`depends_on` no longer duplicates it.
|
|
330
|
+
Target file size in bytes (minimum 1 MiB). Required when
|
|
331
|
+
`encoding_mode=target_size`, which is h264-only.
|
|
316
332
|
|
|
317
|
-
Practical floor:
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
333
|
+
Practical floor: if the target works out to less than
|
|
334
|
+
~100 kbps of video (after subtracting the ~160 kbps AAC audio
|
|
335
|
+
track over the merged duration), the encoder floors it and the
|
|
336
|
+
resulting file will not honour the requested `target_size_bytes`.
|
|
321
337
|
Publishers targeting very small outputs should size accordingly.
|
|
322
338
|
|
|
323
339
|
per_input_options:
|
|
@@ -359,11 +375,11 @@ operation:
|
|
|
359
375
|
# `custom` is `planned` indefinitely as an advisory — for
|
|
360
376
|
# caller-uploaded luma-matte transitions, use the dedicated
|
|
361
377
|
# `custom_luma` operation (multi-input with role: base +
|
|
362
|
-
# transition_mask)
|
|
378
|
+
# transition_mask). FFmpeg's
|
|
363
379
|
# xfade=custom is an expression-mode parameter, not the
|
|
364
380
|
# shape callers want; the dedicated operation is the
|
|
365
381
|
# supported path.
|
|
366
|
-
custom: { availability: planned
|
|
382
|
+
custom: { availability: planned }
|
|
367
383
|
wipetl: { availability: planned, eta: "2026-Q3" }
|
|
368
384
|
wipetr: { availability: planned, eta: "2026-Q3" }
|
|
369
385
|
wipebl: { availability: planned, eta: "2026-Q3" }
|
|
@@ -373,6 +389,24 @@ operation:
|
|
|
373
389
|
max: 5.0
|
|
374
390
|
depends_on: { transition: crossfade }
|
|
375
391
|
description: "Override crossfade duration for this join point"
|
|
392
|
+
trim_start:
|
|
393
|
+
type: float
|
|
394
|
+
min: 0
|
|
395
|
+
description: |
|
|
396
|
+
Trim from beginning in seconds (per-input). Applied to this
|
|
397
|
+
input BEFORE any transition/crossfade. Matches the
|
|
398
|
+
`compress` trim semantic. No `max` — the upper bound is the
|
|
399
|
+
input's own duration, enforced by the worker, not statically
|
|
400
|
+
bounded here.
|
|
401
|
+
trim_end:
|
|
402
|
+
type: float
|
|
403
|
+
min: 0
|
|
404
|
+
description: |
|
|
405
|
+
Trim from end in seconds (per-input). Applied to this input
|
|
406
|
+
BEFORE any transition/crossfade. Matches the `compress` trim
|
|
407
|
+
semantic. No `max` — the upper bound is the input's own
|
|
408
|
+
duration, enforced by the worker, not statically bounded
|
|
409
|
+
here.
|
|
376
410
|
|
|
377
411
|
audio:
|
|
378
412
|
# Audio transition catalog is intentionally separate from the
|
|
@@ -404,12 +438,13 @@ operation:
|
|
|
404
438
|
# xfade catalog on merge.image / merge.video.
|
|
405
439
|
values: [none, crossfade]
|
|
406
440
|
default: none
|
|
441
|
+
# Audio-only catalog (acrossfade-backed); see FORMAT.md §"Audio
|
|
442
|
+
# vs visual transition catalogs (merge)" for the additions
|
|
443
|
+
# policy. Future values are added with per_value_availability
|
|
444
|
+
# per ADR-0001 §1.4.
|
|
407
445
|
description: |
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
transition catalogs (merge)" for additions policy. Future
|
|
411
|
-
values (e.g. `fade_curve` variants) will be added with
|
|
412
|
-
`per_value_availability` per ADR-0001 §1.4.
|
|
446
|
+
Transition between audio clips. `none` joins them with a
|
|
447
|
+
hard cut; `crossfade` blends one into the next.
|
|
413
448
|
crossfade_duration:
|
|
414
449
|
type: float
|
|
415
450
|
min: 0
|
|
@@ -448,3 +483,21 @@ operation:
|
|
|
448
483
|
min: 0
|
|
449
484
|
max: 10.0
|
|
450
485
|
description: "Override gap duration for this join point"
|
|
486
|
+
trim_start:
|
|
487
|
+
type: float
|
|
488
|
+
min: 0
|
|
489
|
+
description: |
|
|
490
|
+
Trim from beginning in seconds (per-input). Applied to this
|
|
491
|
+
input BEFORE any transition/crossfade. Matches the
|
|
492
|
+
`compress` trim semantic. No `max` — the upper bound is the
|
|
493
|
+
input's own duration, enforced by the worker, not statically
|
|
494
|
+
bounded here.
|
|
495
|
+
trim_end:
|
|
496
|
+
type: float
|
|
497
|
+
min: 0
|
|
498
|
+
description: |
|
|
499
|
+
Trim from end in seconds (per-input). Applied to this input
|
|
500
|
+
BEFORE any transition/crossfade. Matches the `compress` trim
|
|
501
|
+
semantic. No `max` — the upper bound is the input's own
|
|
502
|
+
duration, enforced by the worker, not statically bounded
|
|
503
|
+
here.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
schema_version: "1.0.0"
|
|
2
|
+
|
|
3
|
+
operation:
|
|
4
|
+
type: passthrough
|
|
5
|
+
availability: beta
|
|
6
|
+
description: |
|
|
7
|
+
Inert lossless source operation. A single-input source job whose
|
|
8
|
+
SOLE operation is `passthrough` emits its source bytes UNCHANGED —
|
|
9
|
+
no compression, no transformation, no Lambda dispatch. The API
|
|
10
|
+
self-completes the job at workflow-create/publish time: the job's
|
|
11
|
+
terminal output IS the upload's `{bucket, key}` unchanged.
|
|
12
|
+
|
|
13
|
+
**Purpose.** Lets an uploaded file enter a multi-input operation
|
|
14
|
+
(`merge` / `archive` / `image_watermark` / etc.) LOSSLESSLY. Since
|
|
15
|
+
V2 narrows `JobInputV2.source` to exclude upload-direct (`MultiInputSource`
|
|
16
|
+
— job_output / external_import / connection only), an upload that
|
|
17
|
+
must feed a multi-input op enters via a `passthrough` source job
|
|
18
|
+
referenced downstream by `{ type: job_output, from: <id> }`. This
|
|
19
|
+
preserves billing / DAG / lineage that direct upload-in-inputs[]
|
|
20
|
+
would bypass.
|
|
21
|
+
|
|
22
|
+
**Distinct from `operations: []`.** An empty `operations[]` on a
|
|
23
|
+
single-input upload job KEEPS its implicit-compress meaning (see
|
|
24
|
+
`POST /api/workflows` description). `passthrough` is the EXPLICIT
|
|
25
|
+
lossless opt-out chosen via the existing rule "non-empty
|
|
26
|
+
`operations[]` without `compress` = compression opt-out" — it is a
|
|
27
|
+
sole, named operation, not an empty chain.
|
|
28
|
+
|
|
29
|
+
**Never published to SNS.** Because the API self-completes the job
|
|
30
|
+
at publish, `passthrough` is INTENTIONALLY absent from the AsyncAPI
|
|
31
|
+
routing enums (`OperationType`, `OperationRequestAttributes.operation_type`)
|
|
32
|
+
and has no `ops-passthrough` queue. It never appears on the wire as
|
|
33
|
+
a request message.
|
|
34
|
+
|
|
35
|
+
Media-agnostic (no `mime_groups`): it accepts any uploaded MIME and
|
|
36
|
+
copies it verbatim, so there are no per-MIME options or constraints.
|
|
37
|
+
`availability: beta` — the API self-completion path is LIVE (the
|
|
38
|
+
inputs[]-narrowing + passthrough self-complete mechanism is deployed),
|
|
39
|
+
so workflow-create accepts `passthrough` source jobs and MUST NOT
|
|
40
|
+
return `feature_not_available`. Activated per ticket
|
|
41
|
+
[`4som89Uh`](https://trello.com/c/4som89Uh) + ADR-0004 (planned→beta
|
|
42
|
+
flip; self-complete code deployed API-side).
|
|
43
|
+
default: false
|
|
44
|
+
input_model: single
|
|
45
|
+
|
|
46
|
+
# DELIBERATELY absent from the operation chain matrix
|
|
47
|
+
# (docs/matrices/operation-chains.md). passthrough is a sole-op source
|
|
48
|
+
# node, not a chainable transform — with no `mime_groups` it produces
|
|
49
|
+
# zero matrix rows, which is correct: nothing chains onto or after it.
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
schema_version: "2.0.0"
|
|
2
|
+
|
|
3
|
+
operation:
|
|
4
|
+
type: render_variants
|
|
5
|
+
# Generate N resized/re-encoded image variants from ONE decoded source in a
|
|
6
|
+
# single operation (image fan-out). Per spike GA2kiRY8 / epic nksLtV28,
|
|
7
|
+
# ticket w3EwzHYd. Worker = the shared convert image-encode stack + FitMode
|
|
8
|
+
# (lambdas-confirmed reuse: image_convert.rs encode + domain/thumbnailer.rs).
|
|
9
|
+
#
|
|
10
|
+
# availability: planned — the worker (lambdas 08q0ySAc) + its SNS subscription
|
|
11
|
+
# (terraform MNuDYJaY) are downstream of this contract, so the server returns
|
|
12
|
+
# `feature_not_available` (422) until they are live. The planned -> beta flip
|
|
13
|
+
# is a SEPARATE lockstep cut once the worker + wire are up (the two-gate rule;
|
|
14
|
+
# never flip beta ahead of the publisher). Source MIMEs are jpeg/png/webp only
|
|
15
|
+
# — AVIF is encode-only in the worker stack (decode unsupported), so it is a
|
|
16
|
+
# valid `output_format` target but NOT a source input.
|
|
17
|
+
description: "Generate multiple resized / re-encoded image variants from a single source image in one operation (image fan-out)."
|
|
18
|
+
availability: planned
|
|
19
|
+
input_model: single
|
|
20
|
+
|
|
21
|
+
mime_groups:
|
|
22
|
+
image:
|
|
23
|
+
availability: planned
|
|
24
|
+
mimes:
|
|
25
|
+
- image/jpeg
|
|
26
|
+
- image/png
|
|
27
|
+
- image/webp
|
|
28
|
+
options:
|
|
29
|
+
targets:
|
|
30
|
+
type: array
|
|
31
|
+
required: true
|
|
32
|
+
minItems: 1
|
|
33
|
+
maxItems: 20
|
|
34
|
+
# Each target is encoded independently from the single decoded
|
|
35
|
+
# source. Width/height are individually optional at the type level;
|
|
36
|
+
# the cross-field rule (fit crop/scale => BOTH required; fit max =>
|
|
37
|
+
# at least one) is worker-enforced and rejected as `invalid_options`,
|
|
38
|
+
# not expressed structurally here (the option DSL has no per-item
|
|
39
|
+
# conditional-required primitive). Documented in prose below.
|
|
40
|
+
description: |
|
|
41
|
+
One output variant per entry (max 20). Each variant is resized /
|
|
42
|
+
re-encoded independently from the single decoded source; the
|
|
43
|
+
operation succeeds or fails **atomically** — there are no partial
|
|
44
|
+
outputs. Each result output echoes its target's `id` back as
|
|
45
|
+
`target_id` so callers can map outputs to the variants they asked
|
|
46
|
+
for.
|
|
47
|
+
|
|
48
|
+
Dimensions: `fit: max` needs at least one of `width` / `height`
|
|
49
|
+
(aspect preserved, output may be smaller than the box). `fit: crop`
|
|
50
|
+
and `fit: scale` require BOTH `width` and `height` (they produce an
|
|
51
|
+
exact-size output). A target whose dimensions exceed the source is
|
|
52
|
+
rejected (`invalid_options`) unless `allow_upscale: true`.
|
|
53
|
+
items:
|
|
54
|
+
type: object
|
|
55
|
+
required:
|
|
56
|
+
- id
|
|
57
|
+
properties:
|
|
58
|
+
id:
|
|
59
|
+
type: string
|
|
60
|
+
pattern: '^[A-Za-z0-9._-]+$'
|
|
61
|
+
maxLength: 64
|
|
62
|
+
# `id` must be unique within the array — this is the addressing
|
|
63
|
+
# key, so duplicates would map two outputs to one `target_id`.
|
|
64
|
+
# JSON Schema `uniqueItems` only catches wholesale-identical
|
|
65
|
+
# target objects, not same-`id`-different-dims; the worker
|
|
66
|
+
# rejects duplicate ids as `invalid_options` (worker-enforced,
|
|
67
|
+
# like the dimension rules).
|
|
68
|
+
description: |
|
|
69
|
+
Caller-assigned identifier, unique within the array
|
|
70
|
+
(duplicate ids are rejected as `invalid_options`). Echoed
|
|
71
|
+
verbatim as `target_id` on the matching result output — the
|
|
72
|
+
addressing contract.
|
|
73
|
+
width:
|
|
74
|
+
type: integer
|
|
75
|
+
minimum: 1
|
|
76
|
+
maximum: 16384
|
|
77
|
+
description: "Target width in pixels. Required together with height for fit crop/scale; for fit max, at least one of width/height is required."
|
|
78
|
+
height:
|
|
79
|
+
type: integer
|
|
80
|
+
minimum: 1
|
|
81
|
+
maximum: 16384
|
|
82
|
+
description: "Target height in pixels. Required together with width for fit crop/scale; for fit max, at least one of width/height is required."
|
|
83
|
+
fit:
|
|
84
|
+
type: string
|
|
85
|
+
enum:
|
|
86
|
+
- max
|
|
87
|
+
- crop
|
|
88
|
+
- scale
|
|
89
|
+
default: max
|
|
90
|
+
description: |
|
|
91
|
+
Resize mode. max = fit within the box, aspect preserved
|
|
92
|
+
(output may be smaller); needs at least one dimension.
|
|
93
|
+
crop = fill and trim to exact width x height. scale = force
|
|
94
|
+
exact width x height. crop and scale require both dimensions.
|
|
95
|
+
quality:
|
|
96
|
+
type: integer
|
|
97
|
+
minimum: 1
|
|
98
|
+
maximum: 100
|
|
99
|
+
default: 85
|
|
100
|
+
description: "Encode quality (lossy formats only — jpeg / webp / avif). Accepted but ignored for png (lossless)."
|
|
101
|
+
output_format:
|
|
102
|
+
type: string
|
|
103
|
+
enum:
|
|
104
|
+
- jpeg
|
|
105
|
+
- png
|
|
106
|
+
- webp
|
|
107
|
+
- avif
|
|
108
|
+
description: "Output format for this variant. When omitted, the source format is preserved."
|
|
109
|
+
background:
|
|
110
|
+
type: string
|
|
111
|
+
pattern: '^#[0-9A-Fa-f]{6}$'
|
|
112
|
+
default: "#FFFFFF"
|
|
113
|
+
description: "Background colour (hex #RRGGBB), applied only when flattening a transparent source into an opaque format (e.g. a PNG with alpha rendered to JPEG). Ignored otherwise."
|
|
114
|
+
allow_upscale:
|
|
115
|
+
type: boolean
|
|
116
|
+
default: false
|
|
117
|
+
description: "When false (default), a target whose dimensions exceed the source is rejected (`invalid_options`). Set true to permit upscaling. fit max never upscales."
|
|
@@ -2,21 +2,26 @@ schema_version: "2.0.0"
|
|
|
2
2
|
|
|
3
3
|
operation:
|
|
4
4
|
type: split
|
|
5
|
-
availability:
|
|
5
|
+
availability: beta
|
|
6
6
|
description: |
|
|
7
7
|
Fan one input file into N outputs across GIF, PDF, audio, and
|
|
8
8
|
video MIME families. Single-input — one input file per job, fanned
|
|
9
9
|
into N outputs per the per-mime-group catalog. Mirrors the
|
|
10
10
|
`merge` / `convert` catalog-split-by-mime-group pattern.
|
|
11
11
|
|
|
12
|
-
**Three modes** (audio + video; the mode discriminator
|
|
13
|
-
|
|
12
|
+
**Three shared modes** (audio + video; the mode discriminator
|
|
13
|
+
gates which option applies per the `depends_on` rules in this
|
|
14
14
|
schema):
|
|
15
15
|
- `interval`: split every N numeric-seconds.
|
|
16
16
|
- `count`: split into N equal-duration pieces (integer 2..=200).
|
|
17
17
|
- `cut_points`: explicit cut points in numeric-seconds (strictly
|
|
18
18
|
increasing, no duplicates, each > 0 and < probed duration).
|
|
19
19
|
|
|
20
|
+
**Plus an audio-only `silence` mode** (`beta`, gated by the
|
|
21
|
+
`silence_mode_audio` feature): cut at detected silence gaps via
|
|
22
|
+
the worker's ffmpeg `silencedetect` filter. Video stays
|
|
23
|
+
three-mode.
|
|
24
|
+
|
|
20
25
|
**GIF + PDF use range-based selection** instead of three modes:
|
|
21
26
|
- GIF (`image_gif`): `frame_range` REQUIRED + `output_format`
|
|
22
27
|
enum {png,webp,jpg}.
|
|
@@ -34,6 +39,8 @@ operation:
|
|
|
34
39
|
- `interval`: `ceil(probed_duration / interval) <= 200`
|
|
35
40
|
- `count`: enforced by the option's `min: 2 max: 200` range
|
|
36
41
|
- `cut_points`: `cut_points.len() + 1 <= 200`
|
|
42
|
+
- `silence` (audio): resolved segment count (detected gaps + 1)
|
|
43
|
+
`<= 200`; preflight rejects as `invalid_options` (422)
|
|
37
44
|
- PDF: resolved page count after expansion `<= 200`
|
|
38
45
|
(cross-ref [`WgCqnMRa`](https://trello.com/c/WgCqnMRa))
|
|
39
46
|
- GIF: resolved frame count after expansion `<= 200`
|
|
@@ -59,9 +66,15 @@ operation:
|
|
|
59
66
|
via `processing_class`). No schema-side discriminator beyond MIME
|
|
60
67
|
detection + `processing_class`.
|
|
61
68
|
|
|
62
|
-
`availability:
|
|
63
|
-
(
|
|
64
|
-
|
|
69
|
+
`availability: beta` for the `audio` and `video` mime_groups
|
|
70
|
+
(workers live on staging — shape-stable + opt-in, MUST NOT 422).
|
|
71
|
+
Video activates **short-form only**: `video.processing_class.short_form`
|
|
72
|
+
is `beta`; `long_form` (the `split-video-fargate` worker) stays
|
|
73
|
+
`availability: planned` until that worker ships. The `image_gif` and
|
|
74
|
+
`document_pdf` mime_groups also stay `availability: planned` until their
|
|
75
|
+
cross-repo Lambda workers ship ([`vKI0CFDu`](https://trello.com/c/vKI0CFDu)
|
|
76
|
+
+ lambdas L1); dispatch returns `feature_not_available` (422) for the
|
|
77
|
+
still-planned groups/classes until then.
|
|
65
78
|
|
|
66
79
|
Per ADR-0014.
|
|
67
80
|
default: false
|
|
@@ -69,18 +82,20 @@ operation:
|
|
|
69
82
|
|
|
70
83
|
features:
|
|
71
84
|
silence_mode_audio:
|
|
72
|
-
availability:
|
|
85
|
+
availability: beta
|
|
73
86
|
description: |
|
|
74
87
|
Silence-detect cut mode for audio (`mode: silence` —
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
88
|
+
server-side silence detection in the audio split worker).
|
|
89
|
+
`beta`: shape-stable + opt-in. The worker is built; the mode
|
|
90
|
+
ships dark until the API regenerates enum validation to accept
|
|
91
|
+
`mode: silence`. The `silence` enum value carries a matching
|
|
92
|
+
`per_value_availability: beta` on `audio.mode`.
|
|
79
93
|
|
|
80
94
|
mime_groups:
|
|
81
95
|
# Animated GIF base — parallel mime_group naming follows the
|
|
82
96
|
# `image_gif` precedent established by `image_watermark.image_gif`.
|
|
83
97
|
image_gif:
|
|
98
|
+
availability: planned
|
|
84
99
|
mimes:
|
|
85
100
|
- image/gif
|
|
86
101
|
options:
|
|
@@ -106,6 +121,7 @@ operation:
|
|
|
106
121
|
|
|
107
122
|
# PDF base — page-split via qpdf or pdftk equivalent.
|
|
108
123
|
document_pdf:
|
|
124
|
+
availability: planned
|
|
109
125
|
mimes:
|
|
110
126
|
- application/pdf
|
|
111
127
|
options:
|
|
@@ -145,6 +161,7 @@ operation:
|
|
|
145
161
|
|
|
146
162
|
# Audio base — three modes + precision flag.
|
|
147
163
|
audio:
|
|
164
|
+
availability: beta
|
|
148
165
|
mimes:
|
|
149
166
|
- audio/mpeg
|
|
150
167
|
- audio/aac
|
|
@@ -155,13 +172,17 @@ operation:
|
|
|
155
172
|
options:
|
|
156
173
|
mode:
|
|
157
174
|
type: enum
|
|
158
|
-
values: [interval, count, cut_points]
|
|
175
|
+
values: [interval, count, cut_points, silence]
|
|
159
176
|
default: interval
|
|
177
|
+
per_value_availability:
|
|
178
|
+
silence: { availability: beta }
|
|
160
179
|
description: |
|
|
161
180
|
Split strategy:
|
|
162
181
|
- `interval`: cut every `interval` seconds.
|
|
163
182
|
- `count`: cut into `count` equal-duration pieces.
|
|
164
183
|
- `cut_points`: cut at explicit timestamps.
|
|
184
|
+
- `silence`: cut at detected silence gaps (audio-only,
|
|
185
|
+
`beta` via the `silence_mode_audio` feature gate).
|
|
165
186
|
|
|
166
187
|
interval:
|
|
167
188
|
type: float
|
|
@@ -206,29 +227,69 @@ operation:
|
|
|
206
227
|
200-output cap declaratively. Only valid when
|
|
207
228
|
`mode: cut_points`.
|
|
208
229
|
|
|
230
|
+
silence_threshold_db:
|
|
231
|
+
type: float
|
|
232
|
+
max: 0.0
|
|
233
|
+
default: -50.0
|
|
234
|
+
depends_on: { mode: silence }
|
|
235
|
+
# Maps to the worker's silence-detection noise floor.
|
|
236
|
+
description: |
|
|
237
|
+
Noise floor below which audio counts as silence, in dBFS
|
|
238
|
+
(negative; 0.0 = full scale). Strictly negative in
|
|
239
|
+
practice; `max: 0.0` is the declarative ceiling (a 0 dB
|
|
240
|
+
"silence" floor is degenerate, like the strict bounds
|
|
241
|
+
documented in prose for `cut_points`). Only valid when
|
|
242
|
+
`mode: silence`.
|
|
243
|
+
|
|
244
|
+
silence_min_duration:
|
|
245
|
+
type: float
|
|
246
|
+
min: 0.001
|
|
247
|
+
default: 0.75
|
|
248
|
+
depends_on: { mode: silence }
|
|
249
|
+
# Maps to the worker's silence-detection minimum-duration parameter.
|
|
250
|
+
description: |
|
|
251
|
+
Minimum duration of a silence gap, in numeric seconds
|
|
252
|
+
(sub-second allowed), before it is treated as a cut point.
|
|
253
|
+
`min: 0.001` is the strict-positive sub-second idiom
|
|
254
|
+
(cf. `interval`). Only valid when `mode: silence`.
|
|
255
|
+
|
|
256
|
+
silence_handling:
|
|
257
|
+
type: enum
|
|
258
|
+
values: [keep_at_end]
|
|
259
|
+
default: keep_at_end
|
|
260
|
+
depends_on: { mode: silence }
|
|
261
|
+
description: |
|
|
262
|
+
How detected silence is handled at segment boundaries.
|
|
263
|
+
`keep_at_end`: trailing silence stays appended to the
|
|
264
|
+
preceding segment (no separate silence-only outputs).
|
|
265
|
+
Only valid when `mode: silence`.
|
|
266
|
+
|
|
209
267
|
precision:
|
|
210
268
|
type: enum
|
|
211
269
|
values: [fast, exact]
|
|
212
270
|
default: fast
|
|
271
|
+
# Don't use "keyframe" language here — that's video-only;
|
|
272
|
+
# audio drift is packet-boundary.
|
|
213
273
|
description: |
|
|
214
274
|
Cut precision. Under `fast`, audio cuts are
|
|
215
275
|
packet-boundary approximate (drift bounded by codec
|
|
216
276
|
packet size — typically <= 23ms for AAC, <= 26ms for
|
|
217
277
|
MP3). Under `exact`, the Lambda re-encodes to align cuts
|
|
218
278
|
precisely at the requested timestamps (slower, larger
|
|
219
|
-
output, but sample-accurate).
|
|
220
|
-
— that's video-only; audio drift is packet-boundary.
|
|
279
|
+
output, but sample-accurate).
|
|
221
280
|
|
|
222
281
|
# Video base — same three modes + precision + processing_class.
|
|
223
282
|
# Long-form routes to `split-video-fargate` (same OperationType,
|
|
224
283
|
# different worker per `processing_class`).
|
|
225
284
|
video:
|
|
285
|
+
availability: beta
|
|
226
286
|
mimes:
|
|
227
287
|
- video/mp4
|
|
228
288
|
- video/webm
|
|
289
|
+
- video/quicktime
|
|
229
290
|
processing_class:
|
|
230
291
|
short_form:
|
|
231
|
-
availability:
|
|
292
|
+
availability: beta
|
|
232
293
|
constraints:
|
|
233
294
|
max_input_duration: "PT5M"
|
|
234
295
|
max_input_size_bytes: 524288000
|
|
@@ -25,10 +25,10 @@ operation:
|
|
|
25
25
|
text:
|
|
26
26
|
type: string
|
|
27
27
|
required: true
|
|
28
|
+
# Rendered with the bundled Liberation Sans (SIL OFL); a single
|
|
29
|
+
# text overlay is capped at 4 megapixels before rendering fails.
|
|
28
30
|
description: |
|
|
29
|
-
Watermark text. Must be non-empty.
|
|
30
|
-
Liberation Sans (SIL OFL). A single text overlay is capped
|
|
31
|
-
at 4 megapixels before rendering fails.
|
|
31
|
+
Watermark text. Must be non-empty.
|
|
32
32
|
|
|
33
33
|
font_size:
|
|
34
34
|
type: float
|
|
@@ -59,11 +59,11 @@ operation:
|
|
|
59
59
|
min: -360.0
|
|
60
60
|
max: 360.0
|
|
61
61
|
default: -45.0
|
|
62
|
+
# Tiled canvas is capped at 25 megapixels pre-rotation with a
|
|
63
|
+
# 5000 px maximum side length.
|
|
62
64
|
description: |
|
|
63
65
|
Rotation angle in degrees. Default -45° suits tiled mode
|
|
64
|
-
(angled diagonal pattern). Clamped to range.
|
|
65
|
-
capped at 25 megapixels pre-rotation with 5000 px maximum
|
|
66
|
-
side length.
|
|
66
|
+
(angled diagonal pattern). Clamped to range.
|
|
67
67
|
|
|
68
68
|
watermark_mode:
|
|
69
69
|
type: enum
|
|
@@ -58,9 +58,9 @@ operation:
|
|
|
58
58
|
text:
|
|
59
59
|
type: string
|
|
60
60
|
required: true
|
|
61
|
+
# Rendered with the bundled Liberation Sans (SIL OFL).
|
|
61
62
|
description: |
|
|
62
|
-
Watermark text. Must be non-empty.
|
|
63
|
-
Liberation Sans (SIL OFL).
|
|
63
|
+
Watermark text. Must be non-empty.
|
|
64
64
|
|
|
65
65
|
font_size:
|
|
66
66
|
type: float
|