@giveitsmaller/contracts 0.40.0 → 0.42.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 +77 -7
- package/accepted-options/image-output-routes.json +13 -13
- package/availability/availability.json +539 -150
- 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/ChangePasswordRequest.d.ts +1 -1
- package/dist/openapi/models/ChangePasswordRequest.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/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/OperationDefinition.d.ts +1 -1
- package/dist/openapi/models/OperationDefinition.js +1 -1
- package/dist/openapi/models/OperationDownload.d.ts +24 -1
- 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 +1 -1
- package/dist/openapi/models/OperationResultMetrics.js +1 -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/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/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/audio_overlay.metadata.js +2 -2
- package/dist/operations/compress.metadata.js +0 -5
- package/dist/operations/convert.metadata.js +0 -2
- package/dist/operations/image_watermark.d.ts +36 -0
- package/dist/operations/image_watermark.js +24 -0
- package/dist/operations/image_watermark.metadata.js +47 -1
- package/dist/operations/split.metadata.js +1 -1
- package/dist/operations/text_watermark.d.ts +62 -0
- package/dist/operations/text_watermark.js +42 -0
- package/dist/operations/text_watermark.metadata.js +82 -0
- package/dist/operations/thumbnail.d.ts +19 -0
- package/dist/operations/thumbnail.js +12 -0
- package/dist/operations/thumbnail.metadata.js +29 -0
- package/dist/operations/video_watermark.metadata.js +1 -1
- package/openapi/api.yaml +22 -3
- package/operation-capabilities/operation-capabilities.json +1 -1
- package/operations/schemas/archive.yaml +1 -1
- package/operations/schemas/audio_overlay.yaml +9 -11
- package/operations/schemas/audio_to_video.yaml +7 -11
- package/operations/schemas/audio_watermark.yaml +1 -5
- package/operations/schemas/compress.yaml +322 -399
- package/operations/schemas/convert.yaml +68 -83
- package/operations/schemas/custom_luma.yaml +6 -11
- package/operations/schemas/image_watermark.yaml +166 -14
- package/operations/schemas/merge.yaml +5 -5
- package/operations/schemas/passthrough.yaml +4 -4
- package/operations/schemas/split.yaml +22 -31
- package/operations/schemas/text_watermark.yaml +262 -4
- package/operations/schemas/thumbnail.yaml +73 -3
- package/operations/schemas/video_text_watermark.yaml +9 -13
- package/operations/schemas/video_watermark.yaml +16 -21
- package/package.json +1 -1
|
@@ -100,30 +100,30 @@ operation:
|
|
|
100
100
|
honored_on: [same_format]
|
|
101
101
|
description: >-
|
|
102
102
|
Compression quality (1 = smallest file, 100 = best quality). Active in
|
|
103
|
-
`quality` mode (default); in `target_size` mode the
|
|
104
|
-
|
|
103
|
+
`quality` mode (default); in `target_size` mode the quality is chosen
|
|
104
|
+
automatically to hit the size budget, so this option is inactive.
|
|
105
105
|
encoding_mode:
|
|
106
106
|
type: enum
|
|
107
107
|
values: [quality, target_size]
|
|
108
108
|
default: quality
|
|
109
109
|
honored_on: [same_format]
|
|
110
110
|
description: >-
|
|
111
|
-
Compression mode
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
111
|
+
Compression mode. `quality` = the `quality` slider drives the encode
|
|
112
|
+
(default). `target_size` = automatically find the highest quality that
|
|
113
|
+
fits a byte budget (set via `target_size_bytes`); if the budget can't be
|
|
114
|
+
met even at the lowest quality, the closest result is returned, and the
|
|
115
|
+
original is kept if re-encoding wouldn't be smaller.
|
|
116
116
|
target_size_bytes:
|
|
117
117
|
type: integer
|
|
118
118
|
min: 1024
|
|
119
119
|
depends_on: { encoding_mode: target_size }
|
|
120
120
|
honored_on: [same_format]
|
|
121
121
|
description: >-
|
|
122
|
-
Target output size in bytes (min 1024 = 1 KiB). The
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
quality
|
|
126
|
-
|
|
122
|
+
Target output size in bytes (min 1024 = 1 KiB). The encoder searches for
|
|
123
|
+
the highest quality that lands at or under this size; if the target can't
|
|
124
|
+
be met even at the lowest quality, the closest result is returned (the
|
|
125
|
+
result reports the chosen quality and whether the target was met). Requires
|
|
126
|
+
`encoding_mode: target_size`.
|
|
127
127
|
metadata:
|
|
128
128
|
type: enum
|
|
129
129
|
values: [strip, keep, all]
|
|
@@ -132,54 +132,47 @@ operation:
|
|
|
132
132
|
all: { availability: deprecated }
|
|
133
133
|
honored_on: [same_format]
|
|
134
134
|
description: >-
|
|
135
|
-
Metadata handling
|
|
136
|
-
EXIF
|
|
137
|
-
(
|
|
138
|
-
|
|
139
|
-
`all` reading as "strip all" was counterintuitive) — still accepted,
|
|
140
|
-
emits Deprecation/Sunset, migrate to `strip`. The API lowers `strip`→`all`
|
|
141
|
-
at the worker boundary. Any other value is rejected as invalid_options.
|
|
135
|
+
Metadata handling. `strip` = remove all EXIF/IPTC/XMP (default). `keep` =
|
|
136
|
+
preserve EXIF, colour profile, and XMP. `all` is a DEPRECATED alias of
|
|
137
|
+
`strip` (kept for older callers; emits Deprecation/Sunset headers — migrate
|
|
138
|
+
to `strip`). Any other value is rejected.
|
|
142
139
|
keep_metadata:
|
|
143
140
|
type: array
|
|
144
141
|
items:
|
|
145
|
-
#
|
|
146
|
-
#
|
|
147
|
-
#
|
|
148
|
-
#
|
|
149
|
-
#
|
|
142
|
+
# JSON-Schema `enum:` (not the DSL `type: enum`) on a string item: the
|
|
143
|
+
# SDK operation-schema parser's valid array-item types are
|
|
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).
|
|
150
149
|
type: string
|
|
150
|
+
enum: [copyright, gps, date]
|
|
151
151
|
uniqueItems: true
|
|
152
152
|
availability: planned
|
|
153
153
|
depends_on: { metadata: strip }
|
|
154
154
|
honored_on: [same_format]
|
|
155
155
|
description: >-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
do selective keep (use `metadata: keep` to preserve everything), so the
|
|
161
|
-
API returns feature_not_available until lambdas proves it.
|
|
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).
|
|
162
160
|
progressive:
|
|
163
161
|
type: boolean
|
|
164
162
|
default: true
|
|
165
163
|
honored_on: [same_format]
|
|
166
|
-
description: "Enable progressive JPEG rendering (a low-quality preview renders first, then refines). JPEG only
|
|
164
|
+
description: "Enable progressive JPEG rendering (a low-quality preview renders first, then refines). JPEG only."
|
|
167
165
|
chroma_subsampling:
|
|
168
166
|
type: enum
|
|
169
167
|
values: ["420", "422", "444"]
|
|
170
168
|
honored_on: [same_format]
|
|
171
169
|
description: >-
|
|
172
170
|
JPEG chroma subsampling — the colour-resolution/size trade-off.
|
|
173
|
-
`420` (4:2:0) = smallest, chroma at quarter resolution (
|
|
174
|
-
|
|
175
|
-
(largest, best for sharp colour edges / text). JPEG
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
on staging (lambdas PR #264, deployed git-f2bef85: output JPEG SOF luma
|
|
179
|
-
sampling bytes verified 0x22/0x21/0x11 for 420/422/444). INCOMPATIBLE with
|
|
180
|
-
`lossless` (any chroma value): lossless JPEG is a DCT-coefficient copy and
|
|
181
|
-
cannot resample chroma — see the chroma_subsampling.lossless_conflict
|
|
182
|
-
constraint.
|
|
171
|
+
`420` (4:2:0) = smallest, chroma at quarter resolution (typical for web
|
|
172
|
+
photos); `422` (4:2:2) = half horizontal resolution; `444` (4:4:4) = full
|
|
173
|
+
chroma (largest, best for sharp colour edges / text). JPEG only.
|
|
174
|
+
INCOMPATIBLE with `lossless` (any chroma value): a lossless JPEG copies the
|
|
175
|
+
existing coefficients and cannot resample chroma.
|
|
183
176
|
output_format:
|
|
184
177
|
type: enum
|
|
185
178
|
values: [original, webp, auto, smallest]
|
|
@@ -189,45 +182,39 @@ operation:
|
|
|
189
182
|
smallest: { availability: planned }
|
|
190
183
|
description: >-
|
|
191
184
|
Output format. original = keep input format (default); webp = recompress to
|
|
192
|
-
WebP
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
the API try-all-return-smallest logic + worker proof land. See FORMAT.md.
|
|
185
|
+
WebP. Concrete format changes (jpeg/png/avif/gif/tiff) are handled by the
|
|
186
|
+
convert operation. `auto` / `smallest` are PLANNED auto-format directives —
|
|
187
|
+
the server encodes to several candidate formats and returns the best
|
|
188
|
+
(`auto` = the most suitable; `smallest` = the absolute fewest bytes),
|
|
189
|
+
reporting the chosen format via the result `mime_type`. They are selection
|
|
190
|
+
strategies, not concrete targets, and stay `planned` until supported. See
|
|
191
|
+
FORMAT.md.
|
|
200
192
|
lossless:
|
|
201
193
|
type: boolean
|
|
202
194
|
default: false
|
|
203
195
|
depends_on: { encoding_mode: quality }
|
|
204
196
|
honored_on: [same_format]
|
|
205
197
|
description: >-
|
|
206
|
-
Lossless JPEG re-optimisation
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
(un-parked 2026-06-23). Only in `quality` mode — incompatible with
|
|
211
|
-
`target_size` (the byte-budget loop is inherently lossy). Optimiser
|
|
212
|
-
(same_format) route only.
|
|
198
|
+
Lossless JPEG re-optimisation: re-packs the file WITHOUT re-encoding the
|
|
199
|
+
pixels — no quality loss (it cannot recover detail a lossy JPEG already
|
|
200
|
+
lost). Only in `quality` mode — incompatible with `target_size` (hitting a
|
|
201
|
+
byte budget is inherently lossy).
|
|
213
202
|
width:
|
|
214
203
|
type: integer
|
|
215
204
|
min: 1
|
|
216
205
|
max: 16384
|
|
217
206
|
honored_on: [same_format, format_change]
|
|
218
207
|
description: >-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
the compress optimiser has no resize) — it is NOT the derivative `thumbnail` op.
|
|
224
|
-
Optional; omit to keep the source dimensions.
|
|
208
|
+
Target width in pixels (1-16384; width × height must not exceed the
|
|
209
|
+
group's maximum output area). Resizes the image as part of the operation
|
|
210
|
+
(one transformed output, replacing the source). Optional; omit to keep the
|
|
211
|
+
source dimensions.
|
|
225
212
|
height:
|
|
226
213
|
type: integer
|
|
227
214
|
min: 1
|
|
228
215
|
max: 16384
|
|
229
216
|
honored_on: [same_format, format_change]
|
|
230
|
-
description: "
|
|
217
|
+
description: "Target height in pixels (1-16384; width × height within the group's max output area). Resizes the image (one output). Optional — see `width`."
|
|
231
218
|
fit:
|
|
232
219
|
type: enum
|
|
233
220
|
values: [max, crop, scale]
|
|
@@ -235,12 +222,11 @@ operation:
|
|
|
235
222
|
depends_on: { width: set, height: set, logic: or }
|
|
236
223
|
honored_on: [same_format, format_change]
|
|
237
224
|
description: >-
|
|
238
|
-
Resize mode. `max` (default) = fit within bounds, preserving
|
|
239
|
-
and
|
|
240
|
-
"no-enlarge" behaviour
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
set, on whichever Output route runs.
|
|
225
|
+
Resize mode. `max` (default) = fit within the given bounds, preserving
|
|
226
|
+
aspect ratio and never upscaling (caps at the source dimensions — this is
|
|
227
|
+
the "no-enlarge" behaviour). `crop`/`scale` = exact dimensions (`scale`
|
|
228
|
+
deliberately enlarges past the source). Applies only when width or height
|
|
229
|
+
is set.
|
|
244
230
|
color_profile:
|
|
245
231
|
type: enum
|
|
246
232
|
values: [keep, srgb, strip]
|
|
@@ -248,26 +234,21 @@ operation:
|
|
|
248
234
|
availability: planned
|
|
249
235
|
honored_on: [same_format, format_change]
|
|
250
236
|
description: >-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
`planned` — the worker does not yet honour it (today the default strips ICC
|
|
257
|
-
during metadata-strip; the fix preserves it). Applies on BOTH Output routes
|
|
258
|
-
(optimiser preserves; transcoder preserves/converts). Worker-proven flip.
|
|
237
|
+
Colour-profile handling — a dedicated control, separate from `metadata` so
|
|
238
|
+
that stripping metadata never silently shifts colours. `keep` (default) =
|
|
239
|
+
preserve the embedded colour profile; `srgb` = convert to sRGB (also
|
|
240
|
+
handles CMYK → sRGB); `strip` = drop the profile (smallest — only when the
|
|
241
|
+
consumer manages colour itself). `planned` — not yet supported.
|
|
259
242
|
auto_orient:
|
|
260
243
|
type: boolean
|
|
261
244
|
default: true
|
|
262
|
-
availability: planned
|
|
263
245
|
honored_on: [same_format, format_change]
|
|
264
246
|
description: >-
|
|
265
247
|
Bake EXIF orientation into the pixels (honour the camera/device rotation
|
|
266
248
|
tag) so the output displays upright everywhere, then drop the now-redundant
|
|
267
|
-
orientation tag. `
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
inputs without an orientation tag.
|
|
249
|
+
orientation tag. Default `true`; no-op for inputs without an orientation
|
|
250
|
+
tag. On an already-rotated image the pixels are re-encoded (near-lossless),
|
|
251
|
+
which can drop other (non-orientation) metadata even with `metadata: keep`.
|
|
271
252
|
|
|
272
253
|
image_png:
|
|
273
254
|
mimes:
|
|
@@ -289,40 +270,38 @@ operation:
|
|
|
289
270
|
all: { availability: deprecated }
|
|
290
271
|
honored_on: [same_format]
|
|
291
272
|
description: >-
|
|
292
|
-
Metadata handling
|
|
293
|
-
EXIF
|
|
294
|
-
(
|
|
295
|
-
|
|
296
|
-
`all` reading as "strip all" was counterintuitive) — still accepted,
|
|
297
|
-
emits Deprecation/Sunset, migrate to `strip`. The API lowers `strip`→`all`
|
|
298
|
-
at the worker boundary. Any other value is rejected as invalid_options.
|
|
273
|
+
Metadata handling. `strip` = remove all EXIF/IPTC/XMP (default). `keep` =
|
|
274
|
+
preserve EXIF, colour profile, and XMP. `all` is a DEPRECATED alias of
|
|
275
|
+
`strip` (kept for older callers; emits Deprecation/Sunset headers — migrate
|
|
276
|
+
to `strip`). Any other value is rejected.
|
|
299
277
|
keep_metadata:
|
|
300
278
|
type: array
|
|
301
279
|
items:
|
|
302
|
-
#
|
|
303
|
-
#
|
|
304
|
-
#
|
|
305
|
-
#
|
|
306
|
-
#
|
|
280
|
+
# JSON-Schema `enum:` (not the DSL `type: enum`) on a string item: the
|
|
281
|
+
# SDK operation-schema parser's valid array-item types are
|
|
282
|
+
# {number,integer,float,string,object} — `type: enum` is rejected, so the
|
|
283
|
+
# categories are carried as a JSON-Schema `enum` constraint on a string
|
|
284
|
+
# item. Consumers (FE) read the allowed categories structurally from the
|
|
285
|
+
# sidecar; SDK codegen sees a string array (the enum key is value-only) —
|
|
286
|
+
# wire-identical (a JSON array of strings).
|
|
307
287
|
type: string
|
|
288
|
+
enum: [copyright, gps, date]
|
|
308
289
|
uniqueItems: true
|
|
309
290
|
availability: planned
|
|
310
291
|
depends_on: { metadata: strip }
|
|
311
292
|
honored_on: [same_format]
|
|
312
293
|
description: >-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
do selective keep (use `metadata: keep` to preserve everything), so the
|
|
318
|
-
API returns feature_not_available until lambdas proves it.
|
|
294
|
+
Selectively keep only certain metadata categories and strip the rest —
|
|
295
|
+
refines `metadata: strip`. Allowed categories: `copyright`, `gps`
|
|
296
|
+
(location), `date` (capture time); combinable. `planned` — selective keep
|
|
297
|
+
is not yet supported (use `metadata: keep` to preserve everything).
|
|
319
298
|
optimization_level:
|
|
320
299
|
type: integer
|
|
321
300
|
min: 0
|
|
322
301
|
max: 6
|
|
323
302
|
default: 3
|
|
324
303
|
honored_on: [same_format]
|
|
325
|
-
description: "PNG optimization effort (0-6
|
|
304
|
+
description: "PNG optimization effort (0-6). Higher = smaller file, slower encode. Default 3."
|
|
326
305
|
output_format:
|
|
327
306
|
type: enum
|
|
328
307
|
values: [original, webp, auto, smallest]
|
|
@@ -332,43 +311,37 @@ operation:
|
|
|
332
311
|
smallest: { availability: planned }
|
|
333
312
|
description: >-
|
|
334
313
|
Output format. original = keep input format (default); webp = recompress to
|
|
335
|
-
WebP
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
the API try-all-return-smallest logic + worker proof land. See FORMAT.md.
|
|
314
|
+
WebP. Concrete format changes (jpeg/png/avif/gif/tiff) are handled by the
|
|
315
|
+
convert operation. `auto` / `smallest` are PLANNED auto-format directives —
|
|
316
|
+
the server encodes to several candidate formats and returns the best
|
|
317
|
+
(`auto` = the most suitable; `smallest` = the absolute fewest bytes),
|
|
318
|
+
reporting the chosen format via the result `mime_type`. They are selection
|
|
319
|
+
strategies, not concrete targets, and stay `planned` until supported. See
|
|
320
|
+
FORMAT.md.
|
|
343
321
|
lossy:
|
|
344
322
|
type: boolean
|
|
345
323
|
default: false
|
|
346
324
|
availability: planned
|
|
347
325
|
honored_on: [same_format]
|
|
348
326
|
description: >-
|
|
349
|
-
Lossy PNG palette quantization
|
|
350
|
-
|
|
351
|
-
stable-flip until the lambdas licensing spike confirms a permissive
|
|
352
|
-
quantizer path (libimagequant/pngquant is GPL-or-commercial). Optimiser
|
|
353
|
-
(same_format) route only.
|
|
327
|
+
Lossy PNG palette quantization — a large saving for flat-colour PNGs.
|
|
328
|
+
`planned` — not yet supported.
|
|
354
329
|
width:
|
|
355
330
|
type: integer
|
|
356
331
|
min: 1
|
|
357
332
|
max: 16384
|
|
358
333
|
honored_on: [same_format, format_change]
|
|
359
334
|
description: >-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
the compress optimiser has no resize) — it is NOT the derivative `thumbnail` op.
|
|
365
|
-
Optional; omit to keep the source dimensions.
|
|
335
|
+
Target width in pixels (1-16384; width × height must not exceed the
|
|
336
|
+
group's maximum output area). Resizes the image as part of the operation
|
|
337
|
+
(one transformed output, replacing the source). Optional; omit to keep the
|
|
338
|
+
source dimensions.
|
|
366
339
|
height:
|
|
367
340
|
type: integer
|
|
368
341
|
min: 1
|
|
369
342
|
max: 16384
|
|
370
343
|
honored_on: [same_format, format_change]
|
|
371
|
-
description: "
|
|
344
|
+
description: "Target height in pixels (1-16384; width × height within the group's max output area). Resizes the image (one output). Optional — see `width`."
|
|
372
345
|
fit:
|
|
373
346
|
type: enum
|
|
374
347
|
values: [max, crop, scale]
|
|
@@ -376,12 +349,11 @@ operation:
|
|
|
376
349
|
depends_on: { width: set, height: set, logic: or }
|
|
377
350
|
honored_on: [same_format, format_change]
|
|
378
351
|
description: >-
|
|
379
|
-
Resize mode. `max` (default) = fit within bounds, preserving
|
|
380
|
-
and
|
|
381
|
-
"no-enlarge" behaviour
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
set, on whichever Output route runs.
|
|
352
|
+
Resize mode. `max` (default) = fit within the given bounds, preserving
|
|
353
|
+
aspect ratio and never upscaling (caps at the source dimensions — this is
|
|
354
|
+
the "no-enlarge" behaviour). `crop`/`scale` = exact dimensions (`scale`
|
|
355
|
+
deliberately enlarges past the source). Applies only when width or height
|
|
356
|
+
is set.
|
|
385
357
|
color_profile:
|
|
386
358
|
type: enum
|
|
387
359
|
values: [keep, srgb, strip]
|
|
@@ -389,26 +361,21 @@ operation:
|
|
|
389
361
|
availability: planned
|
|
390
362
|
honored_on: [same_format, format_change]
|
|
391
363
|
description: >-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
`planned` — the worker does not yet honour it (today the default strips ICC
|
|
398
|
-
during metadata-strip; the fix preserves it). Applies on BOTH Output routes
|
|
399
|
-
(optimiser preserves; transcoder preserves/converts). Worker-proven flip.
|
|
364
|
+
Colour-profile handling — a dedicated control, separate from `metadata` so
|
|
365
|
+
that stripping metadata never silently shifts colours. `keep` (default) =
|
|
366
|
+
preserve the embedded colour profile; `srgb` = convert to sRGB (also
|
|
367
|
+
handles CMYK → sRGB); `strip` = drop the profile (smallest — only when the
|
|
368
|
+
consumer manages colour itself). `planned` — not yet supported.
|
|
400
369
|
auto_orient:
|
|
401
370
|
type: boolean
|
|
402
371
|
default: true
|
|
403
|
-
availability: planned
|
|
404
372
|
honored_on: [same_format, format_change]
|
|
405
373
|
description: >-
|
|
406
374
|
Bake EXIF orientation into the pixels (honour the camera/device rotation
|
|
407
375
|
tag) so the output displays upright everywhere, then drop the now-redundant
|
|
408
|
-
orientation tag. `
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
inputs without an orientation tag.
|
|
376
|
+
orientation tag. Default `true`; no-op for inputs without an orientation
|
|
377
|
+
tag. On an already-rotated image the pixels are re-encoded (near-lossless),
|
|
378
|
+
which can drop other (non-orientation) metadata even with `metadata: keep`.
|
|
412
379
|
|
|
413
380
|
image_avif:
|
|
414
381
|
availability: beta
|
|
@@ -434,31 +401,31 @@ operation:
|
|
|
434
401
|
honored_on: [same_format]
|
|
435
402
|
description: >-
|
|
436
403
|
Compression quality (1 = smallest file, 100 = best quality). Active in
|
|
437
|
-
`quality` mode (default); in `target_size` mode the
|
|
438
|
-
|
|
404
|
+
`quality` mode (default); in `target_size` mode the quality is chosen
|
|
405
|
+
automatically to hit the size budget, so this option is inactive.
|
|
439
406
|
encoding_mode:
|
|
440
407
|
type: enum
|
|
441
408
|
values: [quality, target_size]
|
|
442
409
|
default: quality
|
|
443
410
|
honored_on: [same_format]
|
|
444
411
|
description: >-
|
|
445
|
-
Compression mode
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
original
|
|
450
|
-
|
|
412
|
+
Compression mode. `quality` = the `quality` slider drives the encode
|
|
413
|
+
(default). `target_size` = automatically find the highest quality that
|
|
414
|
+
fits a byte budget (set via `target_size_bytes`); if the budget can't be
|
|
415
|
+
met even at the lowest quality, the closest result is returned, and the
|
|
416
|
+
original is kept if re-encoding wouldn't be smaller. AVIF encoding is
|
|
417
|
+
slower, so the search is bounded and may stop slightly above the budget.
|
|
451
418
|
target_size_bytes:
|
|
452
419
|
type: integer
|
|
453
420
|
min: 1024
|
|
454
421
|
depends_on: { encoding_mode: target_size }
|
|
455
422
|
honored_on: [same_format]
|
|
456
423
|
description: >-
|
|
457
|
-
Target output size in bytes (min 1024 = 1 KiB). The
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
quality
|
|
461
|
-
|
|
424
|
+
Target output size in bytes (min 1024 = 1 KiB). The encoder searches for
|
|
425
|
+
the highest quality that lands at or under this size; if the target can't
|
|
426
|
+
be met even at the lowest quality, the closest result is returned (the
|
|
427
|
+
result reports the chosen quality and whether the target was met). Requires
|
|
428
|
+
`encoding_mode: target_size`.
|
|
462
429
|
metadata:
|
|
463
430
|
type: enum
|
|
464
431
|
values: [strip, all]
|
|
@@ -469,16 +436,15 @@ operation:
|
|
|
469
436
|
description: >-
|
|
470
437
|
Metadata handling. `strip` = remove all EXIF/IPTC/XMP (default, the only
|
|
471
438
|
supported behaviour). `all` is a DEPRECATED alias of `strip` (migrate to
|
|
472
|
-
`strip
|
|
473
|
-
|
|
474
|
-
worker rejects `keep` as invalid_options).
|
|
439
|
+
`strip`). `keep` is NOT offered for AVIF — it is re-encoded from pixels and
|
|
440
|
+
cannot preserve metadata.
|
|
475
441
|
avif_speed:
|
|
476
442
|
type: integer
|
|
477
443
|
min: 1
|
|
478
444
|
max: 10
|
|
479
445
|
default: 4
|
|
480
446
|
honored_on: [same_format]
|
|
481
|
-
description: "AVIF encode speed (1-10
|
|
447
|
+
description: "AVIF encode speed (1-10). Lower = smaller file, slower encode; higher = faster, larger. Default 4."
|
|
482
448
|
output_format:
|
|
483
449
|
type: enum
|
|
484
450
|
values: [original, webp, auto, smallest]
|
|
@@ -488,32 +454,29 @@ operation:
|
|
|
488
454
|
smallest: { availability: planned }
|
|
489
455
|
description: >-
|
|
490
456
|
Output format. original = keep input format (default); webp = recompress to
|
|
491
|
-
WebP
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
the API try-all-return-smallest logic + worker proof land. See FORMAT.md.
|
|
457
|
+
WebP. Concrete format changes (jpeg/png/avif/gif/tiff) are handled by the
|
|
458
|
+
convert operation. `auto` / `smallest` are PLANNED auto-format directives —
|
|
459
|
+
the server encodes to several candidate formats and returns the best
|
|
460
|
+
(`auto` = the most suitable; `smallest` = the absolute fewest bytes),
|
|
461
|
+
reporting the chosen format via the result `mime_type`. They are selection
|
|
462
|
+
strategies, not concrete targets, and stay `planned` until supported. See
|
|
463
|
+
FORMAT.md.
|
|
499
464
|
width:
|
|
500
465
|
type: integer
|
|
501
466
|
min: 1
|
|
502
467
|
max: 16384
|
|
503
468
|
honored_on: [same_format, format_change]
|
|
504
469
|
description: >-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
the compress optimiser has no resize) — it is NOT the derivative `thumbnail` op.
|
|
510
|
-
Optional; omit to keep the source dimensions.
|
|
470
|
+
Target width in pixels (1-16384; width × height must not exceed the
|
|
471
|
+
group's maximum output area). Resizes the image as part of the operation
|
|
472
|
+
(one transformed output, replacing the source). Optional; omit to keep the
|
|
473
|
+
source dimensions.
|
|
511
474
|
height:
|
|
512
475
|
type: integer
|
|
513
476
|
min: 1
|
|
514
477
|
max: 16384
|
|
515
478
|
honored_on: [same_format, format_change]
|
|
516
|
-
description: "
|
|
479
|
+
description: "Target height in pixels (1-16384; width × height within the group's max output area). Resizes the image (one output). Optional — see `width`."
|
|
517
480
|
fit:
|
|
518
481
|
type: enum
|
|
519
482
|
values: [max, crop, scale]
|
|
@@ -521,12 +484,11 @@ operation:
|
|
|
521
484
|
depends_on: { width: set, height: set, logic: or }
|
|
522
485
|
honored_on: [same_format, format_change]
|
|
523
486
|
description: >-
|
|
524
|
-
Resize mode. `max` (default) = fit within bounds, preserving
|
|
525
|
-
and
|
|
526
|
-
"no-enlarge" behaviour
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
set, on whichever Output route runs.
|
|
487
|
+
Resize mode. `max` (default) = fit within the given bounds, preserving
|
|
488
|
+
aspect ratio and never upscaling (caps at the source dimensions — this is
|
|
489
|
+
the "no-enlarge" behaviour). `crop`/`scale` = exact dimensions (`scale`
|
|
490
|
+
deliberately enlarges past the source). Applies only when width or height
|
|
491
|
+
is set.
|
|
530
492
|
color_profile:
|
|
531
493
|
type: enum
|
|
532
494
|
values: [keep, srgb, strip]
|
|
@@ -534,26 +496,21 @@ operation:
|
|
|
534
496
|
availability: planned
|
|
535
497
|
honored_on: [same_format, format_change]
|
|
536
498
|
description: >-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
`planned` — the worker does not yet honour it (today the default strips ICC
|
|
543
|
-
during metadata-strip; the fix preserves it). Applies on BOTH Output routes
|
|
544
|
-
(optimiser preserves; transcoder preserves/converts). Worker-proven flip.
|
|
499
|
+
Colour-profile handling — a dedicated control, separate from `metadata` so
|
|
500
|
+
that stripping metadata never silently shifts colours. `keep` (default) =
|
|
501
|
+
preserve the embedded colour profile; `srgb` = convert to sRGB (also
|
|
502
|
+
handles CMYK → sRGB); `strip` = drop the profile (smallest — only when the
|
|
503
|
+
consumer manages colour itself). `planned` — not yet supported.
|
|
545
504
|
auto_orient:
|
|
546
505
|
type: boolean
|
|
547
506
|
default: true
|
|
548
|
-
availability: planned
|
|
549
507
|
honored_on: [same_format, format_change]
|
|
550
508
|
description: >-
|
|
551
509
|
Bake EXIF orientation into the pixels (honour the camera/device rotation
|
|
552
510
|
tag) so the output displays upright everywhere, then drop the now-redundant
|
|
553
|
-
orientation tag. `
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
inputs without an orientation tag.
|
|
511
|
+
orientation tag. Default `true`; no-op for inputs without an orientation
|
|
512
|
+
tag. On an already-rotated image the pixels are re-encoded (near-lossless),
|
|
513
|
+
which can drop other (non-orientation) metadata even with `metadata: keep`.
|
|
557
514
|
|
|
558
515
|
# webp split out of the former bundled image group: it is the one input that
|
|
559
516
|
# carries BOTH Resize (raster, proven in thumbnail-images) AND the optimiser
|
|
@@ -573,30 +530,30 @@ operation:
|
|
|
573
530
|
honored_on: [same_format]
|
|
574
531
|
description: >-
|
|
575
532
|
Compression quality (1 = smallest file, 100 = best quality). Active in
|
|
576
|
-
`quality` mode (default); in `target_size` mode the
|
|
577
|
-
|
|
533
|
+
`quality` mode (default); in `target_size` mode the quality is chosen
|
|
534
|
+
automatically to hit the size budget, so this option is inactive.
|
|
578
535
|
encoding_mode:
|
|
579
536
|
type: enum
|
|
580
537
|
values: [quality, target_size]
|
|
581
538
|
default: quality
|
|
582
539
|
honored_on: [same_format]
|
|
583
540
|
description: >-
|
|
584
|
-
Compression mode
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
541
|
+
Compression mode. `quality` = the `quality` slider drives the encode
|
|
542
|
+
(default). `target_size` = automatically find the highest quality that
|
|
543
|
+
fits a byte budget (set via `target_size_bytes`); if the budget can't be
|
|
544
|
+
met even at the lowest quality, the closest result is returned, and the
|
|
545
|
+
original is kept if re-encoding wouldn't be smaller.
|
|
589
546
|
target_size_bytes:
|
|
590
547
|
type: integer
|
|
591
548
|
min: 1024
|
|
592
549
|
depends_on: { encoding_mode: target_size }
|
|
593
550
|
honored_on: [same_format]
|
|
594
551
|
description: >-
|
|
595
|
-
Target output size in bytes (min 1024 = 1 KiB). The
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
quality
|
|
599
|
-
|
|
552
|
+
Target output size in bytes (min 1024 = 1 KiB). The encoder searches for
|
|
553
|
+
the highest quality that lands at or under this size; if the target can't
|
|
554
|
+
be met even at the lowest quality, the closest result is returned (the
|
|
555
|
+
result reports the chosen quality and whether the target was met). Requires
|
|
556
|
+
`encoding_mode: target_size`.
|
|
600
557
|
metadata:
|
|
601
558
|
type: enum
|
|
602
559
|
values: [strip, keep, all]
|
|
@@ -605,33 +562,31 @@ operation:
|
|
|
605
562
|
all: { availability: deprecated }
|
|
606
563
|
honored_on: [same_format]
|
|
607
564
|
description: >-
|
|
608
|
-
Metadata handling
|
|
609
|
-
EXIF
|
|
610
|
-
(
|
|
611
|
-
|
|
612
|
-
`all` reading as "strip all" was counterintuitive) — still accepted,
|
|
613
|
-
emits Deprecation/Sunset, migrate to `strip`. The API lowers `strip`→`all`
|
|
614
|
-
at the worker boundary. Any other value is rejected as invalid_options.
|
|
565
|
+
Metadata handling. `strip` = remove all EXIF/IPTC/XMP (default). `keep` =
|
|
566
|
+
preserve EXIF, colour profile, and XMP. `all` is a DEPRECATED alias of
|
|
567
|
+
`strip` (kept for older callers; emits Deprecation/Sunset headers — migrate
|
|
568
|
+
to `strip`). Any other value is rejected.
|
|
615
569
|
keep_metadata:
|
|
616
570
|
type: array
|
|
617
571
|
items:
|
|
618
|
-
#
|
|
619
|
-
#
|
|
620
|
-
#
|
|
621
|
-
#
|
|
622
|
-
#
|
|
572
|
+
# JSON-Schema `enum:` (not the DSL `type: enum`) on a string item: the
|
|
573
|
+
# SDK operation-schema parser's valid array-item types are
|
|
574
|
+
# {number,integer,float,string,object} — `type: enum` is rejected, so the
|
|
575
|
+
# categories are carried as a JSON-Schema `enum` constraint on a string
|
|
576
|
+
# item. Consumers (FE) read the allowed categories structurally from the
|
|
577
|
+
# sidecar; SDK codegen sees a string array (the enum key is value-only) —
|
|
578
|
+
# wire-identical (a JSON array of strings).
|
|
623
579
|
type: string
|
|
580
|
+
enum: [copyright, gps, date]
|
|
624
581
|
uniqueItems: true
|
|
625
582
|
availability: planned
|
|
626
583
|
depends_on: { metadata: strip }
|
|
627
584
|
honored_on: [same_format]
|
|
628
585
|
description: >-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
do selective keep (use `metadata: keep` to preserve everything), so the
|
|
634
|
-
API returns feature_not_available until lambdas proves it.
|
|
586
|
+
Selectively keep only certain metadata categories and strip the rest —
|
|
587
|
+
refines `metadata: strip`. Allowed categories: `copyright`, `gps`
|
|
588
|
+
(location), `date` (capture time); combinable. `planned` — selective keep
|
|
589
|
+
is not yet supported (use `metadata: keep` to preserve everything).
|
|
635
590
|
output_format:
|
|
636
591
|
type: enum
|
|
637
592
|
values: [original, webp, auto, smallest]
|
|
@@ -641,44 +596,39 @@ operation:
|
|
|
641
596
|
smallest: { availability: planned }
|
|
642
597
|
description: >-
|
|
643
598
|
Output format. original = keep input format (default); webp = recompress to
|
|
644
|
-
WebP
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
the API try-all-return-smallest logic + worker proof land. See FORMAT.md.
|
|
599
|
+
WebP. Concrete format changes (jpeg/png/avif/gif/tiff) are handled by the
|
|
600
|
+
convert operation. `auto` / `smallest` are PLANNED auto-format directives —
|
|
601
|
+
the server encodes to several candidate formats and returns the best
|
|
602
|
+
(`auto` = the most suitable; `smallest` = the absolute fewest bytes),
|
|
603
|
+
reporting the chosen format via the result `mime_type`. They are selection
|
|
604
|
+
strategies, not concrete targets, and stay `planned` until supported. See
|
|
605
|
+
FORMAT.md.
|
|
652
606
|
lossless:
|
|
653
607
|
type: boolean
|
|
654
608
|
default: false
|
|
655
609
|
depends_on: { encoding_mode: quality }
|
|
656
610
|
honored_on: [same_format]
|
|
657
611
|
description: >-
|
|
658
|
-
Encode WebP losslessly
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
`target_size` (the byte-budget loop is inherently lossy). Optimiser
|
|
663
|
-
(same_format) route only.
|
|
612
|
+
Encode WebP losslessly: a genuine lossless WebP encode. Note a lossless
|
|
613
|
+
encode can be LARGER than a lossy one at the same visual quality. Only in
|
|
614
|
+
`quality` mode — incompatible with `target_size` (hitting a byte budget is
|
|
615
|
+
inherently lossy).
|
|
664
616
|
width:
|
|
665
617
|
type: integer
|
|
666
618
|
min: 1
|
|
667
619
|
max: 16384
|
|
668
620
|
honored_on: [same_format, format_change]
|
|
669
621
|
description: >-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
the compress optimiser has no resize) — it is NOT the derivative `thumbnail` op.
|
|
675
|
-
Optional; omit to keep the source dimensions.
|
|
622
|
+
Target width in pixels (1-16384; width × height must not exceed the
|
|
623
|
+
group's maximum output area). Resizes the image as part of the operation
|
|
624
|
+
(one transformed output, replacing the source). Optional; omit to keep the
|
|
625
|
+
source dimensions.
|
|
676
626
|
height:
|
|
677
627
|
type: integer
|
|
678
628
|
min: 1
|
|
679
629
|
max: 16384
|
|
680
630
|
honored_on: [same_format, format_change]
|
|
681
|
-
description: "
|
|
631
|
+
description: "Target height in pixels (1-16384; width × height within the group's max output area). Resizes the image (one output). Optional — see `width`."
|
|
682
632
|
fit:
|
|
683
633
|
type: enum
|
|
684
634
|
values: [max, crop, scale]
|
|
@@ -686,12 +636,11 @@ operation:
|
|
|
686
636
|
depends_on: { width: set, height: set, logic: or }
|
|
687
637
|
honored_on: [same_format, format_change]
|
|
688
638
|
description: >-
|
|
689
|
-
Resize mode. `max` (default) = fit within bounds, preserving
|
|
690
|
-
and
|
|
691
|
-
"no-enlarge" behaviour
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
set, on whichever Output route runs.
|
|
639
|
+
Resize mode. `max` (default) = fit within the given bounds, preserving
|
|
640
|
+
aspect ratio and never upscaling (caps at the source dimensions — this is
|
|
641
|
+
the "no-enlarge" behaviour). `crop`/`scale` = exact dimensions (`scale`
|
|
642
|
+
deliberately enlarges past the source). Applies only when width or height
|
|
643
|
+
is set.
|
|
695
644
|
color_profile:
|
|
696
645
|
type: enum
|
|
697
646
|
values: [keep, srgb, strip]
|
|
@@ -699,26 +648,21 @@ operation:
|
|
|
699
648
|
availability: planned
|
|
700
649
|
honored_on: [same_format, format_change]
|
|
701
650
|
description: >-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
`planned` — the worker does not yet honour it (today the default strips ICC
|
|
708
|
-
during metadata-strip; the fix preserves it). Applies on BOTH Output routes
|
|
709
|
-
(optimiser preserves; transcoder preserves/converts). Worker-proven flip.
|
|
651
|
+
Colour-profile handling — a dedicated control, separate from `metadata` so
|
|
652
|
+
that stripping metadata never silently shifts colours. `keep` (default) =
|
|
653
|
+
preserve the embedded colour profile; `srgb` = convert to sRGB (also
|
|
654
|
+
handles CMYK → sRGB); `strip` = drop the profile (smallest — only when the
|
|
655
|
+
consumer manages colour itself). `planned` — not yet supported.
|
|
710
656
|
auto_orient:
|
|
711
657
|
type: boolean
|
|
712
658
|
default: true
|
|
713
|
-
availability: planned
|
|
714
659
|
honored_on: [same_format, format_change]
|
|
715
660
|
description: >-
|
|
716
661
|
Bake EXIF orientation into the pixels (honour the camera/device rotation
|
|
717
662
|
tag) so the output displays upright everywhere, then drop the now-redundant
|
|
718
|
-
orientation tag. `
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
inputs without an orientation tag.
|
|
663
|
+
orientation tag. Default `true`; no-op for inputs without an orientation
|
|
664
|
+
tag. On an already-rotated image the pixels are re-encoded (near-lossless),
|
|
665
|
+
which can drop other (non-orientation) metadata even with `metadata: keep`.
|
|
722
666
|
|
|
723
667
|
# svg is VECTOR: no raster resize (thumbnail-images does not list svg), and the
|
|
724
668
|
# optimiser `lossless` knob does not apply. SVG compression is SVGO; only
|
|
@@ -744,9 +688,8 @@ operation:
|
|
|
744
688
|
description: >-
|
|
745
689
|
Metadata handling. `strip` = remove all metadata (default, the only
|
|
746
690
|
supported behaviour). `all` is a DEPRECATED alias of `strip` (migrate to
|
|
747
|
-
`strip
|
|
748
|
-
|
|
749
|
-
(the worker rejects `keep` as invalid_options).
|
|
691
|
+
`strip`). `keep` is NOT offered for SVG — optimising the markup cannot
|
|
692
|
+
preserve a metadata block.
|
|
750
693
|
output_format:
|
|
751
694
|
type: enum
|
|
752
695
|
values: [original, webp, auto, smallest]
|
|
@@ -756,10 +699,10 @@ operation:
|
|
|
756
699
|
smallest: { availability: planned }
|
|
757
700
|
description: >-
|
|
758
701
|
Output format. original = keep input format (default); webp = recompress to
|
|
759
|
-
WebP. Concrete format changes are the convert operation
|
|
760
|
-
`smallest` are PLANNED auto-format directives (server picks the
|
|
761
|
-
candidate format, reported via the result `mime_type`) —
|
|
762
|
-
not concrete targets, planned until
|
|
702
|
+
WebP. Concrete format changes are handled by the convert operation. `auto` /
|
|
703
|
+
`smallest` are PLANNED auto-format directives (the server picks the
|
|
704
|
+
best/smallest candidate format, reported via the result `mime_type`) —
|
|
705
|
+
selection strategies, not concrete targets, planned until supported. See
|
|
763
706
|
FORMAT.md.
|
|
764
707
|
|
|
765
708
|
# gif/tiff: raster Resize is engine-proven (both are in thumbnail-images), but
|
|
@@ -778,7 +721,7 @@ operation:
|
|
|
778
721
|
honored_on: [same_format]
|
|
779
722
|
description: >-
|
|
780
723
|
Compression quality (1 = smallest file, 100 = best quality). For animated
|
|
781
|
-
GIF
|
|
724
|
+
GIF this is honoured but real-world size reduction is typically small.
|
|
782
725
|
metadata:
|
|
783
726
|
type: enum
|
|
784
727
|
values: [strip, keep, all]
|
|
@@ -787,33 +730,31 @@ operation:
|
|
|
787
730
|
all: { availability: deprecated }
|
|
788
731
|
honored_on: [same_format]
|
|
789
732
|
description: >-
|
|
790
|
-
Metadata handling
|
|
791
|
-
EXIF
|
|
792
|
-
(
|
|
793
|
-
|
|
794
|
-
`all` reading as "strip all" was counterintuitive) — still accepted,
|
|
795
|
-
emits Deprecation/Sunset, migrate to `strip`. The API lowers `strip`→`all`
|
|
796
|
-
at the worker boundary. Any other value is rejected as invalid_options.
|
|
733
|
+
Metadata handling. `strip` = remove all EXIF/IPTC/XMP (default). `keep` =
|
|
734
|
+
preserve EXIF, colour profile, and XMP. `all` is a DEPRECATED alias of
|
|
735
|
+
`strip` (kept for older callers; emits Deprecation/Sunset headers — migrate
|
|
736
|
+
to `strip`). Any other value is rejected.
|
|
797
737
|
keep_metadata:
|
|
798
738
|
type: array
|
|
799
739
|
items:
|
|
800
|
-
#
|
|
801
|
-
#
|
|
802
|
-
#
|
|
803
|
-
#
|
|
804
|
-
#
|
|
740
|
+
# JSON-Schema `enum:` (not the DSL `type: enum`) on a string item: the
|
|
741
|
+
# SDK operation-schema parser's valid array-item types are
|
|
742
|
+
# {number,integer,float,string,object} — `type: enum` is rejected, so the
|
|
743
|
+
# categories are carried as a JSON-Schema `enum` constraint on a string
|
|
744
|
+
# item. Consumers (FE) read the allowed categories structurally from the
|
|
745
|
+
# sidecar; SDK codegen sees a string array (the enum key is value-only) —
|
|
746
|
+
# wire-identical (a JSON array of strings).
|
|
805
747
|
type: string
|
|
748
|
+
enum: [copyright, gps, date]
|
|
806
749
|
uniqueItems: true
|
|
807
750
|
availability: planned
|
|
808
751
|
depends_on: { metadata: strip }
|
|
809
752
|
honored_on: [same_format]
|
|
810
753
|
description: >-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
do selective keep (use `metadata: keep` to preserve everything), so the
|
|
816
|
-
API returns feature_not_available until lambdas proves it.
|
|
754
|
+
Selectively keep only certain metadata categories and strip the rest —
|
|
755
|
+
refines `metadata: strip`. Allowed categories: `copyright`, `gps`
|
|
756
|
+
(location), `date` (capture time); combinable. `planned` — selective keep
|
|
757
|
+
is not yet supported (use `metadata: keep` to preserve everything).
|
|
817
758
|
output_format:
|
|
818
759
|
type: enum
|
|
819
760
|
values: [original, webp, auto, smallest]
|
|
@@ -823,32 +764,29 @@ operation:
|
|
|
823
764
|
smallest: { availability: planned }
|
|
824
765
|
description: >-
|
|
825
766
|
Output format. original = keep input format (default); webp = recompress to
|
|
826
|
-
WebP
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
the API try-all-return-smallest logic + worker proof land. See FORMAT.md.
|
|
767
|
+
WebP. Concrete format changes (jpeg/png/avif/gif/tiff) are handled by the
|
|
768
|
+
convert operation. `auto` / `smallest` are PLANNED auto-format directives —
|
|
769
|
+
the server encodes to several candidate formats and returns the best
|
|
770
|
+
(`auto` = the most suitable; `smallest` = the absolute fewest bytes),
|
|
771
|
+
reporting the chosen format via the result `mime_type`. They are selection
|
|
772
|
+
strategies, not concrete targets, and stay `planned` until supported. See
|
|
773
|
+
FORMAT.md.
|
|
834
774
|
width:
|
|
835
775
|
type: integer
|
|
836
776
|
min: 1
|
|
837
777
|
max: 16384
|
|
838
778
|
honored_on: [same_format, format_change]
|
|
839
779
|
description: >-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
the compress optimiser has no resize) — it is NOT the derivative `thumbnail` op.
|
|
845
|
-
Optional; omit to keep the source dimensions.
|
|
780
|
+
Target width in pixels (1-16384; width × height must not exceed the
|
|
781
|
+
group's maximum output area). Resizes the image as part of the operation
|
|
782
|
+
(one transformed output, replacing the source). Optional; omit to keep the
|
|
783
|
+
source dimensions.
|
|
846
784
|
height:
|
|
847
785
|
type: integer
|
|
848
786
|
min: 1
|
|
849
787
|
max: 16384
|
|
850
788
|
honored_on: [same_format, format_change]
|
|
851
|
-
description: "
|
|
789
|
+
description: "Target height in pixels (1-16384; width × height within the group's max output area). Resizes the image (one output). Optional — see `width`."
|
|
852
790
|
fit:
|
|
853
791
|
type: enum
|
|
854
792
|
values: [max, crop, scale]
|
|
@@ -856,12 +794,11 @@ operation:
|
|
|
856
794
|
depends_on: { width: set, height: set, logic: or }
|
|
857
795
|
honored_on: [same_format, format_change]
|
|
858
796
|
description: >-
|
|
859
|
-
Resize mode. `max` (default) = fit within bounds, preserving
|
|
860
|
-
and
|
|
861
|
-
"no-enlarge" behaviour
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
set, on whichever Output route runs.
|
|
797
|
+
Resize mode. `max` (default) = fit within the given bounds, preserving
|
|
798
|
+
aspect ratio and never upscaling (caps at the source dimensions — this is
|
|
799
|
+
the "no-enlarge" behaviour). `crop`/`scale` = exact dimensions (`scale`
|
|
800
|
+
deliberately enlarges past the source). Applies only when width or height
|
|
801
|
+
is set.
|
|
865
802
|
color_profile:
|
|
866
803
|
type: enum
|
|
867
804
|
values: [keep, srgb, strip]
|
|
@@ -869,26 +806,21 @@ operation:
|
|
|
869
806
|
availability: planned
|
|
870
807
|
honored_on: [same_format, format_change]
|
|
871
808
|
description: >-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
`planned` — the worker does not yet honour it (today the default strips ICC
|
|
878
|
-
during metadata-strip; the fix preserves it). Applies on BOTH Output routes
|
|
879
|
-
(optimiser preserves; transcoder preserves/converts). Worker-proven flip.
|
|
809
|
+
Colour-profile handling — a dedicated control, separate from `metadata` so
|
|
810
|
+
that stripping metadata never silently shifts colours. `keep` (default) =
|
|
811
|
+
preserve the embedded colour profile; `srgb` = convert to sRGB (also
|
|
812
|
+
handles CMYK → sRGB); `strip` = drop the profile (smallest — only when the
|
|
813
|
+
consumer manages colour itself). `planned` — not yet supported.
|
|
880
814
|
auto_orient:
|
|
881
815
|
type: boolean
|
|
882
816
|
default: true
|
|
883
|
-
availability: planned
|
|
884
817
|
honored_on: [same_format, format_change]
|
|
885
818
|
description: >-
|
|
886
819
|
Bake EXIF orientation into the pixels (honour the camera/device rotation
|
|
887
820
|
tag) so the output displays upright everywhere, then drop the now-redundant
|
|
888
|
-
orientation tag. `
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
inputs without an orientation tag.
|
|
821
|
+
orientation tag. Default `true`; no-op for inputs without an orientation
|
|
822
|
+
tag. On an already-rotated image the pixels are re-encoded (near-lossless),
|
|
823
|
+
which can drop other (non-orientation) metadata even with `metadata: keep`.
|
|
892
824
|
|
|
893
825
|
audio:
|
|
894
826
|
mimes:
|
|
@@ -924,7 +856,7 @@ operation:
|
|
|
924
856
|
Output bitrate in kbps (CBR/ABR). Applies to lossy OUTPUTS. Only a
|
|
925
857
|
caller-EXPLICIT bitrate against a lossless output is rejected as
|
|
926
858
|
invalid_options (flac/wav have no bitrate target); the `default: 128` is
|
|
927
|
-
never the basis for a rejection (
|
|
859
|
+
never the basis for a rejection (a default a caller did not set
|
|
928
860
|
is the server's to resolve, and is dropped for a lossless target). The output
|
|
929
861
|
is the input format unless `output_format` re-targets it: with
|
|
930
862
|
`output_format: original` the lossy/lossless distinction follows the input MIME
|
|
@@ -953,18 +885,17 @@ operation:
|
|
|
953
885
|
type: float
|
|
954
886
|
min: 0
|
|
955
887
|
description: >
|
|
956
|
-
Trim from beginning in seconds (absent = from the start).
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
[`trim_start`, input_duration − `trim_end`].
|
|
888
|
+
Trim from beginning in seconds (absent = from the start). The clip
|
|
889
|
+
is cut before encoding, with the same from-end semantic as compress.video
|
|
890
|
+
/ convert / merge: the kept clip is [`trim_start`, input_duration −
|
|
891
|
+
`trim_end`].
|
|
961
892
|
trim_end:
|
|
962
893
|
type: float
|
|
963
894
|
min: 0
|
|
964
895
|
description: >
|
|
965
896
|
Trim from end in seconds (absent = to the end). Removes this many
|
|
966
897
|
seconds from the end; with `trim_start` the kept clip is
|
|
967
|
-
[`trim_start`, input_duration − `trim_end`].
|
|
898
|
+
[`trim_start`, input_duration − `trim_end`]. See `trim_start`.
|
|
968
899
|
|
|
969
900
|
video:
|
|
970
901
|
mimes:
|
|
@@ -1021,11 +952,11 @@ operation:
|
|
|
1021
952
|
Output container. original = keep the input container (default,
|
|
1022
953
|
same-format compression). Non-`original` values re-target the
|
|
1023
954
|
container via the API "compress+format" facade (one canonicalized
|
|
1024
|
-
convert-with-size-cap pass); see
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
955
|
+
convert-with-size-cap pass); see FORMAT.md. When set, the RESOLVED
|
|
956
|
+
target container determines the valid codec/audio_codec/faststart
|
|
957
|
+
sets — an absent/default codec resolves to a container-valid one
|
|
958
|
+
(e.g. webm -> vp9) and is never rejected; only a caller-EXPLICIT
|
|
959
|
+
incompatible value is rejected.
|
|
1029
960
|
codec:
|
|
1030
961
|
type: enum
|
|
1031
962
|
values: [h264, h265, vp9, av1]
|
|
@@ -1039,9 +970,8 @@ operation:
|
|
|
1039
970
|
AV1) the server resolves a container-valid codec (WebM -> vp9). A
|
|
1040
971
|
DEFAULT value is never rejected — including an explicit
|
|
1041
972
|
`output_format: webm` left at the default `h264` (resolves to vp9,
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
defaults" + ADR-0023 (supersedes ADR-0020).
|
|
973
|
+
not rejected); only a caller-EXPLICIT incompatible codec is rejected.
|
|
974
|
+
See FORMAT.md "Container-conditional defaults".
|
|
1045
975
|
encoding_mode:
|
|
1046
976
|
type: enum
|
|
1047
977
|
values: [crf, target_size]
|
|
@@ -1059,7 +989,7 @@ operation:
|
|
|
1059
989
|
crf = constant quality (variable file size). target_size = constrained
|
|
1060
990
|
output file size (two-pass). target_size is LIVE for mp4/MOV output; for
|
|
1061
991
|
webm/ogg output and long-form the server returns `feature_not_available`
|
|
1062
|
-
(use crf there) until
|
|
992
|
+
(use crf there) until two-pass for this container ships.
|
|
1063
993
|
crf:
|
|
1064
994
|
type: integer
|
|
1065
995
|
min: 0
|
|
@@ -1075,10 +1005,10 @@ operation:
|
|
|
1075
1005
|
# like encoding_mode:target_size — feature_not_available for webm/ogg +
|
|
1076
1006
|
# long-form until VP9 two-pass ships. min 1MiB (the two-pass 1MiB floor).
|
|
1077
1007
|
description: >-
|
|
1078
|
-
Target output file size in bytes (min 1MiB).
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1008
|
+
Target output file size in bytes (min 1MiB). A two-pass encode lands the
|
|
1009
|
+
output at or under the target (a safety undershoot + audio reserve apply).
|
|
1010
|
+
mp4/MOV output only — webm/ogg + long-form return `feature_not_available`
|
|
1011
|
+
until two-pass for this container ships.
|
|
1082
1012
|
preset:
|
|
1083
1013
|
type: enum
|
|
1084
1014
|
values: [ultrafast, superfast, veryfast, faster, fast, medium, slow, slower, veryslow]
|
|
@@ -1088,12 +1018,12 @@ operation:
|
|
|
1088
1018
|
type: integer
|
|
1089
1019
|
min: 2
|
|
1090
1020
|
max: 7680
|
|
1091
|
-
description: "Output width in pixels. Must be an
|
|
1021
|
+
description: "Output width in pixels. Must be an even integer ≥ 2; odd values are rejected by the encoder."
|
|
1092
1022
|
height:
|
|
1093
1023
|
type: integer
|
|
1094
1024
|
min: 2
|
|
1095
1025
|
max: 4320
|
|
1096
|
-
description: "Output height in pixels. Must be an
|
|
1026
|
+
description: "Output height in pixels. Must be an even integer ≥ 2; odd values are rejected by the encoder."
|
|
1097
1027
|
fit:
|
|
1098
1028
|
type: enum
|
|
1099
1029
|
values: [max, crop, scale, pad]
|
|
@@ -1109,14 +1039,13 @@ operation:
|
|
|
1109
1039
|
type: boolean
|
|
1110
1040
|
default: true
|
|
1111
1041
|
description: >
|
|
1112
|
-
Move the MP4/MOV moov atom to
|
|
1113
|
-
MP4/MOV only.
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
atom (e.g. WebM) — that is NOT a
|
|
1117
|
-
faststart:true on such a container
|
|
1118
|
-
FORMAT.md "Container-conditional defaults"
|
|
1119
|
-
ADR-0020).
|
|
1042
|
+
Move the MP4/MOV moov atom to the front so the file starts playing
|
|
1043
|
+
before it is fully downloaded (progressive web playback). MP4/MOV only.
|
|
1044
|
+
CONTAINER-CONDITIONAL against the RESOLVED output container (the explicit
|
|
1045
|
+
`output_format` if set, else the input): the default (true) is silently
|
|
1046
|
+
inapplicable for a container with no moov atom (e.g. WebM) — that is NOT a
|
|
1047
|
+
rejection. Only a caller-EXPLICIT faststart:true on such a container is
|
|
1048
|
+
rejected. See FORMAT.md "Container-conditional defaults".
|
|
1120
1049
|
audio_codec:
|
|
1121
1050
|
type: enum
|
|
1122
1051
|
values: [aac, opus, vorbis, copy]
|
|
@@ -1124,18 +1053,16 @@ operation:
|
|
|
1124
1053
|
description: >
|
|
1125
1054
|
Audio codec. copy = passthrough (keep the source stream as-is;
|
|
1126
1055
|
re-encode only on explicit request) — aac/opus/vorbis re-encode.
|
|
1127
|
-
Default is `copy
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
FORMAT.md "Container-conditional defaults" + ADR-0023 (supersedes
|
|
1138
|
-
ADR-0020).
|
|
1056
|
+
Default is `copy`: on the same-container path (`output_format`
|
|
1057
|
+
original/absent) the source stream is already container-compatible,
|
|
1058
|
+
so copy is safe. When `output_format` RE-TARGETS the container, an
|
|
1059
|
+
absent/default audio_codec resolves to a container-valid codec via the
|
|
1060
|
+
facade (e.g. webm -> opus), NOT a blind copy of an incompatible stream
|
|
1061
|
+
— a DEFAULT is never rejected (the exact per-container resolution,
|
|
1062
|
+
incl. ogg vorbis-vs-opus, is an output_format stable-flip
|
|
1063
|
+
prerequisite). A caller-EXPLICIT codec the resolved container cannot
|
|
1064
|
+
carry (e.g. aac on a webm target) is rejected. See FORMAT.md
|
|
1065
|
+
"Container-conditional defaults".
|
|
1139
1066
|
audio_bitrate:
|
|
1140
1067
|
type: enum
|
|
1141
1068
|
value_type: integer
|
|
@@ -1152,21 +1079,17 @@ operation:
|
|
|
1152
1079
|
description: >
|
|
1153
1080
|
Audio track bitrate in kbps. Only valid with an explicit re-encode
|
|
1154
1081
|
audio_codec (aac/opus/vorbis): an explicit audio_bitrate with
|
|
1155
|
-
audio_codec `copy`/omitted is rejected
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
bitrate is only meaningful on an explicit re-encode (matches the
|
|
1159
|
-
worker, which applies none).
|
|
1082
|
+
audio_codec `copy`/omitted is rejected; copy preserves the source
|
|
1083
|
+
bitrate. No default: a bitrate is only meaningful on an explicit
|
|
1084
|
+
re-encode.
|
|
1160
1085
|
trim_start:
|
|
1161
1086
|
type: float
|
|
1162
1087
|
min: 0
|
|
1163
1088
|
description: >
|
|
1164
|
-
Trim from beginning in seconds (absent = from the start).
|
|
1165
|
-
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
input_duration − `trim_end`]. SHORT-FORM only — for long-form video
|
|
1169
|
-
the server returns `feature_not_available` (trim a short clip, or
|
|
1089
|
+
Trim from beginning in seconds (absent = from the start). The clip
|
|
1090
|
+
is cut before encoding, with the same from-end semantic as convert/merge:
|
|
1091
|
+
the kept clip is [`trim_start`, input_duration − `trim_end`]. SHORT-FORM
|
|
1092
|
+
only — for long-form video this is not supported (trim a short clip, or
|
|
1170
1093
|
chain a `split`); see the compress.video.trim.longform constraint.
|
|
1171
1094
|
trim_end:
|
|
1172
1095
|
type: float
|
|
@@ -1174,8 +1097,8 @@ operation:
|
|
|
1174
1097
|
description: >
|
|
1175
1098
|
Trim from end in seconds (absent = to the end). Removes this many
|
|
1176
1099
|
seconds from the end; with `trim_start` the kept clip is
|
|
1177
|
-
[`trim_start`, input_duration − `trim_end`].
|
|
1178
|
-
|
|
1100
|
+
[`trim_start`, input_duration − `trim_end`]. See `trim_start`
|
|
1101
|
+
(short-form only; long-form is not supported).
|
|
1179
1102
|
|
|
1180
1103
|
document_pdf:
|
|
1181
1104
|
mimes:
|
|
@@ -1198,39 +1121,39 @@ operation:
|
|
|
1198
1121
|
min: 1
|
|
1199
1122
|
max: 100
|
|
1200
1123
|
default: 50
|
|
1201
|
-
description: "Compression quality (1 = smallest, 100 = best). Maps to a
|
|
1124
|
+
description: "Compression quality (1 = smallest, 100 = best). Maps to a compression preset. Overridden by `profile` when that is set."
|
|
1202
1125
|
profile:
|
|
1203
1126
|
type: enum
|
|
1204
1127
|
values: [screen, ebook, printer, prepress]
|
|
1205
1128
|
description: >-
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
|
|
1209
|
-
|
|
1129
|
+
Compression preset, pinned directly (overrides the quality→preset
|
|
1130
|
+
mapping). screen = lowest-res / smallest, ebook = mid, printer =
|
|
1131
|
+
300dpi, prepress = print-production. Optional — omit to let `quality`
|
|
1132
|
+
drive the preset.
|
|
1210
1133
|
grayscale:
|
|
1211
1134
|
type: boolean
|
|
1212
1135
|
default: false
|
|
1213
|
-
description: "Convert all images to grayscale (smaller output; discards colour).
|
|
1136
|
+
description: "Convert all images to grayscale (smaller output; discards colour)."
|
|
1214
1137
|
image_dpi:
|
|
1215
1138
|
type: integer
|
|
1216
1139
|
min: 72
|
|
1217
1140
|
max: 600
|
|
1218
|
-
description: "Downsample images above this DPI (72–600 inclusive). Omit to
|
|
1141
|
+
description: "Downsample images above this DPI (72–600 inclusive). Omit to use automatic DPI analysis. Out-of-range is rejected."
|
|
1219
1142
|
colorspace:
|
|
1220
1143
|
type: enum
|
|
1221
1144
|
values: [unchanged, rgb, cmyk, grayscale]
|
|
1222
1145
|
default: unchanged
|
|
1223
1146
|
availability: planned
|
|
1224
|
-
description: "Output color space. `planned` — not yet
|
|
1147
|
+
description: "Output color space. `planned` — not yet supported (use `grayscale` for grayscale conversion)."
|
|
1225
1148
|
pages:
|
|
1226
1149
|
type: string
|
|
1227
1150
|
availability: planned
|
|
1228
|
-
description: "Page selection (e.g. '1-5,8,10-12'). Omit to keep all pages. `planned` — not yet
|
|
1151
|
+
description: "Page selection (e.g. '1-5,8,10-12'). Omit to keep all pages. `planned` — not yet supported."
|
|
1229
1152
|
flatten_forms:
|
|
1230
1153
|
type: boolean
|
|
1231
1154
|
default: false
|
|
1232
1155
|
availability: planned
|
|
1233
|
-
description: "Flatten interactive form fields into static content. `planned` — not yet
|
|
1156
|
+
description: "Flatten interactive form fields into static content. `planned` — not yet supported."
|
|
1234
1157
|
|
|
1235
1158
|
document_office:
|
|
1236
1159
|
mimes:
|
|
@@ -1245,29 +1168,29 @@ operation:
|
|
|
1245
1168
|
min: 1
|
|
1246
1169
|
max: 100
|
|
1247
1170
|
default: 50
|
|
1248
|
-
description: "Compression quality (1 = smallest, 100 = best). The only
|
|
1171
|
+
description: "Compression quality (1 = smallest, 100 = best). The only document compression option supported today."
|
|
1249
1172
|
image_quality:
|
|
1250
1173
|
type: integer
|
|
1251
1174
|
min: 1
|
|
1252
1175
|
max: 100
|
|
1253
1176
|
default: 80
|
|
1254
1177
|
availability: planned
|
|
1255
|
-
description: "Recompress embedded images at this quality level (1 = smallest, 100 = best). `planned` — not yet
|
|
1178
|
+
description: "Recompress embedded images at this quality level (1 = smallest, 100 = best). `planned` — not yet supported (use `quality`)."
|
|
1256
1179
|
strip_macros:
|
|
1257
1180
|
type: boolean
|
|
1258
1181
|
default: true
|
|
1259
1182
|
availability: planned
|
|
1260
|
-
description: "Remove VBA macros and ActiveX controls. `planned` — not yet
|
|
1183
|
+
description: "Remove VBA macros and ActiveX controls. `planned` — not yet supported."
|
|
1261
1184
|
strip_hidden_data:
|
|
1262
1185
|
type: boolean
|
|
1263
1186
|
default: true
|
|
1264
1187
|
availability: planned
|
|
1265
|
-
description: "Remove revisions, comments, personal info, hidden rows/columns, and speaker notes. `planned` — not yet
|
|
1188
|
+
description: "Remove revisions, comments, personal info, hidden rows/columns, and speaker notes. `planned` — not yet supported."
|
|
1266
1189
|
strip_unused_fonts:
|
|
1267
1190
|
type: boolean
|
|
1268
1191
|
default: false
|
|
1269
1192
|
availability: planned
|
|
1270
|
-
description: "Remove embedded fonts not referenced in the document. Risk: may affect rendering on systems without the font installed. `planned` — not yet
|
|
1193
|
+
description: "Remove embedded fonts not referenced in the document. Risk: may affect rendering on systems without the font installed. `planned` — not yet supported."
|
|
1271
1194
|
|
|
1272
1195
|
document_odf:
|
|
1273
1196
|
mimes:
|
|
@@ -1281,24 +1204,24 @@ operation:
|
|
|
1281
1204
|
min: 1
|
|
1282
1205
|
max: 100
|
|
1283
1206
|
default: 50
|
|
1284
|
-
description: "Compression quality (1 = smallest, 100 = best). The only
|
|
1207
|
+
description: "Compression quality (1 = smallest, 100 = best). The only document compression option supported today."
|
|
1285
1208
|
image_quality:
|
|
1286
1209
|
type: integer
|
|
1287
1210
|
min: 1
|
|
1288
1211
|
max: 100
|
|
1289
1212
|
default: 80
|
|
1290
1213
|
availability: planned
|
|
1291
|
-
description: "Recompress embedded images at this quality level. `planned` — not yet
|
|
1214
|
+
description: "Recompress embedded images at this quality level. `planned` — not yet supported (use `quality`)."
|
|
1292
1215
|
strip_metadata:
|
|
1293
1216
|
type: boolean
|
|
1294
1217
|
default: true
|
|
1295
1218
|
availability: planned
|
|
1296
|
-
description: "Remove document metadata (author, revision history, comments). `planned` — not yet
|
|
1219
|
+
description: "Remove document metadata (author, revision history, comments). `planned` — not yet supported."
|
|
1297
1220
|
strip_unused_styles:
|
|
1298
1221
|
type: boolean
|
|
1299
1222
|
default: false
|
|
1300
1223
|
availability: planned
|
|
1301
|
-
description: "Remove style definitions not referenced in document content. `planned` — not yet
|
|
1224
|
+
description: "Remove style definitions not referenced in document content. `planned` — not yet supported."
|
|
1302
1225
|
|
|
1303
1226
|
document_epub:
|
|
1304
1227
|
mimes:
|
|
@@ -1310,21 +1233,21 @@ operation:
|
|
|
1310
1233
|
min: 1
|
|
1311
1234
|
max: 100
|
|
1312
1235
|
default: 50
|
|
1313
|
-
description: "Compression quality (1 = smallest, 100 = best). The only
|
|
1236
|
+
description: "Compression quality (1 = smallest, 100 = best). The only document compression option supported today."
|
|
1314
1237
|
image_quality:
|
|
1315
1238
|
type: integer
|
|
1316
1239
|
min: 1
|
|
1317
1240
|
max: 100
|
|
1318
1241
|
default: 80
|
|
1319
1242
|
availability: planned
|
|
1320
|
-
description: "Recompress embedded images at this quality level. `planned` — not yet
|
|
1243
|
+
description: "Recompress embedded images at this quality level. `planned` — not yet supported (use `quality`)."
|
|
1321
1244
|
font_subsetting:
|
|
1322
1245
|
type: boolean
|
|
1323
1246
|
default: true
|
|
1324
1247
|
availability: planned
|
|
1325
|
-
description: "Subset embedded fonts to only include glyphs used in the document. Significant size reduction for books with large font files. `planned` — not yet
|
|
1248
|
+
description: "Subset embedded fonts to only include glyphs used in the document. Significant size reduction for books with large font files. `planned` — not yet supported."
|
|
1326
1249
|
strip_unused_css:
|
|
1327
1250
|
type: boolean
|
|
1328
1251
|
default: false
|
|
1329
1252
|
availability: planned
|
|
1330
|
-
description: "Remove CSS rules not referenced by any content. Risk: may affect rendering in some readers. `planned` — not yet
|
|
1253
|
+
description: "Remove CSS rules not referenced by any content. Risk: may affect rendering in some readers. `planned` — not yet supported."
|