@giveitsmaller/contracts 0.2.3 → 0.3.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 +2403 -0
- package/dist/asyncapi/AnonymousSchema_13.d.ts +6 -0
- package/dist/asyncapi/AnonymousSchema_13.js +7 -0
- package/dist/asyncapi/AnonymousSchema_152.d.ts +5 -0
- package/dist/asyncapi/AnonymousSchema_152.js +6 -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 +116 -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 +157 -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/CreateWorkflow422Response.d.ts +23 -0
- package/dist/openapi/models/CreateWorkflow422Response.js +51 -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 +83 -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 +140 -0
- package/dist/openapi/models/FeatureNotAvailableResponse.js +76 -0
- package/dist/openapi/models/FeatureTierRestrictedResponse.d.ts +135 -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 +19 -3
- 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/OperationDefinition.d.ts +2 -2
- package/dist/openapi/models/OperationDefinition.js +2 -2
- package/dist/openapi/models/OperationDownload.d.ts +2 -2
- package/dist/openapi/models/OperationDownload.js +2 -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 +2 -2
- package/dist/openapi/models/OperationResponse.js +2 -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/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/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 +154 -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 +136 -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 +136 -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 +119 -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 +126 -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 +75 -3
- package/dist/openapi/models/index.js +75 -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 +5070 -449
- package/operations/schemas/audio_overlay.yaml +397 -0
- package/operations/schemas/audio_watermark.yaml +184 -0
- package/operations/schemas/compress.yaml +20 -3
- package/operations/schemas/convert.yaml +18 -3
- package/operations/schemas/custom_luma.yaml +109 -0
- package/operations/schemas/image_watermark.yaml +280 -0
- package/operations/schemas/merge.yaml +295 -66
- package/operations/schemas/text_watermark.yaml +147 -0
- package/operations/schemas/thumbnail.yaml +15 -0
- package/package.json +10 -4
- package/operations/schemas/watermark.yaml +0 -87
|
@@ -0,0 +1,397 @@
|
|
|
1
|
+
schema_version: "2.0.0"
|
|
2
|
+
|
|
3
|
+
operation:
|
|
4
|
+
type: audio_overlay
|
|
5
|
+
availability: planned
|
|
6
|
+
description: |
|
|
7
|
+
Mix a secondary audio asset (overlay) over a primary audio or
|
|
8
|
+
video base. Use cases: DJ tags, podcast intros/outros, station
|
|
9
|
+
IDs, jingles, branded mid-rolls.
|
|
10
|
+
|
|
11
|
+
**Industry naming.** This is "audio overlay" or "audio branding"
|
|
12
|
+
— NOT "audio watermark". Audio watermarking is steganographic
|
|
13
|
+
(imperceptible identifier embedded in audio for ownership /
|
|
14
|
+
forensic tracking) and is owned by the separate `audio_watermark`
|
|
15
|
+
operation (planned per ticket I20).
|
|
16
|
+
|
|
17
|
+
Multi-input (Path B with `role: base` + `role: overlay` per
|
|
18
|
+
`JobInputV2.role`). `min_inputs: 2 = max_inputs: 2` for V2.0;
|
|
19
|
+
multi-overlay support is advertised as a planned feature
|
|
20
|
+
(`features.multi_overlay_stack`) but Lambda-side implementation
|
|
21
|
+
deferred.
|
|
22
|
+
|
|
23
|
+
The overlay can be uploaded directly, imported externally, or
|
|
24
|
+
referenced from a vault connection per `WorkflowSource` (from
|
|
25
|
+
I10). The base is whatever single-asset source the workflow
|
|
26
|
+
upstream has — for `mime_groups.audio`, the base is the primary
|
|
27
|
+
audio track; for `mime_groups.video`, the overlay is mixed into
|
|
28
|
+
the video's audio track and the visual track passes through
|
|
29
|
+
untouched.
|
|
30
|
+
|
|
31
|
+
Per ADR-0001 §1.3 (Tension 1 — `planned` operations return
|
|
32
|
+
`feature_not_available` 422 until Lambda support ships). Per
|
|
33
|
+
ADR-0004 §"V2 JobDefinition" + plan v5 §F1 round 6.
|
|
34
|
+
default: false
|
|
35
|
+
input_model: multi
|
|
36
|
+
min_inputs: 2
|
|
37
|
+
max_inputs: 2
|
|
38
|
+
|
|
39
|
+
features:
|
|
40
|
+
multi_overlay_stack:
|
|
41
|
+
availability: planned
|
|
42
|
+
description: |
|
|
43
|
+
Allow up to 8 overlay inputs per job (currently capped at 1
|
|
44
|
+
overlay). Per-overlay placement via
|
|
45
|
+
`JobInputV2.per_input_options`. Lambda-side support not yet
|
|
46
|
+
confirmed; tagged `planned` per ADR-0001 §1.4. Mirrors the
|
|
47
|
+
same-named feature on `image_watermark`.
|
|
48
|
+
|
|
49
|
+
sync_to_silence:
|
|
50
|
+
availability: planned
|
|
51
|
+
description: |
|
|
52
|
+
Anchor overlay placement to detected silence regions in the
|
|
53
|
+
base track (e.g. drop a podcast jingle into the natural
|
|
54
|
+
breath after the host says "back in a sec"). Server-side
|
|
55
|
+
silence detection runs at workflow-create time; the actual
|
|
56
|
+
overlay start position is reported on
|
|
57
|
+
`OperationMetrics.overlay_anchor_ms`. Gates two extra
|
|
58
|
+
options: `silence_threshold_db` and `min_silence_ms`. Lambda
|
|
59
|
+
support not yet shipped.
|
|
60
|
+
|
|
61
|
+
mime_groups:
|
|
62
|
+
audio:
|
|
63
|
+
availability: planned
|
|
64
|
+
mimes:
|
|
65
|
+
- audio/mpeg
|
|
66
|
+
- audio/aac
|
|
67
|
+
- audio/wav
|
|
68
|
+
- audio/ogg
|
|
69
|
+
- audio/flac
|
|
70
|
+
processing_class:
|
|
71
|
+
# F8 long-form tier (per ticket I15-CONS). Both classes
|
|
72
|
+
# `planned` because the audio mime_group itself is `planned`
|
|
73
|
+
# at the group level — schema shape forward-compatible with
|
|
74
|
+
# Lambda activation.
|
|
75
|
+
short_form:
|
|
76
|
+
availability: planned
|
|
77
|
+
constraints:
|
|
78
|
+
max_input_duration: "PT5M"
|
|
79
|
+
max_input_size_bytes: 524288000
|
|
80
|
+
max_output_size_bytes: 524288000
|
|
81
|
+
long_form:
|
|
82
|
+
availability: planned
|
|
83
|
+
required_tier: pro
|
|
84
|
+
constraints:
|
|
85
|
+
max_input_duration: "PT12H"
|
|
86
|
+
max_input_size_bytes: 21474836480
|
|
87
|
+
max_output_size_bytes: 21474836480
|
|
88
|
+
options:
|
|
89
|
+
start_at:
|
|
90
|
+
type: float
|
|
91
|
+
min: 0.0
|
|
92
|
+
default: 0.0
|
|
93
|
+
description: |
|
|
94
|
+
Start position (seconds) on the base track at which the
|
|
95
|
+
overlay begins playing. Default 0.0 = mix from the
|
|
96
|
+
beginning. Inert when
|
|
97
|
+
`features.sync_to_silence.availability` flips to
|
|
98
|
+
`stable` and `mode: sync_to_silence` is selected
|
|
99
|
+
(placement is then anchored to detected silence).
|
|
100
|
+
|
|
101
|
+
duration:
|
|
102
|
+
type: float
|
|
103
|
+
min: 0.0
|
|
104
|
+
description: |
|
|
105
|
+
Maximum duration (seconds) of the overlay AS PLAYED — the
|
|
106
|
+
overlay asset is trimmed to this length if longer. Omit
|
|
107
|
+
(or set 0) to play the overlay's full natural length.
|
|
108
|
+
**Disambiguation:** this is overlay-trim duration, NOT
|
|
109
|
+
output duration. The output duration always matches the
|
|
110
|
+
base track's duration.
|
|
111
|
+
|
|
112
|
+
overlay_gain_db:
|
|
113
|
+
type: float
|
|
114
|
+
min: -60.0
|
|
115
|
+
max: 12.0
|
|
116
|
+
default: -3.0
|
|
117
|
+
description: |
|
|
118
|
+
Gain applied to the overlay in decibels before mixing.
|
|
119
|
+
Default -3 dB matches typical podcast intro / DJ-tag
|
|
120
|
+
level. Positive values amplify (clip risk); negative
|
|
121
|
+
values attenuate. Clamped to range.
|
|
122
|
+
|
|
123
|
+
mode:
|
|
124
|
+
type: enum
|
|
125
|
+
values: [mix, duck, replace]
|
|
126
|
+
default: mix
|
|
127
|
+
description: |
|
|
128
|
+
How the overlay combines with the base audio:
|
|
129
|
+
- `mix`: simple sum (overlay + base; both audible).
|
|
130
|
+
- `duck`: side-chain compress the base under the overlay
|
|
131
|
+
(base attenuates while overlay plays — broadcast pattern).
|
|
132
|
+
- `replace`: mute the base for the overlay's duration
|
|
133
|
+
(overlay only; useful for hard-cut station IDs).
|
|
134
|
+
per_value_availability:
|
|
135
|
+
duck: { availability: planned }
|
|
136
|
+
|
|
137
|
+
duck_threshold:
|
|
138
|
+
type: float
|
|
139
|
+
min: -60.0
|
|
140
|
+
max: 0.0
|
|
141
|
+
default: -20.0
|
|
142
|
+
depends_on: { mode: duck }
|
|
143
|
+
description: |
|
|
144
|
+
Side-chain threshold (dB). Base audio is ducked when the
|
|
145
|
+
overlay exceeds this level. Only applies when `mode: duck`.
|
|
146
|
+
|
|
147
|
+
duck_ratio:
|
|
148
|
+
type: float
|
|
149
|
+
min: 1.0
|
|
150
|
+
max: 20.0
|
|
151
|
+
default: 4.0
|
|
152
|
+
depends_on: { mode: duck }
|
|
153
|
+
description: |
|
|
154
|
+
Side-chain compression ratio. Higher values produce more
|
|
155
|
+
aggressive ducking. Only applies when `mode: duck`.
|
|
156
|
+
|
|
157
|
+
duck_attack_ms:
|
|
158
|
+
type: integer
|
|
159
|
+
min: 0
|
|
160
|
+
max: 5000
|
|
161
|
+
default: 50
|
|
162
|
+
depends_on: { mode: duck }
|
|
163
|
+
description: |
|
|
164
|
+
Time (milliseconds) for the ducker to reach full
|
|
165
|
+
attenuation once the overlay crosses `duck_threshold`.
|
|
166
|
+
Only applies when `mode: duck`.
|
|
167
|
+
|
|
168
|
+
duck_release_ms:
|
|
169
|
+
type: integer
|
|
170
|
+
min: 0
|
|
171
|
+
max: 5000
|
|
172
|
+
default: 300
|
|
173
|
+
depends_on: { mode: duck }
|
|
174
|
+
description: |
|
|
175
|
+
Time (milliseconds) for the ducker to release back to
|
|
176
|
+
unity gain after the overlay drops below
|
|
177
|
+
`duck_threshold`. Only applies when `mode: duck`.
|
|
178
|
+
|
|
179
|
+
fade_in_ms:
|
|
180
|
+
type: integer
|
|
181
|
+
min: 0
|
|
182
|
+
max: 10000
|
|
183
|
+
default: 0
|
|
184
|
+
description: |
|
|
185
|
+
Linear fade-in applied to the overlay (milliseconds).
|
|
186
|
+
Default 0 = hard start.
|
|
187
|
+
|
|
188
|
+
fade_out_ms:
|
|
189
|
+
type: integer
|
|
190
|
+
min: 0
|
|
191
|
+
max: 10000
|
|
192
|
+
default: 0
|
|
193
|
+
description: |
|
|
194
|
+
Linear fade-out applied to the overlay (milliseconds).
|
|
195
|
+
Default 0 = hard stop.
|
|
196
|
+
|
|
197
|
+
loop:
|
|
198
|
+
type: boolean
|
|
199
|
+
default: false
|
|
200
|
+
description: |
|
|
201
|
+
When true, the overlay loops continuously across the
|
|
202
|
+
duration of the base track (or up to the trimmed
|
|
203
|
+
`duration`). Useful for ambient bed music / background
|
|
204
|
+
stings.
|
|
205
|
+
|
|
206
|
+
loop_interval:
|
|
207
|
+
type: float
|
|
208
|
+
min: 0.0
|
|
209
|
+
max: 600.0
|
|
210
|
+
default: 0.0
|
|
211
|
+
depends_on: { loop: true }
|
|
212
|
+
description: |
|
|
213
|
+
Silence gap (seconds) inserted between overlay loops.
|
|
214
|
+
Default 0 = back-to-back. Only applies when `loop: true`.
|
|
215
|
+
|
|
216
|
+
silence_threshold_db:
|
|
217
|
+
type: float
|
|
218
|
+
min: -80.0
|
|
219
|
+
max: -10.0
|
|
220
|
+
default: -50.0
|
|
221
|
+
availability: planned
|
|
222
|
+
description: |
|
|
223
|
+
Silence threshold (dB) for the `sync_to_silence` feature.
|
|
224
|
+
Base audio below this level for at least `min_silence_ms`
|
|
225
|
+
qualifies as a silence region into which the overlay can
|
|
226
|
+
be anchored. Inert until
|
|
227
|
+
`features.sync_to_silence.availability` flips to stable.
|
|
228
|
+
|
|
229
|
+
min_silence_ms:
|
|
230
|
+
type: integer
|
|
231
|
+
min: 50
|
|
232
|
+
max: 30000
|
|
233
|
+
default: 500
|
|
234
|
+
availability: planned
|
|
235
|
+
description: |
|
|
236
|
+
Minimum silence duration (milliseconds) to qualify as an
|
|
237
|
+
anchor region for `sync_to_silence`. Inert until that
|
|
238
|
+
feature flips to stable.
|
|
239
|
+
|
|
240
|
+
# Mix overlay into a video's audio track. Visual track passes
|
|
241
|
+
# through untouched; output container preserved. Lambda support
|
|
242
|
+
# for the audio-graph manipulation on a video container is not
|
|
243
|
+
# yet confirmed — tagged planned.
|
|
244
|
+
video:
|
|
245
|
+
availability: planned
|
|
246
|
+
mimes:
|
|
247
|
+
- video/mp4
|
|
248
|
+
- video/webm
|
|
249
|
+
processing_class:
|
|
250
|
+
# F8 long-form tier (per ticket I15-CONS). Both classes
|
|
251
|
+
# `planned` because the video mime_group itself is `planned`
|
|
252
|
+
# at the group level.
|
|
253
|
+
short_form:
|
|
254
|
+
availability: planned
|
|
255
|
+
constraints:
|
|
256
|
+
max_input_duration: "PT5M"
|
|
257
|
+
max_input_size_bytes: 524288000
|
|
258
|
+
max_output_size_bytes: 524288000
|
|
259
|
+
long_form:
|
|
260
|
+
availability: planned
|
|
261
|
+
required_tier: pro
|
|
262
|
+
constraints:
|
|
263
|
+
max_input_duration: "PT12H"
|
|
264
|
+
max_input_size_bytes: 21474836480
|
|
265
|
+
max_output_size_bytes: 21474836480
|
|
266
|
+
options:
|
|
267
|
+
start_at:
|
|
268
|
+
type: float
|
|
269
|
+
min: 0.0
|
|
270
|
+
default: 0.0
|
|
271
|
+
description: |
|
|
272
|
+
Start position (seconds) on the base video's audio track
|
|
273
|
+
at which the overlay begins playing.
|
|
274
|
+
|
|
275
|
+
duration:
|
|
276
|
+
type: float
|
|
277
|
+
min: 0.0
|
|
278
|
+
description: |
|
|
279
|
+
Maximum duration (seconds) of the overlay AS PLAYED. The
|
|
280
|
+
overlay asset is trimmed to this length if longer. Output
|
|
281
|
+
video duration always matches the base.
|
|
282
|
+
|
|
283
|
+
overlay_gain_db:
|
|
284
|
+
type: float
|
|
285
|
+
min: -60.0
|
|
286
|
+
max: 12.0
|
|
287
|
+
default: -3.0
|
|
288
|
+
description: "Gain applied to the overlay in decibels before mixing."
|
|
289
|
+
|
|
290
|
+
mode:
|
|
291
|
+
type: enum
|
|
292
|
+
values: [mix, duck, replace]
|
|
293
|
+
default: mix
|
|
294
|
+
description: |
|
|
295
|
+
Same modes as the audio mime_group. `replace` mutes the
|
|
296
|
+
base video's audio for the overlay's duration.
|
|
297
|
+
per_value_availability:
|
|
298
|
+
duck: { availability: planned }
|
|
299
|
+
|
|
300
|
+
duck_threshold:
|
|
301
|
+
type: float
|
|
302
|
+
min: -60.0
|
|
303
|
+
max: 0.0
|
|
304
|
+
default: -20.0
|
|
305
|
+
depends_on: { mode: duck }
|
|
306
|
+
description: "Side-chain threshold (dB). Only applies when `mode: duck`."
|
|
307
|
+
|
|
308
|
+
duck_ratio:
|
|
309
|
+
type: float
|
|
310
|
+
min: 1.0
|
|
311
|
+
max: 20.0
|
|
312
|
+
default: 4.0
|
|
313
|
+
depends_on: { mode: duck }
|
|
314
|
+
description: "Side-chain compression ratio. Only applies when `mode: duck`."
|
|
315
|
+
|
|
316
|
+
duck_attack_ms:
|
|
317
|
+
type: integer
|
|
318
|
+
min: 0
|
|
319
|
+
max: 5000
|
|
320
|
+
default: 50
|
|
321
|
+
depends_on: { mode: duck }
|
|
322
|
+
description: "Ducker attack (milliseconds). Only applies when `mode: duck`."
|
|
323
|
+
|
|
324
|
+
duck_release_ms:
|
|
325
|
+
type: integer
|
|
326
|
+
min: 0
|
|
327
|
+
max: 5000
|
|
328
|
+
default: 300
|
|
329
|
+
depends_on: { mode: duck }
|
|
330
|
+
description: "Ducker release (milliseconds). Only applies when `mode: duck`."
|
|
331
|
+
|
|
332
|
+
fade_in_ms:
|
|
333
|
+
type: integer
|
|
334
|
+
min: 0
|
|
335
|
+
max: 10000
|
|
336
|
+
default: 0
|
|
337
|
+
description: "Linear fade-in applied to the overlay (milliseconds)."
|
|
338
|
+
|
|
339
|
+
fade_out_ms:
|
|
340
|
+
type: integer
|
|
341
|
+
min: 0
|
|
342
|
+
max: 10000
|
|
343
|
+
default: 0
|
|
344
|
+
description: "Linear fade-out applied to the overlay (milliseconds)."
|
|
345
|
+
|
|
346
|
+
loop:
|
|
347
|
+
type: boolean
|
|
348
|
+
default: false
|
|
349
|
+
description: |
|
|
350
|
+
When true, the overlay loops continuously across the
|
|
351
|
+
duration of the base video.
|
|
352
|
+
|
|
353
|
+
loop_interval:
|
|
354
|
+
type: float
|
|
355
|
+
min: 0.0
|
|
356
|
+
max: 600.0
|
|
357
|
+
default: 0.0
|
|
358
|
+
depends_on: { loop: true }
|
|
359
|
+
description: "Silence gap (seconds) between overlay loops."
|
|
360
|
+
|
|
361
|
+
no_audio_track_behaviour:
|
|
362
|
+
type: enum
|
|
363
|
+
values: [reject, create_silent, replace]
|
|
364
|
+
default: reject
|
|
365
|
+
description: |
|
|
366
|
+
Controls behaviour when the base video has no audio
|
|
367
|
+
track:
|
|
368
|
+
- `reject`: workflow-create returns 422 (default — surfaces
|
|
369
|
+
the problem at the API edge rather than producing a
|
|
370
|
+
surprising silent-base output).
|
|
371
|
+
- `create_silent`: synthesise a silent base track at the
|
|
372
|
+
video's framerate and mix the overlay into that.
|
|
373
|
+
- `replace`: same as `create_silent` but signals intent
|
|
374
|
+
("the overlay IS the audio track"), letting Lambda
|
|
375
|
+
skip the base-track synthesis when the overlay covers
|
|
376
|
+
the full video duration.
|
|
377
|
+
|
|
378
|
+
silence_threshold_db:
|
|
379
|
+
type: float
|
|
380
|
+
min: -80.0
|
|
381
|
+
max: -10.0
|
|
382
|
+
default: -50.0
|
|
383
|
+
availability: planned
|
|
384
|
+
description: |
|
|
385
|
+
Silence threshold (dB) for `sync_to_silence`. Inert
|
|
386
|
+
until that feature flips to stable.
|
|
387
|
+
|
|
388
|
+
min_silence_ms:
|
|
389
|
+
type: integer
|
|
390
|
+
min: 50
|
|
391
|
+
max: 30000
|
|
392
|
+
default: 500
|
|
393
|
+
availability: planned
|
|
394
|
+
description: |
|
|
395
|
+
Minimum silence duration (milliseconds) for
|
|
396
|
+
`sync_to_silence`. Inert until that feature flips to
|
|
397
|
+
stable.
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
schema_version: "2.0.0"
|
|
2
|
+
|
|
3
|
+
operation:
|
|
4
|
+
type: audio_watermark
|
|
5
|
+
availability: planned
|
|
6
|
+
required_tier: enterprise
|
|
7
|
+
description: |
|
|
8
|
+
Embed a steganographic forensic watermark into an audio asset (or
|
|
9
|
+
a video's audio track). The watermark is psychoacoustically masked
|
|
10
|
+
to be inaudible and engineered to survive lossy compression,
|
|
11
|
+
transcoding, broadcast chains, and analog-hole capture (Cinavia /
|
|
12
|
+
Resemble PerTh territory).
|
|
13
|
+
|
|
14
|
+
**Industry naming.** This is *audio watermarking* (steganographic;
|
|
15
|
+
used for ownership, forensic tracking, content provenance) — NOT
|
|
16
|
+
*audio overlay* (audible mixing of secondary audio for branding).
|
|
17
|
+
Audio overlay is owned by the separate `audio_overlay` operation
|
|
18
|
+
(per ticket I19).
|
|
19
|
+
|
|
20
|
+
Single-input. Watermark embedding takes the base asset and writes
|
|
21
|
+
out an indistinguishable-to-the-ear copy with the encoded payload.
|
|
22
|
+
|
|
23
|
+
**Decode endpoint.** A paired `POST /api/audio-watermark/decode`
|
|
24
|
+
endpoint extracts the embedded watermark from a previously-marked
|
|
25
|
+
asset, returning `{watermark_id, payload?, confidence, method,
|
|
26
|
+
detected_at}`. Decode is **own-watermarks-only** (rate-limited
|
|
27
|
+
+ audited; the decoder will refuse to extract from media the
|
|
28
|
+
caller did not mark themselves) — pin per spike S11 acceptance.
|
|
29
|
+
|
|
30
|
+
Per ADR-0001 §1.3 (Tension 1 — `planned` operations return
|
|
31
|
+
`feature_not_available` 422 until Lambda support ships).
|
|
32
|
+
Per plan v5 §F1 round 6 (codex narrowed methods enum from 5 to 3,
|
|
33
|
+
dropping `spread_spectrum` / `echo_hiding` / `phase_coding` —
|
|
34
|
+
textbook families, not product choices).
|
|
35
|
+
default: false
|
|
36
|
+
input_model: single
|
|
37
|
+
|
|
38
|
+
mime_groups:
|
|
39
|
+
audio:
|
|
40
|
+
availability: planned
|
|
41
|
+
mimes:
|
|
42
|
+
- audio/mpeg
|
|
43
|
+
- audio/aac
|
|
44
|
+
- audio/wav
|
|
45
|
+
- audio/ogg
|
|
46
|
+
- audio/flac
|
|
47
|
+
processing_class:
|
|
48
|
+
# F8 long-form tier (per ticket I15-CONS). audio_watermark is
|
|
49
|
+
# `availability: planned` + `required_tier: enterprise` at the
|
|
50
|
+
# operation level; per-class entries inherit the enterprise
|
|
51
|
+
# tier (long_form widens further to enterprise as the natural
|
|
52
|
+
# superset of pro).
|
|
53
|
+
short_form:
|
|
54
|
+
availability: planned
|
|
55
|
+
required_tier: enterprise
|
|
56
|
+
constraints:
|
|
57
|
+
max_input_duration: "PT5M"
|
|
58
|
+
max_input_size_bytes: 524288000
|
|
59
|
+
max_output_size_bytes: 524288000
|
|
60
|
+
long_form:
|
|
61
|
+
availability: planned
|
|
62
|
+
required_tier: enterprise
|
|
63
|
+
constraints:
|
|
64
|
+
max_input_duration: "PT12H"
|
|
65
|
+
max_input_size_bytes: 21474836480
|
|
66
|
+
max_output_size_bytes: 21474836480
|
|
67
|
+
options:
|
|
68
|
+
payload:
|
|
69
|
+
type: string
|
|
70
|
+
required: false
|
|
71
|
+
description: |
|
|
72
|
+
Optional caller-supplied payload to embed (max 256
|
|
73
|
+
characters). Use cases: ownership marker, distribution
|
|
74
|
+
channel ID, license key. When omitted, the server
|
|
75
|
+
generates a UUID-v7 `watermark_id` and embeds that
|
|
76
|
+
instead; the generated ID is returned on
|
|
77
|
+
`OperationResult` so the caller can subsequently call
|
|
78
|
+
the decode endpoint to verify.
|
|
79
|
+
|
|
80
|
+
method:
|
|
81
|
+
type: enum
|
|
82
|
+
values: [auto, psychoacoustic, neural]
|
|
83
|
+
default: auto
|
|
84
|
+
description: |
|
|
85
|
+
Watermarking algorithm:
|
|
86
|
+
- `auto`: server selects the best available method for the
|
|
87
|
+
input (currently maps to `psychoacoustic`; will widen as
|
|
88
|
+
`neural` ships).
|
|
89
|
+
- `psychoacoustic`: classical masking-curve embedding.
|
|
90
|
+
Resemble's open-source PerTh library provides the path-
|
|
91
|
+
to-prod reference implementation. Survives MP3/AAC at
|
|
92
|
+
moderate bitrates and broadcast chains.
|
|
93
|
+
- `neural`: ML-based embedding (deep generative). Higher
|
|
94
|
+
survival under aggressive transcoding + analog-hole
|
|
95
|
+
capture; longer encoding time + non-deterministic.
|
|
96
|
+
per_value_availability:
|
|
97
|
+
# `auto` + `psychoacoustic` land first (PerTh path-to-prod);
|
|
98
|
+
# `neural` lands later via Lambda follow-up.
|
|
99
|
+
neural: { availability: planned }
|
|
100
|
+
|
|
101
|
+
robustness:
|
|
102
|
+
type: enum
|
|
103
|
+
values: [light, compression_resistant, broadcast_grade]
|
|
104
|
+
default: compression_resistant
|
|
105
|
+
description: |
|
|
106
|
+
Survival profile:
|
|
107
|
+
- `light`: minimal payload-strength; smallest perceptual
|
|
108
|
+
footprint. Survives a single re-encode pass at moderate
|
|
109
|
+
bitrate.
|
|
110
|
+
- `compression_resistant` (default): survives multiple
|
|
111
|
+
MP3/AAC re-encodes at typical streaming bitrates.
|
|
112
|
+
- `broadcast_grade`: survives broadcast compression
|
|
113
|
+
chains, EQ, dynamic-range compression, and analog-hole
|
|
114
|
+
capture (microphone re-recording). Higher embedding
|
|
115
|
+
time + slightly larger perceptual footprint.
|
|
116
|
+
|
|
117
|
+
density:
|
|
118
|
+
type: enum
|
|
119
|
+
values: [sparse, normal, dense]
|
|
120
|
+
default: normal
|
|
121
|
+
description: |
|
|
122
|
+
Watermark spatial density along the asset duration:
|
|
123
|
+
- `sparse`: payload bits inserted at wider intervals;
|
|
124
|
+
decode confidence drops on short clips.
|
|
125
|
+
- `normal` (default): balanced.
|
|
126
|
+
- `dense`: maximum decode confidence on short clips at
|
|
127
|
+
the cost of slightly higher perceptual risk.
|
|
128
|
+
|
|
129
|
+
# Embed the watermark into a video's audio track. Visual track
|
|
130
|
+
# passes through untouched; output container preserved. Lambda
|
|
131
|
+
# support for the audio-graph manipulation on a video container
|
|
132
|
+
# is not yet confirmed — tagged planned (same caveat as
|
|
133
|
+
# audio_overlay.video).
|
|
134
|
+
video:
|
|
135
|
+
availability: planned
|
|
136
|
+
mimes:
|
|
137
|
+
- video/mp4
|
|
138
|
+
- video/webm
|
|
139
|
+
processing_class:
|
|
140
|
+
# F8 long-form tier (per ticket I15-CONS).
|
|
141
|
+
short_form:
|
|
142
|
+
availability: planned
|
|
143
|
+
required_tier: enterprise
|
|
144
|
+
constraints:
|
|
145
|
+
max_input_duration: "PT5M"
|
|
146
|
+
max_input_size_bytes: 524288000
|
|
147
|
+
max_output_size_bytes: 524288000
|
|
148
|
+
long_form:
|
|
149
|
+
availability: planned
|
|
150
|
+
required_tier: enterprise
|
|
151
|
+
constraints:
|
|
152
|
+
max_input_duration: "PT12H"
|
|
153
|
+
max_input_size_bytes: 21474836480
|
|
154
|
+
max_output_size_bytes: 21474836480
|
|
155
|
+
options:
|
|
156
|
+
payload:
|
|
157
|
+
type: string
|
|
158
|
+
required: false
|
|
159
|
+
description: |
|
|
160
|
+
Optional caller-supplied payload to embed (max 256
|
|
161
|
+
characters). When omitted, the server generates a UUID-v7
|
|
162
|
+
`watermark_id` and embeds that instead.
|
|
163
|
+
|
|
164
|
+
method:
|
|
165
|
+
type: enum
|
|
166
|
+
values: [auto, psychoacoustic, neural]
|
|
167
|
+
default: auto
|
|
168
|
+
description: |
|
|
169
|
+
Watermarking algorithm. Same semantics as the `audio`
|
|
170
|
+
mime_group; embedded into the video's audio track only.
|
|
171
|
+
per_value_availability:
|
|
172
|
+
neural: { availability: planned }
|
|
173
|
+
|
|
174
|
+
robustness:
|
|
175
|
+
type: enum
|
|
176
|
+
values: [light, compression_resistant, broadcast_grade]
|
|
177
|
+
default: compression_resistant
|
|
178
|
+
description: "Survival profile. Same semantics as audio mime_group."
|
|
179
|
+
|
|
180
|
+
density:
|
|
181
|
+
type: enum
|
|
182
|
+
values: [sparse, normal, dense]
|
|
183
|
+
default: normal
|
|
184
|
+
description: "Watermark density along the asset duration."
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
schema_version: "
|
|
1
|
+
schema_version: "2.0.0"
|
|
2
2
|
|
|
3
3
|
operation:
|
|
4
4
|
type: compress
|
|
@@ -16,7 +16,7 @@ operation:
|
|
|
16
16
|
- image/svg+xml
|
|
17
17
|
- image/tiff
|
|
18
18
|
- image/bmp
|
|
19
|
-
- image/
|
|
19
|
+
- image/vnd.microsoft.icon
|
|
20
20
|
- image/avif
|
|
21
21
|
- image/heic
|
|
22
22
|
options:
|
|
@@ -83,7 +83,7 @@ operation:
|
|
|
83
83
|
- audio/ogg
|
|
84
84
|
- audio/flac
|
|
85
85
|
- audio/wav
|
|
86
|
-
- audio/
|
|
86
|
+
- audio/mp4
|
|
87
87
|
options:
|
|
88
88
|
bitrate:
|
|
89
89
|
type: enum
|
|
@@ -119,6 +119,23 @@ operation:
|
|
|
119
119
|
- video/mp4
|
|
120
120
|
- video/webm
|
|
121
121
|
- video/ogg
|
|
122
|
+
processing_class:
|
|
123
|
+
# F8 long-form video tier (per ticket I15-CONS, Trello YZpBKzOM).
|
|
124
|
+
# Public contract uses logical names only — backend selection is
|
|
125
|
+
# server-decided per plan v5 §F8 round 7.
|
|
126
|
+
short_form:
|
|
127
|
+
availability: stable
|
|
128
|
+
constraints:
|
|
129
|
+
max_input_duration: "PT5M"
|
|
130
|
+
max_input_size_bytes: 524288000 # 500 MiB
|
|
131
|
+
max_output_size_bytes: 524288000
|
|
132
|
+
long_form:
|
|
133
|
+
availability: planned
|
|
134
|
+
required_tier: pro
|
|
135
|
+
constraints:
|
|
136
|
+
max_input_duration: "PT12H"
|
|
137
|
+
max_input_size_bytes: 21474836480 # 20 GiB
|
|
138
|
+
max_output_size_bytes: 21474836480
|
|
122
139
|
options:
|
|
123
140
|
codec:
|
|
124
141
|
type: enum
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
schema_version: "
|
|
1
|
+
schema_version: "2.0.0"
|
|
2
2
|
|
|
3
3
|
operation:
|
|
4
4
|
type: convert
|
|
@@ -16,7 +16,7 @@ operation:
|
|
|
16
16
|
- image/svg+xml
|
|
17
17
|
- image/tiff
|
|
18
18
|
- image/bmp
|
|
19
|
-
- image/
|
|
19
|
+
- image/vnd.microsoft.icon
|
|
20
20
|
- image/avif
|
|
21
21
|
- image/heic
|
|
22
22
|
options:
|
|
@@ -42,6 +42,21 @@ operation:
|
|
|
42
42
|
- video/mp4
|
|
43
43
|
- video/webm
|
|
44
44
|
- video/ogg
|
|
45
|
+
processing_class:
|
|
46
|
+
# F8 long-form video tier (per ticket I15-CONS).
|
|
47
|
+
short_form:
|
|
48
|
+
availability: stable
|
|
49
|
+
constraints:
|
|
50
|
+
max_input_duration: "PT5M"
|
|
51
|
+
max_input_size_bytes: 524288000
|
|
52
|
+
max_output_size_bytes: 524288000
|
|
53
|
+
long_form:
|
|
54
|
+
availability: planned
|
|
55
|
+
required_tier: pro
|
|
56
|
+
constraints:
|
|
57
|
+
max_input_duration: "PT12H"
|
|
58
|
+
max_input_size_bytes: 21474836480
|
|
59
|
+
max_output_size_bytes: 21474836480
|
|
45
60
|
options:
|
|
46
61
|
output_format:
|
|
47
62
|
type: enum
|
|
@@ -66,7 +81,7 @@ operation:
|
|
|
66
81
|
- audio/ogg
|
|
67
82
|
- audio/flac
|
|
68
83
|
- audio/wav
|
|
69
|
-
- audio/
|
|
84
|
+
- audio/mp4
|
|
70
85
|
options:
|
|
71
86
|
output_format:
|
|
72
87
|
type: enum
|