@giveitsmaller/contracts 0.33.0 → 0.35.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 +74 -8
- package/accepted-options/image-output-routes.json +183 -0
- package/availability/availability.json +360 -23
- 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 +47 -1
- package/dist/openapi/models/OptionSchema.js +12 -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 +74 -3
- package/dist/operations/compress.js +52 -0
- package/dist/operations/compress.metadata.js +87 -4
- package/openapi/api.yaml +39 -1
- package/operation-capabilities/operation-capabilities.json +28 -1
- package/operations/schemas/compress.yaml +325 -36
- package/operations/schemas/convert.yaml +18 -1
- package/package.json +3 -1
|
@@ -33,28 +33,66 @@ operation:
|
|
|
33
33
|
# dangling coming-soon values are dishonest at source; every other format
|
|
34
34
|
# change is the convert operation's job (all stable). Re-add a target here
|
|
35
35
|
# only when its compress+format canonicalization actually ships.
|
|
36
|
+
#
|
|
37
|
+
# ---- ROUTE-AWARE "OUTPUT" model (image-options Phase 0, tewB37Jg) ----
|
|
38
|
+
# The user-facing "Output" operation IS this compress op + output_format:
|
|
39
|
+
# the API routes by comparing the authored/resolved output_format to the
|
|
40
|
+
# input format — same_format (output_format == input, or `original`) runs
|
|
41
|
+
# the libcaesium OPTIMISER; format_change runs the convert TRANSCODER (the
|
|
42
|
+
# VcPeRWdD facade). Each option carries `honored_on: [<route>...]` declaring
|
|
43
|
+
# which route's worker reads it (absent ≡ all routes its depends_on admits;
|
|
44
|
+
# see FORMAT.md §"Route-aware Output model"). The derived per-(media, route,
|
|
45
|
+
# output_format) projection is accepted-options/image-output-routes.json.
|
|
46
|
+
#
|
|
47
|
+
# RESIZE-INSIDE-OUTPUT ships STABLE (hub-directed fast-path, 2026-06-22):
|
|
48
|
+
# width / height / fit + max_output_pixels — backed by the PROVEN image
|
|
49
|
+
# resize engine (thumbnail-images Lanczos, 1-16384, 16MP cap; live), routed
|
|
50
|
+
# onto the Output path. Resize is a REPLACE transform inside Output (ONE
|
|
51
|
+
# transformed output) — NOT thumbnail's derivative/preview semantics;
|
|
52
|
+
# thumbnail.yaml stays the preview op untouched. Flat keys keyed to the
|
|
53
|
+
# Output (compress) op, matching thumbnail.yaml's resize shape.
|
|
54
|
+
#
|
|
55
|
+
# STABLE on the optimiser (same_format) route (all worker-proven 2026-06-23):
|
|
56
|
+
# lossless (jpeg/webp) — worker honours the `lossless` bool, API emits it.
|
|
57
|
+
# metadata: keep — preserve EXIF/ICC/XMP (libcaesium; lambdas PR #260). keep
|
|
58
|
+
# is honored on libcaesium (jpeg/png/webp/gif/tiff) ONLY; AVIF (ravif) +
|
|
59
|
+
# SVG (SVGO) re-encode from pixels so `keep` is NOT in their enum (worker
|
|
60
|
+
# would reject it). metadata `all` (strip) is the universal default.
|
|
61
|
+
#
|
|
62
|
+
# Still availability:planned (ANTI-REGRESSION — no stable-flip until worker-
|
|
63
|
+
# proven; plan §2.5):
|
|
64
|
+
# lossy (png) -> palette quantization (pngquant/imagequant-class); planned +
|
|
65
|
+
# licensing-gated by the lambdas spike — do NOT stable-flip until that
|
|
66
|
+
# confirms a permissive path.
|
|
36
67
|
image_jpeg:
|
|
37
68
|
mimes:
|
|
38
69
|
- image/jpeg
|
|
70
|
+
# Resize-inside-Output (planned) shares thumbnail-image's 16MP output-area
|
|
71
|
+
# wall — the per-axis 16384 cap can't express it (FORMAT.md §max_output_pixels).
|
|
72
|
+
max_output_pixels: 16000000
|
|
39
73
|
options:
|
|
40
74
|
quality:
|
|
41
75
|
type: integer
|
|
42
76
|
min: 1
|
|
43
77
|
max: 100
|
|
44
78
|
default: 80
|
|
79
|
+
honored_on: [same_format]
|
|
45
80
|
description: "Compression quality (1 = smallest file, 100 = best quality)."
|
|
46
81
|
metadata:
|
|
47
82
|
type: enum
|
|
48
|
-
values: [all]
|
|
83
|
+
values: [all, keep]
|
|
49
84
|
default: all
|
|
85
|
+
honored_on: [same_format]
|
|
50
86
|
description: >-
|
|
51
|
-
Metadata handling. `all` = strip all
|
|
52
|
-
|
|
53
|
-
|
|
87
|
+
Metadata handling (optimiser/same_format route). `all` = strip all
|
|
88
|
+
EXIF/IPTC/XMP (default). `keep` = preserve EXIF/ICC/XMP — STABLE
|
|
89
|
+
(worker-proven, libcaesium; lambdas PR #260, staging round-trip +
|
|
90
|
+
unit test). Any other value is rejected as invalid_options.
|
|
54
91
|
progressive:
|
|
55
92
|
type: boolean
|
|
56
93
|
default: true
|
|
57
|
-
|
|
94
|
+
honored_on: [same_format]
|
|
95
|
+
description: "Enable progressive JPEG rendering (a low-quality preview renders first, then refines). JPEG only — the optimiser (same_format) route."
|
|
58
96
|
output_format:
|
|
59
97
|
type: enum
|
|
60
98
|
values: [original, webp]
|
|
@@ -64,31 +102,73 @@ operation:
|
|
|
64
102
|
WebP — the one live compress+format target (proven on staging). Other format
|
|
65
103
|
changes (jpeg/png/avif/gif/tiff) are the convert operation's job, not compress.
|
|
66
104
|
See FORMAT.md.
|
|
105
|
+
lossless:
|
|
106
|
+
type: boolean
|
|
107
|
+
default: false
|
|
108
|
+
honored_on: [same_format]
|
|
109
|
+
description: >-
|
|
110
|
+
Lossless JPEG re-optimisation (optimiser path): optimises the Huffman
|
|
111
|
+
tables WITHOUT re-encoding pixels — bit-preserving on the pixel data,
|
|
112
|
+
no quality loss (it cannot recover detail a lossy JPEG already lost).
|
|
113
|
+
STABLE — the compress-image worker honours the `lossless` bool
|
|
114
|
+
(un-parked 2026-06-23). Optimiser (same_format) route only.
|
|
115
|
+
width:
|
|
116
|
+
type: integer
|
|
117
|
+
min: 1
|
|
118
|
+
max: 16384
|
|
119
|
+
honored_on: [same_format, format_change]
|
|
120
|
+
description: >-
|
|
121
|
+
Resize-inside-Output: target width in pixels (1-16384; width*height <=
|
|
122
|
+
max_output_pixels). Resize the image as part of Output (replace semantics,
|
|
123
|
+
ONE transformed output) using the proven image resize engine (Lanczos,
|
|
124
|
+
shared with thumbnail-images) — it is NOT the derivative `thumbnail` op.
|
|
125
|
+
Optional; omit to keep the source dimensions.
|
|
126
|
+
height:
|
|
127
|
+
type: integer
|
|
128
|
+
min: 1
|
|
129
|
+
max: 16384
|
|
130
|
+
honored_on: [same_format, format_change]
|
|
131
|
+
description: "Resize-inside-Output: target height in pixels (1-16384; width*height <= max_output_pixels). Resize replaces the image (one output). Optional — see `width`."
|
|
132
|
+
fit:
|
|
133
|
+
type: enum
|
|
134
|
+
values: [max, crop, scale]
|
|
135
|
+
default: max
|
|
136
|
+
depends_on: { width: set, height: set, logic: or }
|
|
137
|
+
honored_on: [same_format, format_change]
|
|
138
|
+
description: >-
|
|
139
|
+
Resize mode. max = fit within bounds (preserves aspect ratio, no crop),
|
|
140
|
+
crop/scale = exact dimensions. Applies only when width or height is set,
|
|
141
|
+
on whichever Output route runs.
|
|
67
142
|
|
|
68
143
|
image_png:
|
|
69
144
|
mimes:
|
|
70
145
|
- image/png
|
|
146
|
+
max_output_pixels: 16000000
|
|
71
147
|
options:
|
|
72
148
|
quality:
|
|
73
149
|
type: integer
|
|
74
150
|
min: 1
|
|
75
151
|
max: 100
|
|
76
152
|
default: 80
|
|
153
|
+
honored_on: [same_format]
|
|
77
154
|
description: "Compression quality (1 = smallest file, 100 = best quality)."
|
|
78
155
|
metadata:
|
|
79
156
|
type: enum
|
|
80
|
-
values: [all]
|
|
157
|
+
values: [all, keep]
|
|
81
158
|
default: all
|
|
159
|
+
honored_on: [same_format]
|
|
82
160
|
description: >-
|
|
83
|
-
Metadata handling. `all` = strip all
|
|
84
|
-
|
|
85
|
-
|
|
161
|
+
Metadata handling (optimiser/same_format route). `all` = strip all
|
|
162
|
+
EXIF/IPTC/XMP (default). `keep` = preserve EXIF/ICC/XMP — STABLE
|
|
163
|
+
(worker-proven, libcaesium; lambdas PR #260, staging round-trip +
|
|
164
|
+
unit test). Any other value is rejected as invalid_options.
|
|
86
165
|
optimization_level:
|
|
87
166
|
type: integer
|
|
88
167
|
min: 0
|
|
89
168
|
max: 6
|
|
90
169
|
default: 3
|
|
91
|
-
|
|
170
|
+
honored_on: [same_format]
|
|
171
|
+
description: "PNG optimization effort (0-6, oxipng). Higher = smaller file, slower encode. Default 3. Optimiser (same_format) route."
|
|
92
172
|
output_format:
|
|
93
173
|
type: enum
|
|
94
174
|
values: [original, webp]
|
|
@@ -98,6 +178,44 @@ operation:
|
|
|
98
178
|
WebP — the one live compress+format target (proven on staging). Other format
|
|
99
179
|
changes (jpeg/png/avif/gif/tiff) are the convert operation's job, not compress.
|
|
100
180
|
See FORMAT.md.
|
|
181
|
+
lossy:
|
|
182
|
+
type: boolean
|
|
183
|
+
default: false
|
|
184
|
+
availability: planned
|
|
185
|
+
honored_on: [same_format]
|
|
186
|
+
description: >-
|
|
187
|
+
Lossy PNG palette quantization (pngquant/imagequant-class) — a large
|
|
188
|
+
saving for flat-colour PNGs. `planned` AND LICENSING-GATED: do not
|
|
189
|
+
stable-flip until the lambdas licensing spike confirms a permissive
|
|
190
|
+
quantizer path (libimagequant/pngquant is GPL-or-commercial). Optimiser
|
|
191
|
+
(same_format) route only.
|
|
192
|
+
width:
|
|
193
|
+
type: integer
|
|
194
|
+
min: 1
|
|
195
|
+
max: 16384
|
|
196
|
+
honored_on: [same_format, format_change]
|
|
197
|
+
description: >-
|
|
198
|
+
Resize-inside-Output: target width in pixels (1-16384; width*height <=
|
|
199
|
+
max_output_pixels). Resize the image as part of Output (replace semantics,
|
|
200
|
+
ONE transformed output) using the proven image resize engine (Lanczos,
|
|
201
|
+
shared with thumbnail-images) — it is NOT the derivative `thumbnail` op.
|
|
202
|
+
Optional; omit to keep the source dimensions.
|
|
203
|
+
height:
|
|
204
|
+
type: integer
|
|
205
|
+
min: 1
|
|
206
|
+
max: 16384
|
|
207
|
+
honored_on: [same_format, format_change]
|
|
208
|
+
description: "Resize-inside-Output: target height in pixels (1-16384; width*height <= max_output_pixels). Resize replaces the image (one output). Optional — see `width`."
|
|
209
|
+
fit:
|
|
210
|
+
type: enum
|
|
211
|
+
values: [max, crop, scale]
|
|
212
|
+
default: max
|
|
213
|
+
depends_on: { width: set, height: set, logic: or }
|
|
214
|
+
honored_on: [same_format, format_change]
|
|
215
|
+
description: >-
|
|
216
|
+
Resize mode. max = fit within bounds (preserves aspect ratio, no crop),
|
|
217
|
+
crop/scale = exact dimensions. Applies only when width or height is set,
|
|
218
|
+
on whichever Output route runs.
|
|
101
219
|
|
|
102
220
|
image_avif:
|
|
103
221
|
availability: beta
|
|
@@ -112,27 +230,32 @@ operation:
|
|
|
112
230
|
# contract vocab today; tracked for the image-size-cap mechanism (F3).
|
|
113
231
|
mimes:
|
|
114
232
|
- image/avif
|
|
233
|
+
max_output_pixels: 16000000
|
|
115
234
|
options:
|
|
116
235
|
quality:
|
|
117
236
|
type: integer
|
|
118
237
|
min: 1
|
|
119
238
|
max: 100
|
|
120
239
|
default: 80
|
|
240
|
+
honored_on: [same_format]
|
|
121
241
|
description: "Compression quality (1 = smallest file, 100 = best quality)."
|
|
122
242
|
metadata:
|
|
123
243
|
type: enum
|
|
124
244
|
values: [all]
|
|
125
245
|
default: all
|
|
246
|
+
honored_on: [same_format]
|
|
126
247
|
description: >-
|
|
127
|
-
Metadata handling. `all` = strip all EXIF/IPTC/XMP
|
|
128
|
-
|
|
129
|
-
|
|
248
|
+
Metadata handling. `all` = strip all EXIF/IPTC/XMP (the only supported
|
|
249
|
+
value). `keep` is NOT offered for AVIF — ravif re-encodes from pixels
|
|
250
|
+
and cannot preserve metadata (the worker rejects `keep` as
|
|
251
|
+
invalid_options).
|
|
130
252
|
avif_speed:
|
|
131
253
|
type: integer
|
|
132
254
|
min: 1
|
|
133
255
|
max: 10
|
|
134
256
|
default: 4
|
|
135
|
-
|
|
257
|
+
honored_on: [same_format]
|
|
258
|
+
description: "AVIF encode speed (1-10, ravif). Lower = smaller file, slower encode; higher = faster, larger. Default 4. Optimiser (same_format) route."
|
|
136
259
|
output_format:
|
|
137
260
|
type: enum
|
|
138
261
|
values: [original, webp]
|
|
@@ -142,30 +265,164 @@ operation:
|
|
|
142
265
|
WebP — the one live compress+format target (proven on staging). Other format
|
|
143
266
|
changes (jpeg/png/avif/gif/tiff) are the convert operation's job, not compress.
|
|
144
267
|
See FORMAT.md.
|
|
268
|
+
width:
|
|
269
|
+
type: integer
|
|
270
|
+
min: 1
|
|
271
|
+
max: 16384
|
|
272
|
+
honored_on: [same_format, format_change]
|
|
273
|
+
description: >-
|
|
274
|
+
Resize-inside-Output: target width in pixels (1-16384; width*height <=
|
|
275
|
+
max_output_pixels). Resize the image as part of Output (replace semantics,
|
|
276
|
+
ONE transformed output) using the proven image resize engine (Lanczos,
|
|
277
|
+
shared with thumbnail-images) — it is NOT the derivative `thumbnail` op.
|
|
278
|
+
Optional; omit to keep the source dimensions.
|
|
279
|
+
height:
|
|
280
|
+
type: integer
|
|
281
|
+
min: 1
|
|
282
|
+
max: 16384
|
|
283
|
+
honored_on: [same_format, format_change]
|
|
284
|
+
description: "Resize-inside-Output: target height in pixels (1-16384; width*height <= max_output_pixels). Resize replaces the image (one output). Optional — see `width`."
|
|
285
|
+
fit:
|
|
286
|
+
type: enum
|
|
287
|
+
values: [max, crop, scale]
|
|
288
|
+
default: max
|
|
289
|
+
depends_on: { width: set, height: set, logic: or }
|
|
290
|
+
honored_on: [same_format, format_change]
|
|
291
|
+
description: >-
|
|
292
|
+
Resize mode. max = fit within bounds (preserves aspect ratio, no crop),
|
|
293
|
+
crop/scale = exact dimensions. Applies only when width or height is set,
|
|
294
|
+
on whichever Output route runs.
|
|
145
295
|
|
|
146
|
-
image:
|
|
296
|
+
# webp split out of the former bundled image group: it is the one input that
|
|
297
|
+
# carries BOTH Resize (raster, proven in thumbnail-images) AND the optimiser
|
|
298
|
+
# `lossless` knob. gif/tiff (below) resize but have no lossless; svg is vector
|
|
299
|
+
# (no raster resize, no lossless) — see image_svg.
|
|
300
|
+
image_webp:
|
|
147
301
|
mimes:
|
|
148
302
|
- image/webp
|
|
149
|
-
|
|
303
|
+
max_output_pixels: 16000000
|
|
304
|
+
options:
|
|
305
|
+
quality:
|
|
306
|
+
type: integer
|
|
307
|
+
min: 1
|
|
308
|
+
max: 100
|
|
309
|
+
default: 80
|
|
310
|
+
honored_on: [same_format]
|
|
311
|
+
description: "Compression quality (1 = smallest file, 100 = best quality)."
|
|
312
|
+
metadata:
|
|
313
|
+
type: enum
|
|
314
|
+
values: [all, keep]
|
|
315
|
+
default: all
|
|
316
|
+
honored_on: [same_format]
|
|
317
|
+
description: >-
|
|
318
|
+
Metadata handling (optimiser/same_format route). `all` = strip all
|
|
319
|
+
EXIF/IPTC/XMP (default). `keep` = preserve EXIF/ICC/XMP — STABLE
|
|
320
|
+
(worker-proven, libcaesium; lambdas PR #260, staging round-trip +
|
|
321
|
+
unit test). Any other value is rejected as invalid_options.
|
|
322
|
+
output_format:
|
|
323
|
+
type: enum
|
|
324
|
+
values: [original, webp]
|
|
325
|
+
default: original
|
|
326
|
+
description: >-
|
|
327
|
+
Output format. original = keep input format (default); webp = recompress to
|
|
328
|
+
WebP — the one live compress+format target (proven on staging). Other format
|
|
329
|
+
changes (jpeg/png/avif/gif/tiff) are the convert operation's job, not compress.
|
|
330
|
+
See FORMAT.md.
|
|
331
|
+
lossless:
|
|
332
|
+
type: boolean
|
|
333
|
+
default: false
|
|
334
|
+
honored_on: [same_format]
|
|
335
|
+
description: >-
|
|
336
|
+
Encode WebP losslessly (optimiser path): a genuine lossless WebP encode.
|
|
337
|
+
STABLE — the compress-image worker honours the `lossless` bool (un-parked
|
|
338
|
+
2026-06-23). Note a lossless encode can be LARGER than a lossy one at the
|
|
339
|
+
same visual quality. Optimiser (same_format) route only.
|
|
340
|
+
width:
|
|
341
|
+
type: integer
|
|
342
|
+
min: 1
|
|
343
|
+
max: 16384
|
|
344
|
+
honored_on: [same_format, format_change]
|
|
345
|
+
description: >-
|
|
346
|
+
Resize-inside-Output: target width in pixels (1-16384; width*height <=
|
|
347
|
+
max_output_pixels). Resize the image as part of Output (replace semantics,
|
|
348
|
+
ONE transformed output) using the proven image resize engine (Lanczos,
|
|
349
|
+
shared with thumbnail-images) — it is NOT the derivative `thumbnail` op.
|
|
350
|
+
Optional; omit to keep the source dimensions.
|
|
351
|
+
height:
|
|
352
|
+
type: integer
|
|
353
|
+
min: 1
|
|
354
|
+
max: 16384
|
|
355
|
+
honored_on: [same_format, format_change]
|
|
356
|
+
description: "Resize-inside-Output: target height in pixels (1-16384; width*height <= max_output_pixels). Resize replaces the image (one output). Optional — see `width`."
|
|
357
|
+
fit:
|
|
358
|
+
type: enum
|
|
359
|
+
values: [max, crop, scale]
|
|
360
|
+
default: max
|
|
361
|
+
depends_on: { width: set, height: set, logic: or }
|
|
362
|
+
honored_on: [same_format, format_change]
|
|
363
|
+
description: >-
|
|
364
|
+
Resize mode. max = fit within bounds (preserves aspect ratio, no crop),
|
|
365
|
+
crop/scale = exact dimensions. Applies only when width or height is set,
|
|
366
|
+
on whichever Output route runs.
|
|
367
|
+
|
|
368
|
+
# svg is VECTOR: no raster resize (thumbnail-images does not list svg), and the
|
|
369
|
+
# optimiser `lossless` knob does not apply. SVG compression is SVGO; only
|
|
370
|
+
# quality/metadata/output_format carry. NO Resize / lossless / area cap here.
|
|
371
|
+
image_svg:
|
|
372
|
+
mimes:
|
|
150
373
|
- image/svg+xml
|
|
374
|
+
options:
|
|
375
|
+
quality:
|
|
376
|
+
type: integer
|
|
377
|
+
min: 1
|
|
378
|
+
max: 100
|
|
379
|
+
default: 80
|
|
380
|
+
honored_on: [same_format]
|
|
381
|
+
description: "Compression quality (1 = smallest file, 100 = best quality)."
|
|
382
|
+
metadata:
|
|
383
|
+
type: enum
|
|
384
|
+
values: [all]
|
|
385
|
+
default: all
|
|
386
|
+
honored_on: [same_format]
|
|
387
|
+
description: >-
|
|
388
|
+
Metadata handling. `all` = strip all metadata (the only supported value).
|
|
389
|
+
`keep` is NOT offered for SVG — SVGO optimises the markup and cannot
|
|
390
|
+
preserve a metadata block (the worker rejects `keep` as invalid_options).
|
|
391
|
+
output_format:
|
|
392
|
+
type: enum
|
|
393
|
+
values: [original, webp]
|
|
394
|
+
default: original
|
|
395
|
+
description: >-
|
|
396
|
+
Output format. original = keep input format (default); webp = recompress to
|
|
397
|
+
WebP. Other format changes are the convert operation's job. See FORMAT.md.
|
|
398
|
+
|
|
399
|
+
# gif/tiff: raster Resize is engine-proven (both are in thumbnail-images), but
|
|
400
|
+
# the optimiser `lossless` knob is WebP-only — not advertised here.
|
|
401
|
+
image:
|
|
402
|
+
mimes:
|
|
403
|
+
- image/gif
|
|
151
404
|
- image/tiff
|
|
405
|
+
max_output_pixels: 16000000
|
|
152
406
|
options:
|
|
153
407
|
quality:
|
|
154
408
|
type: integer
|
|
155
409
|
min: 1
|
|
156
410
|
max: 100
|
|
157
411
|
default: 80
|
|
412
|
+
honored_on: [same_format]
|
|
158
413
|
description: >-
|
|
159
414
|
Compression quality (1 = smallest file, 100 = best quality). For animated
|
|
160
415
|
GIF the worker honours this but real-world size reduction is typically small.
|
|
161
416
|
metadata:
|
|
162
417
|
type: enum
|
|
163
|
-
values: [all]
|
|
418
|
+
values: [all, keep]
|
|
164
419
|
default: all
|
|
420
|
+
honored_on: [same_format]
|
|
165
421
|
description: >-
|
|
166
|
-
Metadata handling. `all` = strip all
|
|
167
|
-
|
|
168
|
-
|
|
422
|
+
Metadata handling (optimiser/same_format route). `all` = strip all
|
|
423
|
+
EXIF/IPTC/XMP (default). `keep` = preserve EXIF/ICC/XMP — STABLE
|
|
424
|
+
(worker-proven, libcaesium; lambdas PR #260, staging round-trip +
|
|
425
|
+
unit test). Any other value is rejected as invalid_options.
|
|
169
426
|
output_format:
|
|
170
427
|
type: enum
|
|
171
428
|
values: [original, webp]
|
|
@@ -175,6 +432,33 @@ operation:
|
|
|
175
432
|
WebP — the one live compress+format target (proven on staging). Other format
|
|
176
433
|
changes (jpeg/png/avif/gif/tiff) are the convert operation's job, not compress.
|
|
177
434
|
See FORMAT.md.
|
|
435
|
+
width:
|
|
436
|
+
type: integer
|
|
437
|
+
min: 1
|
|
438
|
+
max: 16384
|
|
439
|
+
honored_on: [same_format, format_change]
|
|
440
|
+
description: >-
|
|
441
|
+
Resize-inside-Output: target width in pixels (1-16384; width*height <=
|
|
442
|
+
max_output_pixels). Resize the image as part of Output (replace semantics,
|
|
443
|
+
ONE transformed output) using the proven image resize engine (Lanczos,
|
|
444
|
+
shared with thumbnail-images) — it is NOT the derivative `thumbnail` op.
|
|
445
|
+
Optional; omit to keep the source dimensions.
|
|
446
|
+
height:
|
|
447
|
+
type: integer
|
|
448
|
+
min: 1
|
|
449
|
+
max: 16384
|
|
450
|
+
honored_on: [same_format, format_change]
|
|
451
|
+
description: "Resize-inside-Output: target height in pixels (1-16384; width*height <= max_output_pixels). Resize replaces the image (one output). Optional — see `width`."
|
|
452
|
+
fit:
|
|
453
|
+
type: enum
|
|
454
|
+
values: [max, crop, scale]
|
|
455
|
+
default: max
|
|
456
|
+
depends_on: { width: set, height: set, logic: or }
|
|
457
|
+
honored_on: [same_format, format_change]
|
|
458
|
+
description: >-
|
|
459
|
+
Resize mode. max = fit within bounds (preserves aspect ratio, no crop),
|
|
460
|
+
crop/scale = exact dimensions. Applies only when width or height is set,
|
|
461
|
+
on whichever Output route runs.
|
|
178
462
|
|
|
179
463
|
audio:
|
|
180
464
|
mimes:
|
|
@@ -238,18 +522,19 @@ operation:
|
|
|
238
522
|
trim_start:
|
|
239
523
|
type: float
|
|
240
524
|
min: 0
|
|
241
|
-
availability: planned
|
|
242
525
|
description: >
|
|
243
|
-
Trim from beginning in seconds
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
526
|
+
Trim from beginning in seconds (absent = from the start). STABLE
|
|
527
|
+
(qZI5EK9j) — the compress-audio worker cuts the clip before encoding
|
|
528
|
+
(input-side ffmpeg `-ss`/`-t`; lambdas PR #259), SAME FROM-END
|
|
529
|
+
semantic as compress.video / convert / merge: the kept clip is
|
|
530
|
+
[`trim_start`, input_duration − `trim_end`].
|
|
248
531
|
trim_end:
|
|
249
532
|
type: float
|
|
250
533
|
min: 0
|
|
251
|
-
|
|
252
|
-
|
|
534
|
+
description: >
|
|
535
|
+
Trim from end in seconds (absent = to the end). Removes this many
|
|
536
|
+
seconds from the end; with `trim_start` the kept clip is
|
|
537
|
+
[`trim_start`, input_duration − `trim_end`]. STABLE — see `trim_start`.
|
|
253
538
|
|
|
254
539
|
video:
|
|
255
540
|
mimes:
|
|
@@ -445,18 +730,22 @@ operation:
|
|
|
445
730
|
trim_start:
|
|
446
731
|
type: float
|
|
447
732
|
min: 0
|
|
448
|
-
availability: planned
|
|
449
733
|
description: >
|
|
450
|
-
Trim from beginning in seconds
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
734
|
+
Trim from beginning in seconds (absent = from the start). STABLE
|
|
735
|
+
(qZI5EK9j) — the compress-video worker cuts the clip before encoding
|
|
736
|
+
(input-side ffmpeg `-ss`/`-t`; lambdas PR #258), SAME FROM-END
|
|
737
|
+
semantic as convert/merge: the kept clip is [`trim_start`,
|
|
738
|
+
input_duration − `trim_end`]. SHORT-FORM only — for long-form video
|
|
739
|
+
the server returns `feature_not_available` (trim a short clip, or
|
|
740
|
+
chain a `split`); see the compress.video.trim.longform constraint.
|
|
455
741
|
trim_end:
|
|
456
742
|
type: float
|
|
457
743
|
min: 0
|
|
458
|
-
|
|
459
|
-
|
|
744
|
+
description: >
|
|
745
|
+
Trim from end in seconds (absent = to the end). Removes this many
|
|
746
|
+
seconds from the end; with `trim_start` the kept clip is
|
|
747
|
+
[`trim_start`, input_duration − `trim_end`]. STABLE — see
|
|
748
|
+
`trim_start` (short-form only; long-form → `feature_not_available`).
|
|
460
749
|
|
|
461
750
|
document_pdf:
|
|
462
751
|
mimes:
|
|
@@ -26,6 +26,13 @@ operation:
|
|
|
26
26
|
# (avif is also a valid OUTPUT via output_format — ravif encode.)
|
|
27
27
|
image/avif: { availability: beta }
|
|
28
28
|
image/heic: { availability: beta }
|
|
29
|
+
# convert.image is the TRANSCODER leg of the route-aware image "Output"
|
|
30
|
+
# model (FORMAT.md §"Route-aware Output model"): a format_change Output
|
|
31
|
+
# route (output_format != input) runs here. Its options carry
|
|
32
|
+
# `honored_on: [format_change]` so the merged per-(media, route,
|
|
33
|
+
# output_format) projection (accepted-options/image-output-routes.json)
|
|
34
|
+
# attributes them to the transcoder path — `background` is the canonical
|
|
35
|
+
# transparency→JPEG fill on format-change-to-jpeg, already live + stable.
|
|
29
36
|
options:
|
|
30
37
|
output_format:
|
|
31
38
|
type: enum
|
|
@@ -38,11 +45,21 @@ operation:
|
|
|
38
45
|
max: 100
|
|
39
46
|
default: 85
|
|
40
47
|
depends_on: { output_format: [jpeg, webp, avif] }
|
|
48
|
+
honored_on: [format_change]
|
|
41
49
|
description: "Output quality for lossy formats"
|
|
42
50
|
background:
|
|
43
51
|
type: string
|
|
52
|
+
pattern: "^#[0-9a-fA-F]{6}$"
|
|
44
53
|
depends_on: { output_format: jpeg }
|
|
45
|
-
|
|
54
|
+
honored_on: [format_change]
|
|
55
|
+
description: >-
|
|
56
|
+
Background colour as a 6-digit hex (`#RRGGBB`, e.g. `#ffffff`) for
|
|
57
|
+
transparent images converted to JPEG (the format-change→JPEG
|
|
58
|
+
alpha-flatten — Output's transparency fill control). HEX ONLY: the
|
|
59
|
+
worker honours only `#RRGGBB` and silently drops a CSS named colour
|
|
60
|
+
(e.g. `magenta`) to the white default, so the `pattern` rejects a
|
|
61
|
+
non-hex value as `invalid_options` rather than advertising an inert
|
|
62
|
+
free-form string (e2e staging-verified 2026-06-22).
|
|
46
63
|
|
|
47
64
|
video:
|
|
48
65
|
mimes:
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@giveitsmaller/contracts",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.35.0",
|
|
4
4
|
"description": "Generated contract types for GISL (Give It Smaller)",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -27,6 +27,7 @@
|
|
|
27
27
|
"./asyncapi/events.yaml": "./asyncapi/events.yaml",
|
|
28
28
|
"./availability/availability.json": "./availability/availability.json",
|
|
29
29
|
"./accepted-options/accepted-options.json": "./accepted-options/accepted-options.json",
|
|
30
|
+
"./accepted-options/image-output-routes.json": "./accepted-options/image-output-routes.json",
|
|
30
31
|
"./operation-capabilities/operation-capabilities.json": "./operation-capabilities/operation-capabilities.json",
|
|
31
32
|
"./operations/schemas/archive.yaml": "./operations/schemas/archive.yaml",
|
|
32
33
|
"./operations/schemas/audio_overlay.yaml": "./operations/schemas/audio_overlay.yaml",
|
|
@@ -52,6 +53,7 @@
|
|
|
52
53
|
"operations/schemas/",
|
|
53
54
|
"availability/availability.json",
|
|
54
55
|
"accepted-options/accepted-options.json",
|
|
56
|
+
"accepted-options/image-output-routes.json",
|
|
55
57
|
"operation-capabilities/operation-capabilities.json"
|
|
56
58
|
],
|
|
57
59
|
"scripts": {
|