@giveitsmaller/contracts 0.2.3 → 0.4.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 +1777 -172
- package/availability/availability.json +2449 -0
- package/dist/asyncapi/Failure.d.ts +25 -0
- package/dist/asyncapi/Failure.js +1 -0
- package/dist/asyncapi/JobInputRole.d.ts +6 -0
- package/dist/asyncapi/JobInputRole.js +7 -0
- package/dist/asyncapi/MergeOutputType.d.ts +1 -3
- package/dist/asyncapi/MergeOutputType.js +0 -2
- package/dist/asyncapi/MultiOutputCompletion.d.ts +25 -0
- package/dist/asyncapi/MultiOutputCompletion.js +1 -0
- package/dist/asyncapi/NotificationsOperationsQueue.d.ts +4 -2
- package/dist/asyncapi/OperationMetrics.d.ts +3 -0
- package/dist/asyncapi/OperationProgress.d.ts +2 -0
- package/dist/asyncapi/OperationResult.d.ts +4 -19
- package/dist/asyncapi/OperationType.d.ts +6 -6
- package/dist/asyncapi/OperationType.js +5 -5
- package/dist/asyncapi/PageIndexed.d.ts +8 -0
- package/dist/asyncapi/PageIndexed.js +1 -0
- package/dist/asyncapi/PositionIndexed.d.ts +8 -0
- package/dist/asyncapi/PositionIndexed.js +1 -0
- package/dist/asyncapi/ProgressStatus.d.ts +3 -0
- package/dist/asyncapi/ProgressStatus.js +3 -0
- package/dist/asyncapi/ReEncodeDecision.d.ts +5 -0
- package/dist/asyncapi/ReEncodeDecision.js +6 -0
- package/dist/asyncapi/SingleOutputCompletion.d.ts +25 -0
- package/dist/asyncapi/SingleOutputCompletion.js +1 -0
- package/dist/asyncapi/SourceEntry.d.ts +2 -1
- package/dist/asyncapi/Unindexed.d.ts +8 -0
- package/dist/asyncapi/Unindexed.js +1 -0
- package/dist/asyncapi/UploadProbeCompletion.d.ts +16 -0
- package/dist/asyncapi/UploadProbeCompletion.js +1 -0
- package/dist/asyncapi/UploadProbeMediaMetadata.d.ts +18 -0
- package/dist/asyncapi/UploadProbeMediaMetadata.js +1 -0
- package/dist/asyncapi/UploadProbeProcessingClass.d.ts +6 -0
- package/dist/asyncapi/UploadProbeProcessingClass.js +7 -0
- package/dist/asyncapi/UploadProbeRequest.d.ts +10 -0
- package/dist/asyncapi/UploadProbeRequest.js +1 -0
- package/dist/asyncapi/UploadProbeStatus.d.ts +7 -0
- package/dist/asyncapi/UploadProbeStatus.js +8 -0
- package/dist/asyncapi/index.d.ts +13 -0
- package/dist/asyncapi/index.js +4 -0
- package/dist/openapi/models/AudioWatermarkDecodeRequest.d.ts +64 -0
- package/dist/openapi/models/AudioWatermarkDecodeRequest.js +53 -0
- package/dist/openapi/models/AudioWatermarkDecodeResponse.d.ts +80 -0
- package/dist/openapi/models/AudioWatermarkDecodeResponse.js +64 -0
- package/dist/openapi/models/AuthErrorResponse.d.ts +135 -0
- package/dist/openapi/models/AuthErrorResponse.js +66 -0
- package/dist/openapi/models/AuthErrorType.d.ts +73 -0
- package/dist/openapi/models/AuthErrorType.js +91 -0
- package/dist/openapi/models/AvailabilityValue.d.ts +43 -0
- package/dist/openapi/models/AvailabilityValue.js +61 -0
- package/dist/openapi/models/BalanceExhaustedResponse.d.ts +176 -0
- package/dist/openapi/models/BalanceExhaustedResponse.js +86 -0
- package/dist/openapi/models/BalanceExhaustedResponseAllOfLinks.d.ts +38 -0
- package/dist/openapi/models/BalanceExhaustedResponseAllOfLinks.js +43 -0
- package/dist/openapi/models/CallbackEventType.d.ts +2 -2
- package/dist/openapi/models/CallbackEventType.js +2 -2
- package/dist/openapi/models/ConnectionSource.d.ts +64 -0
- package/dist/openapi/models/ConnectionSource.js +57 -0
- 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/CreateExternalImport403Response.d.ts +24 -0
- package/dist/openapi/models/CreateExternalImport403Response.js +58 -0
- package/dist/openapi/models/CreateExternalImport422Response.d.ts +23 -0
- package/dist/openapi/models/CreateExternalImport422Response.js +51 -0
- package/dist/openapi/models/CreateWorkflow422Response.d.ts +24 -0
- package/dist/openapi/models/CreateWorkflow422Response.js +58 -0
- package/dist/openapi/models/CreditTransaction.d.ts +186 -0
- package/dist/openapi/models/CreditTransaction.js +100 -0
- package/dist/openapi/models/CreditTransactionSourceBucket.d.ts +46 -0
- package/dist/openapi/models/CreditTransactionSourceBucket.js +64 -0
- package/dist/openapi/models/CreditsBalanceResponse.d.ts +84 -0
- package/dist/openapi/models/CreditsBalanceResponse.js +68 -0
- package/dist/openapi/models/CreditsBalanceSuccessEnvelope.d.ts +46 -0
- package/dist/openapi/models/CreditsBalanceSuccessEnvelope.js +54 -0
- package/dist/openapi/models/CreditsUsageResponse.d.ts +51 -0
- package/dist/openapi/models/CreditsUsageResponse.js +56 -0
- package/dist/openapi/models/CreditsUsageSuccessEnvelope.d.ts +46 -0
- package/dist/openapi/models/CreditsUsageSuccessEnvelope.js +54 -0
- package/dist/openapi/models/Delivery.d.ts +98 -0
- package/dist/openapi/models/Delivery.js +65 -0
- package/dist/openapi/models/DeliveryOutputRef.d.ts +44 -0
- package/dist/openapi/models/DeliveryOutputRef.js +45 -0
- package/dist/openapi/models/DeliveryPlan.d.ts +77 -0
- package/dist/openapi/models/DeliveryPlan.js +72 -0
- package/dist/openapi/models/DeliveryPlanOutput.d.ts +53 -0
- package/dist/openapi/models/DeliveryPlanOutput.js +52 -0
- package/dist/openapi/models/DeliveryPlanReason.d.ts +35 -0
- package/dist/openapi/models/DeliveryPlanReason.js +53 -0
- package/dist/openapi/models/DeliverySelection.d.ts +62 -0
- package/dist/openapi/models/DeliverySelection.js +54 -0
- package/dist/openapi/models/ErrorEnvelope.d.ts +102 -5
- package/dist/openapi/models/ErrorEnvelope.js +10 -2
- package/dist/openapi/models/EstimateQuality.d.ts +34 -0
- package/dist/openapi/models/EstimateQuality.js +52 -0
- package/dist/openapi/models/EstimateRange.d.ts +48 -0
- package/dist/openapi/models/EstimateRange.js +51 -0
- package/dist/openapi/models/ExternalDestination.d.ts +41 -0
- package/dist/openapi/models/ExternalDestination.js +47 -0
- package/dist/openapi/models/ExternalImportCreatedResponse.d.ts +49 -0
- package/dist/openapi/models/ExternalImportCreatedResponse.js +51 -0
- package/dist/openapi/models/ExternalImportCreatedSuccessEnvelope.d.ts +46 -0
- package/dist/openapi/models/ExternalImportCreatedSuccessEnvelope.js +54 -0
- package/dist/openapi/models/ExternalImportRequest.d.ts +92 -0
- package/dist/openapi/models/ExternalImportRequest.js +61 -0
- package/dist/openapi/models/ExternalImportToken.d.ts +51 -0
- package/dist/openapi/models/ExternalImportToken.js +53 -0
- package/dist/openapi/models/ExternalSource.d.ts +31 -0
- package/dist/openapi/models/ExternalSource.js +47 -0
- package/dist/openapi/models/FeatureNotAvailableResponse.d.ts +163 -0
- package/dist/openapi/models/FeatureNotAvailableResponse.js +76 -0
- package/dist/openapi/models/FeatureTierRestrictedResponse.d.ts +154 -0
- package/dist/openapi/models/FeatureTierRestrictedResponse.js +76 -0
- package/dist/openapi/models/FeatureViolation.d.ts +108 -0
- package/dist/openapi/models/FeatureViolation.js +63 -0
- package/dist/openapi/models/JobDefinition.d.ts +125 -14
- package/dist/openapi/models/JobDefinition.js +25 -4
- package/dist/openapi/models/JobDownload.d.ts +2 -2
- package/dist/openapi/models/JobDownload.js +2 -2
- package/dist/openapi/models/JobInputV2.d.ts +89 -0
- package/dist/openapi/models/JobInputV2.js +56 -0
- package/dist/openapi/models/JobOutputSource.d.ts +57 -0
- package/dist/openapi/models/JobOutputSource.js +55 -0
- package/dist/openapi/models/JobResponse.d.ts +2 -2
- package/dist/openapi/models/JobResponse.js +2 -2
- package/dist/openapi/models/JobStatus.d.ts +17 -8
- package/dist/openapi/models/JobStatus.js +17 -8
- 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 +46 -0
- package/dist/openapi/models/LoginUser200Response.js +54 -0
- package/dist/openapi/models/LoginUser200ResponseData.d.ts +33 -0
- package/dist/openapi/models/LoginUser200ResponseData.js +44 -0
- package/dist/openapi/models/LoginUser200ResponseDataUser.d.ts +50 -0
- package/dist/openapi/models/LoginUser200ResponseDataUser.js +51 -0
- package/dist/openapi/models/LoginUserRequest.d.ts +38 -0
- package/dist/openapi/models/LoginUserRequest.js +47 -0
- package/dist/openapi/models/LogoutUser200Response.d.ts +50 -0
- package/dist/openapi/models/LogoutUser200Response.js +53 -0
- package/dist/openapi/models/MetadataResponse.d.ts +13 -2
- package/dist/openapi/models/MetadataResponse.js +6 -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 +3 -3
- package/dist/openapi/models/MetadataResponseExifGps.d.ts +2 -2
- package/dist/openapi/models/MetadataResponseExifGps.js +2 -2
- package/dist/openapi/models/MetadataSuccessEnvelope.d.ts +3 -3
- package/dist/openapi/models/MetadataSuccessEnvelope.js +2 -2
- package/dist/openapi/models/MimeGroupSchema.d.ts +46 -2
- package/dist/openapi/models/MimeGroupSchema.js +11 -2
- package/dist/openapi/models/MultipartCompleteRequest.d.ts +3 -3
- 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 +7 -4
- package/dist/openapi/models/MultipartCompleteResponse.js +2 -2
- package/dist/openapi/models/MultipartCompleteSuccessEnvelope.d.ts +3 -3
- package/dist/openapi/models/MultipartCompleteSuccessEnvelope.js +2 -2
- package/dist/openapi/models/MultipartInitiateRequestMetadataHint.d.ts +56 -0
- package/dist/openapi/models/MultipartInitiateRequestMetadataHint.js +45 -0
- package/dist/openapi/models/MultipartInitiateResponse.d.ts +38 -6
- package/dist/openapi/models/MultipartInitiateResponse.js +7 -2
- package/dist/openapi/models/MultipartInitiateSuccessEnvelope.d.ts +3 -3
- package/dist/openapi/models/MultipartInitiateSuccessEnvelope.js +2 -2
- package/dist/openapi/models/MultipartKeepaliveResponse.d.ts +43 -0
- package/dist/openapi/models/MultipartKeepaliveResponse.js +47 -0
- package/dist/openapi/models/MultipartKeepaliveSuccessEnvelope.d.ts +46 -0
- package/dist/openapi/models/MultipartKeepaliveSuccessEnvelope.js +54 -0
- package/dist/openapi/models/MultipartPartListing.d.ts +59 -0
- package/dist/openapi/models/MultipartPartListing.js +55 -0
- package/dist/openapi/models/MultipartPresignRequest.d.ts +41 -0
- package/dist/openapi/models/MultipartPresignRequest.js +43 -0
- package/dist/openapi/models/MultipartPresignResponse.d.ts +46 -0
- package/dist/openapi/models/MultipartPresignResponse.js +48 -0
- package/dist/openapi/models/MultipartPresignSuccessEnvelope.d.ts +46 -0
- package/dist/openapi/models/MultipartPresignSuccessEnvelope.js +54 -0
- package/dist/openapi/models/MultipartStatusResponse.d.ts +103 -0
- package/dist/openapi/models/MultipartStatusResponse.js +76 -0
- package/dist/openapi/models/MultipartStatusSuccessEnvelope.d.ts +46 -0
- package/dist/openapi/models/MultipartStatusSuccessEnvelope.js +54 -0
- package/dist/openapi/models/OperationDefinition.d.ts +2 -2
- package/dist/openapi/models/OperationDefinition.js +2 -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 +4 -4
- package/dist/openapi/models/OperationInputModel.js +4 -4
- package/dist/openapi/models/OperationResponse.d.ts +21 -2
- package/dist/openapi/models/OperationResponse.js +6 -2
- package/dist/openapi/models/OperationResult.d.ts +2 -2
- package/dist/openapi/models/OperationResult.js +2 -2
- package/dist/openapi/models/OperationResultMetrics.d.ts +2 -2
- package/dist/openapi/models/OperationResultMetrics.js +2 -2
- package/dist/openapi/models/OperationSchemaDefinition.d.ts +52 -5
- package/dist/openapi/models/OperationSchemaDefinition.js +10 -6
- package/dist/openapi/models/OperationStatus.d.ts +2 -2
- package/dist/openapi/models/OperationStatus.js +2 -2
- package/dist/openapi/models/OperationType.d.ts +17 -5
- package/dist/openapi/models/OperationType.js +18 -6
- package/dist/openapi/models/OperationsSchemaResponse.d.ts +70 -10
- package/dist/openapi/models/OperationsSchemaResponse.js +17 -2
- package/dist/openapi/models/OptionSchema.d.ts +42 -4
- package/dist/openapi/models/OptionSchema.js +12 -2
- package/dist/openapi/models/PerValueAvailabilityEntry.d.ts +80 -0
- package/dist/openapi/models/PerValueAvailabilityEntry.js +53 -0
- package/dist/openapi/models/PresignedUrlPart.d.ts +2 -2
- package/dist/openapi/models/PresignedUrlPart.js +3 -3
- package/dist/openapi/models/ProcessingClass.d.ts +35 -0
- package/dist/openapi/models/ProcessingClass.js +53 -0
- package/dist/openapi/models/ProcessingClassBandViolation.d.ts +149 -0
- package/dist/openapi/models/ProcessingClassBandViolation.js +81 -0
- package/dist/openapi/models/ProcessingClassExceedsBandResponse.d.ts +174 -0
- package/dist/openapi/models/ProcessingClassExceedsBandResponse.js +76 -0
- package/dist/openapi/models/ProcessingClassHint.d.ts +36 -0
- package/dist/openapi/models/ProcessingClassHint.js +54 -0
- package/dist/openapi/models/ProcessingClassReason.d.ts +46 -0
- package/dist/openapi/models/ProcessingClassReason.js +64 -0
- package/dist/openapi/models/ProcessingClassRejectReason.d.ts +53 -0
- package/dist/openapi/models/ProcessingClassRejectReason.js +71 -0
- package/dist/openapi/models/ProcessingPlan.d.ts +70 -0
- package/dist/openapi/models/ProcessingPlan.js +49 -0
- package/dist/openapi/models/ProcessingPlanJob.d.ts +81 -0
- package/dist/openapi/models/ProcessingPlanJob.js +71 -0
- package/dist/openapi/models/ReadinessResponse.d.ts +2 -2
- package/dist/openapi/models/ReadinessResponse.js +2 -2
- package/dist/openapi/models/ResponseEnvelope.d.ts +2 -2
- package/dist/openapi/models/ResponseEnvelope.js +2 -2
- package/dist/openapi/models/RetryResponse.d.ts +5 -5
- package/dist/openapi/models/RetryResponse.js +2 -2
- package/dist/openapi/models/RetrySuccessEnvelope.d.ts +3 -3
- package/dist/openapi/models/RetrySuccessEnvelope.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 +3 -3
- package/dist/openapi/models/SseJobCompletedData.js +2 -2
- package/dist/openapi/models/SseJobFailedData.d.ts +3 -3
- package/dist/openapi/models/SseJobFailedData.js +2 -2
- package/dist/openapi/models/SseOperationCompletedData.d.ts +4 -4
- package/dist/openapi/models/SseOperationCompletedData.js +2 -2
- package/dist/openapi/models/SseOperationFailedData.d.ts +3 -3
- package/dist/openapi/models/SseOperationFailedData.js +2 -2
- package/dist/openapi/models/SseOperationProgressData.d.ts +61 -3
- package/dist/openapi/models/SseOperationProgressData.js +22 -2
- package/dist/openapi/models/SseWorkflowTerminalData.d.ts +26 -4
- package/dist/openapi/models/SseWorkflowTerminalData.js +4 -2
- package/dist/openapi/models/TierRestrictionKind.d.ts +33 -0
- package/dist/openapi/models/TierRestrictionKind.js +51 -0
- package/dist/openapi/models/TierRestrictionResponse.d.ts +173 -0
- package/dist/openapi/models/TierRestrictionResponse.js +83 -0
- package/dist/openapi/models/UploadConstraintsApplied.d.ts +70 -0
- package/dist/openapi/models/UploadConstraintsApplied.js +57 -0
- package/dist/openapi/models/UploadDurationExceedsTierResponse.d.ts +155 -0
- package/dist/openapi/models/UploadDurationExceedsTierResponse.js +82 -0
- package/dist/openapi/models/UploadFile403Response.d.ts +27 -0
- package/dist/openapi/models/UploadFile403Response.js +47 -0
- package/dist/openapi/models/UploadFile422Response.d.ts +27 -0
- package/dist/openapi/models/UploadFile422Response.js +47 -0
- package/dist/openapi/models/UploadProbeMediaMetadata.d.ts +172 -0
- package/dist/openapi/models/UploadProbeMediaMetadata.js +69 -0
- package/dist/openapi/models/UploadProbeProcessingClass.d.ts +33 -0
- package/dist/openapi/models/UploadProbeProcessingClass.js +51 -0
- package/dist/openapi/models/UploadProbeResponse.d.ts +58 -0
- package/dist/openapi/models/UploadProbeResponse.js +58 -0
- package/dist/openapi/models/UploadProbeStatus.d.ts +41 -0
- package/dist/openapi/models/UploadProbeStatus.js +59 -0
- package/dist/openapi/models/UploadResponse.d.ts +17 -3
- package/dist/openapi/models/UploadResponse.js +7 -2
- package/dist/openapi/models/UploadSizeExceedsTierResponse.d.ts +155 -0
- package/dist/openapi/models/UploadSizeExceedsTierResponse.js +82 -0
- package/dist/openapi/models/UploadSource.d.ts +48 -0
- package/dist/openapi/models/UploadSource.js +53 -0
- package/dist/openapi/models/UploadSuccessEnvelope.d.ts +3 -3
- package/dist/openapi/models/UploadSuccessEnvelope.js +2 -2
- package/dist/openapi/models/UploadThresholds.d.ts +126 -0
- package/dist/openapi/models/UploadThresholds.js +79 -0
- package/dist/openapi/models/UserTier.d.ts +41 -0
- package/dist/openapi/models/UserTier.js +59 -0
- package/dist/openapi/models/ValidationErrorEnvelope.d.ts +51 -4
- package/dist/openapi/models/ValidationErrorEnvelope.js +10 -2
- package/dist/openapi/models/ValidationErrorEnvelopeDetailsInner.d.ts +37 -4
- package/dist/openapi/models/ValidationErrorEnvelopeDetailsInner.js +6 -2
- package/dist/openapi/models/WarningType.d.ts +48 -0
- package/dist/openapi/models/WarningType.js +66 -0
- package/dist/openapi/models/WebhookOperationContext.d.ts +3 -3
- package/dist/openapi/models/WebhookOperationContext.js +2 -2
- package/dist/openapi/models/WebhookPayload.d.ts +2 -2
- package/dist/openapi/models/WebhookPayload.js +3 -3
- package/dist/openapi/models/WorkflowCancelBillingEffect.d.ts +36 -0
- package/dist/openapi/models/WorkflowCancelBillingEffect.js +54 -0
- package/dist/openapi/models/WorkflowCancelResponse.d.ts +66 -0
- package/dist/openapi/models/WorkflowCancelResponse.js +62 -0
- package/dist/openapi/models/WorkflowCancelSuccessEnvelope.d.ts +46 -0
- package/dist/openapi/models/WorkflowCancelSuccessEnvelope.js +54 -0
- package/dist/openapi/models/WorkflowCreateRequest.d.ts +39 -5
- package/dist/openapi/models/WorkflowCreateRequest.js +11 -5
- package/dist/openapi/models/WorkflowCreateResponse.d.ts +63 -2
- package/dist/openapi/models/WorkflowCreateResponse.js +21 -2
- package/dist/openapi/models/WorkflowCreateSuccessEnvelope.d.ts +3 -3
- 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 +3 -3
- 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 +145 -0
- package/dist/openapi/models/WorkflowExpiredResponse.js +75 -0
- package/dist/openapi/models/WorkflowPauseRequiredAction.d.ts +30 -0
- package/dist/openapi/models/WorkflowPauseRequiredAction.js +48 -0
- package/dist/openapi/models/WorkflowPausedDetail.d.ts +99 -0
- package/dist/openapi/models/WorkflowPausedDetail.js +65 -0
- package/dist/openapi/models/WorkflowPausedDetailLinks.d.ts +47 -0
- package/dist/openapi/models/WorkflowPausedDetailLinks.js +45 -0
- package/dist/openapi/models/WorkflowProcessing.d.ts +36 -0
- package/dist/openapi/models/WorkflowProcessing.js +42 -0
- package/dist/openapi/models/WorkflowResumeResponse.d.ts +55 -0
- package/dist/openapi/models/WorkflowResumeResponse.js +57 -0
- package/dist/openapi/models/WorkflowResumeSuccessEnvelope.d.ts +46 -0
- package/dist/openapi/models/WorkflowResumeSuccessEnvelope.js +54 -0
- package/dist/openapi/models/WorkflowSource.d.ts +40 -0
- package/dist/openapi/models/WorkflowSource.js +57 -0
- package/dist/openapi/models/WorkflowStatus.d.ts +31 -8
- package/dist/openapi/models/WorkflowStatus.js +32 -9
- package/dist/openapi/models/WorkflowStatusResponse.d.ts +34 -2
- package/dist/openapi/models/WorkflowStatusResponse.js +13 -2
- package/dist/openapi/models/WorkflowStatusSuccessEnvelope.d.ts +3 -3
- package/dist/openapi/models/WorkflowStatusSuccessEnvelope.js +2 -2
- package/dist/openapi/models/WorkflowWarning.d.ts +119 -0
- package/dist/openapi/models/WorkflowWarning.js +63 -0
- package/dist/openapi/models/WorkflowWarningSeverity.d.ts +29 -0
- package/dist/openapi/models/WorkflowWarningSeverity.js +47 -0
- package/dist/openapi/models/index.d.ts +87 -3
- package/dist/openapi/models/index.js +87 -3
- package/dist/openapi/runtime.d.ts +2 -2
- package/dist/openapi/runtime.js +17 -2
- package/dist/operations/archive.metadata.d.ts +2 -0
- package/dist/operations/archive.metadata.js +13 -0
- package/dist/operations/audio_overlay.d.ts +48 -0
- package/dist/operations/audio_overlay.js +19 -0
- package/dist/operations/audio_overlay.metadata.d.ts +2 -0
- package/dist/operations/audio_overlay.metadata.js +167 -0
- package/dist/operations/audio_watermark.d.ts +42 -0
- package/dist/operations/audio_watermark.js +37 -0
- package/dist/operations/audio_watermark.metadata.d.ts +2 -0
- package/dist/operations/audio_watermark.metadata.js +94 -0
- package/dist/operations/compress.metadata.d.ts +2 -0
- package/dist/operations/compress.metadata.js +205 -0
- package/dist/operations/convert.metadata.d.ts +2 -0
- package/dist/operations/convert.metadata.js +85 -0
- package/dist/operations/custom_luma.d.ts +7 -0
- package/dist/operations/custom_luma.js +2 -0
- package/dist/operations/custom_luma.metadata.d.ts +2 -0
- package/dist/operations/custom_luma.metadata.js +49 -0
- package/dist/operations/image_watermark.d.ts +54 -0
- package/dist/operations/image_watermark.js +37 -0
- package/dist/operations/image_watermark.metadata.d.ts +2 -0
- package/dist/operations/image_watermark.metadata.js +97 -0
- package/dist/operations/index.d.ts +16 -1
- package/dist/operations/index.js +16 -1
- package/dist/operations/merge.d.ts +111 -31
- package/dist/operations/merge.js +106 -20
- package/dist/operations/merge.metadata.d.ts +2 -0
- package/dist/operations/merge.metadata.js +385 -0
- package/dist/operations/metadata-types.d.ts +47 -0
- package/dist/operations/metadata-types.js +2 -0
- package/dist/operations/text_watermark.d.ts +31 -0
- package/dist/operations/text_watermark.js +22 -0
- package/dist/operations/text_watermark.metadata.d.ts +2 -0
- package/dist/operations/text_watermark.metadata.js +46 -0
- package/dist/operations/thumbnail.metadata.d.ts +2 -0
- package/dist/operations/thumbnail.metadata.js +88 -0
- package/openapi/api.yaml +6413 -821
- package/operations/schemas/audio_overlay.yaml +409 -0
- package/operations/schemas/audio_watermark.yaml +192 -0
- package/operations/schemas/compress.yaml +26 -3
- package/operations/schemas/convert.yaml +25 -3
- package/operations/schemas/custom_luma.yaml +116 -0
- package/operations/schemas/image_watermark.yaml +287 -0
- package/operations/schemas/merge.yaml +301 -66
- package/operations/schemas/text_watermark.yaml +147 -0
- package/operations/schemas/thumbnail.yaml +22 -0
- package/package.json +10 -4
- package/dist/openapi/models/ExportConfig.d.ts +0 -63
- package/dist/openapi/models/ExportConfig.js +0 -59
- package/dist/openapi/models/JobInput.d.ts +0 -53
- package/dist/openapi/models/JobInput.js +0 -47
- package/dist/openapi/models/JobSource.d.ts +0 -43
- package/dist/openapi/models/JobSource.js +0 -45
- package/dist/operations/watermark.d.ts +0 -28
- package/dist/operations/watermark.js +0 -19
- package/operations/schemas/watermark.yaml +0 -87
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
schema_version: "1.0
|
|
1
|
+
schema_version: "2.1.0"
|
|
2
2
|
|
|
3
3
|
operation:
|
|
4
4
|
type: merge
|
|
@@ -10,11 +10,13 @@ operation:
|
|
|
10
10
|
# All merge operations route to the single `ops-merge` Lambda via
|
|
11
11
|
# `operation_type=merge` on the `operations` SNS topic. The
|
|
12
12
|
# `output_type` field below is read by the merge Lambda to decide
|
|
13
|
-
# the internal encoding path (
|
|
14
|
-
#
|
|
15
|
-
#
|
|
16
|
-
#
|
|
17
|
-
#
|
|
13
|
+
# the internal encoding path (animated GIF, video slideshow/concat,
|
|
14
|
+
# audio concat), not to influence SNS routing. The V1 Lambda does
|
|
15
|
+
# NOT support image collage/grid or PDF concatenation — those
|
|
16
|
+
# `output_type` values are absent from the allowlist. The API
|
|
17
|
+
# publisher additionally sets `media_group` as an informational SNS
|
|
18
|
+
# attribute on non-archive operations, but it is not used as a
|
|
19
|
+
# routing filter.
|
|
18
20
|
|
|
19
21
|
mime_groups:
|
|
20
22
|
image:
|
|
@@ -28,46 +30,9 @@ operation:
|
|
|
28
30
|
options:
|
|
29
31
|
output_type:
|
|
30
32
|
type: enum
|
|
31
|
-
values: [
|
|
32
|
-
|
|
33
|
-
description: "Result format:
|
|
34
|
-
# --- Options for output_type: image ---
|
|
35
|
-
layout:
|
|
36
|
-
type: enum
|
|
37
|
-
values: [grid, horizontal, vertical]
|
|
38
|
-
default: grid
|
|
39
|
-
depends_on: { output_type: image }
|
|
40
|
-
description: "How to arrange images in the collage"
|
|
41
|
-
columns:
|
|
42
|
-
type: integer
|
|
43
|
-
min: 1
|
|
44
|
-
max: 10
|
|
45
|
-
depends_on: { output_type: image }
|
|
46
|
-
description: "Number of columns in grid layout. Omit for auto (square-ish grid based on input count)."
|
|
47
|
-
resize_mode:
|
|
48
|
-
type: enum
|
|
49
|
-
values: [fit, fill, none]
|
|
50
|
-
default: fit
|
|
51
|
-
depends_on: { output_type: image }
|
|
52
|
-
description: "How to handle images of different sizes"
|
|
53
|
-
spacing:
|
|
54
|
-
type: integer
|
|
55
|
-
min: 0
|
|
56
|
-
max: 100
|
|
57
|
-
default: 0
|
|
58
|
-
depends_on: { output_type: image }
|
|
59
|
-
description: "Pixel spacing between images"
|
|
60
|
-
background:
|
|
61
|
-
type: string
|
|
62
|
-
default: "transparent"
|
|
63
|
-
depends_on: { output_type: image }
|
|
64
|
-
description: "Background color for spacing/padding (CSS color or 'transparent')"
|
|
65
|
-
image_format:
|
|
66
|
-
type: enum
|
|
67
|
-
values: [jpeg, png, webp]
|
|
68
|
-
default: png
|
|
69
|
-
depends_on: { output_type: image }
|
|
70
|
-
description: "Output image format for the collage"
|
|
33
|
+
values: [gif, video]
|
|
34
|
+
required: true
|
|
35
|
+
description: "Result format: animated GIF or slideshow video. No default — caller must pick explicitly (image/collage and document/PDF concat are not supported by the V1 merge Lambda)."
|
|
71
36
|
# --- Options for output_type: gif ---
|
|
72
37
|
delay:
|
|
73
38
|
type: integer
|
|
@@ -93,10 +58,62 @@ operation:
|
|
|
93
58
|
description: "Seconds each image is displayed"
|
|
94
59
|
transition:
|
|
95
60
|
type: enum
|
|
96
|
-
|
|
61
|
+
# Catalog from FFmpeg 7.1.1 xfade filter (per ADR-0007). The
|
|
62
|
+
# `none` value is a sentinel meaning "no transition / hard
|
|
63
|
+
# cut" — Lambda short-circuits the xfade filter chain rather
|
|
64
|
+
# than passing it through. All other values map directly to
|
|
65
|
+
# FFmpeg `xfade` filter `transition=` parameter.
|
|
66
|
+
values: [none, fade, fadeblack, fadewhite, dissolve,
|
|
67
|
+
wipeleft, wiperight, wipeup, wipedown, crossfade,
|
|
68
|
+
smoothleft, smoothright, smoothup, smoothdown,
|
|
69
|
+
circleopen, circleclose, circlecrop, rectcrop,
|
|
70
|
+
slideleft, slideright, slideup, slidedown,
|
|
71
|
+
radial, diagtl, diagtr, diagbl,
|
|
72
|
+
pixelize, hlslice, vlslice, hblur, distance, squeezeh,
|
|
73
|
+
custom, wipetl, wipetr, wipebl]
|
|
97
74
|
default: none
|
|
98
75
|
depends_on: { output_type: video }
|
|
99
|
-
description:
|
|
76
|
+
description: |
|
|
77
|
+
Transition effect between images in the slideshow output.
|
|
78
|
+
Catalog from FFmpeg 7.1.1 xfade filter (per ADR-0007). See
|
|
79
|
+
per_value_availability for per-value rollout state. The
|
|
80
|
+
`none` value is a sentinel ("no transition / hard cut"),
|
|
81
|
+
not an FFmpeg preset.
|
|
82
|
+
per_value_availability:
|
|
83
|
+
# Untagged values default to stable per ADR-0001 §1.4.
|
|
84
|
+
smoothleft: { availability: beta }
|
|
85
|
+
smoothright: { availability: beta }
|
|
86
|
+
smoothup: { availability: beta }
|
|
87
|
+
smoothdown: { availability: beta }
|
|
88
|
+
circleopen: { availability: beta }
|
|
89
|
+
circleclose: { availability: beta }
|
|
90
|
+
circlecrop: { availability: beta }
|
|
91
|
+
rectcrop: { availability: beta }
|
|
92
|
+
slideleft: { availability: beta }
|
|
93
|
+
slideright: { availability: beta }
|
|
94
|
+
slideup: { availability: beta }
|
|
95
|
+
slidedown: { availability: beta }
|
|
96
|
+
radial: { availability: beta }
|
|
97
|
+
diagtl: { availability: beta }
|
|
98
|
+
diagtr: { availability: beta }
|
|
99
|
+
diagbl: { availability: beta }
|
|
100
|
+
pixelize: { availability: experimental }
|
|
101
|
+
hlslice: { availability: experimental }
|
|
102
|
+
vlslice: { availability: experimental }
|
|
103
|
+
hblur: { availability: experimental }
|
|
104
|
+
distance: { availability: experimental }
|
|
105
|
+
squeezeh: { availability: experimental }
|
|
106
|
+
# `custom` is `planned` indefinitely as an advisory — for
|
|
107
|
+
# caller-uploaded luma-matte transitions, use the dedicated
|
|
108
|
+
# `custom_luma` operation (multi-input with role: base +
|
|
109
|
+
# transition_mask) per ticket I29 (EPUE5Vs1). FFmpeg's
|
|
110
|
+
# xfade=custom is an expression-mode parameter, not the
|
|
111
|
+
# shape callers want; the dedicated operation is the
|
|
112
|
+
# supported path.
|
|
113
|
+
custom: { availability: planned, documentation_url: "https://trello.com/c/EPUE5Vs1" }
|
|
114
|
+
wipetl: { availability: planned, eta: "2026-Q3" }
|
|
115
|
+
wipetr: { availability: planned, eta: "2026-Q3" }
|
|
116
|
+
wipebl: { availability: planned, eta: "2026-Q3" }
|
|
100
117
|
transition_duration:
|
|
101
118
|
type: float
|
|
102
119
|
min: 0.1
|
|
@@ -122,12 +139,87 @@ operation:
|
|
|
122
139
|
mimes:
|
|
123
140
|
- video/mp4
|
|
124
141
|
- video/webm
|
|
142
|
+
processing_class:
|
|
143
|
+
# F8 long-form video tier (per ticket I15-CONS). Merge uses
|
|
144
|
+
# alias class names because its differentiator is concat-
|
|
145
|
+
# compatibility (I16-CONS re_encode_mode) rather than just
|
|
146
|
+
# size/duration — a small merge can still need long_form
|
|
147
|
+
# when inputs require re-encoding.
|
|
148
|
+
short_form_concat:
|
|
149
|
+
availability: stable
|
|
150
|
+
constraints:
|
|
151
|
+
max_total_duration: "PT5M"
|
|
152
|
+
max_total_input_size_bytes: 1073741824 # 1 GiB combined
|
|
153
|
+
long_form_re_encode:
|
|
154
|
+
# planned -> beta (CON-1, ADR-0011): staging proving gate before
|
|
155
|
+
# stable (CON-2b). Binding cap = max_total_duration (24h single-
|
|
156
|
+
# pass budget, SPIKE-0); size is the per-tier secondary cap.
|
|
157
|
+
availability: beta
|
|
158
|
+
required_tier: pro
|
|
159
|
+
constraints: # baseline = Pro (lowest permitted)
|
|
160
|
+
max_total_duration: "PT24H" # 24h (was PT12H) — binding Enterprise ceiling
|
|
161
|
+
max_total_input_size_bytes: 5000000000 # 5 GB combined (Pro)
|
|
162
|
+
per_tier_constraints:
|
|
163
|
+
enterprise:
|
|
164
|
+
max_total_input_size_bytes: 120000000000 # 120 GB combined (Enterprise)
|
|
125
165
|
options:
|
|
166
|
+
output_type:
|
|
167
|
+
type: enum
|
|
168
|
+
values: [video]
|
|
169
|
+
required: false
|
|
170
|
+
description: "Output format for video merge (concatenation). Currently fixed at 'video'. Optional — API injects this default post-validation so callers may omit it."
|
|
126
171
|
transition:
|
|
127
172
|
type: enum
|
|
128
|
-
|
|
173
|
+
# Same catalog + per_value_availability as merge.image.transition.
|
|
174
|
+
# Catalog from FFmpeg 7.1.1 xfade filter (per ADR-0007). The
|
|
175
|
+
# `none` value is a sentinel ("no transition / hard cut").
|
|
176
|
+
values: [none, fade, fadeblack, fadewhite, dissolve,
|
|
177
|
+
wipeleft, wiperight, wipeup, wipedown, crossfade,
|
|
178
|
+
smoothleft, smoothright, smoothup, smoothdown,
|
|
179
|
+
circleopen, circleclose, circlecrop, rectcrop,
|
|
180
|
+
slideleft, slideright, slideup, slidedown,
|
|
181
|
+
radial, diagtl, diagtr, diagbl,
|
|
182
|
+
pixelize, hlslice, vlslice, hblur, distance, squeezeh,
|
|
183
|
+
custom, wipetl, wipetr, wipebl]
|
|
129
184
|
default: none
|
|
130
|
-
description:
|
|
185
|
+
description: |
|
|
186
|
+
Default transition between clips. Catalog from FFmpeg 7.1.1
|
|
187
|
+
xfade filter (per ADR-0007). See per_value_availability for
|
|
188
|
+
per-value rollout state.
|
|
189
|
+
per_value_availability:
|
|
190
|
+
smoothleft: { availability: beta }
|
|
191
|
+
smoothright: { availability: beta }
|
|
192
|
+
smoothup: { availability: beta }
|
|
193
|
+
smoothdown: { availability: beta }
|
|
194
|
+
circleopen: { availability: beta }
|
|
195
|
+
circleclose: { availability: beta }
|
|
196
|
+
circlecrop: { availability: beta }
|
|
197
|
+
rectcrop: { availability: beta }
|
|
198
|
+
slideleft: { availability: beta }
|
|
199
|
+
slideright: { availability: beta }
|
|
200
|
+
slideup: { availability: beta }
|
|
201
|
+
slidedown: { availability: beta }
|
|
202
|
+
radial: { availability: beta }
|
|
203
|
+
diagtl: { availability: beta }
|
|
204
|
+
diagtr: { availability: beta }
|
|
205
|
+
diagbl: { availability: beta }
|
|
206
|
+
pixelize: { availability: experimental }
|
|
207
|
+
hlslice: { availability: experimental }
|
|
208
|
+
vlslice: { availability: experimental }
|
|
209
|
+
hblur: { availability: experimental }
|
|
210
|
+
distance: { availability: experimental }
|
|
211
|
+
squeezeh: { availability: experimental }
|
|
212
|
+
# `custom` is `planned` indefinitely as an advisory — for
|
|
213
|
+
# caller-uploaded luma-matte transitions, use the dedicated
|
|
214
|
+
# `custom_luma` operation (multi-input with role: base +
|
|
215
|
+
# transition_mask) per ticket I29 (EPUE5Vs1). FFmpeg's
|
|
216
|
+
# xfade=custom is an expression-mode parameter, not the
|
|
217
|
+
# shape callers want; the dedicated operation is the
|
|
218
|
+
# supported path.
|
|
219
|
+
custom: { availability: planned, documentation_url: "https://trello.com/c/EPUE5Vs1" }
|
|
220
|
+
wipetl: { availability: planned, eta: "2026-Q3" }
|
|
221
|
+
wipetr: { availability: planned, eta: "2026-Q3" }
|
|
222
|
+
wipebl: { availability: planned, eta: "2026-Q3" }
|
|
131
223
|
crossfade_duration:
|
|
132
224
|
type: float
|
|
133
225
|
min: 0.1
|
|
@@ -139,11 +231,138 @@ operation:
|
|
|
139
231
|
type: boolean
|
|
140
232
|
default: true
|
|
141
233
|
description: "Normalize audio levels across all clips"
|
|
234
|
+
|
|
235
|
+
re_encode_mode:
|
|
236
|
+
type: enum
|
|
237
|
+
values: [auto, always, never]
|
|
238
|
+
default: auto
|
|
239
|
+
description: |
|
|
240
|
+
Re-encode policy for video concat.
|
|
241
|
+
- `auto`: probe inputs and choose stream-copy concat (when
|
|
242
|
+
codec/container/timebase/framerate/resolution/pixel-format
|
|
243
|
+
match) or full re-encode.
|
|
244
|
+
- `always`: force re-encode (use when caller wants
|
|
245
|
+
normalised output options).
|
|
246
|
+
- `never`: return 422 `REQUIRES_REENCODE` if inputs are not
|
|
247
|
+
concat-compatible.
|
|
248
|
+
Compatibility algorithm is server-side and deliberately
|
|
249
|
+
opaque (per plan v5 §F8.2). The actual path taken is
|
|
250
|
+
reported on `OperationMetrics.re_encode_decision`.
|
|
251
|
+
|
|
252
|
+
codec:
|
|
253
|
+
type: enum
|
|
254
|
+
values: [h264, h265, vp9, av1]
|
|
255
|
+
default: h264
|
|
256
|
+
depends_on: { re_encode_mode: [auto, always] }
|
|
257
|
+
description: |
|
|
258
|
+
Output codec when merge re-encodes. Inert when stream-copy
|
|
259
|
+
concat is selected (re_encode_mode=auto + compatible inputs).
|
|
260
|
+
per_value_availability:
|
|
261
|
+
# AV1 encoder presence in mwader/static-ffmpeg:7.1.1 needs
|
|
262
|
+
# anti-drift confirmation per ADR-0006; tagged beta until
|
|
263
|
+
# I32 strict mode confirms.
|
|
264
|
+
av1: { availability: beta }
|
|
265
|
+
|
|
266
|
+
crf:
|
|
267
|
+
type: integer
|
|
268
|
+
min: 0
|
|
269
|
+
max: 51
|
|
270
|
+
default: 23
|
|
271
|
+
depends_on: { re_encode_mode: [auto, always], encoding_mode: crf }
|
|
272
|
+
description: "Constant Rate Factor when encoding_mode=crf. Lower = higher quality / larger file."
|
|
273
|
+
|
|
274
|
+
preset:
|
|
275
|
+
type: enum
|
|
276
|
+
values: [ultrafast, superfast, veryfast, faster, fast, medium, slow, slower, veryslow]
|
|
277
|
+
default: medium
|
|
278
|
+
depends_on: { re_encode_mode: [auto, always] }
|
|
279
|
+
description: "Encoder speed/compression trade-off when re-encoding."
|
|
280
|
+
|
|
281
|
+
target_resolution:
|
|
282
|
+
type: string
|
|
283
|
+
pattern: '^\d+x\d+$'
|
|
284
|
+
depends_on: { re_encode_mode: [auto, always] }
|
|
285
|
+
description: "Output dimensions WxH (e.g. \"1920x1080\"). Omit to inherit from inputs."
|
|
286
|
+
|
|
287
|
+
encoding_mode:
|
|
288
|
+
type: enum
|
|
289
|
+
values: [crf, target_size]
|
|
290
|
+
default: crf
|
|
291
|
+
depends_on: { re_encode_mode: [auto, always] }
|
|
292
|
+
description: |
|
|
293
|
+
CRF (quality-targeted) vs target_size (two-pass to fixed file size).
|
|
294
|
+
`target_size` is currently `codec=h264` only — libx265 / libvpx-vp9 / libsvtav1 each
|
|
295
|
+
require a different two-pass invocation and are tracked as separate per-codec
|
|
296
|
+
Lambda follow-ups. The contract narrows `target_size_bytes.depends_on` with
|
|
297
|
+
`codec: [h264]`, which rejects `encoding_mode=target_size + codec ∈ {h265, vp9, av1}`
|
|
298
|
+
as `invalid_options` **when `target_size_bytes` is present in the request**. Fully
|
|
299
|
+
gating `encoding_mode=target_size` itself on codec (so that omitting
|
|
300
|
+
`target_size_bytes` is also rejected) awaits a `per_value_depends_on` schema
|
|
301
|
+
vocab extension (ticket bsV3FWM5); Lambda continues to catch the residual
|
|
302
|
+
`target_size + non-h264 + no target_size_bytes` case in the meantime.
|
|
303
|
+
|
|
304
|
+
target_size_bytes:
|
|
305
|
+
type: integer
|
|
306
|
+
min: 1048576
|
|
307
|
+
depends_on: { re_encode_mode: [auto, always], encoding_mode: target_size, codec: [h264] }
|
|
308
|
+
description: |
|
|
309
|
+
Two-pass target file size in bytes (minimum 1 MiB). Required when
|
|
310
|
+
`encoding_mode=target_size`. h264-only today; see `encoding_mode` description
|
|
311
|
+
for per-codec rollout status.
|
|
312
|
+
|
|
313
|
+
Practical floor: a ~100 kbps post-AAC video bitrate (i.e. `target_size_bytes`
|
|
314
|
+
corresponding to less than ~100 kbps of video after subtracting the 160 kbps
|
|
315
|
+
AAC audio track over the merged duration) is silently floored by libx264 and
|
|
316
|
+
the resulting file will not honour the requested `target_size_bytes`.
|
|
317
|
+
Publishers targeting very small outputs should size accordingly.
|
|
318
|
+
|
|
142
319
|
per_input_options:
|
|
143
320
|
transition:
|
|
144
321
|
type: enum
|
|
145
|
-
|
|
146
|
-
|
|
322
|
+
# Same catalog as global transition; mirrors per_value_availability.
|
|
323
|
+
values: [none, fade, fadeblack, fadewhite, dissolve,
|
|
324
|
+
wipeleft, wiperight, wipeup, wipedown, crossfade,
|
|
325
|
+
smoothleft, smoothright, smoothup, smoothdown,
|
|
326
|
+
circleopen, circleclose, circlecrop, rectcrop,
|
|
327
|
+
slideleft, slideright, slideup, slidedown,
|
|
328
|
+
radial, diagtl, diagtr, diagbl,
|
|
329
|
+
pixelize, hlslice, vlslice, hblur, distance, squeezeh,
|
|
330
|
+
custom, wipetl, wipetr, wipebl]
|
|
331
|
+
description: "Override transition for the join point preceding this input."
|
|
332
|
+
per_value_availability:
|
|
333
|
+
smoothleft: { availability: beta }
|
|
334
|
+
smoothright: { availability: beta }
|
|
335
|
+
smoothup: { availability: beta }
|
|
336
|
+
smoothdown: { availability: beta }
|
|
337
|
+
circleopen: { availability: beta }
|
|
338
|
+
circleclose: { availability: beta }
|
|
339
|
+
circlecrop: { availability: beta }
|
|
340
|
+
rectcrop: { availability: beta }
|
|
341
|
+
slideleft: { availability: beta }
|
|
342
|
+
slideright: { availability: beta }
|
|
343
|
+
slideup: { availability: beta }
|
|
344
|
+
slidedown: { availability: beta }
|
|
345
|
+
radial: { availability: beta }
|
|
346
|
+
diagtl: { availability: beta }
|
|
347
|
+
diagtr: { availability: beta }
|
|
348
|
+
diagbl: { availability: beta }
|
|
349
|
+
pixelize: { availability: experimental }
|
|
350
|
+
hlslice: { availability: experimental }
|
|
351
|
+
vlslice: { availability: experimental }
|
|
352
|
+
hblur: { availability: experimental }
|
|
353
|
+
distance: { availability: experimental }
|
|
354
|
+
squeezeh: { availability: experimental }
|
|
355
|
+
# `custom` is `planned` indefinitely as an advisory — for
|
|
356
|
+
# caller-uploaded luma-matte transitions, use the dedicated
|
|
357
|
+
# `custom_luma` operation (multi-input with role: base +
|
|
358
|
+
# transition_mask) per ticket I29 (EPUE5Vs1). FFmpeg's
|
|
359
|
+
# xfade=custom is an expression-mode parameter, not the
|
|
360
|
+
# shape callers want; the dedicated operation is the
|
|
361
|
+
# supported path.
|
|
362
|
+
custom: { availability: planned, documentation_url: "https://trello.com/c/EPUE5Vs1" }
|
|
363
|
+
wipetl: { availability: planned, eta: "2026-Q3" }
|
|
364
|
+
wipetr: { availability: planned, eta: "2026-Q3" }
|
|
365
|
+
wipebl: { availability: planned, eta: "2026-Q3" }
|
|
147
366
|
crossfade_duration:
|
|
148
367
|
type: float
|
|
149
368
|
min: 0.1
|
|
@@ -152,6 +371,15 @@ operation:
|
|
|
152
371
|
description: "Override crossfade duration for this join point"
|
|
153
372
|
|
|
154
373
|
audio:
|
|
374
|
+
# Audio transition catalog is intentionally separate from the
|
|
375
|
+
# visual xfade catalog used by merge.image / merge.video — audio
|
|
376
|
+
# uses FFmpeg's `acrossfade` filter, which is fundamentally
|
|
377
|
+
# different from `xfade` (visual). The two catalogs share no
|
|
378
|
+
# values and SDK codegen treats them as distinct enum types.
|
|
379
|
+
# See FORMAT.md §"Audio vs visual transition catalogs (merge)"
|
|
380
|
+
# for the convention and the rules for adding values to either
|
|
381
|
+
# catalog. Per ticket I18 (Trello FVuNcRJa) — visual-vs-audio
|
|
382
|
+
# enum split codification.
|
|
155
383
|
mimes:
|
|
156
384
|
- audio/mpeg
|
|
157
385
|
- audio/aac
|
|
@@ -159,11 +387,25 @@ operation:
|
|
|
159
387
|
- audio/ogg
|
|
160
388
|
- audio/flac
|
|
161
389
|
options:
|
|
390
|
+
output_type:
|
|
391
|
+
type: enum
|
|
392
|
+
values: [audio]
|
|
393
|
+
required: false
|
|
394
|
+
description: "Output format for audio merge (concatenation). Currently fixed at 'audio'. Optional — API injects this default post-validation so callers may omit it."
|
|
162
395
|
transition:
|
|
163
396
|
type: enum
|
|
397
|
+
# audio_transition catalog (per ticket I18, FORMAT.md §"Audio
|
|
398
|
+
# vs visual transition catalogs"). Backed by FFmpeg's
|
|
399
|
+
# `acrossfade` filter; values share no ground with the visual
|
|
400
|
+
# xfade catalog on merge.image / merge.video.
|
|
164
401
|
values: [none, crossfade]
|
|
165
402
|
default: none
|
|
166
|
-
description:
|
|
403
|
+
description: |
|
|
404
|
+
Default transition between clips. Audio-only catalog
|
|
405
|
+
(acrossfade-backed); see FORMAT.md §"Audio vs visual
|
|
406
|
+
transition catalogs (merge)" for additions policy. Future
|
|
407
|
+
values (e.g. `fade_curve` variants) will be added with
|
|
408
|
+
`per_value_availability` per ADR-0001 §1.4.
|
|
167
409
|
crossfade_duration:
|
|
168
410
|
type: float
|
|
169
411
|
min: 0
|
|
@@ -184,8 +426,13 @@ operation:
|
|
|
184
426
|
per_input_options:
|
|
185
427
|
transition:
|
|
186
428
|
type: enum
|
|
429
|
+
# Mirrors merge.audio.options.transition; same audio_transition
|
|
430
|
+
# catalog. Per ticket I18.
|
|
187
431
|
values: [none, crossfade]
|
|
188
|
-
description:
|
|
432
|
+
description: |
|
|
433
|
+
Override transition for the join point preceding this
|
|
434
|
+
input. Audio-only catalog (acrossfade-backed); see
|
|
435
|
+
FORMAT.md §"Audio vs visual transition catalogs (merge)".
|
|
189
436
|
crossfade_duration:
|
|
190
437
|
type: float
|
|
191
438
|
min: 0
|
|
@@ -197,15 +444,3 @@ operation:
|
|
|
197
444
|
min: 0
|
|
198
445
|
max: 10.0
|
|
199
446
|
description: "Override gap duration for this join point"
|
|
200
|
-
|
|
201
|
-
document:
|
|
202
|
-
mimes:
|
|
203
|
-
- application/pdf
|
|
204
|
-
options:
|
|
205
|
-
page_range:
|
|
206
|
-
type: string
|
|
207
|
-
description: "Default page range per input, e.g. '1-3,5'. Null = all pages."
|
|
208
|
-
per_input_options:
|
|
209
|
-
page_range:
|
|
210
|
-
type: string
|
|
211
|
-
description: "Override page range for this specific input document"
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
schema_version: "2.0.0"
|
|
2
|
+
|
|
3
|
+
operation:
|
|
4
|
+
type: text_watermark
|
|
5
|
+
description: |
|
|
6
|
+
Render a text overlay onto an image using bundled Liberation Sans
|
|
7
|
+
(SIL OFL). Single-input — text comes from options, not from a file
|
|
8
|
+
input. Source capped at 25 megapixels (V1 watermark precedent
|
|
9
|
+
retained). Per ADR-0004 §"V2 JobDefinition" + plan v5 §F1.
|
|
10
|
+
|
|
11
|
+
Two rendering modes:
|
|
12
|
+
- `single`: one label rendered at the anchor + margin position.
|
|
13
|
+
- `tiled`: text tiled across the source image (Cinavia / Adobe Stock
|
|
14
|
+
pattern); rotation default -45° and tile_spacing controls density.
|
|
15
|
+
default: false
|
|
16
|
+
input_model: single
|
|
17
|
+
|
|
18
|
+
mime_groups:
|
|
19
|
+
image:
|
|
20
|
+
mimes:
|
|
21
|
+
- image/jpeg
|
|
22
|
+
- image/png
|
|
23
|
+
- image/webp
|
|
24
|
+
options:
|
|
25
|
+
text:
|
|
26
|
+
type: string
|
|
27
|
+
required: true
|
|
28
|
+
description: |
|
|
29
|
+
Watermark text. Must be non-empty. Rendered with bundled
|
|
30
|
+
Liberation Sans (SIL OFL). A single text overlay is capped
|
|
31
|
+
at 4 megapixels before rendering fails.
|
|
32
|
+
|
|
33
|
+
font_size:
|
|
34
|
+
type: float
|
|
35
|
+
min: 8.0
|
|
36
|
+
max: 512.0
|
|
37
|
+
default: 48.0
|
|
38
|
+
description: Font size in pixels. Clamped to range.
|
|
39
|
+
|
|
40
|
+
color:
|
|
41
|
+
type: string
|
|
42
|
+
default: "#FFFFFF80"
|
|
43
|
+
pattern: '^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$'
|
|
44
|
+
description: |
|
|
45
|
+
Text colour as hex RGB (#RRGGBB) or RGBA (#RRGGBBAA).
|
|
46
|
+
Default is white with 50% alpha.
|
|
47
|
+
|
|
48
|
+
font_family:
|
|
49
|
+
type: enum
|
|
50
|
+
values:
|
|
51
|
+
- liberation_sans
|
|
52
|
+
default: liberation_sans
|
|
53
|
+
description: |
|
|
54
|
+
Font family. V2.0 ships with bundled Liberation Sans only;
|
|
55
|
+
user-uploaded fonts are a future extension (separate ticket).
|
|
56
|
+
|
|
57
|
+
rotation:
|
|
58
|
+
type: float
|
|
59
|
+
min: -360.0
|
|
60
|
+
max: 360.0
|
|
61
|
+
default: -45.0
|
|
62
|
+
description: |
|
|
63
|
+
Rotation angle in degrees. Default -45° suits tiled mode
|
|
64
|
+
(angled diagonal pattern). Clamped to range. Tiled canvas is
|
|
65
|
+
capped at 25 megapixels pre-rotation with 5000 px maximum
|
|
66
|
+
side length.
|
|
67
|
+
|
|
68
|
+
watermark_mode:
|
|
69
|
+
type: enum
|
|
70
|
+
values: [single, tiled]
|
|
71
|
+
default: single
|
|
72
|
+
description: |
|
|
73
|
+
Rendering mode:
|
|
74
|
+
- `single`: one label placed at the anchor + margin offset.
|
|
75
|
+
- `tiled`: repeated tiles across the entire source image at
|
|
76
|
+
the rotation angle.
|
|
77
|
+
|
|
78
|
+
tile_spacing:
|
|
79
|
+
type: integer
|
|
80
|
+
min: 0
|
|
81
|
+
max: 1000
|
|
82
|
+
depends_on: { watermark_mode: tiled }
|
|
83
|
+
description: |
|
|
84
|
+
Spacing between tiled labels in pixels. Defaults to font_size
|
|
85
|
+
when omitted. Only applies when watermark_mode is tiled.
|
|
86
|
+
|
|
87
|
+
anchor:
|
|
88
|
+
type: enum
|
|
89
|
+
values:
|
|
90
|
+
- top_left
|
|
91
|
+
- top_center
|
|
92
|
+
- top_right
|
|
93
|
+
- center_left
|
|
94
|
+
- center
|
|
95
|
+
- center_right
|
|
96
|
+
- bottom_left
|
|
97
|
+
- bottom_center
|
|
98
|
+
- bottom_right
|
|
99
|
+
default: bottom_right
|
|
100
|
+
description: |
|
|
101
|
+
9-grid anchor position. For watermark_mode: single, the text
|
|
102
|
+
label is placed at this anchor + margin_x/margin_y offset.
|
|
103
|
+
For watermark_mode: tiled, anchor is ignored (tiles fill the
|
|
104
|
+
source image).
|
|
105
|
+
|
|
106
|
+
margin_x:
|
|
107
|
+
type: string
|
|
108
|
+
pattern: '^\d+(\.\d+)?(px|%)$'
|
|
109
|
+
default: "0px"
|
|
110
|
+
description: |
|
|
111
|
+
Horizontal offset from the anchor as pixels (e.g. "40px") or
|
|
112
|
+
percentage of base width (e.g. "5%"). Direction is
|
|
113
|
+
anchor-relative. Ignored when watermark_mode: tiled.
|
|
114
|
+
|
|
115
|
+
**`anchor: center` exception** (watermark_mode: single only).
|
|
116
|
+
When the anchor is `center` the centre is the centre — there
|
|
117
|
+
is no anchor-relative direction. Non-zero `margin_x`
|
|
118
|
+
(anything other than the default `"0px"` or the equivalent
|
|
119
|
+
`"0%"`) combined with `anchor: center` is rejected by the
|
|
120
|
+
API at workflow-create time as `invalid_options` (HTTP 422).
|
|
121
|
+
To nudge a roughly-centred label, pick a peripheral anchor
|
|
122
|
+
(e.g. `top_left`) and use `margin_x` / `margin_y` to
|
|
123
|
+
position it. Not applicable to watermark_mode: tiled, where
|
|
124
|
+
anchor + margin are ignored entirely.
|
|
125
|
+
|
|
126
|
+
margin_y:
|
|
127
|
+
type: string
|
|
128
|
+
pattern: '^\d+(\.\d+)?(px|%)$'
|
|
129
|
+
default: "0px"
|
|
130
|
+
description: |
|
|
131
|
+
Vertical offset from the anchor as pixels or percentage of
|
|
132
|
+
base height. Ignored when watermark_mode: tiled.
|
|
133
|
+
|
|
134
|
+
**`anchor: center` exception** (watermark_mode: single only).
|
|
135
|
+
Same rejection rule as `margin_x` — non-zero `margin_y` with
|
|
136
|
+
`anchor: center` is rejected by the API at workflow-create
|
|
137
|
+
time as `invalid_options` (HTTP 422).
|
|
138
|
+
|
|
139
|
+
opacity:
|
|
140
|
+
type: float
|
|
141
|
+
min: 0.0
|
|
142
|
+
max: 1.0
|
|
143
|
+
default: 1.0
|
|
144
|
+
description: |
|
|
145
|
+
Text overlay opacity. Default 1.0 — the alpha channel of
|
|
146
|
+
`color` already encodes transparency, so opacity is usually
|
|
147
|
+
left at 1.0 and transparency is set via the color hex.
|
|
@@ -46,6 +46,28 @@ operation:
|
|
|
46
46
|
- video/mp4
|
|
47
47
|
- video/webm
|
|
48
48
|
- video/ogg
|
|
49
|
+
processing_class:
|
|
50
|
+
# F8 long-form video tier (per ticket I15-CONS). Thumbnail
|
|
51
|
+
# extracts a single frame, so size/duration caps reflect
|
|
52
|
+
# input file scanning rather than full processing time.
|
|
53
|
+
short_form:
|
|
54
|
+
availability: stable
|
|
55
|
+
constraints:
|
|
56
|
+
max_input_duration: "PT5M"
|
|
57
|
+
max_input_size_bytes: 524288000
|
|
58
|
+
long_form:
|
|
59
|
+
# Stays planned (CON-1 flips only compress.video.long_form +
|
|
60
|
+
# merge.video.long_form_re_encode). Per-tier caps per ADR-0011 —
|
|
61
|
+
# advertised shape; availability gates execution off (422).
|
|
62
|
+
# No max_output_size_bytes: thumbnail output is a single bounded image.
|
|
63
|
+
availability: planned
|
|
64
|
+
required_tier: pro
|
|
65
|
+
constraints: # baseline = Pro
|
|
66
|
+
max_input_duration: "PT12H"
|
|
67
|
+
max_input_size_bytes: 5000000000 # 5 GB (Pro)
|
|
68
|
+
per_tier_constraints:
|
|
69
|
+
enterprise:
|
|
70
|
+
max_input_size_bytes: 120000000000 # 120 GB (Enterprise enforced ceiling)
|
|
49
71
|
options:
|
|
50
72
|
timestamp:
|
|
51
73
|
type: string
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@giveitsmaller/contracts",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "Generated contract types for GISL (Give It Smaller)",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -25,18 +25,24 @@
|
|
|
25
25
|
},
|
|
26
26
|
"./openapi/api.yaml": "./openapi/api.yaml",
|
|
27
27
|
"./asyncapi/events.yaml": "./asyncapi/events.yaml",
|
|
28
|
+
"./availability/availability.json": "./availability/availability.json",
|
|
28
29
|
"./operations/schemas/archive.yaml": "./operations/schemas/archive.yaml",
|
|
30
|
+
"./operations/schemas/audio_overlay.yaml": "./operations/schemas/audio_overlay.yaml",
|
|
31
|
+
"./operations/schemas/audio_watermark.yaml": "./operations/schemas/audio_watermark.yaml",
|
|
29
32
|
"./operations/schemas/compress.yaml": "./operations/schemas/compress.yaml",
|
|
30
33
|
"./operations/schemas/convert.yaml": "./operations/schemas/convert.yaml",
|
|
34
|
+
"./operations/schemas/custom_luma.yaml": "./operations/schemas/custom_luma.yaml",
|
|
35
|
+
"./operations/schemas/image_watermark.yaml": "./operations/schemas/image_watermark.yaml",
|
|
31
36
|
"./operations/schemas/merge.yaml": "./operations/schemas/merge.yaml",
|
|
32
|
-
"./operations/schemas/
|
|
33
|
-
"./operations/schemas/
|
|
37
|
+
"./operations/schemas/text_watermark.yaml": "./operations/schemas/text_watermark.yaml",
|
|
38
|
+
"./operations/schemas/thumbnail.yaml": "./operations/schemas/thumbnail.yaml"
|
|
34
39
|
},
|
|
35
40
|
"files": [
|
|
36
41
|
"dist/",
|
|
37
42
|
"openapi/api.yaml",
|
|
38
43
|
"asyncapi/events.yaml",
|
|
39
|
-
"operations/schemas/"
|
|
44
|
+
"operations/schemas/",
|
|
45
|
+
"availability/availability.json"
|
|
40
46
|
],
|
|
41
47
|
"scripts": {
|
|
42
48
|
"build": "tsc",
|