@giveitsmaller/contracts 0.73.0 → 0.78.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/README.md +2 -2
- package/accepted-options/accepted-options.json +1 -1
- package/accepted-options/image-output-routes.json +16 -2
- package/asyncapi/README.md +1 -1
- package/asyncapi/events.yaml +353 -90
- package/availability/availability.json +142 -45
- package/code-builder/code-builder-metadata.json +205 -45
- package/dist/asyncapi/AnonymousSchema_217.d.ts +6 -0
- package/dist/asyncapi/AnonymousSchema_217.js +7 -0
- package/dist/asyncapi/ErrorCode.d.ts +1 -0
- package/dist/asyncapi/ErrorCode.js +1 -0
- package/dist/asyncapi/Failure.d.ts +3 -0
- package/dist/asyncapi/LongFormJobMessage.d.ts +1 -0
- package/dist/asyncapi/MultiOutputCompletion.d.ts +3 -0
- package/dist/asyncapi/OperationMetrics.d.ts +2 -0
- package/dist/asyncapi/SingleOutputCompletion.d.ts +3 -0
- package/dist/asyncapi/UploadProbeMediaMetadata.d.ts +14 -0
- package/dist/asyncapi/index.d.ts +1 -0
- package/dist/asyncapi/index.js +1 -0
- package/dist/openapi/models/AccountLimitEntry.d.ts +2 -2
- package/dist/openapi/models/AccountLimitEntry.js +2 -2
- package/dist/openapi/models/AccountLimits.d.ts +2 -2
- package/dist/openapi/models/AccountLimits.js +2 -2
- package/dist/openapi/models/AccountLimitsLimits.d.ts +14 -2
- package/dist/openapi/models/AccountLimitsLimits.js +6 -2
- package/dist/openapi/models/AccountLimitsSuccessEnvelope.d.ts +2 -2
- package/dist/openapi/models/AccountLimitsSuccessEnvelope.js +2 -2
- package/dist/openapi/models/AnonymousOperationNotAllowedResponse.d.ts +145 -0
- package/dist/openapi/models/AnonymousOperationNotAllowedResponse.js +82 -0
- package/dist/openapi/models/AnonymousQuotaExhaustedResponse.d.ts +131 -0
- package/dist/openapi/models/AnonymousQuotaExhaustedResponse.js +77 -0
- package/dist/openapi/models/AudioWatermarkDecodeRequest.d.ts +2 -2
- package/dist/openapi/models/AudioWatermarkDecodeRequest.js +2 -2
- package/dist/openapi/models/AudioWatermarkDecodeResponse.d.ts +2 -2
- package/dist/openapi/models/AudioWatermarkDecodeResponse.js +2 -2
- package/dist/openapi/models/AuthErrorResponse.d.ts +14 -5
- package/dist/openapi/models/AuthErrorResponse.js +2 -2
- package/dist/openapi/models/AuthErrorType.d.ts +2 -2
- package/dist/openapi/models/AuthErrorType.js +2 -2
- package/dist/openapi/models/AuthRejectionEnvelope.d.ts +2 -2
- package/dist/openapi/models/AuthRejectionEnvelope.js +2 -2
- package/dist/openapi/models/AuthenticatedIdentity.d.ts +2 -2
- package/dist/openapi/models/AuthenticatedIdentity.js +2 -2
- package/dist/openapi/models/AvailabilityValue.d.ts +2 -2
- package/dist/openapi/models/AvailabilityValue.js +2 -2
- package/dist/openapi/models/BalanceExhaustedResponse.d.ts +14 -5
- package/dist/openapi/models/BalanceExhaustedResponse.js +2 -2
- package/dist/openapi/models/BalanceExhaustedResponseAllOfLinks.d.ts +2 -2
- package/dist/openapi/models/BalanceExhaustedResponseAllOfLinks.js +2 -2
- package/dist/openapi/models/BillingCheckoutRequest.d.ts +2 -2
- package/dist/openapi/models/BillingCheckoutRequest.js +2 -2
- package/dist/openapi/models/BillingCheckoutSession.d.ts +2 -2
- package/dist/openapi/models/BillingCheckoutSession.js +2 -2
- package/dist/openapi/models/BillingCheckoutSuccessEnvelope.d.ts +2 -2
- package/dist/openapi/models/BillingCheckoutSuccessEnvelope.js +2 -2
- package/dist/openapi/models/CallbackEventType.d.ts +2 -2
- package/dist/openapi/models/CallbackEventType.js +2 -2
- package/dist/openapi/models/CancelAccountDeletion200Response.d.ts +2 -2
- package/dist/openapi/models/CancelAccountDeletion200Response.js +2 -2
- package/dist/openapi/models/CancelAccountDeletion200ResponseData.d.ts +2 -2
- package/dist/openapi/models/CancelAccountDeletion200ResponseData.js +2 -2
- package/dist/openapi/models/CapabilityCondition.d.ts +2 -2
- package/dist/openapi/models/CapabilityCondition.js +2 -2
- package/dist/openapi/models/CapabilityConditionOneOf.d.ts +2 -2
- package/dist/openapi/models/CapabilityConditionOneOf.js +2 -2
- package/dist/openapi/models/CapabilityConditionOneOf1.d.ts +2 -2
- package/dist/openapi/models/CapabilityConditionOneOf1.js +2 -2
- package/dist/openapi/models/CapabilityConditionOneOf2.d.ts +2 -2
- package/dist/openapi/models/CapabilityConditionOneOf2.js +2 -2
- package/dist/openapi/models/CapabilityConditionOneOf3.d.ts +2 -2
- package/dist/openapi/models/CapabilityConditionOneOf3.js +2 -2
- package/dist/openapi/models/CapabilityConditionOneOf4.d.ts +2 -2
- package/dist/openapi/models/CapabilityConditionOneOf4.js +2 -2
- package/dist/openapi/models/CapabilityConditionOneOf5.d.ts +2 -2
- package/dist/openapi/models/CapabilityConditionOneOf5.js +2 -2
- package/dist/openapi/models/CapabilityConditionOneOf6.d.ts +2 -2
- package/dist/openapi/models/CapabilityConditionOneOf6.js +2 -2
- package/dist/openapi/models/CapabilityConstraint.d.ts +2 -2
- package/dist/openapi/models/CapabilityConstraint.js +2 -2
- package/dist/openapi/models/CapabilityInputSpec.d.ts +2 -2
- package/dist/openapi/models/CapabilityInputSpec.js +2 -2
- package/dist/openapi/models/CapabilityProduces.d.ts +2 -2
- package/dist/openapi/models/CapabilityProduces.js +2 -2
- package/dist/openapi/models/CapabilityProducesOneOf.d.ts +2 -2
- package/dist/openapi/models/CapabilityProducesOneOf.js +2 -2
- package/dist/openapi/models/CapabilityProducesOneOf1.d.ts +2 -2
- package/dist/openapi/models/CapabilityProducesOneOf1.js +2 -2
- package/dist/openapi/models/CapabilityProducesOneOf2.d.ts +2 -2
- package/dist/openapi/models/CapabilityProducesOneOf2.js +2 -2
- package/dist/openapi/models/ChangePasswordRequest.d.ts +2 -2
- package/dist/openapi/models/ChangePasswordRequest.js +2 -2
- package/dist/openapi/models/CheckoutSessionStatusResponse.d.ts +46 -0
- package/dist/openapi/models/CheckoutSessionStatusResponse.js +54 -0
- package/dist/openapi/models/CheckoutSessionStatusResponseData.d.ts +50 -0
- package/dist/openapi/models/CheckoutSessionStatusResponseData.js +55 -0
- package/dist/openapi/models/CodegenSource.d.ts +5 -4
- package/dist/openapi/models/CodegenSource.js +2 -2
- package/dist/openapi/models/CodegenSourceInput.d.ts +2 -2
- package/dist/openapi/models/CodegenSourceInput.js +2 -2
- package/dist/openapi/models/CodegenSourceJob.d.ts +2 -2
- package/dist/openapi/models/CodegenSourceJob.js +2 -2
- package/dist/openapi/models/CodegenSourceJobSource.d.ts +2 -2
- package/dist/openapi/models/CodegenSourceJobSource.js +2 -2
- package/dist/openapi/models/CodegenSourceOperation.d.ts +2 -2
- package/dist/openapi/models/CodegenSourceOperation.js +2 -2
- package/dist/openapi/models/CodegenUploadPlaceholder.d.ts +2 -2
- package/dist/openapi/models/CodegenUploadPlaceholder.js +2 -2
- package/dist/openapi/models/CompositionPlan.d.ts +2 -2
- package/dist/openapi/models/CompositionPlan.js +2 -2
- package/dist/openapi/models/CompositionPlanJob.d.ts +2 -2
- package/dist/openapi/models/CompositionPlanJob.js +2 -2
- package/dist/openapi/models/CompositionPlanOperation.d.ts +2 -2
- package/dist/openapi/models/CompositionPlanOperation.js +2 -2
- package/dist/openapi/models/ConfirmEmailChange200Response.d.ts +2 -2
- package/dist/openapi/models/ConfirmEmailChange200Response.js +2 -2
- package/dist/openapi/models/ConfirmEmailChange200ResponseData.d.ts +2 -2
- package/dist/openapi/models/ConfirmEmailChange200ResponseData.js +2 -2
- package/dist/openapi/models/ConfirmEmailChangeRequest.d.ts +2 -2
- package/dist/openapi/models/ConfirmEmailChangeRequest.js +2 -2
- package/dist/openapi/models/ConnectionSource.d.ts +2 -2
- package/dist/openapi/models/ConnectionSource.js +2 -2
- package/dist/openapi/models/ContactRequest.d.ts +2 -2
- package/dist/openapi/models/ContactRequest.js +2 -2
- package/dist/openapi/models/ContactSubject.d.ts +2 -2
- package/dist/openapi/models/ContactSubject.js +2 -2
- package/dist/openapi/models/ContactValidationErrorResponse.d.ts +2 -2
- package/dist/openapi/models/ContactValidationErrorResponse.js +2 -2
- package/dist/openapi/models/CreateApiKey201Response.d.ts +2 -2
- package/dist/openapi/models/CreateApiKey201Response.js +2 -2
- package/dist/openapi/models/CreateApiKey201ResponseData.d.ts +2 -2
- package/dist/openapi/models/CreateApiKey201ResponseData.js +2 -2
- package/dist/openapi/models/CreateApiKeyRequest.d.ts +2 -2
- package/dist/openapi/models/CreateApiKeyRequest.js +2 -2
- package/dist/openapi/models/CreateBillingCheckoutSession422Response.d.ts +2 -2
- package/dist/openapi/models/CreateBillingCheckoutSession422Response.js +2 -2
- package/dist/openapi/models/CreateExternalImport403Response.d.ts +2 -2
- package/dist/openapi/models/CreateExternalImport403Response.js +2 -2
- package/dist/openapi/models/CreateExternalImport422Response.d.ts +2 -2
- package/dist/openapi/models/CreateExternalImport422Response.js +2 -2
- package/dist/openapi/models/CreateWorkflow401Response.d.ts +14 -5
- package/dist/openapi/models/CreateWorkflow401Response.js +2 -2
- package/dist/openapi/models/CreateWorkflow403Response.d.ts +33 -0
- package/dist/openapi/models/CreateWorkflow403Response.js +57 -0
- package/dist/openapi/models/CreateWorkflow422Response.d.ts +2 -2
- package/dist/openapi/models/CreateWorkflow422Response.js +2 -2
- package/dist/openapi/models/CreditTransaction.d.ts +22 -12
- package/dist/openapi/models/CreditTransaction.js +2 -2
- package/dist/openapi/models/CreditTransactionSourceBucket.d.ts +2 -2
- package/dist/openapi/models/CreditTransactionSourceBucket.js +2 -2
- package/dist/openapi/models/CreditsBalanceResponse.d.ts +2 -2
- package/dist/openapi/models/CreditsBalanceResponse.js +2 -2
- package/dist/openapi/models/CreditsBalanceSuccessEnvelope.d.ts +2 -2
- package/dist/openapi/models/CreditsBalanceSuccessEnvelope.js +2 -2
- package/dist/openapi/models/CreditsUsageResponse.d.ts +2 -2
- package/dist/openapi/models/CreditsUsageResponse.js +2 -2
- package/dist/openapi/models/CreditsUsageSuccessEnvelope.d.ts +2 -2
- package/dist/openapi/models/CreditsUsageSuccessEnvelope.js +2 -2
- package/dist/openapi/models/Delivery.d.ts +2 -2
- package/dist/openapi/models/Delivery.js +2 -2
- package/dist/openapi/models/DeliveryOutputRef.d.ts +2 -2
- package/dist/openapi/models/DeliveryOutputRef.js +2 -2
- package/dist/openapi/models/DeliveryPlan.d.ts +2 -2
- package/dist/openapi/models/DeliveryPlan.js +2 -2
- package/dist/openapi/models/DeliveryPlanOutput.d.ts +2 -2
- package/dist/openapi/models/DeliveryPlanOutput.js +2 -2
- package/dist/openapi/models/DeliveryPlanReason.d.ts +2 -2
- package/dist/openapi/models/DeliveryPlanReason.js +2 -2
- package/dist/openapi/models/DeliverySelection.d.ts +2 -2
- package/dist/openapi/models/DeliverySelection.js +2 -2
- package/dist/openapi/models/DownloadBundle.d.ts +2 -2
- package/dist/openapi/models/DownloadBundle.js +2 -2
- package/dist/openapi/models/DroppedOption.d.ts +2 -2
- package/dist/openapi/models/DroppedOption.js +2 -2
- package/dist/openapi/models/EmailNotify.d.ts +2 -2
- package/dist/openapi/models/EmailNotify.js +2 -2
- package/dist/openapi/models/EmptySuccessEnvelope.d.ts +2 -2
- package/dist/openapi/models/EmptySuccessEnvelope.js +2 -2
- package/dist/openapi/models/EndpointProjection.d.ts +2 -2
- package/dist/openapi/models/EndpointProjection.js +2 -2
- package/dist/openapi/models/EndpointProjectionServersInner.d.ts +2 -2
- package/dist/openapi/models/EndpointProjectionServersInner.js +2 -2
- package/dist/openapi/models/ErrorEnvelope.d.ts +14 -5
- package/dist/openapi/models/ErrorEnvelope.js +2 -2
- package/dist/openapi/models/EstimateQuality.d.ts +2 -2
- package/dist/openapi/models/EstimateQuality.js +2 -2
- package/dist/openapi/models/EstimateRange.d.ts +2 -2
- package/dist/openapi/models/EstimateRange.js +2 -2
- package/dist/openapi/models/ExportAccountData200Response.d.ts +2 -2
- package/dist/openapi/models/ExportAccountData200Response.js +2 -2
- package/dist/openapi/models/ExportAccountData200ResponseData.d.ts +5 -4
- package/dist/openapi/models/ExportAccountData200ResponseData.js +5 -4
- package/dist/openapi/models/ExportAccountData200ResponseDataBilling.d.ts +36 -0
- package/dist/openapi/models/ExportAccountData200ResponseDataBilling.js +42 -0
- package/dist/openapi/models/ExportAccountData200ResponseDataBillingCheckoutSessionsInner.d.ts +58 -0
- package/dist/openapi/models/ExportAccountData200ResponseDataBillingCheckoutSessionsInner.js +62 -0
- package/dist/openapi/models/ExternalDestination.d.ts +2 -2
- package/dist/openapi/models/ExternalDestination.js +2 -2
- package/dist/openapi/models/ExternalImportCreatedResponse.d.ts +2 -2
- package/dist/openapi/models/ExternalImportCreatedResponse.js +2 -2
- package/dist/openapi/models/ExternalImportCreatedSuccessEnvelope.d.ts +2 -2
- package/dist/openapi/models/ExternalImportCreatedSuccessEnvelope.js +2 -2
- package/dist/openapi/models/ExternalImportRequest.d.ts +2 -2
- package/dist/openapi/models/ExternalImportRequest.js +2 -2
- package/dist/openapi/models/ExternalImportToken.d.ts +2 -2
- package/dist/openapi/models/ExternalImportToken.js +2 -2
- package/dist/openapi/models/ExternalSource.d.ts +2 -2
- package/dist/openapi/models/ExternalSource.js +2 -2
- package/dist/openapi/models/FeatureNotAvailableResponse.d.ts +14 -5
- package/dist/openapi/models/FeatureNotAvailableResponse.js +2 -2
- package/dist/openapi/models/FeatureTierRestrictedResponse.d.ts +14 -5
- package/dist/openapi/models/FeatureTierRestrictedResponse.js +2 -2
- package/dist/openapi/models/FeatureViolation.d.ts +2 -2
- package/dist/openapi/models/FeatureViolation.js +2 -2
- package/dist/openapi/models/GetProfile200Response.d.ts +2 -2
- package/dist/openapi/models/GetProfile200Response.js +2 -2
- package/dist/openapi/models/GetProfile200ResponseData.d.ts +2 -2
- package/dist/openapi/models/GetProfile200ResponseData.js +2 -2
- package/dist/openapi/models/ImageEncodeCapabilities.d.ts +2 -2
- package/dist/openapi/models/ImageEncodeCapabilities.js +2 -2
- package/dist/openapi/models/JobDefinition.d.ts +2 -2
- package/dist/openapi/models/JobDefinition.js +2 -2
- package/dist/openapi/models/JobDownload.d.ts +2 -2
- package/dist/openapi/models/JobDownload.js +2 -2
- package/dist/openapi/models/JobInputV2.d.ts +2 -2
- package/dist/openapi/models/JobInputV2.js +2 -2
- package/dist/openapi/models/JobMediaClass.d.ts +2 -2
- package/dist/openapi/models/JobMediaClass.js +2 -2
- package/dist/openapi/models/JobOutputSource.d.ts +2 -2
- package/dist/openapi/models/JobOutputSource.js +2 -2
- package/dist/openapi/models/JobResponse.d.ts +2 -2
- package/dist/openapi/models/JobResponse.js +2 -2
- package/dist/openapi/models/JobStatus.d.ts +2 -2
- package/dist/openapi/models/JobStatus.js +2 -2
- package/dist/openapi/models/JobType.d.ts +2 -2
- package/dist/openapi/models/JobType.js +2 -2
- package/dist/openapi/models/LivenessResponse.d.ts +2 -2
- package/dist/openapi/models/LivenessResponse.js +2 -2
- package/dist/openapi/models/LoginUser200Response.d.ts +2 -2
- package/dist/openapi/models/LoginUser200Response.js +2 -2
- package/dist/openapi/models/LoginUser200ResponseData.d.ts +2 -2
- package/dist/openapi/models/LoginUser200ResponseData.js +2 -2
- package/dist/openapi/models/LoginUser200ResponseDataUser.d.ts +2 -2
- package/dist/openapi/models/LoginUser200ResponseDataUser.js +2 -2
- package/dist/openapi/models/LoginUser401Response.d.ts +14 -5
- package/dist/openapi/models/LoginUser401Response.js +2 -2
- package/dist/openapi/models/LoginUserRequest.d.ts +2 -2
- package/dist/openapi/models/LoginUserRequest.js +2 -2
- package/dist/openapi/models/LongFormConcurrencyLimitResponse.d.ts +14 -5
- package/dist/openapi/models/LongFormConcurrencyLimitResponse.js +2 -2
- package/dist/openapi/models/LongFormConcurrencyLimitResponseAllOfLinks.d.ts +2 -2
- package/dist/openapi/models/LongFormConcurrencyLimitResponseAllOfLinks.js +2 -2
- package/dist/openapi/models/MetadataResponse.d.ts +2 -2
- package/dist/openapi/models/MetadataResponse.js +2 -2
- package/dist/openapi/models/MetadataResponseDimensions.d.ts +2 -2
- package/dist/openapi/models/MetadataResponseDimensions.js +2 -2
- package/dist/openapi/models/MetadataResponseExif.d.ts +2 -2
- package/dist/openapi/models/MetadataResponseExif.js +2 -2
- package/dist/openapi/models/MetadataResponseExifGps.d.ts +2 -2
- package/dist/openapi/models/MetadataResponseExifGps.js +2 -2
- package/dist/openapi/models/MetadataSuccessEnvelope.d.ts +2 -2
- package/dist/openapi/models/MetadataSuccessEnvelope.js +2 -2
- package/dist/openapi/models/MimeGroupSchema.d.ts +39 -3
- package/dist/openapi/models/MimeGroupSchema.js +12 -2
- package/dist/openapi/models/MultiInputSource.d.ts +2 -2
- package/dist/openapi/models/MultiInputSource.js +2 -2
- package/dist/openapi/models/MultipartCompleteRequest.d.ts +2 -2
- package/dist/openapi/models/MultipartCompleteRequest.js +2 -2
- package/dist/openapi/models/MultipartCompleteRequestPartsInner.d.ts +2 -2
- package/dist/openapi/models/MultipartCompleteRequestPartsInner.js +2 -2
- package/dist/openapi/models/MultipartCompleteResponse.d.ts +2 -2
- package/dist/openapi/models/MultipartCompleteResponse.js +2 -2
- package/dist/openapi/models/MultipartCompleteSuccessEnvelope.d.ts +2 -2
- package/dist/openapi/models/MultipartCompleteSuccessEnvelope.js +2 -2
- package/dist/openapi/models/MultipartInitiateRequestMetadataHint.d.ts +2 -2
- package/dist/openapi/models/MultipartInitiateRequestMetadataHint.js +2 -2
- package/dist/openapi/models/MultipartInitiateResponse.d.ts +2 -2
- package/dist/openapi/models/MultipartInitiateResponse.js +2 -2
- package/dist/openapi/models/MultipartInitiateSuccessEnvelope.d.ts +2 -2
- package/dist/openapi/models/MultipartInitiateSuccessEnvelope.js +2 -2
- package/dist/openapi/models/MultipartKeepaliveResponse.d.ts +2 -2
- package/dist/openapi/models/MultipartKeepaliveResponse.js +2 -2
- package/dist/openapi/models/MultipartKeepaliveSuccessEnvelope.d.ts +2 -2
- package/dist/openapi/models/MultipartKeepaliveSuccessEnvelope.js +2 -2
- package/dist/openapi/models/MultipartPartListing.d.ts +2 -2
- package/dist/openapi/models/MultipartPartListing.js +2 -2
- package/dist/openapi/models/MultipartPresignRequest.d.ts +2 -2
- package/dist/openapi/models/MultipartPresignRequest.js +2 -2
- package/dist/openapi/models/MultipartPresignResponse.d.ts +2 -2
- package/dist/openapi/models/MultipartPresignResponse.js +2 -2
- package/dist/openapi/models/MultipartPresignSuccessEnvelope.d.ts +2 -2
- package/dist/openapi/models/MultipartPresignSuccessEnvelope.js +2 -2
- package/dist/openapi/models/MultipartStatusResponse.d.ts +2 -2
- package/dist/openapi/models/MultipartStatusResponse.js +2 -2
- package/dist/openapi/models/MultipartStatusSuccessEnvelope.d.ts +2 -2
- package/dist/openapi/models/MultipartStatusSuccessEnvelope.js +2 -2
- package/dist/openapi/models/NotifyConfig.d.ts +9 -5
- package/dist/openapi/models/NotifyConfig.js +2 -2
- package/dist/openapi/models/OperationCapability.d.ts +2 -2
- package/dist/openapi/models/OperationCapability.js +2 -2
- package/dist/openapi/models/OperationDefinition.d.ts +2 -2
- package/dist/openapi/models/OperationDefinition.js +2 -2
- package/dist/openapi/models/OperationDownload.d.ts +6 -2
- package/dist/openapi/models/OperationDownload.js +2 -2
- package/dist/openapi/models/OperationInputModel.d.ts +2 -2
- package/dist/openapi/models/OperationInputModel.js +2 -2
- package/dist/openapi/models/OperationMessageParamsValue.d.ts +25 -0
- package/dist/openapi/models/OperationMessageParamsValue.js +31 -0
- package/dist/openapi/models/OperationResponse.d.ts +36 -2
- package/dist/openapi/models/OperationResponse.js +8 -2
- package/dist/openapi/models/OperationResult.d.ts +2 -2
- package/dist/openapi/models/OperationResult.js +2 -2
- package/dist/openapi/models/OperationResultMetadata.d.ts +29 -3
- package/dist/openapi/models/OperationResultMetadata.js +6 -2
- package/dist/openapi/models/OperationResultMetrics.d.ts +4 -4
- package/dist/openapi/models/OperationResultMetrics.js +2 -2
- package/dist/openapi/models/OperationSchemaDefinition.d.ts +5 -6
- package/dist/openapi/models/OperationSchemaDefinition.js +2 -2
- package/dist/openapi/models/OperationStatus.d.ts +2 -2
- package/dist/openapi/models/OperationStatus.js +2 -2
- package/dist/openapi/models/OperationType.d.ts +10 -4
- package/dist/openapi/models/OperationType.js +10 -4
- package/dist/openapi/models/OperationsSchemaResponse.d.ts +2 -2
- package/dist/openapi/models/OperationsSchemaResponse.js +2 -2
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeatures.d.ts +2 -2
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeatures.js +2 -2
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDelivery.d.ts +2 -2
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDelivery.js +2 -2
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliveryMode.d.ts +2 -2
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliveryMode.js +2 -2
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliverySelection.d.ts +2 -2
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliverySelection.js +2 -2
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesProcessing.d.ts +2 -2
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesProcessing.js +2 -2
- package/dist/openapi/models/OptionSchema.d.ts +40 -3
- package/dist/openapi/models/OptionSchema.js +10 -2
- package/dist/openapi/models/OutputProperties.d.ts +2 -2
- package/dist/openapi/models/OutputProperties.js +2 -2
- package/dist/openapi/models/OutputPropertiesIsAnimated.d.ts +2 -2
- package/dist/openapi/models/OutputPropertiesIsAnimated.js +2 -2
- package/dist/openapi/models/PerClassAvailabilityEntry.d.ts +2 -2
- package/dist/openapi/models/PerClassAvailabilityEntry.js +2 -2
- package/dist/openapi/models/PerRoleCardinalityEntry.d.ts +2 -2
- package/dist/openapi/models/PerRoleCardinalityEntry.js +2 -2
- package/dist/openapi/models/PerValueAvailabilityEntry.d.ts +2 -2
- package/dist/openapi/models/PerValueAvailabilityEntry.js +2 -2
- package/dist/openapi/models/PresignedUrlPart.d.ts +2 -2
- package/dist/openapi/models/PresignedUrlPart.js +2 -2
- package/dist/openapi/models/ProbePendingResponse.d.ts +14 -5
- package/dist/openapi/models/ProbePendingResponse.js +2 -2
- package/dist/openapi/models/ProcessingClass.d.ts +2 -2
- package/dist/openapi/models/ProcessingClass.js +2 -2
- package/dist/openapi/models/ProcessingClassBandViolation.d.ts +13 -2
- package/dist/openapi/models/ProcessingClassBandViolation.js +5 -2
- package/dist/openapi/models/ProcessingClassConstraints.d.ts +2 -2
- package/dist/openapi/models/ProcessingClassConstraints.js +2 -2
- package/dist/openapi/models/ProcessingClassEntry.d.ts +16 -2
- package/dist/openapi/models/ProcessingClassEntry.js +8 -2
- package/dist/openapi/models/ProcessingClassEntryInputUniformity.d.ts +65 -0
- package/dist/openapi/models/ProcessingClassEntryInputUniformity.js +57 -0
- package/dist/openapi/models/ProcessingClassEntryResolutionBands.d.ts +66 -0
- package/dist/openapi/models/ProcessingClassEntryResolutionBands.js +56 -0
- package/dist/openapi/models/ProcessingClassExceedsBandResponse.d.ts +14 -5
- package/dist/openapi/models/ProcessingClassExceedsBandResponse.js +2 -2
- package/dist/openapi/models/ProcessingClassHint.d.ts +2 -2
- package/dist/openapi/models/ProcessingClassHint.js +2 -2
- package/dist/openapi/models/ProcessingClassReason.d.ts +2 -2
- package/dist/openapi/models/ProcessingClassReason.js +2 -2
- package/dist/openapi/models/ProcessingClassRejectReason.d.ts +2 -2
- package/dist/openapi/models/ProcessingClassRejectReason.js +2 -2
- package/dist/openapi/models/ProcessingPlan.d.ts +2 -2
- package/dist/openapi/models/ProcessingPlan.js +2 -2
- package/dist/openapi/models/ProcessingPlanJob.d.ts +15 -2
- package/dist/openapi/models/ProcessingPlanJob.js +5 -2
- package/dist/openapi/models/ReEncodeDecision.d.ts +19 -8
- package/dist/openapi/models/ReEncodeDecision.js +19 -8
- package/dist/openapi/models/ReadinessResponse.d.ts +2 -2
- package/dist/openapi/models/ReadinessResponse.js +2 -2
- package/dist/openapi/models/RegisterUser422Response.d.ts +2 -2
- package/dist/openapi/models/RegisterUser422Response.js +2 -2
- package/dist/openapi/models/RegisterUserRequest.d.ts +2 -2
- package/dist/openapi/models/RegisterUserRequest.js +2 -2
- package/dist/openapi/models/RequestAccountDeletion200Response.d.ts +2 -2
- package/dist/openapi/models/RequestAccountDeletion200Response.js +2 -2
- package/dist/openapi/models/RequestAccountDeletion200ResponseData.d.ts +2 -2
- package/dist/openapi/models/RequestAccountDeletion200ResponseData.js +2 -2
- package/dist/openapi/models/RequestAccountDeletionRequest.d.ts +2 -2
- package/dist/openapi/models/RequestAccountDeletionRequest.js +2 -2
- package/dist/openapi/models/ResendVerificationEmailRequest.d.ts +2 -2
- package/dist/openapi/models/ResendVerificationEmailRequest.js +2 -2
- package/dist/openapi/models/ResetPasswordRequest.d.ts +2 -2
- package/dist/openapi/models/ResetPasswordRequest.js +2 -2
- package/dist/openapi/models/ResolutionBand.d.ts +44 -0
- package/dist/openapi/models/ResolutionBand.js +62 -0
- package/dist/openapi/models/ResolutionBandCeiling.d.ts +68 -0
- package/dist/openapi/models/ResolutionBandCeiling.js +57 -0
- package/dist/openapi/models/ResolutionBandCeilingConstraints.d.ts +32 -0
- package/dist/openapi/models/ResolutionBandCeilingConstraints.js +41 -0
- package/dist/openapi/models/ResolutionBandCeilingDerivation.d.ts +48 -0
- package/dist/openapi/models/ResolutionBandCeilingDerivation.js +51 -0
- package/dist/openapi/models/ResponseEnvelope.d.ts +2 -2
- package/dist/openapi/models/ResponseEnvelope.js +2 -2
- package/dist/openapi/models/RetryResponse.d.ts +2 -2
- package/dist/openapi/models/RetryResponse.js +2 -2
- package/dist/openapi/models/RetrySuccessEnvelope.d.ts +2 -2
- package/dist/openapi/models/RetrySuccessEnvelope.js +2 -2
- package/dist/openapi/models/SseCompletionBase.d.ts +2 -2
- package/dist/openapi/models/SseCompletionBase.js +2 -2
- package/dist/openapi/models/SseConnectionLimitResponse.d.ts +14 -5
- package/dist/openapi/models/SseConnectionLimitResponse.js +2 -2
- package/dist/openapi/models/SseEventType.d.ts +2 -2
- package/dist/openapi/models/SseEventType.js +2 -2
- package/dist/openapi/models/SseJobCompletedData.d.ts +2 -2
- package/dist/openapi/models/SseJobCompletedData.js +2 -2
- package/dist/openapi/models/SseJobFailedData.d.ts +2 -2
- package/dist/openapi/models/SseJobFailedData.js +2 -2
- package/dist/openapi/models/SseMultiOutputCompletion.d.ts +2 -2
- package/dist/openapi/models/SseMultiOutputCompletion.js +2 -2
- package/dist/openapi/models/SseMultiOutputCompletionMetrics.d.ts +2 -2
- package/dist/openapi/models/SseMultiOutputCompletionMetrics.js +2 -2
- package/dist/openapi/models/SseMultiOutputCompletionWithKind.d.ts +2 -2
- package/dist/openapi/models/SseMultiOutputCompletionWithKind.js +2 -2
- package/dist/openapi/models/SseMultiOutputResultEntry.d.ts +6 -2
- package/dist/openapi/models/SseMultiOutputResultEntry.js +2 -2
- package/dist/openapi/models/SseOperationCompletedData.d.ts +2 -2
- package/dist/openapi/models/SseOperationCompletedData.js +2 -2
- package/dist/openapi/models/SseOperationCompletionResult.d.ts +2 -2
- package/dist/openapi/models/SseOperationCompletionResult.js +2 -2
- package/dist/openapi/models/SseOperationFailedData.d.ts +33 -2
- package/dist/openapi/models/SseOperationFailedData.js +8 -2
- package/dist/openapi/models/SseOperationProgressData.d.ts +2 -2
- package/dist/openapi/models/SseOperationProgressData.js +2 -2
- package/dist/openapi/models/SseSingleOutputCompletion.d.ts +2 -2
- package/dist/openapi/models/SseSingleOutputCompletion.js +2 -2
- package/dist/openapi/models/SseWorkflowTerminalData.d.ts +2 -2
- package/dist/openapi/models/SseWorkflowTerminalData.js +2 -2
- package/dist/openapi/models/TierRestrictionKind.d.ts +2 -2
- package/dist/openapi/models/TierRestrictionKind.js +2 -2
- package/dist/openapi/models/TierRestrictionResponse.d.ts +14 -5
- package/dist/openapi/models/TierRestrictionResponse.js +2 -2
- package/dist/openapi/models/UpdateProfile200Response.d.ts +2 -2
- package/dist/openapi/models/UpdateProfile200Response.js +2 -2
- package/dist/openapi/models/UpdateProfile200ResponseData.d.ts +2 -2
- package/dist/openapi/models/UpdateProfile200ResponseData.js +2 -2
- package/dist/openapi/models/UpdateProfile422Response.d.ts +2 -2
- package/dist/openapi/models/UpdateProfile422Response.js +2 -2
- package/dist/openapi/models/UpdateProfileRequest.d.ts +2 -2
- package/dist/openapi/models/UpdateProfileRequest.js +2 -2
- package/dist/openapi/models/UploadConstraintsApplied.d.ts +2 -2
- package/dist/openapi/models/UploadConstraintsApplied.js +2 -2
- package/dist/openapi/models/UploadDurationExceedsTierResponse.d.ts +14 -5
- package/dist/openapi/models/UploadDurationExceedsTierResponse.js +2 -2
- package/dist/openapi/models/UploadFile403Response.d.ts +2 -2
- package/dist/openapi/models/UploadFile403Response.js +2 -2
- package/dist/openapi/models/UploadFile422Response.d.ts +2 -2
- package/dist/openapi/models/UploadFile422Response.js +2 -2
- package/dist/openapi/models/UploadProbeMediaMetadata.d.ts +107 -2
- package/dist/openapi/models/UploadProbeMediaMetadata.js +36 -2
- package/dist/openapi/models/UploadProbeProcessingClass.d.ts +4 -6
- package/dist/openapi/models/UploadProbeProcessingClass.js +4 -6
- package/dist/openapi/models/UploadProbeResponse.d.ts +2 -2
- package/dist/openapi/models/UploadProbeResponse.js +2 -2
- package/dist/openapi/models/UploadProbeStatus.d.ts +2 -2
- package/dist/openapi/models/UploadProbeStatus.js +2 -2
- package/dist/openapi/models/UploadProbeSuccessEnvelope.d.ts +2 -2
- package/dist/openapi/models/UploadProbeSuccessEnvelope.js +2 -2
- package/dist/openapi/models/UploadResponse.d.ts +2 -2
- package/dist/openapi/models/UploadResponse.js +2 -2
- package/dist/openapi/models/UploadSizeExceedsTierResponse.d.ts +14 -5
- package/dist/openapi/models/UploadSizeExceedsTierResponse.js +2 -2
- package/dist/openapi/models/UploadSource.d.ts +2 -2
- package/dist/openapi/models/UploadSource.js +2 -2
- package/dist/openapi/models/UploadSuccessEnvelope.d.ts +2 -2
- package/dist/openapi/models/UploadSuccessEnvelope.js +2 -2
- package/dist/openapi/models/UploadThresholds.d.ts +2 -2
- package/dist/openapi/models/UploadThresholds.js +2 -2
- package/dist/openapi/models/UserTier.d.ts +2 -2
- package/dist/openapi/models/UserTier.js +2 -2
- package/dist/openapi/models/ValidationErrorEnvelope.d.ts +19 -8
- package/dist/openapi/models/ValidationErrorEnvelope.js +2 -2
- package/dist/openapi/models/ValidationErrorEnvelopeDetailsInner.d.ts +2 -2
- package/dist/openapi/models/ValidationErrorEnvelopeDetailsInner.js +2 -2
- package/dist/openapi/models/VerifyEmailRequest.d.ts +2 -2
- package/dist/openapi/models/VerifyEmailRequest.js +2 -2
- package/dist/openapi/models/WarningType.d.ts +2 -2
- package/dist/openapi/models/WarningType.js +2 -2
- package/dist/openapi/models/WebhookOperationContext.d.ts +2 -2
- package/dist/openapi/models/WebhookOperationContext.js +2 -2
- package/dist/openapi/models/WebhookPayload.d.ts +2 -2
- package/dist/openapi/models/WebhookPayload.js +2 -2
- package/dist/openapi/models/WorkflowArchiveResponse.d.ts +2 -2
- package/dist/openapi/models/WorkflowArchiveResponse.js +2 -2
- package/dist/openapi/models/WorkflowArchiveSuccessEnvelope.d.ts +2 -2
- package/dist/openapi/models/WorkflowArchiveSuccessEnvelope.js +2 -2
- package/dist/openapi/models/WorkflowCancelBillingEffect.d.ts +7 -6
- package/dist/openapi/models/WorkflowCancelBillingEffect.js +7 -6
- package/dist/openapi/models/WorkflowCancelResponse.d.ts +2 -2
- package/dist/openapi/models/WorkflowCancelResponse.js +2 -2
- package/dist/openapi/models/WorkflowCancelSuccessEnvelope.d.ts +2 -2
- package/dist/openapi/models/WorkflowCancelSuccessEnvelope.js +2 -2
- package/dist/openapi/models/WorkflowCreateRequest.d.ts +11 -14
- package/dist/openapi/models/WorkflowCreateRequest.js +2 -2
- package/dist/openapi/models/WorkflowCreateResponse.d.ts +2 -2
- package/dist/openapi/models/WorkflowCreateResponse.js +2 -2
- package/dist/openapi/models/WorkflowCreateSuccessEnvelope.d.ts +2 -2
- package/dist/openapi/models/WorkflowCreateSuccessEnvelope.js +2 -2
- package/dist/openapi/models/WorkflowCreditSummary.d.ts +2 -2
- package/dist/openapi/models/WorkflowCreditSummary.js +2 -2
- package/dist/openapi/models/WorkflowDownloadResponse.d.ts +2 -2
- package/dist/openapi/models/WorkflowDownloadResponse.js +2 -2
- package/dist/openapi/models/WorkflowDownloadSuccessEnvelope.d.ts +2 -2
- package/dist/openapi/models/WorkflowDownloadSuccessEnvelope.js +2 -2
- package/dist/openapi/models/WorkflowEdge.d.ts +2 -2
- package/dist/openapi/models/WorkflowEdge.js +2 -2
- package/dist/openapi/models/WorkflowExpiredResponse.d.ts +14 -5
- package/dist/openapi/models/WorkflowExpiredResponse.js +2 -2
- package/dist/openapi/models/WorkflowListResponse.d.ts +2 -2
- package/dist/openapi/models/WorkflowListResponse.js +2 -2
- package/dist/openapi/models/WorkflowListSuccessEnvelope.d.ts +2 -2
- package/dist/openapi/models/WorkflowListSuccessEnvelope.js +2 -2
- package/dist/openapi/models/WorkflowPauseRequiredAction.d.ts +18 -6
- package/dist/openapi/models/WorkflowPauseRequiredAction.js +19 -7
- package/dist/openapi/models/WorkflowPausedDetail.d.ts +6 -5
- package/dist/openapi/models/WorkflowPausedDetail.js +2 -2
- package/dist/openapi/models/WorkflowPausedDetailLinks.d.ts +7 -5
- package/dist/openapi/models/WorkflowPausedDetailLinks.js +2 -2
- package/dist/openapi/models/WorkflowProcessing.d.ts +2 -2
- package/dist/openapi/models/WorkflowProcessing.js +2 -2
- package/dist/openapi/models/WorkflowRestoreResponse.d.ts +2 -2
- package/dist/openapi/models/WorkflowRestoreResponse.js +2 -2
- package/dist/openapi/models/WorkflowRestoreSuccessEnvelope.d.ts +2 -2
- package/dist/openapi/models/WorkflowRestoreSuccessEnvelope.js +2 -2
- package/dist/openapi/models/WorkflowResumeResponse.d.ts +2 -2
- package/dist/openapi/models/WorkflowResumeResponse.js +2 -2
- package/dist/openapi/models/WorkflowResumeSuccessEnvelope.d.ts +2 -2
- package/dist/openapi/models/WorkflowResumeSuccessEnvelope.js +2 -2
- package/dist/openapi/models/WorkflowSource.d.ts +2 -2
- package/dist/openapi/models/WorkflowSource.js +2 -2
- package/dist/openapi/models/WorkflowStatus.d.ts +10 -5
- package/dist/openapi/models/WorkflowStatus.js +10 -5
- package/dist/openapi/models/WorkflowStatusResponse.d.ts +5 -3
- package/dist/openapi/models/WorkflowStatusResponse.js +2 -2
- package/dist/openapi/models/WorkflowStatusSuccessEnvelope.d.ts +2 -2
- package/dist/openapi/models/WorkflowStatusSuccessEnvelope.js +2 -2
- package/dist/openapi/models/WorkflowSummary.d.ts +2 -2
- package/dist/openapi/models/WorkflowSummary.js +2 -2
- package/dist/openapi/models/WorkflowSummaryJob.d.ts +2 -2
- package/dist/openapi/models/WorkflowSummaryJob.js +2 -2
- package/dist/openapi/models/WorkflowWarning.d.ts +2 -2
- package/dist/openapi/models/WorkflowWarning.js +2 -2
- package/dist/openapi/models/WorkflowWarningSeverity.d.ts +2 -2
- package/dist/openapi/models/WorkflowWarningSeverity.js +2 -2
- package/dist/openapi/models/index.d.ts +14 -0
- package/dist/openapi/models/index.js +14 -0
- package/dist/openapi/runtime.d.ts +2 -2
- package/dist/openapi/runtime.js +2 -2
- package/dist/operations/archive.metadata.js +1 -0
- package/dist/operations/audio_overlay.metadata.js +1 -0
- package/dist/operations/audio_to_video.metadata.js +1 -0
- package/dist/operations/audio_watermark.metadata.js +4 -9
- package/dist/operations/custom_luma.metadata.js +1 -0
- package/dist/operations/image_watermark.metadata.js +1 -0
- package/dist/operations/merge.metadata.js +1 -0
- package/dist/operations/metadata-types.d.ts +2 -0
- package/dist/operations/split.metadata.js +12 -3
- package/dist/operations/text_watermark.metadata.js +1 -0
- package/dist/operations/video_text_watermark.metadata.js +2 -0
- package/dist/operations/video_watermark.metadata.js +1 -0
- package/openapi/README.md +1 -1
- package/openapi/api.yaml +1089 -172
- package/operation-capabilities/operation-capabilities.json +129 -1
- package/operations/schemas/audio_watermark.yaml +34 -33
- package/operations/schemas/compress.yaml +295 -177
- package/operations/schemas/convert.yaml +11 -0
- package/operations/schemas/merge.yaml +35 -1
- package/operations/schemas/split.yaml +144 -88
- package/operations/schemas/thumbnail.yaml +34 -26
- package/operations/schemas/video_text_watermark.yaml +112 -47
- package/operations/schemas/video_watermark.yaml +33 -28
- package/package.json +3 -3
|
@@ -83,11 +83,14 @@ operation:
|
|
|
83
83
|
# SVG (SVGO) re-encode from pixels so `keep` is NOT in their enum (worker
|
|
84
84
|
# would reject it). metadata `all` (strip) is the universal default.
|
|
85
85
|
#
|
|
86
|
-
#
|
|
87
|
-
#
|
|
88
|
-
#
|
|
89
|
-
#
|
|
90
|
-
#
|
|
86
|
+
# lossy (png) -> palette quantization (imagequant via libcaesium): STABLE
|
|
87
|
+
# (owner decision 2026-09-24 21:20, option B on lambdas card 4azmqbm6). It
|
|
88
|
+
# was already what production served: the worker never sets
|
|
89
|
+
# `png.optimize`, so libcaesium 0.20.0 takes `lossy()` on EVERY PNG compress
|
|
90
|
+
# (png.rs compress_in_memory) and the lossless oxipng path is unreachable.
|
|
91
|
+
# This text previously called it planned and licensing-gated; the owner
|
|
92
|
+
# accepts the licensing reading (imagequant GPL-3, server-side use only —
|
|
93
|
+
# see the image_png provenance note below).
|
|
91
94
|
image_jpeg:
|
|
92
95
|
mimes:
|
|
93
96
|
- image/jpeg
|
|
@@ -191,15 +194,23 @@ operation:
|
|
|
191
194
|
per_value_availability:
|
|
192
195
|
auto: { availability: planned }
|
|
193
196
|
smallest: { availability: planned }
|
|
197
|
+
# AUTHOR NOTES (moved out of the user-facing description, ewOlw35Z,
|
|
198
|
+
# 2026-09-23 — user copy must not point at FORMAT.md). Preserved verbatim:
|
|
199
|
+
# Output format. original = keep input format (default); webp = recompress to WebP.
|
|
200
|
+
# Concrete format changes (jpeg/png/avif/gif/tiff) are handled by the convert operation.
|
|
201
|
+
# `auto` / `smallest` are PLANNED auto-format directives — the server encodes to several
|
|
202
|
+
# candidate formats and returns the best (`auto` = the most suitable; `smallest` = the
|
|
203
|
+
# absolute fewest bytes), reporting the chosen format via the result `mime_type`. They
|
|
204
|
+
# are selection strategies, not concrete targets, and stay `planned` until supported.
|
|
205
|
+
# See FORMAT.md.
|
|
194
206
|
description: >-
|
|
195
207
|
Output format. original = keep input format (default); webp = recompress to
|
|
196
208
|
WebP. Concrete format changes (jpeg/png/avif/gif/tiff) are handled by the
|
|
197
|
-
convert operation. `auto` / `smallest` are PLANNED auto-format directives —
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
FORMAT.md.
|
|
209
|
+
convert operation. `auto` / `smallest` are PLANNED auto-format directives — the
|
|
210
|
+
server encodes to several candidate formats and returns the best (`auto` = the
|
|
211
|
+
most suitable; `smallest` = the absolute fewest bytes), reporting the chosen
|
|
212
|
+
format via the result `mime_type`. They are selection strategies, not concrete
|
|
213
|
+
targets, and stay `planned` until supported.
|
|
203
214
|
lossless:
|
|
204
215
|
type: boolean
|
|
205
216
|
default: false
|
|
@@ -285,14 +296,22 @@ operation:
|
|
|
285
296
|
max: 100
|
|
286
297
|
default: 80
|
|
287
298
|
honored_on: [same_format]
|
|
299
|
+
# AUTHOR NOTES (4azmqbm6, 2026-09-24). The old text said `quality: 100`
|
|
300
|
+
# keeps the PNG lossless. It never did: libcaesium 0.20.0 png.rs runs
|
|
301
|
+
# imagequant (`liq.set_quality(0, quality)`, quantize, remap to a
|
|
302
|
+
# palette) for every value, because the worker never sets
|
|
303
|
+
# `png.optimize`. A PNG with more than 256 colours therefore loses
|
|
304
|
+
# colours even at 100. Owner option B keeps that behaviour and states it.
|
|
305
|
+
# Frontend's "Best-Quality PNG lossless" (BhVwdlhQ) relied on the old
|
|
306
|
+
# sentence and was told.
|
|
288
307
|
description: >-
|
|
289
|
-
Compression quality (1-100).
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
308
|
+
Compression quality (1-100). PNG compression reduces the image to a
|
|
309
|
+
palette of at most 256 colours at every quality setting; this is what
|
|
310
|
+
makes PNGs smaller. 1 = smallest file, 100 = closest to the original.
|
|
311
|
+
No value is guaranteed lossless, including 100: when an image with
|
|
312
|
+
more than 256 colours (a photo, a gradient) is made smaller, it loses
|
|
313
|
+
some colour detail. If compressing would not make the file smaller,
|
|
314
|
+
the original is returned unchanged.
|
|
296
315
|
metadata:
|
|
297
316
|
type: enum
|
|
298
317
|
values: [strip, keep, all]
|
|
@@ -315,8 +334,12 @@ operation:
|
|
|
315
334
|
min: 0
|
|
316
335
|
max: 6
|
|
317
336
|
default: 3
|
|
318
|
-
honored_on: [
|
|
319
|
-
|
|
337
|
+
honored_on: [] # ACCEPTED BUT INERT (Nqd3TdC6): honoured on no route; FORMAT.md §honored_on
|
|
338
|
+
# AUTHOR NOTES (4azmqbm6, 2026-09-24): read only by libcaesium's lossless
|
|
339
|
+
# (oxipng) path, which compress never takes (see `quality`). Kept so a
|
|
340
|
+
# request that sends it is still accepted; it changes nothing.
|
|
341
|
+
description: >-
|
|
342
|
+
Currently has no effect on PNG output: it is accepted and ignored.
|
|
320
343
|
output_format:
|
|
321
344
|
type: enum
|
|
322
345
|
values: [original, webp, auto, smallest]
|
|
@@ -324,15 +347,23 @@ operation:
|
|
|
324
347
|
per_value_availability:
|
|
325
348
|
auto: { availability: planned }
|
|
326
349
|
smallest: { availability: planned }
|
|
350
|
+
# AUTHOR NOTES (moved out of the user-facing description, ewOlw35Z,
|
|
351
|
+
# 2026-09-23 — user copy must not point at FORMAT.md). Preserved verbatim:
|
|
352
|
+
# Output format. original = keep input format (default); webp = recompress to WebP.
|
|
353
|
+
# Concrete format changes (jpeg/png/avif/gif/tiff) are handled by the convert operation.
|
|
354
|
+
# `auto` / `smallest` are PLANNED auto-format directives — the server encodes to several
|
|
355
|
+
# candidate formats and returns the best (`auto` = the most suitable; `smallest` = the
|
|
356
|
+
# absolute fewest bytes), reporting the chosen format via the result `mime_type`. They
|
|
357
|
+
# are selection strategies, not concrete targets, and stay `planned` until supported.
|
|
358
|
+
# See FORMAT.md.
|
|
327
359
|
description: >-
|
|
328
360
|
Output format. original = keep input format (default); webp = recompress to
|
|
329
361
|
WebP. Concrete format changes (jpeg/png/avif/gif/tiff) are handled by the
|
|
330
|
-
convert operation. `auto` / `smallest` are PLANNED auto-format directives —
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
FORMAT.md.
|
|
362
|
+
convert operation. `auto` / `smallest` are PLANNED auto-format directives — the
|
|
363
|
+
server encodes to several candidate formats and returns the best (`auto` = the
|
|
364
|
+
most suitable; `smallest` = the absolute fewest bytes), reporting the chosen
|
|
365
|
+
format via the result `mime_type`. They are selection strategies, not concrete
|
|
366
|
+
targets, and stay `planned` until supported.
|
|
336
367
|
width:
|
|
337
368
|
type: integer
|
|
338
369
|
min: 1
|
|
@@ -395,10 +426,9 @@ operation:
|
|
|
395
426
|
# image/heic is intentionally NOT a compress input: compress is decode-only
|
|
396
427
|
# and there is no HEIC encoder, so the worker rejects a declared image/heic
|
|
397
428
|
# (FormatMismatch). heic stays on convert+thumbnail.
|
|
398
|
-
# WORKER LIMIT
|
|
399
|
-
#
|
|
400
|
-
#
|
|
401
|
-
# contract vocab today; tracked for the image-size-cap mechanism (F3).
|
|
429
|
+
# WORKER LIMIT: the compress-image worker caps avif INPUT at 20 MiB
|
|
430
|
+
# (compression_processor.rs AVIF_MAX_MB), below the general image size
|
|
431
|
+
# budget. This group's `max_input_size_bytes` declares it.
|
|
402
432
|
mimes:
|
|
403
433
|
- image/avif
|
|
404
434
|
max_output_pixels: 16000000
|
|
@@ -487,15 +517,23 @@ operation:
|
|
|
487
517
|
per_value_availability:
|
|
488
518
|
auto: { availability: planned }
|
|
489
519
|
smallest: { availability: planned }
|
|
520
|
+
# AUTHOR NOTES (moved out of the user-facing description, ewOlw35Z,
|
|
521
|
+
# 2026-09-23 — user copy must not point at FORMAT.md). Preserved verbatim:
|
|
522
|
+
# Output format. original = keep input format (default); webp = recompress to WebP.
|
|
523
|
+
# Concrete format changes (jpeg/png/avif/gif/tiff) are handled by the convert operation.
|
|
524
|
+
# `auto` / `smallest` are PLANNED auto-format directives — the server encodes to several
|
|
525
|
+
# candidate formats and returns the best (`auto` = the most suitable; `smallest` = the
|
|
526
|
+
# absolute fewest bytes), reporting the chosen format via the result `mime_type`. They
|
|
527
|
+
# are selection strategies, not concrete targets, and stay `planned` until supported.
|
|
528
|
+
# See FORMAT.md.
|
|
490
529
|
description: >-
|
|
491
530
|
Output format. original = keep input format (default); webp = recompress to
|
|
492
531
|
WebP. Concrete format changes (jpeg/png/avif/gif/tiff) are handled by the
|
|
493
|
-
convert operation. `auto` / `smallest` are PLANNED auto-format directives —
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
FORMAT.md.
|
|
532
|
+
convert operation. `auto` / `smallest` are PLANNED auto-format directives — the
|
|
533
|
+
server encodes to several candidate formats and returns the best (`auto` = the
|
|
534
|
+
most suitable; `smallest` = the absolute fewest bytes), reporting the chosen
|
|
535
|
+
format via the result `mime_type`. They are selection strategies, not concrete
|
|
536
|
+
targets, and stay `planned` until supported.
|
|
499
537
|
width:
|
|
500
538
|
type: integer
|
|
501
539
|
min: 1
|
|
@@ -643,15 +681,23 @@ operation:
|
|
|
643
681
|
per_value_availability:
|
|
644
682
|
auto: { availability: planned }
|
|
645
683
|
smallest: { availability: planned }
|
|
684
|
+
# AUTHOR NOTES (moved out of the user-facing description, ewOlw35Z,
|
|
685
|
+
# 2026-09-23 — user copy must not point at FORMAT.md). Preserved verbatim:
|
|
686
|
+
# Output format. original = keep input format (default); webp = recompress to WebP.
|
|
687
|
+
# Concrete format changes (jpeg/png/avif/gif/tiff) are handled by the convert operation.
|
|
688
|
+
# `auto` / `smallest` are PLANNED auto-format directives — the server encodes to several
|
|
689
|
+
# candidate formats and returns the best (`auto` = the most suitable; `smallest` = the
|
|
690
|
+
# absolute fewest bytes), reporting the chosen format via the result `mime_type`. They
|
|
691
|
+
# are selection strategies, not concrete targets, and stay `planned` until supported.
|
|
692
|
+
# See FORMAT.md.
|
|
646
693
|
description: >-
|
|
647
694
|
Output format. original = keep input format (default); webp = recompress to
|
|
648
695
|
WebP. Concrete format changes (jpeg/png/avif/gif/tiff) are handled by the
|
|
649
|
-
convert operation. `auto` / `smallest` are PLANNED auto-format directives —
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
FORMAT.md.
|
|
696
|
+
convert operation. `auto` / `smallest` are PLANNED auto-format directives — the
|
|
697
|
+
server encodes to several candidate formats and returns the best (`auto` = the
|
|
698
|
+
most suitable; `smallest` = the absolute fewest bytes), reporting the chosen
|
|
699
|
+
format via the result `mime_type`. They are selection strategies, not concrete
|
|
700
|
+
targets, and stay `planned` until supported.
|
|
655
701
|
lossless:
|
|
656
702
|
type: boolean
|
|
657
703
|
default: false
|
|
@@ -805,31 +851,32 @@ operation:
|
|
|
805
851
|
per_value_availability:
|
|
806
852
|
auto: { availability: planned }
|
|
807
853
|
smallest: { availability: planned }
|
|
854
|
+
# AUTHOR NOTES (moved out of the user-facing description, ewOlw35Z,
|
|
855
|
+
# 2026-09-23 — frontend shows option descriptions to users). Preserved verbatim:
|
|
856
|
+
# Output format. `original` = keep input format — SVG -> SVG optimisation via SVGO.
|
|
857
|
+
# **STABLE and working** (restored 2026-07-21, G9O6yrQD; worker-proven on staging job
|
|
858
|
+
# 019f6aa3-d275-7b10-a5cf-58acc705c7e2 at 24.5% reduction, Form-A attested in lambdas
|
|
859
|
+
# #325). It is also the schema `default`, so a bare `compress` on an SVG takes this
|
|
860
|
+
# route. Optimisation is **visually preserving, NOT lossless** — SVGO's `preset-default`
|
|
861
|
+
# includes `convertPathData`, which rounds path coordinates within a tolerance. NOTE for
|
|
862
|
+
# anyone re-reading history here: this value was `planned` from 2026-07-17 to 2026-07-21
|
|
863
|
+
# on a false premise, and because the API materializes an omitted default before the
|
|
864
|
+
# availability gate (api 4a7a2628), that tag 422'd EVERY website SVG compress at create
|
|
865
|
+
# — the workbench does not send `output_format`, so the defaulted path is the only path
|
|
866
|
+
# a customer has. A `planned` DEFAULT is therefore never a partial restriction; it is a
|
|
867
|
+
# total one. Weigh that before tagging any future default `planned`. `webp` = recompress
|
|
868
|
+
# to WebP: **STABLE and working today** — this facade route canonicalizes to the
|
|
869
|
+
# `convert` operation (`convert.image_svg` carries its own quality), which is why this
|
|
870
|
+
# group is NOT gated at group level. Concrete format changes are handled by the convert
|
|
871
|
+
# operation. `auto` / `smallest` are PLANNED auto-format directives (the server picks
|
|
872
|
+
# the best/smallest candidate format, reported via the result `mime_type`) — selection
|
|
873
|
+
# strategies, not concrete targets, planned until supported. See FORMAT.md.
|
|
808
874
|
description: >-
|
|
809
|
-
Output format. `original`
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
Optimisation is **visually preserving, NOT lossless** — SVGO's
|
|
815
|
-
`preset-default` includes `convertPathData`, which rounds path
|
|
816
|
-
coordinates within a tolerance.
|
|
817
|
-
NOTE for anyone re-reading history here: this value was `planned` from
|
|
818
|
-
2026-07-17 to 2026-07-21 on a false premise, and because the API
|
|
819
|
-
materializes an omitted default before the availability gate (api
|
|
820
|
-
4a7a2628), that tag 422'd EVERY website SVG compress at create — the
|
|
821
|
-
workbench does not send `output_format`, so the defaulted path is the
|
|
822
|
-
only path a customer has. A `planned` DEFAULT is therefore never a
|
|
823
|
-
partial restriction; it is a total one. Weigh that before tagging any
|
|
824
|
-
future default `planned`.
|
|
825
|
-
`webp` = recompress to WebP: **STABLE and working today** — this facade
|
|
826
|
-
route canonicalizes to the `convert` operation (`convert.image_svg` carries
|
|
827
|
-
its own quality), which is why this group is NOT gated at group level.
|
|
828
|
-
Concrete format changes are handled by the convert operation. `auto` /
|
|
829
|
-
`smallest` are PLANNED auto-format directives (the server picks the
|
|
830
|
-
best/smallest candidate format, reported via the result `mime_type`) —
|
|
831
|
-
selection strategies, not concrete targets, planned until supported. See
|
|
832
|
-
FORMAT.md.
|
|
875
|
+
Output format. `original` (the default) keeps SVG and optimises it; the
|
|
876
|
+
result looks the same but is not byte-for-byte lossless — path coordinates
|
|
877
|
+
are rounded within a small tolerance. `webp` converts the image to WebP.
|
|
878
|
+
`auto` and `smallest` (let the server pick the best or smallest format)
|
|
879
|
+
are planned and not yet available.
|
|
833
880
|
|
|
834
881
|
# gif/tiff: raster Resize is engine-proven (both are in thumbnail-images), but
|
|
835
882
|
# the optimiser `lossless` knob is WebP-only — not advertised here.
|
|
@@ -846,9 +893,19 @@ operation:
|
|
|
846
893
|
max: 100
|
|
847
894
|
default: 80
|
|
848
895
|
honored_on: [same_format]
|
|
896
|
+
# AUTHOR NOTES (IJofpQLI, 2026-09-24): lambdas' proof audit found the
|
|
897
|
+
# TIFF path (libcaesium 0.20.0 tiff.rs:98-100) takes only the algorithm
|
|
898
|
+
# and deflate level; quality is not an input, so it is IGNORED for
|
|
899
|
+
# image/tiff. Stated so the ignore is not silent. The structural fix
|
|
900
|
+
# (split this group into image_gif + image_tiff, the latter without
|
|
901
|
+
# quality) changes a group key consumers read, so it waits on a
|
|
902
|
+
# coordinated decision; the card stays open for it.
|
|
849
903
|
description: >-
|
|
850
904
|
Compression quality (1 = smallest file, 100 = best quality). For animated
|
|
851
905
|
GIF this is honoured but real-world size reduction is typically small.
|
|
906
|
+
Ignored when a TIFF stays a TIFF: it is re-encoded losslessly, so this
|
|
907
|
+
setting has no effect on a TIFF output. It does apply when a TIFF is
|
|
908
|
+
converted to another format (for example WebP).
|
|
852
909
|
metadata:
|
|
853
910
|
type: enum
|
|
854
911
|
values: [strip, keep, all]
|
|
@@ -873,15 +930,23 @@ operation:
|
|
|
873
930
|
per_value_availability:
|
|
874
931
|
auto: { availability: planned }
|
|
875
932
|
smallest: { availability: planned }
|
|
933
|
+
# AUTHOR NOTES (moved out of the user-facing description, ewOlw35Z,
|
|
934
|
+
# 2026-09-23 — user copy must not point at FORMAT.md). Preserved verbatim:
|
|
935
|
+
# Output format. original = keep input format (default); webp = recompress to WebP.
|
|
936
|
+
# Concrete format changes (jpeg/png/avif/gif/tiff) are handled by the convert operation.
|
|
937
|
+
# `auto` / `smallest` are PLANNED auto-format directives — the server encodes to several
|
|
938
|
+
# candidate formats and returns the best (`auto` = the most suitable; `smallest` = the
|
|
939
|
+
# absolute fewest bytes), reporting the chosen format via the result `mime_type`. They
|
|
940
|
+
# are selection strategies, not concrete targets, and stay `planned` until supported.
|
|
941
|
+
# See FORMAT.md.
|
|
876
942
|
description: >-
|
|
877
943
|
Output format. original = keep input format (default); webp = recompress to
|
|
878
944
|
WebP. Concrete format changes (jpeg/png/avif/gif/tiff) are handled by the
|
|
879
|
-
convert operation. `auto` / `smallest` are PLANNED auto-format directives —
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
FORMAT.md.
|
|
945
|
+
convert operation. `auto` / `smallest` are PLANNED auto-format directives — the
|
|
946
|
+
server encodes to several candidate formats and returns the best (`auto` = the
|
|
947
|
+
most suitable; `smallest` = the absolute fewest bytes), reporting the chosen
|
|
948
|
+
format via the result `mime_type`. They are selection strategies, not concrete
|
|
949
|
+
targets, and stay `planned` until supported.
|
|
885
950
|
width:
|
|
886
951
|
type: integer
|
|
887
952
|
min: 1
|
|
@@ -961,10 +1026,14 @@ operation:
|
|
|
961
1026
|
# convert.audio worker live) so the per_value_availability block is
|
|
962
1027
|
# removed => untagged = stable (ADR-0001 §1.4). Values mirror
|
|
963
1028
|
# convert.audio.output_format.
|
|
1029
|
+
# AUTHOR NOTES (moved out of the user-facing description, ewOlw35Z,
|
|
1030
|
+
# 2026-09-23 — user copy must not point at FORMAT.md). Preserved verbatim:
|
|
1031
|
+
# Output audio format. original = keep input format (default, same-format compression).
|
|
1032
|
+
# Non-`original` values re-target the container/codec via the API "compress+format"
|
|
1033
|
+
# facade (one canonicalized convert pass); see FORMAT.md.
|
|
964
1034
|
description: >-
|
|
965
1035
|
Output audio format. original = keep input format (default, same-format
|
|
966
|
-
compression).
|
|
967
|
-
API "compress+format" facade (one canonicalized convert pass); see FORMAT.md.
|
|
1036
|
+
compression). Other values change the format as part of the same job.
|
|
968
1037
|
bitrate:
|
|
969
1038
|
type: enum
|
|
970
1039
|
value_type: integer
|
|
@@ -1084,30 +1153,45 @@ operation:
|
|
|
1084
1153
|
mp4: { availability: planned }
|
|
1085
1154
|
webm: { availability: planned }
|
|
1086
1155
|
ogg: { availability: planned }
|
|
1156
|
+
# AUTHOR NOTES (moved out of the user-facing description, ewOlw35Z,
|
|
1157
|
+
# 2026-09-23 — user copy must not point at FORMAT.md). Preserved verbatim:
|
|
1158
|
+
# Output container. original = keep the input container (default, same-format
|
|
1159
|
+
# compression). Non-`original` values re-target the container via the API
|
|
1160
|
+
# "compress+format" facade (one canonicalized convert-with-size-cap pass); see
|
|
1161
|
+
# FORMAT.md. When set, the RESOLVED target container determines the valid
|
|
1162
|
+
# codec/audio_codec/faststart sets — an absent/default codec resolves to a
|
|
1163
|
+
# container-valid one (e.g. webm -> vp9) and is never rejected; only a caller-EXPLICIT
|
|
1164
|
+
# incompatible value is rejected.
|
|
1087
1165
|
description: >-
|
|
1088
|
-
Output container. original = keep the input container (default,
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
(e.g. webm -> vp9) and is never rejected; only a caller-EXPLICIT
|
|
1095
|
-
incompatible value is rejected.
|
|
1166
|
+
Output container. original = keep the input container (default, same-format
|
|
1167
|
+
compression). Other values change the container as part of the same job, keeping
|
|
1168
|
+
the size cap. When set, the RESOLVED target container determines the valid
|
|
1169
|
+
codec/audio_codec/faststart sets — an absent/default codec resolves to a
|
|
1170
|
+
container-valid one (e.g. webm -> vp9) and is never rejected; only a
|
|
1171
|
+
caller-EXPLICIT incompatible value is rejected.
|
|
1096
1172
|
codec:
|
|
1097
1173
|
type: enum
|
|
1098
1174
|
values: [h264, h265, vp9, av1]
|
|
1099
1175
|
default: h264
|
|
1100
|
-
description
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1176
|
+
# AUTHOR NOTES (moved out of the user-facing description, ewOlw35Z,
|
|
1177
|
+
# 2026-09-23 — user copy must not point at FORMAT.md). Preserved verbatim:
|
|
1178
|
+
# Video codec. h264 = widest compatibility, h265/av1 = better compression but slower.
|
|
1179
|
+
# The default (h264) is the MP4/MOV standard and is CONTAINER-CONDITIONAL against the
|
|
1180
|
+
# RESOLVED output container (the explicit `output_format` if set, else the input
|
|
1181
|
+
# container): for a container that cannot carry it (e.g. WebM, which carries VP8/VP9/
|
|
1182
|
+
# AV1) the server resolves a container-valid codec (WebM -> vp9). A DEFAULT value is
|
|
1183
|
+
# never rejected — including an explicit `output_format: webm` left at the default
|
|
1184
|
+
# `h264` (resolves to vp9, not rejected); only a caller-EXPLICIT incompatible codec is
|
|
1185
|
+
# rejected. See FORMAT.md "Container-conditional defaults".
|
|
1186
|
+
description: >-
|
|
1187
|
+
Video codec. h264 = widest compatibility, h265/av1 = better compression but
|
|
1188
|
+
slower. The default (h264) is the MP4/MOV standard and is CONTAINER-CONDITIONAL
|
|
1189
|
+
against the RESOLVED output container (the explicit `output_format` if set, else
|
|
1190
|
+
the input container): for a container that cannot carry it (e.g. WebM, which
|
|
1191
|
+
carries VP8/VP9/AV1) the server resolves a container-valid codec (WebM -> vp9).
|
|
1192
|
+
A DEFAULT value is never rejected — including an explicit `output_format: webm`
|
|
1193
|
+
left at the default `h264` (resolves to vp9, not rejected); only a
|
|
1194
|
+
caller-EXPLICIT incompatible codec is rejected.
|
|
1111
1195
|
encoding_mode:
|
|
1112
1196
|
type: enum
|
|
1113
1197
|
values: [crf, target_size]
|
|
@@ -1121,38 +1205,48 @@ operation:
|
|
|
1121
1205
|
# per-value-availability tag: option availability is binary and cannot be
|
|
1122
1206
|
# output-container-scoped (same cross-axis limitation as
|
|
1123
1207
|
# compress.audio.bitrate's lossy-output rule). crf is universal. ADR-0023 D8.
|
|
1124
|
-
description
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1208
|
+
# AUTHOR NOTES (moved out of the user-facing description, ewOlw35Z,
|
|
1209
|
+
# 2026-09-23 — frontend shows option descriptions to users). Preserved verbatim:
|
|
1210
|
+
# `crf` = constant quality. `target_size` = constrained output file size
|
|
1211
|
+
# (two-pass). `target_size` is LIVE for mp4/MOV output; for webm/ogg output
|
|
1212
|
+
# and long-form the server returns `feature_not_available` (use `crf` there)
|
|
1213
|
+
# until two-pass for this container ships.
|
|
1214
|
+
#
|
|
1215
|
+
# 🔴 **`crf` DOES NOT MEAN UNCONSTRAINED FILE SIZE. THIS DESCRIPTION USED TO
|
|
1216
|
+
# SAY "variable file size" AND THAT WAS FALSE BY OMISSION.** For **mp4/MOV
|
|
1217
|
+
# output**, the worker additionally derives a **source-relative peak-bitrate
|
|
1218
|
+
# ceiling of roughly 60% of the source video bitrate** (`-maxrate`/`-bufsize`),
|
|
1219
|
+
# and **it binds regardless of an explicit `crf`** — constrained-CRF. The `crf`
|
|
1220
|
+
# value is still honoured as the **quality ceiling**; the cap adds a peak
|
|
1221
|
+
# ceiling on top of it.
|
|
1222
|
+
#
|
|
1223
|
+
# ⚠️ **Scope, because "we cap every video" would be a second false sentence:**
|
|
1224
|
+
# the cap is **mp4/MOV only** — WebM/VP9 discards it and skips the probe
|
|
1225
|
+
# entirely — and it is **best-effort**, so an unprobeable source gets no cap.
|
|
1226
|
+
#
|
|
1227
|
+
# ⭐ **Why it exists, which is also why the old wording surprised in the wrong
|
|
1228
|
+
# direction:** plain CRF alone **INFLATES already-efficient sources** — an
|
|
1229
|
+
# efficient HEVC re-encoded to H.264 at CRF 23/25/30 grows. The compress
|
|
1230
|
+
# contract is *reduce file size*, so the cap is what makes shrinking reliable.
|
|
1231
|
+
# A caller who deliberately pins a low `crf` on an efficient source therefore
|
|
1232
|
+
# gets a constrained-CRF transcode rather than a byte-for-byte original: a
|
|
1233
|
+
# deliberate, accepted shift.
|
|
1234
|
+
#
|
|
1235
|
+
# 🔴 **THIS DESCRIPTION IS BOUND TO THE WORKER, NOT DATED AGAINST IT.**
|
|
1236
|
+
# `tests/test_bitrate_cap_disclosure_matches_the_worker.py` reads
|
|
1237
|
+
# `compression_lambdas` at `origin/main` and fails if the cap stops
|
|
1238
|
+
# being source-relative, stops being mp4/MOV-only, or stops deriving
|
|
1239
|
+
# from a source probe. **An as-of date would make a superseded
|
|
1240
|
+
# sentence look deliberate**; a gate makes it go red instead.
|
|
1241
|
+
description: >-
|
|
1242
|
+
`crf` = constant quality. `target_size` = aim for a specific output file
|
|
1243
|
+
size (two-pass); available for mp4/MOV output only — for webm/ogg output
|
|
1244
|
+
and long-form video it is refused with `feature_not_available` (use
|
|
1245
|
+
`crf`). With `crf` on mp4/MOV output the file size is still bounded: a
|
|
1246
|
+
source-relative peak-bitrate ceiling (about 60% of the source video
|
|
1247
|
+
bitrate) keeps already-efficient sources from growing. That ceiling is
|
|
1248
|
+
mp4/MOV only and best-effort — it is skipped when the source bitrate
|
|
1249
|
+
cannot be read.
|
|
1156
1250
|
crf:
|
|
1157
1251
|
type: integer
|
|
1158
1252
|
min: 0
|
|
@@ -1176,37 +1270,44 @@ operation:
|
|
|
1176
1270
|
type: enum
|
|
1177
1271
|
values: [ultrafast, superfast, veryfast, faster, fast, medium, slow, slower, veryslow]
|
|
1178
1272
|
default: medium
|
|
1179
|
-
description
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
|
|
1183
|
-
|
|
1184
|
-
|
|
1185
|
-
|
|
1186
|
-
|
|
1187
|
-
|
|
1188
|
-
|
|
1189
|
-
|
|
1190
|
-
|
|
1191
|
-
|
|
1192
|
-
|
|
1193
|
-
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
|
|
1201
|
-
|
|
1202
|
-
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
|
|
1209
|
-
|
|
1273
|
+
# AUTHOR NOTES (moved out of the user-facing description, ewOlw35Z,
|
|
1274
|
+
# 2026-09-23 — frontend shows option descriptions to users). Preserved verbatim:
|
|
1275
|
+
# x264/x265 encoder effort. **A SIZE LEVER, CONDITIONALLY** — it moves
|
|
1276
|
+
# output size **only while the mp4/MOV peak-bitrate cap is NOT binding.**
|
|
1277
|
+
#
|
|
1278
|
+
# **Measured by `compression_lambdas`, medium vs slow, all else held:**
|
|
1279
|
+
#
|
|
1280
|
+
# crf 30, cap inert 1,220,156 vs 1,144,043 bytes 6.2% apart
|
|
1281
|
+
# crf 18, cap binding 2,514,788 vs 2,516,986 bytes 0.09% apart
|
|
1282
|
+
#
|
|
1283
|
+
# 🔴 **THE MECHANISM IS MECHANICAL, NOT EMPIRICAL, AND EXPLAINS BOTH ROWS.**
|
|
1284
|
+
# In pure CRF the encoder targets constant QUALITY, so a slower preset spends
|
|
1285
|
+
# its extra effort producing a **smaller file at the same quality**. Once
|
|
1286
|
+
# `-maxrate` binds the encode is rate-limited, so the extra effort can only go
|
|
1287
|
+
# into **picture at a fixed size** — an axis a size measurement cannot see.
|
|
1288
|
+
#
|
|
1289
|
+
# ⚠️ **This description previously said `preset` was effort-only and that `crf`
|
|
1290
|
+
# was the size lever. That was wrong**, and it was wrong because a 0.09% figure
|
|
1291
|
+
# measured on a **cap-binding** clip was generalised into a property of `preset`.
|
|
1292
|
+
# **A measurement is not a property until you know what held it.**
|
|
1293
|
+
#
|
|
1294
|
+
# ⇒ **Callers optimising for size:** `crf` is the primary lever; `preset` adds
|
|
1295
|
+
# real reduction **only when the cap is not already constraining the encode** —
|
|
1296
|
+
# which is exactly the high-`crf`, small-output end. See `encoding_mode` for what
|
|
1297
|
+
# the cap is and when it applies.
|
|
1298
|
+
#
|
|
1299
|
+
# ⚠️ **What the extra effort buys once the cap DOES bind is mechanically
|
|
1300
|
+
# implied and empirically UNCONFIRMED.** The mechanism says it must go
|
|
1301
|
+
# into picture; `compression_lambdas` could not see a difference on 2x
|
|
1302
|
+
# crops, but that was **one frame of one 5-second clip**, and preset
|
|
1303
|
+
# differences concentrate in high-motion frames that were not
|
|
1304
|
+
# deliberately sampled. **Recorded as unestablished, not asserted.**
|
|
1305
|
+
description: >-
|
|
1306
|
+
Encoder effort for mp4/MOV output (x264/x265); other output formats
|
|
1307
|
+
ignore it. Slower presets take longer and can produce a smaller file at
|
|
1308
|
+
the same quality — but only while the peak-bitrate ceiling described
|
|
1309
|
+
under `encoding_mode` is not already limiting the output. For size,
|
|
1310
|
+
`crf` is the main lever.
|
|
1210
1311
|
width:
|
|
1211
1312
|
type: integer
|
|
1212
1313
|
min: 2
|
|
@@ -1231,31 +1332,48 @@ operation:
|
|
|
1231
1332
|
faststart:
|
|
1232
1333
|
type: boolean
|
|
1233
1334
|
default: true
|
|
1234
|
-
description
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
|
-
|
|
1335
|
+
# AUTHOR NOTES (moved out of the user-facing description, ewOlw35Z,
|
|
1336
|
+
# 2026-09-23 — user copy must not point at FORMAT.md). Preserved verbatim:
|
|
1337
|
+
# Move the MP4/MOV moov atom to the front so the file starts playing before it is fully
|
|
1338
|
+
# downloaded (progressive web playback). MP4/MOV only. CONTAINER-CONDITIONAL against the
|
|
1339
|
+
# RESOLVED output container (the explicit `output_format` if set, else the input): the
|
|
1340
|
+
# default (true) is silently inapplicable for a container with no moov atom (e.g. WebM)
|
|
1341
|
+
# — that is NOT a rejection. Only a caller-EXPLICIT faststart:true on such a container
|
|
1342
|
+
# is rejected. See FORMAT.md "Container-conditional defaults".
|
|
1343
|
+
description: >-
|
|
1344
|
+
Move the MP4/MOV moov atom to the front so the file starts playing before it is
|
|
1345
|
+
fully downloaded (progressive web playback). MP4/MOV only. CONTAINER-CONDITIONAL
|
|
1346
|
+
against the RESOLVED output container (the explicit `output_format` if set, else
|
|
1347
|
+
the input): the default (true) is silently inapplicable for a container with no
|
|
1348
|
+
moov atom (e.g. WebM) — that is NOT a rejection. Only a caller-EXPLICIT
|
|
1349
|
+
faststart:true on such a container is rejected.
|
|
1242
1350
|
audio_codec:
|
|
1243
1351
|
type: enum
|
|
1244
1352
|
values: [aac, opus, vorbis, copy]
|
|
1245
1353
|
default: copy
|
|
1246
|
-
description
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
|
|
1257
|
-
|
|
1258
|
-
|
|
1354
|
+
# AUTHOR NOTES (moved out of the user-facing description, ewOlw35Z,
|
|
1355
|
+
# 2026-09-23 — user copy must not point at FORMAT.md). Preserved verbatim:
|
|
1356
|
+
# Audio codec. copy = passthrough (keep the source stream as-is; re-encode only on
|
|
1357
|
+
# explicit request) — aac/opus/vorbis re-encode. Default is `copy`: on the
|
|
1358
|
+
# same-container path (`output_format` original/absent) the source stream is already
|
|
1359
|
+
# container-compatible, so copy is safe. When `output_format` RE-TARGETS the container,
|
|
1360
|
+
# an absent/default audio_codec resolves to a container-valid codec via the facade (e.g.
|
|
1361
|
+
# webm -> opus), NOT a blind copy of an incompatible stream — a DEFAULT is never
|
|
1362
|
+
# rejected (the exact per-container resolution, incl. ogg vorbis-vs-opus, is an
|
|
1363
|
+
# output_format stable-flip prerequisite). A caller-EXPLICIT codec the resolved
|
|
1364
|
+
# container cannot carry (e.g. aac on a webm target) is rejected. See FORMAT.md
|
|
1365
|
+
# "Container-conditional defaults".
|
|
1366
|
+
description: >-
|
|
1367
|
+
Audio codec. copy = passthrough (keep the source stream as-is; re-encode only on
|
|
1368
|
+
explicit request) — aac/opus/vorbis re-encode. Default is `copy`: on the
|
|
1369
|
+
same-container path (`output_format` original/absent) the source stream is
|
|
1370
|
+
already container-compatible, so copy is safe. When `output_format` RE-TARGETS
|
|
1371
|
+
the container, an absent/default audio_codec resolves to a container-valid codec
|
|
1372
|
+
via the facade (e.g. webm -> opus), NOT a blind copy of an incompatible stream —
|
|
1373
|
+
a DEFAULT is never rejected (the exact per-container resolution, incl. ogg
|
|
1374
|
+
vorbis-vs-opus, is an output_format stable-flip prerequisite). A caller-EXPLICIT
|
|
1375
|
+
codec the resolved container cannot carry (e.g. aac on a webm target) is
|
|
1376
|
+
rejected.
|
|
1259
1377
|
audio_bitrate:
|
|
1260
1378
|
type: enum
|
|
1261
1379
|
value_type: integer
|