@giveitsmaller/contracts 0.35.0 → 0.36.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 +58 -1
- package/accepted-options/image-output-routes.json +43 -10
- package/availability/availability.json +204 -18
- 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 +1 -1
- package/dist/openapi/models/OperationDownload.js +1 -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 +1 -1
- package/dist/openapi/models/OperationType.js +1 -1
- 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/compress.d.ts +18 -0
- package/dist/operations/compress.js +15 -0
- package/dist/operations/compress.metadata.js +33 -0
- package/dist/operations/convert.d.ts +21 -0
- package/dist/operations/convert.js +15 -0
- package/dist/operations/convert.metadata.js +25 -0
- package/openapi/api.yaml +1 -1
- package/operation-capabilities/operation-capabilities.json +1 -1
- package/operations/schemas/compress.yaml +152 -38
- package/operations/schemas/convert.yaml +80 -1
- package/package.json +1 -1
|
@@ -44,13 +44,16 @@ operation:
|
|
|
44
44
|
# see FORMAT.md §"Route-aware Output model"). The derived per-(media, route,
|
|
45
45
|
# output_format) projection is accepted-options/image-output-routes.json.
|
|
46
46
|
#
|
|
47
|
-
# RESIZE-INSIDE-OUTPUT ships STABLE (hub-directed fast-path, 2026-06-22
|
|
48
|
-
#
|
|
49
|
-
#
|
|
50
|
-
#
|
|
51
|
-
#
|
|
52
|
-
#
|
|
53
|
-
#
|
|
47
|
+
# RESIZE-INSIDE-OUTPUT ships STABLE (hub-directed fast-path, 2026-06-22;
|
|
48
|
+
# engine corrected per API worker-verification n4CmaDE8, 2026-06-23):
|
|
49
|
+
# width / height / fit + max_output_pixels. The CONVERT worker is the image
|
|
50
|
+
# resize engine for the WHOLE Output op (image_convert.rs, Lanczos, 1-16384,
|
|
51
|
+
# 16MP cap, svg-reject; live #257) — the compress optimiser has NO resize.
|
|
52
|
+
# The API routes BOTH arms through convert (same_format = convert to the same
|
|
53
|
+
# token; format_change = convert to the target), so these keys are declared
|
|
54
|
+
# HERE (the facade entry) AND on convert.image (where the worker reads them +
|
|
55
|
+
# the API re-validates the rewritten op). REPLACE transform, ONE output —
|
|
56
|
+
# NOT thumbnail's derivative/preview semantics; thumbnail.yaml untouched.
|
|
54
57
|
#
|
|
55
58
|
# STABLE on the optimiser (same_format) route (all worker-proven 2026-06-23):
|
|
56
59
|
# lossless (jpeg/webp) — worker honours the `lossless` bool, API emits it.
|
|
@@ -67,7 +70,7 @@ operation:
|
|
|
67
70
|
image_jpeg:
|
|
68
71
|
mimes:
|
|
69
72
|
- image/jpeg
|
|
70
|
-
# Resize-inside-Output
|
|
73
|
+
# Resize-inside-Output shares the convert resize engine's 16MP output-area
|
|
71
74
|
# wall — the per-axis 16384 cap can't express it (FORMAT.md §max_output_pixels).
|
|
72
75
|
max_output_pixels: 16000000
|
|
73
76
|
options:
|
|
@@ -76,8 +79,36 @@ operation:
|
|
|
76
79
|
min: 1
|
|
77
80
|
max: 100
|
|
78
81
|
default: 80
|
|
82
|
+
depends_on: { encoding_mode: quality }
|
|
79
83
|
honored_on: [same_format]
|
|
80
|
-
description:
|
|
84
|
+
description: >-
|
|
85
|
+
Compression quality (1 = smallest file, 100 = best quality). Active in
|
|
86
|
+
`quality` mode (default); in `target_size` mode the encode-measure loop
|
|
87
|
+
owns quality, so this option is inactive.
|
|
88
|
+
encoding_mode:
|
|
89
|
+
type: enum
|
|
90
|
+
values: [quality, target_size]
|
|
91
|
+
default: quality
|
|
92
|
+
per_value_availability:
|
|
93
|
+
target_size: { availability: planned }
|
|
94
|
+
honored_on: [same_format]
|
|
95
|
+
description: >-
|
|
96
|
+
Compression mode (mirrors compress.video). `quality` = the `quality`
|
|
97
|
+
slider drives the encode (default, live). `target_size` = `planned` —
|
|
98
|
+
hit a byte budget via the worker's encode-measure-binary-search loop
|
|
99
|
+
(lambdas building; jpeg/webp/avif only). Optimiser (same_format) route.
|
|
100
|
+
target_size_bytes:
|
|
101
|
+
type: integer
|
|
102
|
+
min: 1024
|
|
103
|
+
availability: planned
|
|
104
|
+
depends_on: { encoding_mode: target_size }
|
|
105
|
+
honored_on: [same_format]
|
|
106
|
+
description: >-
|
|
107
|
+
Target output size in bytes (min 1024 = 1 KiB). `planned` — the image
|
|
108
|
+
encode-measure loop binary-searches quality to land at or under the
|
|
109
|
+
target; best-effort if the target is unreachable at min quality (the
|
|
110
|
+
result reports the chosen quality + whether the target was met).
|
|
111
|
+
Optimiser (same_format) route.
|
|
81
112
|
metadata:
|
|
82
113
|
type: enum
|
|
83
114
|
values: [all, keep]
|
|
@@ -105,13 +136,16 @@ operation:
|
|
|
105
136
|
lossless:
|
|
106
137
|
type: boolean
|
|
107
138
|
default: false
|
|
139
|
+
depends_on: { encoding_mode: quality }
|
|
108
140
|
honored_on: [same_format]
|
|
109
141
|
description: >-
|
|
110
142
|
Lossless JPEG re-optimisation (optimiser path): optimises the Huffman
|
|
111
143
|
tables WITHOUT re-encoding pixels — bit-preserving on the pixel data,
|
|
112
144
|
no quality loss (it cannot recover detail a lossy JPEG already lost).
|
|
113
145
|
STABLE — the compress-image worker honours the `lossless` bool
|
|
114
|
-
(un-parked 2026-06-23).
|
|
146
|
+
(un-parked 2026-06-23). Only in `quality` mode — incompatible with
|
|
147
|
+
`target_size` (the byte-budget loop is inherently lossy). Optimiser
|
|
148
|
+
(same_format) route only.
|
|
115
149
|
width:
|
|
116
150
|
type: integer
|
|
117
151
|
min: 1
|
|
@@ -120,8 +154,9 @@ operation:
|
|
|
120
154
|
description: >-
|
|
121
155
|
Resize-inside-Output: target width in pixels (1-16384; width*height <=
|
|
122
156
|
max_output_pixels). Resize the image as part of Output (replace semantics,
|
|
123
|
-
ONE transformed output) using the proven
|
|
124
|
-
|
|
157
|
+
ONE transformed output) using the proven convert resize engine (Lanczos;
|
|
158
|
+
the API routes Output resize through the convert worker, BOTH routes —
|
|
159
|
+
the compress optimiser has no resize) — it is NOT the derivative `thumbnail` op.
|
|
125
160
|
Optional; omit to keep the source dimensions.
|
|
126
161
|
height:
|
|
127
162
|
type: integer
|
|
@@ -136,9 +171,12 @@ operation:
|
|
|
136
171
|
depends_on: { width: set, height: set, logic: or }
|
|
137
172
|
honored_on: [same_format, format_change]
|
|
138
173
|
description: >-
|
|
139
|
-
Resize mode. max = fit within bounds
|
|
140
|
-
|
|
141
|
-
|
|
174
|
+
Resize mode. `max` (default) = fit within bounds, preserving aspect ratio
|
|
175
|
+
and NEVER upscaling — it caps at the source dimensions. This IS the
|
|
176
|
+
"no-enlarge" behaviour (there is no separate `no_enlarge` flag — the
|
|
177
|
+
worker has no such key). `crop`/`scale` = exact dimensions (`scale`
|
|
178
|
+
deliberately enlarges past source). Applies only when width or height is
|
|
179
|
+
set, on whichever Output route runs.
|
|
142
180
|
|
|
143
181
|
image_png:
|
|
144
182
|
mimes:
|
|
@@ -197,8 +235,9 @@ operation:
|
|
|
197
235
|
description: >-
|
|
198
236
|
Resize-inside-Output: target width in pixels (1-16384; width*height <=
|
|
199
237
|
max_output_pixels). Resize the image as part of Output (replace semantics,
|
|
200
|
-
ONE transformed output) using the proven
|
|
201
|
-
|
|
238
|
+
ONE transformed output) using the proven convert resize engine (Lanczos;
|
|
239
|
+
the API routes Output resize through the convert worker, BOTH routes —
|
|
240
|
+
the compress optimiser has no resize) — it is NOT the derivative `thumbnail` op.
|
|
202
241
|
Optional; omit to keep the source dimensions.
|
|
203
242
|
height:
|
|
204
243
|
type: integer
|
|
@@ -213,9 +252,12 @@ operation:
|
|
|
213
252
|
depends_on: { width: set, height: set, logic: or }
|
|
214
253
|
honored_on: [same_format, format_change]
|
|
215
254
|
description: >-
|
|
216
|
-
Resize mode. max = fit within bounds
|
|
217
|
-
|
|
218
|
-
|
|
255
|
+
Resize mode. `max` (default) = fit within bounds, preserving aspect ratio
|
|
256
|
+
and NEVER upscaling — it caps at the source dimensions. This IS the
|
|
257
|
+
"no-enlarge" behaviour (there is no separate `no_enlarge` flag — the
|
|
258
|
+
worker has no such key). `crop`/`scale` = exact dimensions (`scale`
|
|
259
|
+
deliberately enlarges past source). Applies only when width or height is
|
|
260
|
+
set, on whichever Output route runs.
|
|
219
261
|
|
|
220
262
|
image_avif:
|
|
221
263
|
availability: beta
|
|
@@ -237,8 +279,37 @@ operation:
|
|
|
237
279
|
min: 1
|
|
238
280
|
max: 100
|
|
239
281
|
default: 80
|
|
282
|
+
depends_on: { encoding_mode: quality }
|
|
240
283
|
honored_on: [same_format]
|
|
241
|
-
description:
|
|
284
|
+
description: >-
|
|
285
|
+
Compression quality (1 = smallest file, 100 = best quality). Active in
|
|
286
|
+
`quality` mode (default); in `target_size` mode the encode-measure loop
|
|
287
|
+
owns quality, so this option is inactive.
|
|
288
|
+
encoding_mode:
|
|
289
|
+
type: enum
|
|
290
|
+
values: [quality, target_size]
|
|
291
|
+
default: quality
|
|
292
|
+
per_value_availability:
|
|
293
|
+
target_size: { availability: planned }
|
|
294
|
+
honored_on: [same_format]
|
|
295
|
+
description: >-
|
|
296
|
+
Compression mode (mirrors compress.video). `quality` = the `quality`
|
|
297
|
+
slider drives the encode (default, live). `target_size` = `planned` —
|
|
298
|
+
hit a byte budget via the worker's encode-measure-binary-search loop
|
|
299
|
+
(lambdas building; jpeg/webp/avif only). AVIF encodes are slow, so the
|
|
300
|
+
loop caps iterations. Optimiser (same_format) route.
|
|
301
|
+
target_size_bytes:
|
|
302
|
+
type: integer
|
|
303
|
+
min: 1024
|
|
304
|
+
availability: planned
|
|
305
|
+
depends_on: { encoding_mode: target_size }
|
|
306
|
+
honored_on: [same_format]
|
|
307
|
+
description: >-
|
|
308
|
+
Target output size in bytes (min 1024 = 1 KiB). `planned` — the image
|
|
309
|
+
encode-measure loop binary-searches quality to land at or under the
|
|
310
|
+
target; best-effort if the target is unreachable at min quality (the
|
|
311
|
+
result reports the chosen quality + whether the target was met).
|
|
312
|
+
Optimiser (same_format) route.
|
|
242
313
|
metadata:
|
|
243
314
|
type: enum
|
|
244
315
|
values: [all]
|
|
@@ -273,8 +344,9 @@ operation:
|
|
|
273
344
|
description: >-
|
|
274
345
|
Resize-inside-Output: target width in pixels (1-16384; width*height <=
|
|
275
346
|
max_output_pixels). Resize the image as part of Output (replace semantics,
|
|
276
|
-
ONE transformed output) using the proven
|
|
277
|
-
|
|
347
|
+
ONE transformed output) using the proven convert resize engine (Lanczos;
|
|
348
|
+
the API routes Output resize through the convert worker, BOTH routes —
|
|
349
|
+
the compress optimiser has no resize) — it is NOT the derivative `thumbnail` op.
|
|
278
350
|
Optional; omit to keep the source dimensions.
|
|
279
351
|
height:
|
|
280
352
|
type: integer
|
|
@@ -289,9 +361,12 @@ operation:
|
|
|
289
361
|
depends_on: { width: set, height: set, logic: or }
|
|
290
362
|
honored_on: [same_format, format_change]
|
|
291
363
|
description: >-
|
|
292
|
-
Resize mode. max = fit within bounds
|
|
293
|
-
|
|
294
|
-
|
|
364
|
+
Resize mode. `max` (default) = fit within bounds, preserving aspect ratio
|
|
365
|
+
and NEVER upscaling — it caps at the source dimensions. This IS the
|
|
366
|
+
"no-enlarge" behaviour (there is no separate `no_enlarge` flag — the
|
|
367
|
+
worker has no such key). `crop`/`scale` = exact dimensions (`scale`
|
|
368
|
+
deliberately enlarges past source). Applies only when width or height is
|
|
369
|
+
set, on whichever Output route runs.
|
|
295
370
|
|
|
296
371
|
# webp split out of the former bundled image group: it is the one input that
|
|
297
372
|
# carries BOTH Resize (raster, proven in thumbnail-images) AND the optimiser
|
|
@@ -307,8 +382,36 @@ operation:
|
|
|
307
382
|
min: 1
|
|
308
383
|
max: 100
|
|
309
384
|
default: 80
|
|
385
|
+
depends_on: { encoding_mode: quality }
|
|
310
386
|
honored_on: [same_format]
|
|
311
|
-
description:
|
|
387
|
+
description: >-
|
|
388
|
+
Compression quality (1 = smallest file, 100 = best quality). Active in
|
|
389
|
+
`quality` mode (default); in `target_size` mode the encode-measure loop
|
|
390
|
+
owns quality, so this option is inactive.
|
|
391
|
+
encoding_mode:
|
|
392
|
+
type: enum
|
|
393
|
+
values: [quality, target_size]
|
|
394
|
+
default: quality
|
|
395
|
+
per_value_availability:
|
|
396
|
+
target_size: { availability: planned }
|
|
397
|
+
honored_on: [same_format]
|
|
398
|
+
description: >-
|
|
399
|
+
Compression mode (mirrors compress.video). `quality` = the `quality`
|
|
400
|
+
slider drives the encode (default, live). `target_size` = `planned` —
|
|
401
|
+
hit a byte budget via the worker's encode-measure-binary-search loop
|
|
402
|
+
(lambdas building; jpeg/webp/avif only). Optimiser (same_format) route.
|
|
403
|
+
target_size_bytes:
|
|
404
|
+
type: integer
|
|
405
|
+
min: 1024
|
|
406
|
+
availability: planned
|
|
407
|
+
depends_on: { encoding_mode: target_size }
|
|
408
|
+
honored_on: [same_format]
|
|
409
|
+
description: >-
|
|
410
|
+
Target output size in bytes (min 1024 = 1 KiB). `planned` — the image
|
|
411
|
+
encode-measure loop binary-searches quality to land at or under the
|
|
412
|
+
target; best-effort if the target is unreachable at min quality (the
|
|
413
|
+
result reports the chosen quality + whether the target was met).
|
|
414
|
+
Optimiser (same_format) route.
|
|
312
415
|
metadata:
|
|
313
416
|
type: enum
|
|
314
417
|
values: [all, keep]
|
|
@@ -331,12 +434,15 @@ operation:
|
|
|
331
434
|
lossless:
|
|
332
435
|
type: boolean
|
|
333
436
|
default: false
|
|
437
|
+
depends_on: { encoding_mode: quality }
|
|
334
438
|
honored_on: [same_format]
|
|
335
439
|
description: >-
|
|
336
440
|
Encode WebP losslessly (optimiser path): a genuine lossless WebP encode.
|
|
337
441
|
STABLE — the compress-image worker honours the `lossless` bool (un-parked
|
|
338
442
|
2026-06-23). Note a lossless encode can be LARGER than a lossy one at the
|
|
339
|
-
same visual quality.
|
|
443
|
+
same visual quality. Only in `quality` mode — incompatible with
|
|
444
|
+
`target_size` (the byte-budget loop is inherently lossy). Optimiser
|
|
445
|
+
(same_format) route only.
|
|
340
446
|
width:
|
|
341
447
|
type: integer
|
|
342
448
|
min: 1
|
|
@@ -345,8 +451,9 @@ operation:
|
|
|
345
451
|
description: >-
|
|
346
452
|
Resize-inside-Output: target width in pixels (1-16384; width*height <=
|
|
347
453
|
max_output_pixels). Resize the image as part of Output (replace semantics,
|
|
348
|
-
ONE transformed output) using the proven
|
|
349
|
-
|
|
454
|
+
ONE transformed output) using the proven convert resize engine (Lanczos;
|
|
455
|
+
the API routes Output resize through the convert worker, BOTH routes —
|
|
456
|
+
the compress optimiser has no resize) — it is NOT the derivative `thumbnail` op.
|
|
350
457
|
Optional; omit to keep the source dimensions.
|
|
351
458
|
height:
|
|
352
459
|
type: integer
|
|
@@ -361,9 +468,12 @@ operation:
|
|
|
361
468
|
depends_on: { width: set, height: set, logic: or }
|
|
362
469
|
honored_on: [same_format, format_change]
|
|
363
470
|
description: >-
|
|
364
|
-
Resize mode. max = fit within bounds
|
|
365
|
-
|
|
366
|
-
|
|
471
|
+
Resize mode. `max` (default) = fit within bounds, preserving aspect ratio
|
|
472
|
+
and NEVER upscaling — it caps at the source dimensions. This IS the
|
|
473
|
+
"no-enlarge" behaviour (there is no separate `no_enlarge` flag — the
|
|
474
|
+
worker has no such key). `crop`/`scale` = exact dimensions (`scale`
|
|
475
|
+
deliberately enlarges past source). Applies only when width or height is
|
|
476
|
+
set, on whichever Output route runs.
|
|
367
477
|
|
|
368
478
|
# svg is VECTOR: no raster resize (thumbnail-images does not list svg), and the
|
|
369
479
|
# optimiser `lossless` knob does not apply. SVG compression is SVGO; only
|
|
@@ -440,8 +550,9 @@ operation:
|
|
|
440
550
|
description: >-
|
|
441
551
|
Resize-inside-Output: target width in pixels (1-16384; width*height <=
|
|
442
552
|
max_output_pixels). Resize the image as part of Output (replace semantics,
|
|
443
|
-
ONE transformed output) using the proven
|
|
444
|
-
|
|
553
|
+
ONE transformed output) using the proven convert resize engine (Lanczos;
|
|
554
|
+
the API routes Output resize through the convert worker, BOTH routes —
|
|
555
|
+
the compress optimiser has no resize) — it is NOT the derivative `thumbnail` op.
|
|
445
556
|
Optional; omit to keep the source dimensions.
|
|
446
557
|
height:
|
|
447
558
|
type: integer
|
|
@@ -456,9 +567,12 @@ operation:
|
|
|
456
567
|
depends_on: { width: set, height: set, logic: or }
|
|
457
568
|
honored_on: [same_format, format_change]
|
|
458
569
|
description: >-
|
|
459
|
-
Resize mode. max = fit within bounds
|
|
460
|
-
|
|
461
|
-
|
|
570
|
+
Resize mode. `max` (default) = fit within bounds, preserving aspect ratio
|
|
571
|
+
and NEVER upscaling — it caps at the source dimensions. This IS the
|
|
572
|
+
"no-enlarge" behaviour (there is no separate `no_enlarge` flag — the
|
|
573
|
+
worker has no such key). `crop`/`scale` = exact dimensions (`scale`
|
|
574
|
+
deliberately enlarges past source). Applies only when width or height is
|
|
575
|
+
set, on whichever Output route runs.
|
|
462
576
|
|
|
463
577
|
audio:
|
|
464
578
|
mimes:
|
|
@@ -8,12 +8,16 @@ operation:
|
|
|
8
8
|
|
|
9
9
|
mime_groups:
|
|
10
10
|
image:
|
|
11
|
+
# svg is split into convert.image_svg (below): it rasterises to raster
|
|
12
|
+
# formats but CANNOT be raster-resized (worker rejects svg resize), so it
|
|
13
|
+
# must NOT sit in a group that declares width/height/fit — else the raw
|
|
14
|
+
# schema / availability / accepted-options advertise svg resize. Mirrors
|
|
15
|
+
# compress.image_svg.
|
|
11
16
|
mimes:
|
|
12
17
|
- image/jpeg
|
|
13
18
|
- image/png
|
|
14
19
|
- image/gif
|
|
15
20
|
- image/webp
|
|
16
|
-
- image/svg+xml
|
|
17
21
|
- image/tiff
|
|
18
22
|
- image/bmp
|
|
19
23
|
- image/vnd.microsoft.icon
|
|
@@ -33,6 +37,20 @@ operation:
|
|
|
33
37
|
# output_format) projection (accepted-options/image-output-routes.json)
|
|
34
38
|
# attributes them to the transcoder path — `background` is the canonical
|
|
35
39
|
# transparency→JPEG fill on format-change-to-jpeg, already live + stable.
|
|
40
|
+
#
|
|
41
|
+
# RESIZE: convert is the image resize ENGINE for the WHOLE Output op (both
|
|
42
|
+
# routes) — the compress optimiser has NO resize code (it never reads
|
|
43
|
+
# width/height/fit). The API carries width/height/fit onto the convert op
|
|
44
|
+
# for BOTH arms: format_change = convert to the requested format; same_format
|
|
45
|
+
# = convert to the SAME format token (the optimiser leg delegates resize to
|
|
46
|
+
# the transcoder — see compress.image resize comments). So width/height/fit
|
|
47
|
+
# are declared HERE (the worker reads them: image_convert.rs ->
|
|
48
|
+
# shared::image::resize_request_from_job, full validation + 16MP cap + svg
|
|
49
|
+
# REJECT + animation preserve; live #257). svg INPUT cannot be raster-resized
|
|
50
|
+
# (worker rejects as invalid_options) — the output-keyed projection lists
|
|
51
|
+
# resize on every format_change target, so it is INPUT-GATED: consumers
|
|
52
|
+
# cross-ref same_format[input] (svg has no resize) before offering it.
|
|
53
|
+
max_output_pixels: 16000000 # worker MAX_OUTPUT_PIXELS; parity with compress.image
|
|
36
54
|
options:
|
|
37
55
|
output_format:
|
|
38
56
|
type: enum
|
|
@@ -60,6 +78,67 @@ operation:
|
|
|
60
78
|
(e.g. `magenta`) to the white default, so the `pattern` rejects a
|
|
61
79
|
non-hex value as `invalid_options` rather than advertising an inert
|
|
62
80
|
free-form string (e2e staging-verified 2026-06-22).
|
|
81
|
+
width:
|
|
82
|
+
type: integer
|
|
83
|
+
min: 1
|
|
84
|
+
max: 16384
|
|
85
|
+
honored_on: [format_change]
|
|
86
|
+
description: >-
|
|
87
|
+
Resize-inside-Output: target width in pixels (1-16384; width*height <=
|
|
88
|
+
max_output_pixels). The convert worker resizes (Lanczos) before encode;
|
|
89
|
+
single transformed output. NOT honored for SVG input (the worker
|
|
90
|
+
rejects svg resize). Input-gated — see the resize comment above.
|
|
91
|
+
height:
|
|
92
|
+
type: integer
|
|
93
|
+
min: 1
|
|
94
|
+
max: 16384
|
|
95
|
+
honored_on: [format_change]
|
|
96
|
+
description: "Resize-inside-Output: target height in pixels (1-16384; width*height <= max_output_pixels). Not honored for SVG input. See `width`."
|
|
97
|
+
fit:
|
|
98
|
+
type: enum
|
|
99
|
+
values: [max, crop, scale]
|
|
100
|
+
default: max
|
|
101
|
+
depends_on: { width: set, height: set, logic: or }
|
|
102
|
+
honored_on: [format_change]
|
|
103
|
+
description: >-
|
|
104
|
+
Resize mode. `max` (default) = fit within bounds, preserving aspect ratio
|
|
105
|
+
and NEVER upscaling — it caps at the source dimensions. This IS the
|
|
106
|
+
"no-enlarge" behaviour (there is no separate `no_enlarge` flag — the
|
|
107
|
+
worker has no such key). `crop`/`scale` = exact dimensions (`scale`
|
|
108
|
+
deliberately enlarges past source). Applies only when width or height is set.
|
|
109
|
+
|
|
110
|
+
# svg is VECTOR: it converts (rasterises) to a raster format, but CANNOT be
|
|
111
|
+
# raster-resized — the convert worker rejects svg resize. Split out of
|
|
112
|
+
# convert.image so width/height/fit are STRUCTURALLY absent for svg input:
|
|
113
|
+
# the API validates an svg op against THIS group + rejects resize at create
|
|
114
|
+
# (not prose), and raw schema / availability / accepted-options never
|
|
115
|
+
# advertise svg resize. Mirrors compress.image_svg. NO resize, NO area cap.
|
|
116
|
+
image_svg:
|
|
117
|
+
mimes:
|
|
118
|
+
- image/svg+xml
|
|
119
|
+
options:
|
|
120
|
+
output_format:
|
|
121
|
+
type: enum
|
|
122
|
+
values: [jpeg, png, webp, avif, gif, tiff]
|
|
123
|
+
required: true
|
|
124
|
+
description: "Target raster format (SVG is rasterised, then encoded)."
|
|
125
|
+
quality:
|
|
126
|
+
type: integer
|
|
127
|
+
min: 1
|
|
128
|
+
max: 100
|
|
129
|
+
default: 85
|
|
130
|
+
depends_on: { output_format: [jpeg, webp, avif] }
|
|
131
|
+
honored_on: [format_change]
|
|
132
|
+
description: "Output quality for lossy formats"
|
|
133
|
+
background:
|
|
134
|
+
type: string
|
|
135
|
+
pattern: "^#[0-9a-fA-F]{6}$"
|
|
136
|
+
depends_on: { output_format: jpeg }
|
|
137
|
+
honored_on: [format_change]
|
|
138
|
+
description: >-
|
|
139
|
+
Background colour as a 6-digit hex (`#RRGGBB`) for transparent SVG
|
|
140
|
+
rasterised to JPEG (alpha-flatten). HEX ONLY — non-hex is rejected as
|
|
141
|
+
`invalid_options` (see convert.image.background).
|
|
63
142
|
|
|
64
143
|
video:
|
|
65
144
|
mimes:
|