@giveitsmaller/contracts 0.47.0 → 0.50.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/accepted-options/accepted-options.json +29 -53
- package/accepted-options/image-output-routes.json +20 -30
- package/asyncapi/events.yaml +32 -6
- package/availability/availability.json +94 -269
- package/dist/asyncapi/OperationMetrics.d.ts +2 -0
- package/dist/openapi/models/AccountLimitEntry.d.ts +1 -1
- package/dist/openapi/models/AccountLimitEntry.js +1 -1
- package/dist/openapi/models/AccountLimits.d.ts +1 -1
- package/dist/openapi/models/AccountLimits.js +1 -1
- package/dist/openapi/models/AccountLimitsLimits.d.ts +1 -1
- package/dist/openapi/models/AccountLimitsLimits.js +1 -1
- package/dist/openapi/models/AccountLimitsSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/AccountLimitsSuccessEnvelope.js +1 -1
- package/dist/openapi/models/AudioWatermarkDecodeRequest.d.ts +1 -1
- package/dist/openapi/models/AudioWatermarkDecodeRequest.js +1 -1
- package/dist/openapi/models/AudioWatermarkDecodeResponse.d.ts +1 -1
- package/dist/openapi/models/AudioWatermarkDecodeResponse.js +1 -1
- package/dist/openapi/models/AuthErrorResponse.d.ts +1 -1
- package/dist/openapi/models/AuthErrorResponse.js +1 -1
- package/dist/openapi/models/AuthErrorType.d.ts +1 -1
- package/dist/openapi/models/AuthErrorType.js +1 -1
- package/dist/openapi/models/AuthRejectionEnvelope.d.ts +1 -1
- package/dist/openapi/models/AuthRejectionEnvelope.js +1 -1
- package/dist/openapi/models/AvailabilityValue.d.ts +1 -1
- package/dist/openapi/models/AvailabilityValue.js +1 -1
- package/dist/openapi/models/BalanceExhaustedResponse.d.ts +1 -1
- package/dist/openapi/models/BalanceExhaustedResponse.js +1 -1
- package/dist/openapi/models/BalanceExhaustedResponseAllOfLinks.d.ts +1 -1
- package/dist/openapi/models/BalanceExhaustedResponseAllOfLinks.js +1 -1
- package/dist/openapi/models/CallbackEventType.d.ts +1 -1
- package/dist/openapi/models/CallbackEventType.js +1 -1
- package/dist/openapi/models/CapabilityCondition.d.ts +1 -1
- package/dist/openapi/models/CapabilityCondition.js +1 -1
- package/dist/openapi/models/CapabilityConditionOneOf.d.ts +1 -1
- package/dist/openapi/models/CapabilityConditionOneOf.js +1 -1
- package/dist/openapi/models/CapabilityConditionOneOf1.d.ts +1 -1
- package/dist/openapi/models/CapabilityConditionOneOf1.js +1 -1
- package/dist/openapi/models/CapabilityConditionOneOf2.d.ts +1 -1
- package/dist/openapi/models/CapabilityConditionOneOf2.js +1 -1
- package/dist/openapi/models/CapabilityConditionOneOf3.d.ts +1 -1
- package/dist/openapi/models/CapabilityConditionOneOf3.js +1 -1
- package/dist/openapi/models/CapabilityConditionOneOf4.d.ts +1 -1
- package/dist/openapi/models/CapabilityConditionOneOf4.js +1 -1
- package/dist/openapi/models/CapabilityConditionOneOf5.d.ts +1 -1
- package/dist/openapi/models/CapabilityConditionOneOf5.js +1 -1
- package/dist/openapi/models/CapabilityConditionOneOf6.d.ts +1 -1
- package/dist/openapi/models/CapabilityConditionOneOf6.js +1 -1
- package/dist/openapi/models/CapabilityConstraint.d.ts +1 -1
- package/dist/openapi/models/CapabilityConstraint.js +1 -1
- package/dist/openapi/models/CapabilityInputSpec.d.ts +1 -1
- package/dist/openapi/models/CapabilityInputSpec.js +1 -1
- package/dist/openapi/models/CapabilityProduces.d.ts +1 -1
- package/dist/openapi/models/CapabilityProduces.js +1 -1
- package/dist/openapi/models/CapabilityProducesOneOf.d.ts +1 -1
- package/dist/openapi/models/CapabilityProducesOneOf.js +1 -1
- package/dist/openapi/models/CapabilityProducesOneOf1.d.ts +1 -1
- package/dist/openapi/models/CapabilityProducesOneOf1.js +1 -1
- package/dist/openapi/models/CapabilityProducesOneOf2.d.ts +1 -1
- package/dist/openapi/models/CapabilityProducesOneOf2.js +1 -1
- package/dist/openapi/models/ChangePasswordRequest.d.ts +1 -1
- package/dist/openapi/models/ChangePasswordRequest.js +1 -1
- package/dist/openapi/models/CodegenSource.d.ts +1 -1
- package/dist/openapi/models/CodegenSource.js +1 -1
- package/dist/openapi/models/CodegenSourceInput.d.ts +1 -1
- package/dist/openapi/models/CodegenSourceInput.js +1 -1
- package/dist/openapi/models/CodegenSourceJob.d.ts +1 -1
- package/dist/openapi/models/CodegenSourceJob.js +1 -1
- package/dist/openapi/models/CodegenSourceJobSource.d.ts +1 -1
- package/dist/openapi/models/CodegenSourceJobSource.js +1 -1
- package/dist/openapi/models/CodegenSourceOperation.d.ts +1 -1
- package/dist/openapi/models/CodegenSourceOperation.js +1 -1
- package/dist/openapi/models/CodegenUploadPlaceholder.d.ts +1 -1
- package/dist/openapi/models/CodegenUploadPlaceholder.js +1 -1
- package/dist/openapi/models/CompositionPlan.d.ts +1 -1
- package/dist/openapi/models/CompositionPlan.js +1 -1
- package/dist/openapi/models/CompositionPlanJob.d.ts +1 -1
- package/dist/openapi/models/CompositionPlanJob.js +1 -1
- package/dist/openapi/models/CompositionPlanOperation.d.ts +1 -1
- package/dist/openapi/models/CompositionPlanOperation.js +1 -1
- package/dist/openapi/models/ConfirmEmailChange200Response.d.ts +1 -1
- package/dist/openapi/models/ConfirmEmailChange200Response.js +1 -1
- package/dist/openapi/models/ConfirmEmailChange200ResponseData.d.ts +1 -1
- package/dist/openapi/models/ConfirmEmailChange200ResponseData.js +1 -1
- package/dist/openapi/models/ConfirmEmailChangeRequest.d.ts +1 -1
- package/dist/openapi/models/ConfirmEmailChangeRequest.js +1 -1
- package/dist/openapi/models/ConnectionSource.d.ts +1 -1
- package/dist/openapi/models/ConnectionSource.js +1 -1
- package/dist/openapi/models/ContactRequest.d.ts +1 -1
- package/dist/openapi/models/ContactRequest.js +1 -1
- package/dist/openapi/models/ContactSubject.d.ts +1 -1
- package/dist/openapi/models/ContactSubject.js +1 -1
- package/dist/openapi/models/ContactValidationErrorResponse.d.ts +1 -1
- package/dist/openapi/models/ContactValidationErrorResponse.js +1 -1
- package/dist/openapi/models/CreateApiKey201Response.d.ts +1 -1
- package/dist/openapi/models/CreateApiKey201Response.js +1 -1
- package/dist/openapi/models/CreateApiKey201ResponseData.d.ts +1 -1
- package/dist/openapi/models/CreateApiKey201ResponseData.js +1 -1
- package/dist/openapi/models/CreateApiKeyRequest.d.ts +1 -1
- package/dist/openapi/models/CreateApiKeyRequest.js +1 -1
- package/dist/openapi/models/CreateExternalImport403Response.d.ts +1 -1
- package/dist/openapi/models/CreateExternalImport403Response.js +1 -1
- package/dist/openapi/models/CreateExternalImport422Response.d.ts +1 -1
- package/dist/openapi/models/CreateExternalImport422Response.js +1 -1
- package/dist/openapi/models/CreateWorkflow422Response.d.ts +1 -1
- package/dist/openapi/models/CreateWorkflow422Response.js +1 -1
- package/dist/openapi/models/CreditTransaction.d.ts +1 -1
- package/dist/openapi/models/CreditTransaction.js +1 -1
- package/dist/openapi/models/CreditTransactionSourceBucket.d.ts +1 -1
- package/dist/openapi/models/CreditTransactionSourceBucket.js +1 -1
- package/dist/openapi/models/CreditsBalanceResponse.d.ts +1 -1
- package/dist/openapi/models/CreditsBalanceResponse.js +1 -1
- package/dist/openapi/models/CreditsBalanceSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/CreditsBalanceSuccessEnvelope.js +1 -1
- package/dist/openapi/models/CreditsUsageResponse.d.ts +1 -1
- package/dist/openapi/models/CreditsUsageResponse.js +1 -1
- package/dist/openapi/models/CreditsUsageSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/CreditsUsageSuccessEnvelope.js +1 -1
- package/dist/openapi/models/Delivery.d.ts +1 -1
- package/dist/openapi/models/Delivery.js +1 -1
- package/dist/openapi/models/DeliveryOutputRef.d.ts +1 -1
- package/dist/openapi/models/DeliveryOutputRef.js +1 -1
- package/dist/openapi/models/DeliveryPlan.d.ts +1 -1
- package/dist/openapi/models/DeliveryPlan.js +1 -1
- package/dist/openapi/models/DeliveryPlanOutput.d.ts +1 -1
- package/dist/openapi/models/DeliveryPlanOutput.js +1 -1
- package/dist/openapi/models/DeliveryPlanReason.d.ts +1 -1
- package/dist/openapi/models/DeliveryPlanReason.js +1 -1
- package/dist/openapi/models/DeliverySelection.d.ts +1 -1
- package/dist/openapi/models/DeliverySelection.js +1 -1
- package/dist/openapi/models/DownloadBundle.d.ts +1 -1
- package/dist/openapi/models/DownloadBundle.js +1 -1
- package/dist/openapi/models/EmptySuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/EmptySuccessEnvelope.js +1 -1
- package/dist/openapi/models/EndpointProjection.d.ts +1 -1
- package/dist/openapi/models/EndpointProjection.js +1 -1
- package/dist/openapi/models/ErrorEnvelope.d.ts +1 -1
- package/dist/openapi/models/ErrorEnvelope.js +1 -1
- package/dist/openapi/models/EstimateQuality.d.ts +1 -1
- package/dist/openapi/models/EstimateQuality.js +1 -1
- package/dist/openapi/models/EstimateRange.d.ts +1 -1
- package/dist/openapi/models/EstimateRange.js +1 -1
- package/dist/openapi/models/ExternalDestination.d.ts +1 -1
- package/dist/openapi/models/ExternalDestination.js +1 -1
- package/dist/openapi/models/ExternalImportCreatedResponse.d.ts +1 -1
- package/dist/openapi/models/ExternalImportCreatedResponse.js +1 -1
- package/dist/openapi/models/ExternalImportCreatedSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/ExternalImportCreatedSuccessEnvelope.js +1 -1
- package/dist/openapi/models/ExternalImportRequest.d.ts +1 -1
- package/dist/openapi/models/ExternalImportRequest.js +1 -1
- package/dist/openapi/models/ExternalImportToken.d.ts +1 -1
- package/dist/openapi/models/ExternalImportToken.js +1 -1
- package/dist/openapi/models/ExternalSource.d.ts +1 -1
- package/dist/openapi/models/ExternalSource.js +1 -1
- package/dist/openapi/models/FeatureNotAvailableResponse.d.ts +1 -1
- package/dist/openapi/models/FeatureNotAvailableResponse.js +1 -1
- package/dist/openapi/models/FeatureTierRestrictedResponse.d.ts +1 -1
- package/dist/openapi/models/FeatureTierRestrictedResponse.js +1 -1
- package/dist/openapi/models/FeatureViolation.d.ts +1 -1
- package/dist/openapi/models/FeatureViolation.js +1 -1
- package/dist/openapi/models/ForgotPasswordRequest.d.ts +1 -1
- package/dist/openapi/models/ForgotPasswordRequest.js +1 -1
- package/dist/openapi/models/ImageEncodeCapabilities.d.ts +1 -1
- package/dist/openapi/models/ImageEncodeCapabilities.js +1 -1
- package/dist/openapi/models/JobDefinition.d.ts +1 -1
- package/dist/openapi/models/JobDefinition.js +1 -1
- package/dist/openapi/models/JobDownload.d.ts +1 -1
- package/dist/openapi/models/JobDownload.js +1 -1
- package/dist/openapi/models/JobInputV2.d.ts +1 -1
- package/dist/openapi/models/JobInputV2.js +1 -1
- package/dist/openapi/models/JobMediaClass.d.ts +1 -1
- package/dist/openapi/models/JobMediaClass.js +1 -1
- package/dist/openapi/models/JobOutputSource.d.ts +1 -1
- package/dist/openapi/models/JobOutputSource.js +1 -1
- package/dist/openapi/models/JobResponse.d.ts +1 -1
- package/dist/openapi/models/JobResponse.js +1 -1
- package/dist/openapi/models/JobStatus.d.ts +1 -1
- package/dist/openapi/models/JobStatus.js +1 -1
- package/dist/openapi/models/JobType.d.ts +1 -1
- package/dist/openapi/models/JobType.js +1 -1
- package/dist/openapi/models/LivenessResponse.d.ts +1 -1
- package/dist/openapi/models/LivenessResponse.js +1 -1
- package/dist/openapi/models/LoginUser200Response.d.ts +1 -1
- package/dist/openapi/models/LoginUser200Response.js +1 -1
- package/dist/openapi/models/LoginUser200ResponseData.d.ts +1 -1
- package/dist/openapi/models/LoginUser200ResponseData.js +1 -1
- package/dist/openapi/models/LoginUser200ResponseDataUser.d.ts +1 -1
- package/dist/openapi/models/LoginUser200ResponseDataUser.js +1 -1
- package/dist/openapi/models/LoginUserRequest.d.ts +1 -1
- package/dist/openapi/models/LoginUserRequest.js +1 -1
- package/dist/openapi/models/LongFormConcurrencyLimitResponse.d.ts +1 -1
- package/dist/openapi/models/LongFormConcurrencyLimitResponse.js +1 -1
- package/dist/openapi/models/LongFormConcurrencyLimitResponseAllOfLinks.d.ts +1 -1
- package/dist/openapi/models/LongFormConcurrencyLimitResponseAllOfLinks.js +1 -1
- package/dist/openapi/models/MetadataResponse.d.ts +1 -1
- package/dist/openapi/models/MetadataResponse.js +1 -1
- package/dist/openapi/models/MetadataResponseDimensions.d.ts +1 -1
- package/dist/openapi/models/MetadataResponseDimensions.js +1 -1
- package/dist/openapi/models/MetadataResponseExif.d.ts +1 -1
- package/dist/openapi/models/MetadataResponseExif.js +1 -1
- package/dist/openapi/models/MetadataResponseExifGps.d.ts +1 -1
- package/dist/openapi/models/MetadataResponseExifGps.js +1 -1
- package/dist/openapi/models/MetadataSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/MetadataSuccessEnvelope.js +1 -1
- package/dist/openapi/models/MimeGroupSchema.d.ts +1 -1
- package/dist/openapi/models/MimeGroupSchema.js +1 -1
- package/dist/openapi/models/MultiInputSource.d.ts +1 -1
- package/dist/openapi/models/MultiInputSource.js +1 -1
- package/dist/openapi/models/MultipartCompleteRequest.d.ts +1 -1
- package/dist/openapi/models/MultipartCompleteRequest.js +1 -1
- package/dist/openapi/models/MultipartCompleteRequestPartsInner.d.ts +1 -1
- package/dist/openapi/models/MultipartCompleteRequestPartsInner.js +1 -1
- package/dist/openapi/models/MultipartCompleteResponse.d.ts +1 -1
- package/dist/openapi/models/MultipartCompleteResponse.js +1 -1
- package/dist/openapi/models/MultipartCompleteSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/MultipartCompleteSuccessEnvelope.js +1 -1
- package/dist/openapi/models/MultipartInitiateRequestMetadataHint.d.ts +1 -1
- package/dist/openapi/models/MultipartInitiateRequestMetadataHint.js +1 -1
- package/dist/openapi/models/MultipartInitiateResponse.d.ts +1 -1
- package/dist/openapi/models/MultipartInitiateResponse.js +1 -1
- package/dist/openapi/models/MultipartInitiateSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/MultipartInitiateSuccessEnvelope.js +1 -1
- package/dist/openapi/models/MultipartKeepaliveResponse.d.ts +1 -1
- package/dist/openapi/models/MultipartKeepaliveResponse.js +1 -1
- package/dist/openapi/models/MultipartKeepaliveSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/MultipartKeepaliveSuccessEnvelope.js +1 -1
- package/dist/openapi/models/MultipartPartListing.d.ts +1 -1
- package/dist/openapi/models/MultipartPartListing.js +1 -1
- package/dist/openapi/models/MultipartPresignRequest.d.ts +1 -1
- package/dist/openapi/models/MultipartPresignRequest.js +1 -1
- package/dist/openapi/models/MultipartPresignResponse.d.ts +1 -1
- package/dist/openapi/models/MultipartPresignResponse.js +1 -1
- package/dist/openapi/models/MultipartPresignSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/MultipartPresignSuccessEnvelope.js +1 -1
- package/dist/openapi/models/MultipartStatusResponse.d.ts +1 -1
- package/dist/openapi/models/MultipartStatusResponse.js +1 -1
- package/dist/openapi/models/MultipartStatusSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/MultipartStatusSuccessEnvelope.js +1 -1
- package/dist/openapi/models/OperationCapability.d.ts +1 -1
- package/dist/openapi/models/OperationCapability.js +1 -1
- package/dist/openapi/models/OperationDefinition.d.ts +1 -1
- package/dist/openapi/models/OperationDefinition.js +1 -1
- package/dist/openapi/models/OperationDownload.d.ts +27 -4
- package/dist/openapi/models/OperationDownload.js +5 -1
- package/dist/openapi/models/OperationInputModel.d.ts +1 -1
- package/dist/openapi/models/OperationInputModel.js +1 -1
- package/dist/openapi/models/OperationResponse.d.ts +1 -1
- package/dist/openapi/models/OperationResponse.js +1 -1
- package/dist/openapi/models/OperationResult.d.ts +1 -1
- package/dist/openapi/models/OperationResult.js +1 -1
- package/dist/openapi/models/OperationResultMetadata.d.ts +1 -1
- package/dist/openapi/models/OperationResultMetadata.js +1 -1
- package/dist/openapi/models/OperationResultMetrics.d.ts +28 -5
- package/dist/openapi/models/OperationResultMetrics.js +5 -1
- package/dist/openapi/models/OperationSchemaDefinition.d.ts +1 -1
- package/dist/openapi/models/OperationSchemaDefinition.js +1 -1
- package/dist/openapi/models/OperationStatus.d.ts +1 -1
- package/dist/openapi/models/OperationStatus.js +1 -1
- package/dist/openapi/models/OperationType.d.ts +3 -3
- package/dist/openapi/models/OperationType.js +3 -3
- package/dist/openapi/models/OperationsSchemaResponse.d.ts +1 -1
- package/dist/openapi/models/OperationsSchemaResponse.js +1 -1
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeatures.d.ts +1 -1
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeatures.js +1 -1
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDelivery.d.ts +1 -1
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDelivery.js +1 -1
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliveryMode.d.ts +1 -1
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliveryMode.js +1 -1
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliverySelection.d.ts +1 -1
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliverySelection.js +1 -1
- package/dist/openapi/models/OptionSchema.d.ts +1 -1
- package/dist/openapi/models/OptionSchema.js +1 -1
- package/dist/openapi/models/OutputProperties.d.ts +1 -1
- package/dist/openapi/models/OutputProperties.js +1 -1
- package/dist/openapi/models/OutputPropertiesIsAnimated.d.ts +1 -1
- package/dist/openapi/models/OutputPropertiesIsAnimated.js +1 -1
- package/dist/openapi/models/PerRoleCardinalityEntry.d.ts +1 -1
- package/dist/openapi/models/PerRoleCardinalityEntry.js +1 -1
- package/dist/openapi/models/PerValueAvailabilityEntry.d.ts +1 -1
- package/dist/openapi/models/PerValueAvailabilityEntry.js +1 -1
- package/dist/openapi/models/PresignedUrlPart.d.ts +1 -1
- package/dist/openapi/models/PresignedUrlPart.js +1 -1
- package/dist/openapi/models/ProbePendingResponse.d.ts +1 -1
- package/dist/openapi/models/ProbePendingResponse.js +1 -1
- package/dist/openapi/models/ProcessingClass.d.ts +1 -1
- package/dist/openapi/models/ProcessingClass.js +1 -1
- package/dist/openapi/models/ProcessingClassBandViolation.d.ts +1 -1
- package/dist/openapi/models/ProcessingClassBandViolation.js +1 -1
- package/dist/openapi/models/ProcessingClassConstraints.d.ts +1 -1
- package/dist/openapi/models/ProcessingClassConstraints.js +1 -1
- package/dist/openapi/models/ProcessingClassEntry.d.ts +1 -1
- package/dist/openapi/models/ProcessingClassEntry.js +1 -1
- package/dist/openapi/models/ProcessingClassExceedsBandResponse.d.ts +1 -1
- package/dist/openapi/models/ProcessingClassExceedsBandResponse.js +1 -1
- package/dist/openapi/models/ProcessingClassHint.d.ts +1 -1
- package/dist/openapi/models/ProcessingClassHint.js +1 -1
- package/dist/openapi/models/ProcessingClassReason.d.ts +1 -1
- package/dist/openapi/models/ProcessingClassReason.js +1 -1
- package/dist/openapi/models/ProcessingClassRejectReason.d.ts +1 -1
- package/dist/openapi/models/ProcessingClassRejectReason.js +1 -1
- package/dist/openapi/models/ProcessingPlan.d.ts +1 -1
- package/dist/openapi/models/ProcessingPlan.js +1 -1
- package/dist/openapi/models/ProcessingPlanJob.d.ts +1 -1
- package/dist/openapi/models/ProcessingPlanJob.js +1 -1
- package/dist/openapi/models/ReEncodeDecision.d.ts +1 -1
- package/dist/openapi/models/ReEncodeDecision.js +1 -1
- package/dist/openapi/models/ReadinessResponse.d.ts +1 -1
- package/dist/openapi/models/ReadinessResponse.js +1 -1
- package/dist/openapi/models/RegisterUser422Response.d.ts +1 -1
- package/dist/openapi/models/RegisterUser422Response.js +1 -1
- package/dist/openapi/models/RegisterUserRequest.d.ts +1 -1
- package/dist/openapi/models/RegisterUserRequest.js +1 -1
- package/dist/openapi/models/ResetPasswordRequest.d.ts +1 -1
- package/dist/openapi/models/ResetPasswordRequest.js +1 -1
- package/dist/openapi/models/ResponseEnvelope.d.ts +1 -1
- package/dist/openapi/models/ResponseEnvelope.js +1 -1
- package/dist/openapi/models/RetryResponse.d.ts +1 -1
- package/dist/openapi/models/RetryResponse.js +1 -1
- package/dist/openapi/models/RetrySuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/RetrySuccessEnvelope.js +1 -1
- package/dist/openapi/models/SseCompletionBase.d.ts +1 -1
- package/dist/openapi/models/SseCompletionBase.js +1 -1
- package/dist/openapi/models/SseEventType.d.ts +1 -1
- package/dist/openapi/models/SseEventType.js +1 -1
- package/dist/openapi/models/SseJobCompletedData.d.ts +1 -1
- package/dist/openapi/models/SseJobCompletedData.js +1 -1
- package/dist/openapi/models/SseJobFailedData.d.ts +1 -1
- package/dist/openapi/models/SseJobFailedData.js +1 -1
- package/dist/openapi/models/SseMultiOutputCompletion.d.ts +1 -1
- package/dist/openapi/models/SseMultiOutputCompletion.js +1 -1
- package/dist/openapi/models/SseMultiOutputCompletionMetrics.d.ts +1 -1
- package/dist/openapi/models/SseMultiOutputCompletionMetrics.js +1 -1
- package/dist/openapi/models/SseMultiOutputCompletionWithKind.d.ts +1 -1
- package/dist/openapi/models/SseMultiOutputCompletionWithKind.js +1 -1
- package/dist/openapi/models/SseMultiOutputResultEntry.d.ts +1 -1
- package/dist/openapi/models/SseMultiOutputResultEntry.js +1 -1
- package/dist/openapi/models/SseOperationCompletedData.d.ts +1 -1
- package/dist/openapi/models/SseOperationCompletedData.js +1 -1
- package/dist/openapi/models/SseOperationCompletionResult.d.ts +1 -1
- package/dist/openapi/models/SseOperationCompletionResult.js +1 -1
- package/dist/openapi/models/SseOperationFailedData.d.ts +1 -1
- package/dist/openapi/models/SseOperationFailedData.js +1 -1
- package/dist/openapi/models/SseOperationProgressData.d.ts +1 -1
- package/dist/openapi/models/SseOperationProgressData.js +1 -1
- package/dist/openapi/models/SseSingleOutputCompletion.d.ts +1 -1
- package/dist/openapi/models/SseSingleOutputCompletion.js +1 -1
- package/dist/openapi/models/SseWorkflowTerminalData.d.ts +1 -1
- package/dist/openapi/models/SseWorkflowTerminalData.js +1 -1
- package/dist/openapi/models/TierRestrictionKind.d.ts +1 -1
- package/dist/openapi/models/TierRestrictionKind.js +1 -1
- package/dist/openapi/models/TierRestrictionResponse.d.ts +1 -1
- package/dist/openapi/models/TierRestrictionResponse.js +1 -1
- package/dist/openapi/models/UpdateProfile200Response.d.ts +1 -1
- package/dist/openapi/models/UpdateProfile200Response.js +1 -1
- package/dist/openapi/models/UpdateProfile200ResponseData.d.ts +1 -1
- package/dist/openapi/models/UpdateProfile200ResponseData.js +1 -1
- package/dist/openapi/models/UpdateProfile422Response.d.ts +1 -1
- package/dist/openapi/models/UpdateProfile422Response.js +1 -1
- package/dist/openapi/models/UpdateProfileRequest.d.ts +1 -1
- package/dist/openapi/models/UpdateProfileRequest.js +1 -1
- package/dist/openapi/models/UploadConstraintsApplied.d.ts +1 -1
- package/dist/openapi/models/UploadConstraintsApplied.js +1 -1
- package/dist/openapi/models/UploadDurationExceedsTierResponse.d.ts +1 -1
- package/dist/openapi/models/UploadDurationExceedsTierResponse.js +1 -1
- package/dist/openapi/models/UploadFile403Response.d.ts +1 -1
- package/dist/openapi/models/UploadFile403Response.js +1 -1
- package/dist/openapi/models/UploadFile422Response.d.ts +1 -1
- package/dist/openapi/models/UploadFile422Response.js +1 -1
- package/dist/openapi/models/UploadProbeMediaMetadata.d.ts +1 -1
- package/dist/openapi/models/UploadProbeMediaMetadata.js +1 -1
- package/dist/openapi/models/UploadProbeProcessingClass.d.ts +1 -1
- package/dist/openapi/models/UploadProbeProcessingClass.js +1 -1
- package/dist/openapi/models/UploadProbeResponse.d.ts +1 -1
- package/dist/openapi/models/UploadProbeResponse.js +1 -1
- package/dist/openapi/models/UploadProbeStatus.d.ts +1 -1
- package/dist/openapi/models/UploadProbeStatus.js +1 -1
- package/dist/openapi/models/UploadProbeSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/UploadProbeSuccessEnvelope.js +1 -1
- package/dist/openapi/models/UploadResponse.d.ts +1 -1
- package/dist/openapi/models/UploadResponse.js +1 -1
- package/dist/openapi/models/UploadSizeExceedsTierResponse.d.ts +1 -1
- package/dist/openapi/models/UploadSizeExceedsTierResponse.js +1 -1
- package/dist/openapi/models/UploadSource.d.ts +1 -1
- package/dist/openapi/models/UploadSource.js +1 -1
- package/dist/openapi/models/UploadSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/UploadSuccessEnvelope.js +1 -1
- package/dist/openapi/models/UploadThresholds.d.ts +1 -1
- package/dist/openapi/models/UploadThresholds.js +1 -1
- package/dist/openapi/models/UserTier.d.ts +1 -1
- package/dist/openapi/models/UserTier.js +1 -1
- package/dist/openapi/models/ValidationErrorEnvelope.d.ts +1 -1
- package/dist/openapi/models/ValidationErrorEnvelope.js +1 -1
- package/dist/openapi/models/ValidationErrorEnvelopeDetailsInner.d.ts +1 -1
- package/dist/openapi/models/ValidationErrorEnvelopeDetailsInner.js +1 -1
- package/dist/openapi/models/VerifyEmailRequest.d.ts +1 -1
- package/dist/openapi/models/VerifyEmailRequest.js +1 -1
- package/dist/openapi/models/WarningType.d.ts +1 -1
- package/dist/openapi/models/WarningType.js +1 -1
- package/dist/openapi/models/WebhookOperationContext.d.ts +1 -1
- package/dist/openapi/models/WebhookOperationContext.js +1 -1
- package/dist/openapi/models/WebhookPayload.d.ts +1 -1
- package/dist/openapi/models/WebhookPayload.js +1 -1
- package/dist/openapi/models/WorkflowCancelBillingEffect.d.ts +1 -1
- package/dist/openapi/models/WorkflowCancelBillingEffect.js +1 -1
- package/dist/openapi/models/WorkflowCancelResponse.d.ts +1 -1
- package/dist/openapi/models/WorkflowCancelResponse.js +1 -1
- package/dist/openapi/models/WorkflowCancelSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/WorkflowCancelSuccessEnvelope.js +1 -1
- package/dist/openapi/models/WorkflowCreateRequest.d.ts +1 -1
- package/dist/openapi/models/WorkflowCreateRequest.js +1 -1
- package/dist/openapi/models/WorkflowCreateResponse.d.ts +1 -1
- package/dist/openapi/models/WorkflowCreateResponse.js +1 -1
- package/dist/openapi/models/WorkflowCreateSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/WorkflowCreateSuccessEnvelope.js +1 -1
- package/dist/openapi/models/WorkflowCreditSummary.d.ts +1 -1
- package/dist/openapi/models/WorkflowCreditSummary.js +1 -1
- package/dist/openapi/models/WorkflowDownloadResponse.d.ts +1 -1
- package/dist/openapi/models/WorkflowDownloadResponse.js +1 -1
- package/dist/openapi/models/WorkflowDownloadSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/WorkflowDownloadSuccessEnvelope.js +1 -1
- package/dist/openapi/models/WorkflowEdge.d.ts +1 -1
- package/dist/openapi/models/WorkflowEdge.js +1 -1
- package/dist/openapi/models/WorkflowExpiredResponse.d.ts +1 -1
- package/dist/openapi/models/WorkflowExpiredResponse.js +1 -1
- package/dist/openapi/models/WorkflowListResponse.d.ts +1 -1
- package/dist/openapi/models/WorkflowListResponse.js +1 -1
- package/dist/openapi/models/WorkflowListSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/WorkflowListSuccessEnvelope.js +1 -1
- package/dist/openapi/models/WorkflowPauseRequiredAction.d.ts +1 -1
- package/dist/openapi/models/WorkflowPauseRequiredAction.js +1 -1
- package/dist/openapi/models/WorkflowPausedDetail.d.ts +1 -1
- package/dist/openapi/models/WorkflowPausedDetail.js +1 -1
- package/dist/openapi/models/WorkflowPausedDetailLinks.d.ts +1 -1
- package/dist/openapi/models/WorkflowPausedDetailLinks.js +1 -1
- package/dist/openapi/models/WorkflowProcessing.d.ts +1 -1
- package/dist/openapi/models/WorkflowProcessing.js +1 -1
- package/dist/openapi/models/WorkflowResumeResponse.d.ts +1 -1
- package/dist/openapi/models/WorkflowResumeResponse.js +1 -1
- package/dist/openapi/models/WorkflowResumeSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/WorkflowResumeSuccessEnvelope.js +1 -1
- package/dist/openapi/models/WorkflowSource.d.ts +1 -1
- package/dist/openapi/models/WorkflowSource.js +1 -1
- package/dist/openapi/models/WorkflowStatus.d.ts +1 -1
- package/dist/openapi/models/WorkflowStatus.js +1 -1
- package/dist/openapi/models/WorkflowStatusResponse.d.ts +1 -1
- package/dist/openapi/models/WorkflowStatusResponse.js +1 -1
- package/dist/openapi/models/WorkflowStatusSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/WorkflowStatusSuccessEnvelope.js +1 -1
- package/dist/openapi/models/WorkflowSummary.d.ts +1 -1
- package/dist/openapi/models/WorkflowSummary.js +1 -1
- package/dist/openapi/models/WorkflowSummaryJob.d.ts +1 -1
- package/dist/openapi/models/WorkflowSummaryJob.js +1 -1
- package/dist/openapi/models/WorkflowWarning.d.ts +1 -1
- package/dist/openapi/models/WorkflowWarning.js +1 -1
- package/dist/openapi/models/WorkflowWarningSeverity.d.ts +1 -1
- package/dist/openapi/models/WorkflowWarningSeverity.js +1 -1
- package/dist/openapi/runtime.d.ts +1 -1
- package/dist/openapi/runtime.js +1 -1
- package/dist/operations/compress.d.ts +27 -12
- package/dist/operations/compress.js +24 -0
- package/dist/operations/compress.metadata.js +15 -44
- package/dist/operations/convert.d.ts +3 -6
- package/dist/operations/convert.js +2 -5
- package/dist/operations/convert.metadata.js +1 -17
- package/dist/operations/image_watermark.metadata.js +0 -2
- package/dist/operations/text_watermark.metadata.js +0 -2
- package/dist/operations/thumbnail.d.ts +6 -24
- package/dist/operations/thumbnail.js +0 -12
- package/dist/operations/thumbnail.metadata.js +0 -33
- package/openapi/api.yaml +50 -10
- package/operation-capabilities/operation-capabilities.json +12 -2
- package/operations/schemas/compress.yaml +156 -146
- package/operations/schemas/convert.yaml +53 -52
- package/operations/schemas/image_watermark.yaml +19 -18
- package/operations/schemas/text_watermark.yaml +17 -17
- package/operations/schemas/thumbnail.yaml +40 -77
- package/package.json +1 -1
|
@@ -104,15 +104,23 @@ operation:
|
|
|
104
104
|
automatically to hit the size budget, so this option is inactive.
|
|
105
105
|
encoding_mode:
|
|
106
106
|
type: enum
|
|
107
|
-
values: [quality, target_size]
|
|
107
|
+
values: [quality, target_size, auto_quality]
|
|
108
108
|
default: quality
|
|
109
|
+
# auto_quality flipped planned->stable 2026-06-30 on the lambdas staging
|
|
110
|
+
# proof (compression-image git-122a329, harness PR #294): the SSIM-target
|
|
111
|
+
# search is calibrated — the `good` preset measures ~0.95 across jpeg/webp/
|
|
112
|
+
# avif and the best/good/fair/low ladder is monotonic. All three
|
|
113
|
+
# encoding_mode values are now live (ticket PQMWCqfR; no ADR).
|
|
109
114
|
honored_on: [same_format]
|
|
110
115
|
description: >-
|
|
111
116
|
Compression mode. `quality` = the `quality` slider drives the encode
|
|
112
117
|
(default). `target_size` = automatically find the highest quality that
|
|
113
118
|
fits a byte budget (set via `target_size_bytes`); if the budget can't be
|
|
114
119
|
met even at the lowest quality, the closest result is returned, and the
|
|
115
|
-
original is kept if re-encoding wouldn't be smaller.
|
|
120
|
+
original is kept if re-encoding wouldn't be smaller. `auto_quality` = hit
|
|
121
|
+
a named perceptual-quality target (set via `quality_preset`) and let the
|
|
122
|
+
worker pick the encoder quality that meets it — the perceptual twin of
|
|
123
|
+
`target_size` (which targets bytes); the result reports the chosen quality.
|
|
116
124
|
target_size_bytes:
|
|
117
125
|
type: integer
|
|
118
126
|
min: 1024
|
|
@@ -124,6 +132,20 @@ operation:
|
|
|
124
132
|
be met even at the lowest quality, the closest result is returned (the
|
|
125
133
|
result reports the chosen quality and whether the target was met). Requires
|
|
126
134
|
`encoding_mode: target_size`.
|
|
135
|
+
quality_preset:
|
|
136
|
+
type: enum
|
|
137
|
+
values: [best, good, fair, low]
|
|
138
|
+
default: good
|
|
139
|
+
depends_on: { encoding_mode: auto_quality }
|
|
140
|
+
honored_on: [same_format]
|
|
141
|
+
description: >-
|
|
142
|
+
Named perceptual-quality target for `encoding_mode: auto_quality`
|
|
143
|
+
(best > good > fair > low; `good` is the default). The worker runs a
|
|
144
|
+
perceptual-target search and picks the encoder quality that meets the
|
|
145
|
+
named tier — the wire carries the NAME only, so the tier→target mapping
|
|
146
|
+
stays worker-internal and calibration-tunable without a contract change.
|
|
147
|
+
Requires `encoding_mode: auto_quality`. The achieved perceptual score is
|
|
148
|
+
reported on the result as `metrics.measured_quality` (+ `metrics.quality_metric`).
|
|
127
149
|
metadata:
|
|
128
150
|
type: enum
|
|
129
151
|
values: [strip, keep, all]
|
|
@@ -136,27 +158,11 @@ operation:
|
|
|
136
158
|
preserve EXIF, colour profile, and XMP. `all` is a DEPRECATED alias of
|
|
137
159
|
`strip` (kept for older callers; emits Deprecation/Sunset headers — migrate
|
|
138
160
|
to `strip`). Any other value is rejected.
|
|
139
|
-
keep_metadata
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
# {number,integer,float,string,object} — `type: enum` is rejected, so the
|
|
145
|
-
# categories are carried as a JSON-Schema `enum` constraint on a string
|
|
146
|
-
# item. Consumers (FE) read the allowed categories structurally from the
|
|
147
|
-
# sidecar; SDK codegen sees a string array (the enum key is value-only) —
|
|
148
|
-
# wire-identical (a JSON array of strings).
|
|
149
|
-
type: string
|
|
150
|
-
enum: [copyright, gps, date]
|
|
151
|
-
uniqueItems: true
|
|
152
|
-
availability: planned
|
|
153
|
-
depends_on: { metadata: strip }
|
|
154
|
-
honored_on: [same_format]
|
|
155
|
-
description: >-
|
|
156
|
-
Selectively keep only certain metadata categories and strip the rest —
|
|
157
|
-
refines `metadata: strip`. Allowed categories: `copyright`, `gps`
|
|
158
|
-
(location), `date` (capture time); combinable. `planned` — selective keep
|
|
159
|
-
is not yet supported (use `metadata: keep` to preserve everything).
|
|
161
|
+
# keep_metadata (selective copyright/gps/date) REMOVED 2026-06-30 (hub honesty
|
|
162
|
+
# decision): the compress worker (libcaesium) does ALL-OR-NOTHING keep/strip
|
|
163
|
+
# only — no per-category control, and selective EXIF/XMP surgery is unscheduled
|
|
164
|
+
# (lambdas, M-L build). Use `metadata: keep` for all-or-nothing preservation.
|
|
165
|
+
# Re-add the selective primitive when that worker support is built + scheduled.
|
|
160
166
|
progressive:
|
|
161
167
|
type: boolean
|
|
162
168
|
default: true
|
|
@@ -237,7 +243,7 @@ operation:
|
|
|
237
243
|
that stripping metadata never silently shifts colours. `keep` (default) =
|
|
238
244
|
preserve your colours: embed the ICC profile where the output format can
|
|
239
245
|
carry one, otherwise convert to sRGB and bake the colours in so they survive
|
|
240
|
-
(never a silent drop); `srgb` = convert to sRGB (
|
|
246
|
+
(never a silent drop); `srgb` = convert to sRGB (transform pixels to sRGB, emit untagged — no embedded ICC, the web default; CMYK/grayscale best-effort);
|
|
241
247
|
`strip` = drop the profile (smallest — only when the consumer manages colour
|
|
242
248
|
itself).
|
|
243
249
|
auto_orient:
|
|
@@ -262,7 +268,14 @@ operation:
|
|
|
262
268
|
max: 100
|
|
263
269
|
default: 80
|
|
264
270
|
honored_on: [same_format]
|
|
265
|
-
description:
|
|
271
|
+
description: >-
|
|
272
|
+
Compression quality (1-100). For PNG this is the SINGLE lossy/lossless
|
|
273
|
+
control: `quality` < 100 applies lossy palette quantization (imagequant —
|
|
274
|
+
licence-cleared for our server-side SaaS backend, `kkajDFXD`; the value is
|
|
275
|
+
the quantization level), while `quality: 100` keeps the PNG lossless (oxipng
|
|
276
|
+
optimisation only — tune the lossless effort via `optimization_level`).
|
|
277
|
+
1 = smallest file, 100 = best quality / lossless. There is no separate
|
|
278
|
+
lossy/lossless toggle for PNG — it is purely quality-driven.
|
|
266
279
|
metadata:
|
|
267
280
|
type: enum
|
|
268
281
|
values: [strip, keep, all]
|
|
@@ -275,27 +288,11 @@ operation:
|
|
|
275
288
|
preserve EXIF, colour profile, and XMP. `all` is a DEPRECATED alias of
|
|
276
289
|
`strip` (kept for older callers; emits Deprecation/Sunset headers — migrate
|
|
277
290
|
to `strip`). Any other value is rejected.
|
|
278
|
-
keep_metadata
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
# {number,integer,float,string,object} — `type: enum` is rejected, so the
|
|
284
|
-
# categories are carried as a JSON-Schema `enum` constraint on a string
|
|
285
|
-
# item. Consumers (FE) read the allowed categories structurally from the
|
|
286
|
-
# sidecar; SDK codegen sees a string array (the enum key is value-only) —
|
|
287
|
-
# wire-identical (a JSON array of strings).
|
|
288
|
-
type: string
|
|
289
|
-
enum: [copyright, gps, date]
|
|
290
|
-
uniqueItems: true
|
|
291
|
-
availability: planned
|
|
292
|
-
depends_on: { metadata: strip }
|
|
293
|
-
honored_on: [same_format]
|
|
294
|
-
description: >-
|
|
295
|
-
Selectively keep only certain metadata categories and strip the rest —
|
|
296
|
-
refines `metadata: strip`. Allowed categories: `copyright`, `gps`
|
|
297
|
-
(location), `date` (capture time); combinable. `planned` — selective keep
|
|
298
|
-
is not yet supported (use `metadata: keep` to preserve everything).
|
|
291
|
+
# keep_metadata (selective copyright/gps/date) REMOVED 2026-06-30 (hub honesty
|
|
292
|
+
# decision): the compress worker (libcaesium) does ALL-OR-NOTHING keep/strip
|
|
293
|
+
# only — no per-category control, and selective EXIF/XMP surgery is unscheduled
|
|
294
|
+
# (lambdas, M-L build). Use `metadata: keep` for all-or-nothing preservation.
|
|
295
|
+
# Re-add the selective primitive when that worker support is built + scheduled.
|
|
299
296
|
optimization_level:
|
|
300
297
|
type: integer
|
|
301
298
|
min: 0
|
|
@@ -319,14 +316,6 @@ operation:
|
|
|
319
316
|
reporting the chosen format via the result `mime_type`. They are selection
|
|
320
317
|
strategies, not concrete targets, and stay `planned` until supported. See
|
|
321
318
|
FORMAT.md.
|
|
322
|
-
lossy:
|
|
323
|
-
type: boolean
|
|
324
|
-
default: false
|
|
325
|
-
availability: planned
|
|
326
|
-
honored_on: [same_format]
|
|
327
|
-
description: >-
|
|
328
|
-
Lossy PNG palette quantization — a large saving for flat-colour PNGs.
|
|
329
|
-
`planned` — not yet supported.
|
|
330
319
|
width:
|
|
331
320
|
type: integer
|
|
332
321
|
min: 1
|
|
@@ -365,7 +354,7 @@ operation:
|
|
|
365
354
|
that stripping metadata never silently shifts colours. `keep` (default) =
|
|
366
355
|
preserve your colours: embed the ICC profile where the output format can
|
|
367
356
|
carry one, otherwise convert to sRGB and bake the colours in so they survive
|
|
368
|
-
(never a silent drop); `srgb` = convert to sRGB (
|
|
357
|
+
(never a silent drop); `srgb` = convert to sRGB (transform pixels to sRGB, emit untagged — no embedded ICC, the web default; CMYK/grayscale best-effort);
|
|
369
358
|
`strip` = drop the profile (smallest — only when the consumer manages colour
|
|
370
359
|
itself).
|
|
371
360
|
auto_orient:
|
|
@@ -380,9 +369,12 @@ operation:
|
|
|
380
369
|
which can drop other (non-orientation) metadata even with `metadata: keep`.
|
|
381
370
|
|
|
382
371
|
image_avif:
|
|
383
|
-
|
|
384
|
-
#
|
|
385
|
-
# (
|
|
372
|
+
# avif INPUT compress (libheif decode + ravif re-encode) is now GA-STABLE —
|
|
373
|
+
# flipped beta->stable 2026-06-30 on the lambdas attestation: decode+re-encode
|
|
374
|
+
# proven 1-46MP (quality / target_size / auto_quality all green), AND the
|
|
375
|
+
# large-image crash path is now guarded (#295, compression-image git-74b3161,
|
|
376
|
+
# digest-verified): inputs >~70MP return a clean non-retryable InvalidRequest
|
|
377
|
+
# instead of an OOM process-kill, so GA carries no crash path.
|
|
386
378
|
# image/heic is intentionally NOT a compress input: compress is decode-only
|
|
387
379
|
# and there is no HEIC encoder, so the worker rejects a declared image/heic
|
|
388
380
|
# (FormatMismatch). heic stays on convert+thumbnail.
|
|
@@ -407,16 +399,25 @@ operation:
|
|
|
407
399
|
automatically to hit the size budget, so this option is inactive.
|
|
408
400
|
encoding_mode:
|
|
409
401
|
type: enum
|
|
410
|
-
values: [quality, target_size]
|
|
402
|
+
values: [quality, target_size, auto_quality]
|
|
411
403
|
default: quality
|
|
404
|
+
# auto_quality flipped planned->stable 2026-06-30 on the lambdas staging
|
|
405
|
+
# proof (compression-image git-122a329, harness PR #294): the SSIM-target
|
|
406
|
+
# search is calibrated — the `good` preset measures ~0.95 across jpeg/webp/
|
|
407
|
+
# avif and the best/good/fair/low ladder is monotonic. All three
|
|
408
|
+
# encoding_mode values are now live (ticket PQMWCqfR; no ADR).
|
|
412
409
|
honored_on: [same_format]
|
|
413
410
|
description: >-
|
|
414
411
|
Compression mode. `quality` = the `quality` slider drives the encode
|
|
415
412
|
(default). `target_size` = automatically find the highest quality that
|
|
416
413
|
fits a byte budget (set via `target_size_bytes`); if the budget can't be
|
|
417
414
|
met even at the lowest quality, the closest result is returned, and the
|
|
418
|
-
original is kept if re-encoding wouldn't be smaller.
|
|
419
|
-
|
|
415
|
+
original is kept if re-encoding wouldn't be smaller. `auto_quality` = hit
|
|
416
|
+
a named perceptual-quality target (set via `quality_preset`) and let the
|
|
417
|
+
worker pick the encoder quality that meets it — the perceptual twin of
|
|
418
|
+
`target_size` (which targets bytes); the result reports the chosen quality.
|
|
419
|
+
AVIF encoding is slower, so the search is bounded and may stop slightly
|
|
420
|
+
above the budget.
|
|
420
421
|
target_size_bytes:
|
|
421
422
|
type: integer
|
|
422
423
|
min: 1024
|
|
@@ -428,6 +429,20 @@ operation:
|
|
|
428
429
|
be met even at the lowest quality, the closest result is returned (the
|
|
429
430
|
result reports the chosen quality and whether the target was met). Requires
|
|
430
431
|
`encoding_mode: target_size`.
|
|
432
|
+
quality_preset:
|
|
433
|
+
type: enum
|
|
434
|
+
values: [best, good, fair, low]
|
|
435
|
+
default: good
|
|
436
|
+
depends_on: { encoding_mode: auto_quality }
|
|
437
|
+
honored_on: [same_format]
|
|
438
|
+
description: >-
|
|
439
|
+
Named perceptual-quality target for `encoding_mode: auto_quality`
|
|
440
|
+
(best > good > fair > low; `good` is the default). The worker runs a
|
|
441
|
+
perceptual-target search and picks the encoder quality that meets the
|
|
442
|
+
named tier — the wire carries the NAME only, so the tier→target mapping
|
|
443
|
+
stays worker-internal and calibration-tunable without a contract change.
|
|
444
|
+
Requires `encoding_mode: auto_quality`. The achieved perceptual score is
|
|
445
|
+
reported on the result as `metrics.measured_quality` (+ `metrics.quality_metric`).
|
|
431
446
|
metadata:
|
|
432
447
|
type: enum
|
|
433
448
|
values: [strip, all]
|
|
@@ -495,14 +510,21 @@ operation:
|
|
|
495
510
|
type: enum
|
|
496
511
|
values: [keep, srgb, strip]
|
|
497
512
|
default: keep
|
|
498
|
-
availability: planned
|
|
499
513
|
honored_on: [same_format, format_change]
|
|
500
514
|
description: >-
|
|
501
515
|
Colour-profile handling — a dedicated control, separate from `metadata` so
|
|
502
516
|
that stripping metadata never silently shifts colours. `keep` (default) =
|
|
503
|
-
preserve the
|
|
504
|
-
|
|
505
|
-
|
|
517
|
+
preserve your colours: embed the ICC profile where the output format can
|
|
518
|
+
carry one, otherwise convert to sRGB and bake the colours in so they survive
|
|
519
|
+
(never a silent drop — for AVIF the gamut is baked to sRGB); `srgb` = convert
|
|
520
|
+
to sRGB (transform pixels to sRGB, emit untagged — no embedded ICC, the web
|
|
521
|
+
default; CMYK/grayscale best-effort); `strip` = drop the profile (smallest —
|
|
522
|
+
only when the consumer manages colour itself). All three values are live on
|
|
523
|
+
compress AVIF — `srgb` flipped planned->stable 2026-06-30 on the lambdas
|
|
524
|
+
proof (wide-gamut-p3-icc.avif: srgb bakes untagged, whole-image RMSE 0.041 /
|
|
525
|
+
92% pixels shifted vs strip). Note: on AVIF `keep` and `srgb` both bake the
|
|
526
|
+
gamut to sRGB by design, so keep_px == srgb_px; the proving inequality is
|
|
527
|
+
srgb != strip, which holds.
|
|
506
528
|
auto_orient:
|
|
507
529
|
type: boolean
|
|
508
530
|
default: true
|
|
@@ -536,15 +558,23 @@ operation:
|
|
|
536
558
|
automatically to hit the size budget, so this option is inactive.
|
|
537
559
|
encoding_mode:
|
|
538
560
|
type: enum
|
|
539
|
-
values: [quality, target_size]
|
|
561
|
+
values: [quality, target_size, auto_quality]
|
|
540
562
|
default: quality
|
|
563
|
+
# auto_quality flipped planned->stable 2026-06-30 on the lambdas staging
|
|
564
|
+
# proof (compression-image git-122a329, harness PR #294): the SSIM-target
|
|
565
|
+
# search is calibrated — the `good` preset measures ~0.95 across jpeg/webp/
|
|
566
|
+
# avif and the best/good/fair/low ladder is monotonic. All three
|
|
567
|
+
# encoding_mode values are now live (ticket PQMWCqfR; no ADR).
|
|
541
568
|
honored_on: [same_format]
|
|
542
569
|
description: >-
|
|
543
570
|
Compression mode. `quality` = the `quality` slider drives the encode
|
|
544
571
|
(default). `target_size` = automatically find the highest quality that
|
|
545
572
|
fits a byte budget (set via `target_size_bytes`); if the budget can't be
|
|
546
573
|
met even at the lowest quality, the closest result is returned, and the
|
|
547
|
-
original is kept if re-encoding wouldn't be smaller.
|
|
574
|
+
original is kept if re-encoding wouldn't be smaller. `auto_quality` = hit
|
|
575
|
+
a named perceptual-quality target (set via `quality_preset`) and let the
|
|
576
|
+
worker pick the encoder quality that meets it — the perceptual twin of
|
|
577
|
+
`target_size` (which targets bytes); the result reports the chosen quality.
|
|
548
578
|
target_size_bytes:
|
|
549
579
|
type: integer
|
|
550
580
|
min: 1024
|
|
@@ -556,6 +586,20 @@ operation:
|
|
|
556
586
|
be met even at the lowest quality, the closest result is returned (the
|
|
557
587
|
result reports the chosen quality and whether the target was met). Requires
|
|
558
588
|
`encoding_mode: target_size`.
|
|
589
|
+
quality_preset:
|
|
590
|
+
type: enum
|
|
591
|
+
values: [best, good, fair, low]
|
|
592
|
+
default: good
|
|
593
|
+
depends_on: { encoding_mode: auto_quality }
|
|
594
|
+
honored_on: [same_format]
|
|
595
|
+
description: >-
|
|
596
|
+
Named perceptual-quality target for `encoding_mode: auto_quality`
|
|
597
|
+
(best > good > fair > low; `good` is the default). The worker runs a
|
|
598
|
+
perceptual-target search and picks the encoder quality that meets the
|
|
599
|
+
named tier — the wire carries the NAME only, so the tier→target mapping
|
|
600
|
+
stays worker-internal and calibration-tunable without a contract change.
|
|
601
|
+
Requires `encoding_mode: auto_quality`. The achieved perceptual score is
|
|
602
|
+
reported on the result as `metrics.measured_quality` (+ `metrics.quality_metric`).
|
|
559
603
|
metadata:
|
|
560
604
|
type: enum
|
|
561
605
|
values: [strip, keep, all]
|
|
@@ -568,27 +612,11 @@ operation:
|
|
|
568
612
|
preserve EXIF, colour profile, and XMP. `all` is a DEPRECATED alias of
|
|
569
613
|
`strip` (kept for older callers; emits Deprecation/Sunset headers — migrate
|
|
570
614
|
to `strip`). Any other value is rejected.
|
|
571
|
-
keep_metadata
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
# {number,integer,float,string,object} — `type: enum` is rejected, so the
|
|
577
|
-
# categories are carried as a JSON-Schema `enum` constraint on a string
|
|
578
|
-
# item. Consumers (FE) read the allowed categories structurally from the
|
|
579
|
-
# sidecar; SDK codegen sees a string array (the enum key is value-only) —
|
|
580
|
-
# wire-identical (a JSON array of strings).
|
|
581
|
-
type: string
|
|
582
|
-
enum: [copyright, gps, date]
|
|
583
|
-
uniqueItems: true
|
|
584
|
-
availability: planned
|
|
585
|
-
depends_on: { metadata: strip }
|
|
586
|
-
honored_on: [same_format]
|
|
587
|
-
description: >-
|
|
588
|
-
Selectively keep only certain metadata categories and strip the rest —
|
|
589
|
-
refines `metadata: strip`. Allowed categories: `copyright`, `gps`
|
|
590
|
-
(location), `date` (capture time); combinable. `planned` — selective keep
|
|
591
|
-
is not yet supported (use `metadata: keep` to preserve everything).
|
|
615
|
+
# keep_metadata (selective copyright/gps/date) REMOVED 2026-06-30 (hub honesty
|
|
616
|
+
# decision): the compress worker (libcaesium) does ALL-OR-NOTHING keep/strip
|
|
617
|
+
# only — no per-category control, and selective EXIF/XMP surgery is unscheduled
|
|
618
|
+
# (lambdas, M-L build). Use `metadata: keep` for all-or-nothing preservation.
|
|
619
|
+
# Re-add the selective primitive when that worker support is built + scheduled.
|
|
592
620
|
output_format:
|
|
593
621
|
type: enum
|
|
594
622
|
values: [original, webp, auto, smallest]
|
|
@@ -647,18 +675,17 @@ operation:
|
|
|
647
675
|
type: enum
|
|
648
676
|
values: [keep, srgb, strip]
|
|
649
677
|
default: keep
|
|
650
|
-
per_value_availability:
|
|
651
|
-
srgb: { availability: planned }
|
|
652
678
|
honored_on: [same_format, format_change]
|
|
653
679
|
description: >-
|
|
654
680
|
Colour-profile handling — a dedicated control, separate from `metadata` so
|
|
655
681
|
that stripping metadata never silently shifts colours. `keep` (default) =
|
|
656
682
|
preserve your colours: embed the ICC profile where the output format can
|
|
657
683
|
carry one, otherwise convert to sRGB and bake the colours in so they survive
|
|
658
|
-
(never a silent drop); `srgb` = convert to sRGB (
|
|
684
|
+
(never a silent drop); `srgb` = convert to sRGB (transform pixels to sRGB, emit untagged — no embedded ICC, the web default; CMYK/grayscale best-effort);
|
|
659
685
|
`strip` = drop the profile (smallest — only when the consumer manages colour
|
|
660
|
-
itself).
|
|
661
|
-
|
|
686
|
+
itself). All three values are live on the WebP same-format route — the sRGB
|
|
687
|
+
pixel transform is staging-proven (lambdas compression-image git-13b5000:
|
|
688
|
+
srgb output untagged + a real pixel shift vs strip).
|
|
662
689
|
auto_orient:
|
|
663
690
|
type: boolean
|
|
664
691
|
default: true
|
|
@@ -677,13 +704,11 @@ operation:
|
|
|
677
704
|
mimes:
|
|
678
705
|
- image/svg+xml
|
|
679
706
|
options:
|
|
680
|
-
quality
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
honored_on: [same_format]
|
|
686
|
-
description: "Compression quality (1 = smallest file, 100 = best quality)."
|
|
707
|
+
# No `quality`: compress SVG is SVG->SVG via SVGO (lossless vector optimise);
|
|
708
|
+
# `quality` is never passed to the worker, so a quality slider here is a no-op
|
|
709
|
+
# (removed — lambdas worker-code investigation, the SVG-quality ticket). Raster
|
|
710
|
+
# output (the webp facade route) goes through convert, which carries its own
|
|
711
|
+
# quality on convert.image_svg.
|
|
687
712
|
metadata:
|
|
688
713
|
type: enum
|
|
689
714
|
values: [strip, all]
|
|
@@ -740,27 +765,11 @@ operation:
|
|
|
740
765
|
preserve EXIF, colour profile, and XMP. `all` is a DEPRECATED alias of
|
|
741
766
|
`strip` (kept for older callers; emits Deprecation/Sunset headers — migrate
|
|
742
767
|
to `strip`). Any other value is rejected.
|
|
743
|
-
keep_metadata
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
# {number,integer,float,string,object} — `type: enum` is rejected, so the
|
|
749
|
-
# categories are carried as a JSON-Schema `enum` constraint on a string
|
|
750
|
-
# item. Consumers (FE) read the allowed categories structurally from the
|
|
751
|
-
# sidecar; SDK codegen sees a string array (the enum key is value-only) —
|
|
752
|
-
# wire-identical (a JSON array of strings).
|
|
753
|
-
type: string
|
|
754
|
-
enum: [copyright, gps, date]
|
|
755
|
-
uniqueItems: true
|
|
756
|
-
availability: planned
|
|
757
|
-
depends_on: { metadata: strip }
|
|
758
|
-
honored_on: [same_format]
|
|
759
|
-
description: >-
|
|
760
|
-
Selectively keep only certain metadata categories and strip the rest —
|
|
761
|
-
refines `metadata: strip`. Allowed categories: `copyright`, `gps`
|
|
762
|
-
(location), `date` (capture time); combinable. `planned` — selective keep
|
|
763
|
-
is not yet supported (use `metadata: keep` to preserve everything).
|
|
768
|
+
# keep_metadata (selective copyright/gps/date) REMOVED 2026-06-30 (hub honesty
|
|
769
|
+
# decision): the compress worker (libcaesium) does ALL-OR-NOTHING keep/strip
|
|
770
|
+
# only — no per-category control, and selective EXIF/XMP surgery is unscheduled
|
|
771
|
+
# (lambdas, M-L build). Use `metadata: keep` for all-or-nothing preservation.
|
|
772
|
+
# Re-add the selective primitive when that worker support is built + scheduled.
|
|
764
773
|
output_format:
|
|
765
774
|
type: enum
|
|
766
775
|
values: [original, webp, auto, smallest]
|
|
@@ -809,14 +818,21 @@ operation:
|
|
|
809
818
|
type: enum
|
|
810
819
|
values: [keep, srgb, strip]
|
|
811
820
|
default: keep
|
|
812
|
-
|
|
821
|
+
per_value_availability:
|
|
822
|
+
srgb: { availability: planned }
|
|
813
823
|
honored_on: [same_format, format_change]
|
|
814
824
|
description: >-
|
|
815
825
|
Colour-profile handling — a dedicated control, separate from `metadata` so
|
|
816
826
|
that stripping metadata never silently shifts colours. `keep` (default) =
|
|
817
|
-
preserve the
|
|
818
|
-
|
|
819
|
-
|
|
827
|
+
preserve your colours: embed the ICC profile where the output format can
|
|
828
|
+
carry one, otherwise convert to sRGB and bake the colours in so they survive
|
|
829
|
+
(never a silent drop — for TIFF inputs the gamut is baked to sRGB; GIF carries
|
|
830
|
+
no profile so this is a no-op); `srgb` = convert to sRGB (transform pixels to
|
|
831
|
+
sRGB, emit untagged — no embedded ICC, the web default; CMYK/grayscale
|
|
832
|
+
best-effort); `strip` = drop the profile (smallest — only when the consumer
|
|
833
|
+
manages colour itself). On compress `srgb` is `planned` for this group (the
|
|
834
|
+
sRGB pixel transform is wired for JPEG/PNG only so far); `keep` and `strip`
|
|
835
|
+
are live.
|
|
820
836
|
auto_orient:
|
|
821
837
|
type: boolean
|
|
822
838
|
default: true
|
|
@@ -1178,13 +1194,11 @@ operation:
|
|
|
1178
1194
|
max: 100
|
|
1179
1195
|
default: 50
|
|
1180
1196
|
description: "Compression quality (1 = smallest, 100 = best). The only document compression option supported today."
|
|
1181
|
-
image_quality:
|
|
1182
|
-
|
|
1183
|
-
|
|
1184
|
-
|
|
1185
|
-
|
|
1186
|
-
availability: planned
|
|
1187
|
-
description: "Recompress embedded images at this quality level (1 = smallest, 100 = best). `planned` — not yet supported (use `quality`)."
|
|
1197
|
+
# image_quality REMOVED 2026-06-30 (hub honesty decision): redundant — the
|
|
1198
|
+
# zip-based document worker ALREADY recompresses embedded jpeg/png/webp/gif
|
|
1199
|
+
# via libcaesium, driven by the general `quality` option (capability is LIVE).
|
|
1200
|
+
# The separate `image_quality` knob was unwired (a planned no-op). Re-add only
|
|
1201
|
+
# if a distinct image-vs-document quality split is genuinely wanted (small wiring).
|
|
1188
1202
|
strip_macros:
|
|
1189
1203
|
type: boolean
|
|
1190
1204
|
default: true
|
|
@@ -1214,13 +1228,11 @@ operation:
|
|
|
1214
1228
|
max: 100
|
|
1215
1229
|
default: 50
|
|
1216
1230
|
description: "Compression quality (1 = smallest, 100 = best). The only document compression option supported today."
|
|
1217
|
-
image_quality:
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
|
-
|
|
1221
|
-
|
|
1222
|
-
availability: planned
|
|
1223
|
-
description: "Recompress embedded images at this quality level. `planned` — not yet supported (use `quality`)."
|
|
1231
|
+
# image_quality REMOVED 2026-06-30 (hub honesty decision): redundant — the
|
|
1232
|
+
# zip-based document worker ALREADY recompresses embedded jpeg/png/webp/gif
|
|
1233
|
+
# via libcaesium, driven by the general `quality` option (capability is LIVE).
|
|
1234
|
+
# The separate `image_quality` knob was unwired (a planned no-op). Re-add only
|
|
1235
|
+
# if a distinct image-vs-document quality split is genuinely wanted (small wiring).
|
|
1224
1236
|
strip_metadata:
|
|
1225
1237
|
type: boolean
|
|
1226
1238
|
default: true
|
|
@@ -1243,13 +1255,11 @@ operation:
|
|
|
1243
1255
|
max: 100
|
|
1244
1256
|
default: 50
|
|
1245
1257
|
description: "Compression quality (1 = smallest, 100 = best). The only document compression option supported today."
|
|
1246
|
-
image_quality:
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
availability: planned
|
|
1252
|
-
description: "Recompress embedded images at this quality level. `planned` — not yet supported (use `quality`)."
|
|
1258
|
+
# image_quality REMOVED 2026-06-30 (hub honesty decision): redundant — the
|
|
1259
|
+
# zip-based document worker ALREADY recompresses embedded jpeg/png/webp/gif
|
|
1260
|
+
# via libcaesium, driven by the general `quality` option (capability is LIVE).
|
|
1261
|
+
# The separate `image_quality` knob was unwired (a planned no-op). Re-add only
|
|
1262
|
+
# if a distinct image-vs-document quality split is genuinely wanted (small wiring).
|
|
1253
1263
|
font_subsetting:
|
|
1254
1264
|
type: boolean
|
|
1255
1265
|
default: true
|