@giveitsmaller/contracts 0.58.0 → 0.60.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 +14 -1
- package/accepted-options/image-output-routes.json +1 -1
- package/asyncapi/events.yaml +36 -9
- package/availability/availability.json +136 -27
- package/code-builder/code-builder-metadata.json +136 -27
- package/dist/asyncapi/ErrorCode.d.ts +2 -0
- package/dist/asyncapi/ErrorCode.js +2 -0
- package/dist/openapi/models/AccountLimitEntry.d.ts +1 -1
- package/dist/openapi/models/AccountLimitEntry.js +1 -1
- package/dist/openapi/models/AccountLimits.d.ts +1 -1
- package/dist/openapi/models/AccountLimits.js +1 -1
- package/dist/openapi/models/AccountLimitsLimits.d.ts +1 -1
- package/dist/openapi/models/AccountLimitsLimits.js +1 -1
- package/dist/openapi/models/AccountLimitsSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/AccountLimitsSuccessEnvelope.js +1 -1
- package/dist/openapi/models/AudioWatermarkDecodeRequest.d.ts +1 -1
- package/dist/openapi/models/AudioWatermarkDecodeRequest.js +1 -1
- package/dist/openapi/models/AudioWatermarkDecodeResponse.d.ts +1 -1
- package/dist/openapi/models/AudioWatermarkDecodeResponse.js +1 -1
- package/dist/openapi/models/AuthErrorResponse.d.ts +1 -1
- package/dist/openapi/models/AuthErrorResponse.js +1 -1
- package/dist/openapi/models/AuthErrorType.d.ts +1 -1
- package/dist/openapi/models/AuthErrorType.js +1 -1
- package/dist/openapi/models/AuthRejectionEnvelope.d.ts +1 -1
- package/dist/openapi/models/AuthRejectionEnvelope.js +1 -1
- package/dist/openapi/models/AvailabilityValue.d.ts +1 -1
- package/dist/openapi/models/AvailabilityValue.js +1 -1
- package/dist/openapi/models/BalanceExhaustedResponse.d.ts +1 -1
- package/dist/openapi/models/BalanceExhaustedResponse.js +1 -1
- package/dist/openapi/models/BalanceExhaustedResponseAllOfLinks.d.ts +1 -1
- package/dist/openapi/models/BalanceExhaustedResponseAllOfLinks.js +1 -1
- package/dist/openapi/models/BillingCheckoutRequest.d.ts +1 -1
- package/dist/openapi/models/BillingCheckoutRequest.js +1 -1
- package/dist/openapi/models/BillingCheckoutSession.d.ts +1 -1
- package/dist/openapi/models/BillingCheckoutSession.js +1 -1
- package/dist/openapi/models/BillingCheckoutSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/BillingCheckoutSuccessEnvelope.js +1 -1
- package/dist/openapi/models/CallbackEventType.d.ts +1 -1
- package/dist/openapi/models/CallbackEventType.js +1 -1
- package/dist/openapi/models/CapabilityCondition.d.ts +1 -1
- package/dist/openapi/models/CapabilityCondition.js +1 -1
- package/dist/openapi/models/CapabilityConditionOneOf.d.ts +1 -1
- package/dist/openapi/models/CapabilityConditionOneOf.js +1 -1
- package/dist/openapi/models/CapabilityConditionOneOf1.d.ts +1 -1
- package/dist/openapi/models/CapabilityConditionOneOf1.js +1 -1
- package/dist/openapi/models/CapabilityConditionOneOf2.d.ts +1 -1
- package/dist/openapi/models/CapabilityConditionOneOf2.js +1 -1
- package/dist/openapi/models/CapabilityConditionOneOf3.d.ts +1 -1
- package/dist/openapi/models/CapabilityConditionOneOf3.js +1 -1
- package/dist/openapi/models/CapabilityConditionOneOf4.d.ts +1 -1
- package/dist/openapi/models/CapabilityConditionOneOf4.js +1 -1
- package/dist/openapi/models/CapabilityConditionOneOf5.d.ts +1 -1
- package/dist/openapi/models/CapabilityConditionOneOf5.js +1 -1
- package/dist/openapi/models/CapabilityConditionOneOf6.d.ts +1 -1
- package/dist/openapi/models/CapabilityConditionOneOf6.js +1 -1
- package/dist/openapi/models/CapabilityConstraint.d.ts +1 -1
- package/dist/openapi/models/CapabilityConstraint.js +1 -1
- package/dist/openapi/models/CapabilityInputSpec.d.ts +1 -1
- package/dist/openapi/models/CapabilityInputSpec.js +1 -1
- package/dist/openapi/models/CapabilityProduces.d.ts +1 -1
- package/dist/openapi/models/CapabilityProduces.js +1 -1
- package/dist/openapi/models/CapabilityProducesOneOf.d.ts +1 -1
- package/dist/openapi/models/CapabilityProducesOneOf.js +1 -1
- package/dist/openapi/models/CapabilityProducesOneOf1.d.ts +1 -1
- package/dist/openapi/models/CapabilityProducesOneOf1.js +1 -1
- package/dist/openapi/models/CapabilityProducesOneOf2.d.ts +1 -1
- package/dist/openapi/models/CapabilityProducesOneOf2.js +1 -1
- package/dist/openapi/models/ChangePasswordRequest.d.ts +1 -1
- package/dist/openapi/models/ChangePasswordRequest.js +1 -1
- package/dist/openapi/models/CodegenSource.d.ts +1 -1
- package/dist/openapi/models/CodegenSource.js +1 -1
- package/dist/openapi/models/CodegenSourceInput.d.ts +1 -1
- package/dist/openapi/models/CodegenSourceInput.js +1 -1
- package/dist/openapi/models/CodegenSourceJob.d.ts +1 -1
- package/dist/openapi/models/CodegenSourceJob.js +1 -1
- package/dist/openapi/models/CodegenSourceJobSource.d.ts +1 -1
- package/dist/openapi/models/CodegenSourceJobSource.js +1 -1
- package/dist/openapi/models/CodegenSourceOperation.d.ts +1 -1
- package/dist/openapi/models/CodegenSourceOperation.js +1 -1
- package/dist/openapi/models/CodegenUploadPlaceholder.d.ts +1 -1
- package/dist/openapi/models/CodegenUploadPlaceholder.js +1 -1
- package/dist/openapi/models/CompositionPlan.d.ts +1 -1
- package/dist/openapi/models/CompositionPlan.js +1 -1
- package/dist/openapi/models/CompositionPlanJob.d.ts +1 -1
- package/dist/openapi/models/CompositionPlanJob.js +1 -1
- package/dist/openapi/models/CompositionPlanOperation.d.ts +1 -1
- package/dist/openapi/models/CompositionPlanOperation.js +1 -1
- package/dist/openapi/models/ConfirmEmailChange200Response.d.ts +1 -1
- package/dist/openapi/models/ConfirmEmailChange200Response.js +1 -1
- package/dist/openapi/models/ConfirmEmailChange200ResponseData.d.ts +1 -1
- package/dist/openapi/models/ConfirmEmailChange200ResponseData.js +1 -1
- package/dist/openapi/models/ConfirmEmailChangeRequest.d.ts +1 -1
- package/dist/openapi/models/ConfirmEmailChangeRequest.js +1 -1
- package/dist/openapi/models/ConnectionSource.d.ts +1 -1
- package/dist/openapi/models/ConnectionSource.js +1 -1
- package/dist/openapi/models/ContactRequest.d.ts +1 -1
- package/dist/openapi/models/ContactRequest.js +1 -1
- package/dist/openapi/models/ContactSubject.d.ts +1 -1
- package/dist/openapi/models/ContactSubject.js +1 -1
- package/dist/openapi/models/ContactValidationErrorResponse.d.ts +1 -1
- package/dist/openapi/models/ContactValidationErrorResponse.js +1 -1
- package/dist/openapi/models/CreateApiKey201Response.d.ts +1 -1
- package/dist/openapi/models/CreateApiKey201Response.js +1 -1
- package/dist/openapi/models/CreateApiKey201ResponseData.d.ts +1 -1
- package/dist/openapi/models/CreateApiKey201ResponseData.js +1 -1
- package/dist/openapi/models/CreateApiKeyRequest.d.ts +1 -1
- package/dist/openapi/models/CreateApiKeyRequest.js +1 -1
- package/dist/openapi/models/CreateBillingCheckoutSession422Response.d.ts +1 -1
- package/dist/openapi/models/CreateBillingCheckoutSession422Response.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/CreateWorkflow401Response.d.ts +1 -1
- package/dist/openapi/models/CreateWorkflow401Response.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 +43 -1
- package/dist/openapi/models/CreditsUsageResponse.js +5 -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/DroppedOption.d.ts +88 -0
- package/dist/openapi/models/DroppedOption.js +54 -0
- package/dist/openapi/models/EmailNotify.d.ts +1 -1
- package/dist/openapi/models/EmailNotify.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/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 +23 -1
- package/dist/openapi/models/JobResponse.js +3 -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/LoginUser401Response.d.ts +1 -1
- package/dist/openapi/models/LoginUser401Response.js +1 -1
- package/dist/openapi/models/LoginUserRequest.d.ts +1 -1
- package/dist/openapi/models/LoginUserRequest.js +1 -1
- package/dist/openapi/models/LongFormConcurrencyLimitResponse.d.ts +5 -2
- package/dist/openapi/models/LongFormConcurrencyLimitResponse.js +1 -1
- package/dist/openapi/models/LongFormConcurrencyLimitResponseAllOfLinks.d.ts +1 -1
- package/dist/openapi/models/LongFormConcurrencyLimitResponseAllOfLinks.js +1 -1
- package/dist/openapi/models/MetadataResponse.d.ts +1 -1
- package/dist/openapi/models/MetadataResponse.js +1 -1
- package/dist/openapi/models/MetadataResponseDimensions.d.ts +1 -1
- package/dist/openapi/models/MetadataResponseDimensions.js +1 -1
- package/dist/openapi/models/MetadataResponseExif.d.ts +1 -1
- package/dist/openapi/models/MetadataResponseExif.js +1 -1
- package/dist/openapi/models/MetadataResponseExifGps.d.ts +1 -1
- package/dist/openapi/models/MetadataResponseExifGps.js +1 -1
- package/dist/openapi/models/MetadataSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/MetadataSuccessEnvelope.js +1 -1
- package/dist/openapi/models/MimeGroupSchema.d.ts +38 -1
- package/dist/openapi/models/MimeGroupSchema.js +5 -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/NotifyConfig.d.ts +1 -1
- package/dist/openapi/models/NotifyConfig.js +1 -1
- package/dist/openapi/models/OperationCapability.d.ts +1 -1
- package/dist/openapi/models/OperationCapability.js +1 -1
- package/dist/openapi/models/OperationDefinition.d.ts +1 -1
- package/dist/openapi/models/OperationDefinition.js +1 -1
- package/dist/openapi/models/OperationDownload.d.ts +103 -5
- 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 +30 -6
- 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 +10 -1
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeatures.js +4 -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/OperationsSchemaResponseWorkflowFeaturesProcessing.d.ts +33 -0
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesProcessing.js +42 -0
- package/dist/openapi/models/OptionSchema.d.ts +30 -1
- package/dist/openapi/models/OptionSchema.js +4 -1
- package/dist/openapi/models/OutputProperties.d.ts +1 -1
- package/dist/openapi/models/OutputProperties.js +1 -1
- package/dist/openapi/models/OutputPropertiesIsAnimated.d.ts +1 -1
- package/dist/openapi/models/OutputPropertiesIsAnimated.js +1 -1
- package/dist/openapi/models/PerClassAvailabilityEntry.d.ts +58 -0
- package/dist/openapi/models/PerClassAvailabilityEntry.js +48 -0
- package/dist/openapi/models/PerRoleCardinalityEntry.d.ts +1 -1
- package/dist/openapi/models/PerRoleCardinalityEntry.js +1 -1
- package/dist/openapi/models/PerValueAvailabilityEntry.d.ts +44 -1
- package/dist/openapi/models/PerValueAvailabilityEntry.js +5 -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 +23 -6
- package/dist/openapi/models/ProcessingClassHint.js +23 -6
- package/dist/openapi/models/ProcessingClassReason.d.ts +78 -1
- package/dist/openapi/models/ProcessingClassReason.js +79 -2
- 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 +30 -1
- package/dist/openapi/models/ProcessingPlanJob.js +4 -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/ResendVerificationEmailRequest.d.ts +1 -1
- package/dist/openapi/models/ResendVerificationEmailRequest.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 +9 -4
- 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 -19
- package/dist/openapi/models/UploadSource.js +1 -3
- 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/WorkflowArchiveResponse.d.ts +81 -0
- package/dist/openapi/models/WorkflowArchiveResponse.js +71 -0
- package/dist/openapi/models/WorkflowArchiveSuccessEnvelope.d.ts +46 -0
- package/dist/openapi/models/WorkflowArchiveSuccessEnvelope.js +54 -0
- package/dist/openapi/models/WorkflowCancelBillingEffect.d.ts +1 -1
- package/dist/openapi/models/WorkflowCancelBillingEffect.js +1 -1
- package/dist/openapi/models/WorkflowCancelResponse.d.ts +1 -1
- package/dist/openapi/models/WorkflowCancelResponse.js +1 -1
- package/dist/openapi/models/WorkflowCancelSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/WorkflowCancelSuccessEnvelope.js +1 -1
- package/dist/openapi/models/WorkflowCreateRequest.d.ts +1 -1
- package/dist/openapi/models/WorkflowCreateRequest.js +1 -1
- package/dist/openapi/models/WorkflowCreateResponse.d.ts +1 -1
- package/dist/openapi/models/WorkflowCreateResponse.js +1 -1
- package/dist/openapi/models/WorkflowCreateSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/WorkflowCreateSuccessEnvelope.js +1 -1
- package/dist/openapi/models/WorkflowCreditSummary.d.ts +1 -1
- package/dist/openapi/models/WorkflowCreditSummary.js +1 -1
- package/dist/openapi/models/WorkflowDownloadResponse.d.ts +1 -1
- package/dist/openapi/models/WorkflowDownloadResponse.js +1 -1
- package/dist/openapi/models/WorkflowDownloadSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/WorkflowDownloadSuccessEnvelope.js +1 -1
- package/dist/openapi/models/WorkflowEdge.d.ts +1 -1
- package/dist/openapi/models/WorkflowEdge.js +1 -1
- package/dist/openapi/models/WorkflowExpiredResponse.d.ts +1 -1
- package/dist/openapi/models/WorkflowExpiredResponse.js +1 -1
- package/dist/openapi/models/WorkflowListResponse.d.ts +1 -1
- package/dist/openapi/models/WorkflowListResponse.js +1 -1
- package/dist/openapi/models/WorkflowListSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/WorkflowListSuccessEnvelope.js +1 -1
- package/dist/openapi/models/WorkflowPauseRequiredAction.d.ts +1 -1
- package/dist/openapi/models/WorkflowPauseRequiredAction.js +1 -1
- package/dist/openapi/models/WorkflowPausedDetail.d.ts +1 -1
- package/dist/openapi/models/WorkflowPausedDetail.js +1 -1
- package/dist/openapi/models/WorkflowPausedDetailLinks.d.ts +1 -1
- package/dist/openapi/models/WorkflowPausedDetailLinks.js +1 -1
- package/dist/openapi/models/WorkflowProcessing.d.ts +1 -1
- package/dist/openapi/models/WorkflowProcessing.js +1 -1
- package/dist/openapi/models/WorkflowRestoreResponse.d.ts +60 -0
- package/dist/openapi/models/WorkflowRestoreResponse.js +58 -0
- package/dist/openapi/models/WorkflowRestoreSuccessEnvelope.d.ts +46 -0
- package/dist/openapi/models/WorkflowRestoreSuccessEnvelope.js +54 -0
- 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 +12 -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 +24 -1
- package/dist/openapi/models/WorkflowSummary.js +5 -1
- package/dist/openapi/models/WorkflowSummaryJob.d.ts +11 -5
- 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/models/index.d.ts +7 -0
- package/dist/openapi/models/index.js +7 -0
- package/dist/openapi/runtime.d.ts +1 -1
- package/dist/openapi/runtime.js +1 -1
- package/dist/operations/merge.metadata.js +6 -1
- package/dist/operations/thumbnail.d.ts +21 -0
- package/dist/operations/thumbnail.js +16 -0
- package/dist/operations/thumbnail.metadata.js +25 -0
- package/openapi/api.yaml +895 -45
- package/operation-capabilities/operation-capabilities.json +1 -1
- package/operations/schemas/audio_overlay.yaml +0 -4
- package/operations/schemas/audio_to_video.yaml +1 -0
- package/operations/schemas/compress.yaml +113 -22
- package/operations/schemas/convert.yaml +10 -4
- package/operations/schemas/merge.yaml +90 -3
- package/operations/schemas/render_variants.yaml +30 -7
- package/operations/schemas/split.yaml +13 -3
- package/operations/schemas/thumbnail.yaml +190 -3
- package/package.json +1 -1
|
@@ -1088,6 +1088,19 @@
|
|
|
1088
1088
|
},
|
|
1089
1089
|
"output_format_option": null
|
|
1090
1090
|
},
|
|
1091
|
+
"document_epub": {
|
|
1092
|
+
"accepted_options": {
|
|
1093
|
+
"*": [
|
|
1094
|
+
"fit",
|
|
1095
|
+
"format",
|
|
1096
|
+
"height",
|
|
1097
|
+
"quality",
|
|
1098
|
+
"source",
|
|
1099
|
+
"width"
|
|
1100
|
+
]
|
|
1101
|
+
},
|
|
1102
|
+
"output_format_option": null
|
|
1103
|
+
},
|
|
1091
1104
|
"image": {
|
|
1092
1105
|
"accepted_options": {
|
|
1093
1106
|
"*": [
|
|
@@ -1187,5 +1200,5 @@
|
|
|
1187
1200
|
}
|
|
1188
1201
|
}
|
|
1189
1202
|
},
|
|
1190
|
-
"schema_version": "2.
|
|
1203
|
+
"schema_version": "2.188.0"
|
|
1191
1204
|
}
|
package/asyncapi/events.yaml
CHANGED
|
@@ -4186,9 +4186,13 @@ components:
|
|
|
4186
4186
|
|
|
4187
4187
|
**Purpose (future-proofing per ADR-0022).** The API consumes this MIME +
|
|
4188
4188
|
its deterministic MIME→extension map (`DownloadFilenameComputer`) to derive
|
|
4189
|
-
the canonical download extension
|
|
4190
|
-
|
|
4191
|
-
the
|
|
4189
|
+
the canonical download extension SERVER-SIDE (it does NOT set
|
|
4190
|
+
`Content-Type` from this field). It is NOT the download filename — the API synthesises that
|
|
4191
|
+
from the upload's `original_name`, and `output_file_type` feeds only the
|
|
4192
|
+
download EXTENSION (see `OperationDownload.filename` in
|
|
4193
|
+
`openapi/api.yaml` for the full synthesis; the presigner sets
|
|
4194
|
+
`Content-Disposition`, and `Content-Type` is not derived from this
|
|
4195
|
+
field). For today's traffic the API can infer the output MIME (compress is
|
|
4192
4196
|
same-format; the compress+format facade canonicalizes to `convert` whose
|
|
4193
4197
|
target is known), so this is **advisory/future-proofing** for a
|
|
4194
4198
|
runtime-format-selection path (e.g. `compress output_format=auto|smallest`,
|
|
@@ -4199,7 +4203,7 @@ components:
|
|
|
4199
4203
|
completion-result surface as `OperationResult.mime_type` (advisory/optional —
|
|
4200
4204
|
the OpenAPI surface names the concept `mime_type`), so the client can name the
|
|
4201
4205
|
server-chosen format for the savings readout. The download `OperationDownload`
|
|
4202
|
-
schema still carries no echo: the API derives its
|
|
4206
|
+
schema still carries no echo: the API derives its download extension server-side.
|
|
4203
4207
|
example: "image/webp"
|
|
4204
4208
|
|
|
4205
4209
|
# Multi-output success fields (per ADR-0009 MultiOutputCompletion)
|
|
@@ -4355,16 +4359,20 @@ components:
|
|
|
4355
4359
|
multi-output (heterogeneous fan-out e.g. convert PDF→image — each entry MAY
|
|
4356
4360
|
differ); the top-level `output_file_type` covers the single-output shape.
|
|
4357
4361
|
Present on completion only. See ADR-0022 — the API derives the per-output
|
|
4358
|
-
download extension
|
|
4359
|
-
MIME→extension map
|
|
4362
|
+
download extension server-side from this MIME via its
|
|
4363
|
+
MIME→extension map (it does NOT set `Content-Type` from this field;
|
|
4364
|
+
the presigner sets `Content-Disposition` only). Future-proofing (additive now, cf. `target_id`).
|
|
4360
4365
|
example: "image/png"
|
|
4361
4366
|
page_index:
|
|
4362
4367
|
type: integer
|
|
4363
4368
|
minimum: 1
|
|
4364
4369
|
description: |
|
|
4365
|
-
1-based page number for PDF-page outputs
|
|
4366
|
-
|
|
4367
|
-
|
|
4370
|
+
1-based **literal source page number** for PDF-page outputs —
|
|
4371
|
+
the actual page from the input PDF. A full conversion emits `1..N`;
|
|
4372
|
+
a sparse `pages` selection (e.g. `'1-5,8'`) emits exactly the
|
|
4373
|
+
selected pages (`1,2,3,4,5,8`) — gapless ONLY for a full conversion.
|
|
4374
|
+
Mutually exclusive with `position`. Normative semantics:
|
|
4375
|
+
ADR-0009 §D2.
|
|
4368
4376
|
example: 1
|
|
4369
4377
|
position:
|
|
4370
4378
|
type: integer
|
|
@@ -5444,6 +5452,23 @@ components:
|
|
|
5444
5452
|
- invalid_key: Storage key is malformed
|
|
5445
5453
|
- invalid_request: Operation request validation failed
|
|
5446
5454
|
- s3_access_denied: Storage access denied (IAM/permissions) — fail-fast; a 403 never clears on retry
|
|
5455
|
+
- input_too_large: Input exceeds our PROCESSING limits (e.g. decoded pixel
|
|
5456
|
+
budget) — deterministic; the same file is refused forever. User-actionable:
|
|
5457
|
+
downscale, or a tier with a higher ceiling. **Distinct from the byte caps**
|
|
5458
|
+
(`max_input_size_bytes`), which the API enforces at CREATE and 422s — those
|
|
5459
|
+
never reach a worker, so a worker-emitted `input_too_large` can only ever
|
|
5460
|
+
mean a processing limit found at decode time. **Do not use `decode_failed`
|
|
5461
|
+
for this**: that means "we could not parse the file" and renders to the
|
|
5462
|
+
customer as "it may be corrupted", which accuses a clean file.
|
|
5463
|
+
- never_started: The operation was terminated WITHOUT EVER RUNNING, because the
|
|
5464
|
+
job it belonged to reached a terminal state first — either an upstream/same-job
|
|
5465
|
+
operation failed, **or the workflow was cancelled**. Deliberately named for what
|
|
5466
|
+
happened to THIS operation rather than for the cause: a cause-named code
|
|
5467
|
+
(`upstream_failed`) would be FALSE on the cancel path, where nothing upstream
|
|
5468
|
+
failed and the user simply pressed cancel. **Uniquely in this enum, no worker
|
|
5469
|
+
emits it** — the API derives it from job state, so do not look for the worker
|
|
5470
|
+
that produces it. Non-retryable: retrying an operation that never ran is
|
|
5471
|
+
meaningless; the caller re-submits the workflow.
|
|
5447
5472
|
- unknown: Unclassified error
|
|
5448
5473
|
enum:
|
|
5449
5474
|
- s3_download_failed
|
|
@@ -5460,4 +5485,6 @@ components:
|
|
|
5460
5485
|
- missing_source
|
|
5461
5486
|
- invalid_key
|
|
5462
5487
|
- invalid_request
|
|
5488
|
+
- input_too_large
|
|
5489
|
+
- never_started
|
|
5463
5490
|
- unknown
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"capabilities_version":
|
|
2
|
+
"capabilities_version": 178,
|
|
3
3
|
"endpoints": {
|
|
4
4
|
"DELETE /api/auth/api-keys/{apiKeyId}": {
|
|
5
5
|
"auth": "required",
|
|
@@ -253,6 +253,13 @@
|
|
|
253
253
|
"operation_id": "createWorkflow",
|
|
254
254
|
"required_tier": null
|
|
255
255
|
},
|
|
256
|
+
"POST /api/workflows/{id}/archive": {
|
|
257
|
+
"auth": "required",
|
|
258
|
+
"availability": "stable",
|
|
259
|
+
"identity_scoped": true,
|
|
260
|
+
"operation_id": "archiveWorkflow",
|
|
261
|
+
"required_tier": null
|
|
262
|
+
},
|
|
256
263
|
"POST /api/workflows/{id}/cancel": {
|
|
257
264
|
"auth": "required",
|
|
258
265
|
"availability": "stable",
|
|
@@ -260,6 +267,13 @@
|
|
|
260
267
|
"operation_id": "cancelWorkflow",
|
|
261
268
|
"required_tier": null
|
|
262
269
|
},
|
|
270
|
+
"POST /api/workflows/{id}/restore": {
|
|
271
|
+
"auth": "required",
|
|
272
|
+
"availability": "stable",
|
|
273
|
+
"identity_scoped": true,
|
|
274
|
+
"operation_id": "restoreWorkflow",
|
|
275
|
+
"required_tier": null
|
|
276
|
+
},
|
|
263
277
|
"POST /api/workflows/{id}/resume": {
|
|
264
278
|
"auth": "required",
|
|
265
279
|
"availability": "stable",
|
|
@@ -408,7 +422,6 @@
|
|
|
408
422
|
},
|
|
409
423
|
"min_silence_ms": {
|
|
410
424
|
"availability": "planned",
|
|
411
|
-
"default": 500,
|
|
412
425
|
"description": "Minimum silence duration (milliseconds) to qualify as an\nanchor region for `sync_to_silence`. Inert until that\nfeature flips to stable.\n",
|
|
413
426
|
"max": 30000,
|
|
414
427
|
"min": 50,
|
|
@@ -438,7 +451,6 @@
|
|
|
438
451
|
},
|
|
439
452
|
"silence_threshold_db": {
|
|
440
453
|
"availability": "planned",
|
|
441
|
-
"default": -50.0,
|
|
442
454
|
"description": "Silence threshold (dB) for the `sync_to_silence` feature.\nBase audio below this level for at least `min_silence_ms`\nqualifies as a silence region into which the overlay can\nbe anchored. Inert until\n`features.sync_to_silence.availability` flips to stable.\n",
|
|
443
455
|
"max": -10.0,
|
|
444
456
|
"min": -80.0,
|
|
@@ -564,7 +576,6 @@
|
|
|
564
576
|
},
|
|
565
577
|
"min_silence_ms": {
|
|
566
578
|
"availability": "planned",
|
|
567
|
-
"default": 500,
|
|
568
579
|
"description": "Minimum silence duration (milliseconds) for\n`sync_to_silence`. Inert until that feature flips to\nstable.\n",
|
|
569
580
|
"max": 30000,
|
|
570
581
|
"min": 50,
|
|
@@ -604,7 +615,6 @@
|
|
|
604
615
|
},
|
|
605
616
|
"silence_threshold_db": {
|
|
606
617
|
"availability": "planned",
|
|
607
|
-
"default": -50.0,
|
|
608
618
|
"description": "Silence threshold (dB) for `sync_to_silence`. Inert\nuntil that feature flips to stable.\n",
|
|
609
619
|
"max": -10.0,
|
|
610
620
|
"min": -80.0,
|
|
@@ -669,6 +679,7 @@
|
|
|
669
679
|
"max_inputs": 2,
|
|
670
680
|
"mime_groups": {
|
|
671
681
|
"audio": {
|
|
682
|
+
"max_input_duration": "PT2H",
|
|
672
683
|
"mimes": [
|
|
673
684
|
"audio/mpeg",
|
|
674
685
|
"audio/aac",
|
|
@@ -964,13 +975,13 @@
|
|
|
964
975
|
}
|
|
965
976
|
},
|
|
966
977
|
"document_epub": {
|
|
978
|
+
"max_input_size_bytes": 104857600,
|
|
967
979
|
"mimes": [
|
|
968
980
|
"application/epub+zip"
|
|
969
981
|
],
|
|
970
982
|
"options": {
|
|
971
983
|
"font_subsetting": {
|
|
972
984
|
"availability": "planned",
|
|
973
|
-
"default": true,
|
|
974
985
|
"description": "Subset embedded fonts to only include glyphs used in the document. Significant size reduction for books with large font files. `planned` \u2014 not yet supported.",
|
|
975
986
|
"type": "boolean"
|
|
976
987
|
},
|
|
@@ -983,13 +994,13 @@
|
|
|
983
994
|
},
|
|
984
995
|
"strip_unused_css": {
|
|
985
996
|
"availability": "planned",
|
|
986
|
-
"default": false,
|
|
987
997
|
"description": "Remove CSS rules not referenced by any content. Risk: may affect rendering in some readers. `planned` \u2014 not yet supported.",
|
|
988
998
|
"type": "boolean"
|
|
989
999
|
}
|
|
990
1000
|
}
|
|
991
1001
|
},
|
|
992
1002
|
"document_odf": {
|
|
1003
|
+
"max_input_size_bytes": 104857600,
|
|
993
1004
|
"mimes": [
|
|
994
1005
|
"application/vnd.oasis.opendocument.text",
|
|
995
1006
|
"application/vnd.oasis.opendocument.spreadsheet",
|
|
@@ -1005,19 +1016,18 @@
|
|
|
1005
1016
|
},
|
|
1006
1017
|
"strip_metadata": {
|
|
1007
1018
|
"availability": "planned",
|
|
1008
|
-
"default": true,
|
|
1009
1019
|
"description": "Remove document metadata (author, revision history, comments). `planned` \u2014 not yet supported.",
|
|
1010
1020
|
"type": "boolean"
|
|
1011
1021
|
},
|
|
1012
1022
|
"strip_unused_styles": {
|
|
1013
1023
|
"availability": "planned",
|
|
1014
|
-
"default": false,
|
|
1015
1024
|
"description": "Remove style definitions not referenced in document content. `planned` \u2014 not yet supported.",
|
|
1016
1025
|
"type": "boolean"
|
|
1017
1026
|
}
|
|
1018
1027
|
}
|
|
1019
1028
|
},
|
|
1020
1029
|
"document_office": {
|
|
1030
|
+
"max_input_size_bytes": 104857600,
|
|
1021
1031
|
"mimes": [
|
|
1022
1032
|
"application/vnd.openxmlformats-officedocument.wordprocessingml.document",
|
|
1023
1033
|
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
|
|
@@ -1033,25 +1043,23 @@
|
|
|
1033
1043
|
},
|
|
1034
1044
|
"strip_hidden_data": {
|
|
1035
1045
|
"availability": "planned",
|
|
1036
|
-
"default": true,
|
|
1037
1046
|
"description": "Remove revisions, comments, personal info, hidden rows/columns, and speaker notes. `planned` \u2014 not yet supported.",
|
|
1038
1047
|
"type": "boolean"
|
|
1039
1048
|
},
|
|
1040
1049
|
"strip_macros": {
|
|
1041
1050
|
"availability": "planned",
|
|
1042
|
-
"default": true,
|
|
1043
1051
|
"description": "Remove VBA macros and ActiveX controls. `planned` \u2014 not yet supported.",
|
|
1044
1052
|
"type": "boolean"
|
|
1045
1053
|
},
|
|
1046
1054
|
"strip_unused_fonts": {
|
|
1047
1055
|
"availability": "planned",
|
|
1048
|
-
"default": false,
|
|
1049
1056
|
"description": "Remove embedded fonts not referenced in the document. Risk: may affect rendering on systems without the font installed. `planned` \u2014 not yet supported.",
|
|
1050
1057
|
"type": "boolean"
|
|
1051
1058
|
}
|
|
1052
1059
|
}
|
|
1053
1060
|
},
|
|
1054
1061
|
"image": {
|
|
1062
|
+
"max_input_size_bytes": 524288000,
|
|
1055
1063
|
"max_output_pixels": 16000000,
|
|
1056
1064
|
"mimes": [
|
|
1057
1065
|
"image/gif",
|
|
@@ -1175,6 +1183,7 @@
|
|
|
1175
1183
|
}
|
|
1176
1184
|
},
|
|
1177
1185
|
"image_avif": {
|
|
1186
|
+
"max_input_size_bytes": 20971520,
|
|
1178
1187
|
"max_output_pixels": 16000000,
|
|
1179
1188
|
"mimes": [
|
|
1180
1189
|
"image/avif"
|
|
@@ -1345,6 +1354,7 @@
|
|
|
1345
1354
|
}
|
|
1346
1355
|
},
|
|
1347
1356
|
"image_jpeg": {
|
|
1357
|
+
"max_input_size_bytes": 524288000,
|
|
1348
1358
|
"max_output_pixels": 16000000,
|
|
1349
1359
|
"mimes": [
|
|
1350
1360
|
"image/jpeg"
|
|
@@ -1537,6 +1547,7 @@
|
|
|
1537
1547
|
}
|
|
1538
1548
|
},
|
|
1539
1549
|
"image_png": {
|
|
1550
|
+
"max_input_size_bytes": 524288000,
|
|
1540
1551
|
"max_output_pixels": 16000000,
|
|
1541
1552
|
"mimes": [
|
|
1542
1553
|
"image/png"
|
|
@@ -1643,7 +1654,7 @@
|
|
|
1643
1654
|
},
|
|
1644
1655
|
"quality": {
|
|
1645
1656
|
"default": 80,
|
|
1646
|
-
"description": "Compression quality (1-100). For PNG this is the SINGLE lossy/lossless control: `quality` < 100 applies lossy palette quantization (
|
|
1657
|
+
"description": "Compression quality (1-100). For PNG this is the SINGLE lossy/lossless control: `quality` < 100 applies lossy palette quantization (the value is the quantization level), while `quality: 100` keeps the PNG lossless (lossless optimisation only \u2014 tune the lossless effort via `optimization_level`). 1 = smallest file, 100 = best quality / lossless. There is no separate lossy/lossless toggle for PNG \u2014 it is purely quality-driven.",
|
|
1647
1658
|
"honored_on": [
|
|
1648
1659
|
"same_format"
|
|
1649
1660
|
],
|
|
@@ -1664,6 +1675,7 @@
|
|
|
1664
1675
|
}
|
|
1665
1676
|
},
|
|
1666
1677
|
"image_svg": {
|
|
1678
|
+
"max_input_size_bytes": 524288000,
|
|
1667
1679
|
"mimes": [
|
|
1668
1680
|
"image/svg+xml"
|
|
1669
1681
|
],
|
|
@@ -1687,7 +1699,7 @@
|
|
|
1687
1699
|
},
|
|
1688
1700
|
"output_format": {
|
|
1689
1701
|
"default": "original",
|
|
1690
|
-
"description": "Output format. original = keep input format (default); webp = recompress to WebP. Concrete format changes are handled by the convert operation. `auto` / `smallest` are PLANNED auto-format directives (the server picks the best/smallest candidate format, reported via the result `mime_type`) \u2014 selection strategies, not concrete targets, planned until supported. See FORMAT.md.",
|
|
1702
|
+
"description": "Output format. `original` = keep input format \u2014 SVG -> SVG optimisation via SVGO. **STABLE and working** (restored 2026-07-21, G9O6yrQD; worker-proven on staging job 019f6aa3-d275-7b10-a5cf-58acc705c7e2 at 24.5% reduction, Form-A attested in lambdas #325). It is also the schema `default`, so a bare `compress` on an SVG takes this route. Optimisation is **visually preserving, NOT lossless** \u2014 SVGO's `preset-default` includes `convertPathData`, which rounds path coordinates within a tolerance. NOTE for anyone re-reading history here: this value was `planned` from 2026-07-17 to 2026-07-21 on a false premise, and because the API materializes an omitted default before the availability gate (api 4a7a2628), that tag 422'd EVERY website SVG compress at create \u2014 the workbench does not send `output_format`, so the defaulted path is the only path a customer has. A `planned` DEFAULT is therefore never a partial restriction; it is a total one. Weigh that before tagging any future default `planned`. `webp` = recompress to WebP: **STABLE and working today** \u2014 this facade route canonicalizes to the `convert` operation (`convert.image_svg` carries its own quality), which is why this group is NOT gated at group level. Concrete format changes are handled by the convert operation. `auto` / `smallest` are PLANNED auto-format directives (the server picks the best/smallest candidate format, reported via the result `mime_type`) \u2014 selection strategies, not concrete targets, planned until supported. See FORMAT.md.",
|
|
1691
1703
|
"per_value_availability": {
|
|
1692
1704
|
"auto": {
|
|
1693
1705
|
"availability": "planned"
|
|
@@ -1707,6 +1719,7 @@
|
|
|
1707
1719
|
}
|
|
1708
1720
|
},
|
|
1709
1721
|
"image_webp": {
|
|
1722
|
+
"max_input_size_bytes": 524288000,
|
|
1710
1723
|
"max_output_pixels": 16000000,
|
|
1711
1724
|
"mimes": [
|
|
1712
1725
|
"image/webp"
|
|
@@ -2019,8 +2032,7 @@
|
|
|
2019
2032
|
},
|
|
2020
2033
|
"speed": {
|
|
2021
2034
|
"availability": "planned",
|
|
2022
|
-
"
|
|
2023
|
-
"description": "Playback speed multiplier. 1.0 = unchanged (default), 2.0 = twice as fast (half the output duration), 0.5 = half speed (double the duration); range 0.25\u20134.0. Audio PITCH IS PRESERVED (a tempo-shift, not a resample \u2014 ffmpeg `atempo` semantics), so a 2.0x clip sounds sped up, not chipmunked. Applied BEFORE an explicit `fps`: speed re-times the stream, then `fps` (if set) resamples the retimed stream to the target rate. SHORT-FORM only \u2014 long-form video returns `feature_not_available` (adjust a short clip, or chain a `split`); see the compress.video.speed.longform constraint.\n",
|
|
2035
|
+
"description": "Playback speed multiplier. 1.0 = unchanged, 2.0 = twice as fast (half the output duration), 0.5 = half speed (double the duration); range 0.25\u20134.0. Audio PITCH IS PRESERVED (a tempo-shift, not a resample \u2014 ffmpeg `atempo` semantics), so a 2.0x clip sounds sped up, not chipmunked. Applied BEFORE an explicit `fps`: speed re-times the stream, then `fps` (if set) resamples the retimed stream to the target rate. SHORT-FORM only \u2014 long-form video returns `feature_not_available` (adjust a short clip, or chain a `split`); see the compress.video.speed.longform constraint.\n",
|
|
2024
2036
|
"max": 4.0,
|
|
2025
2037
|
"min": 0.25,
|
|
2026
2038
|
"type": "float"
|
|
@@ -2157,7 +2169,7 @@
|
|
|
2157
2169
|
},
|
|
2158
2170
|
"pages": {
|
|
2159
2171
|
"default": "1",
|
|
2160
|
-
"description": "Page selection (e.g. '1-5,8'). Each resolved page produces a\nseparate output file. **Maximum 200 resolved entries per\nrequest** \u2014 aligns with the `OperationResult.outputs[]`\n`maxItems: 200` cap. Expressions resolving to more than 200\nentries (e.g. `'1-201'`, `'1-100,102-205'`) are out of\ncontract. Duplicate or overlapping entries (e.g. `'1,1'`,\n`'1-100,50-150'`) are counted toward the cap as parsed;\ndeduplication, if any, is a runtime concern and is NOT part\nof this contract.\n",
|
|
2172
|
+
"description": "Page selection (e.g. '1-5,8'). Each resolved page produces a\nseparate output file whose `page_index` is the **literal source\npage number** \u2014 a sparse selection stays sparse: `pages: '1-5,8'`\nyields outputs with `page_index` `1,2,3,4,5,8` (NOT renumbered\n`1..6`), and `pages: '5-7'` yields `5,6,7`. The download `filename`\nsuffix is a separate 0-based array position and does NOT track the\npage number. **Maximum 200 resolved entries per\nrequest** \u2014 aligns with the `OperationResult.outputs[]`\n`maxItems: 200` cap. Expressions resolving to more than 200\nentries (e.g. `'1-201'`, `'1-100,102-205'`) are out of\ncontract. Duplicate or overlapping entries (e.g. `'1,1'`,\n`'1-100,50-150'`) are counted toward the cap as parsed;\ndeduplication, if any, is a runtime concern and is NOT part\nof this contract.\n",
|
|
2161
2173
|
"type": "string"
|
|
2162
2174
|
}
|
|
2163
2175
|
}
|
|
@@ -2237,8 +2249,7 @@
|
|
|
2237
2249
|
},
|
|
2238
2250
|
"metadata": {
|
|
2239
2251
|
"availability": "planned",
|
|
2240
|
-
"
|
|
2241
|
-
"description": "Metadata handling across a format change. `strip` = remove all EXIF/IPTC/XMP (default), `keep` = preserve. `planned` \u2014 metadata is not yet preserved across a format change. The honoured target subset may narrow (avif/heic targets are re-encoded and cannot keep metadata).",
|
|
2252
|
+
"description": "Metadata handling across a format change. `strip` = remove all EXIF/IPTC/XMP, `keep` = preserve. `planned` \u2014 metadata is not yet preserved across a format change, so this option carries **no default**: omit it and the worker's own behaviour applies. The honoured target subset may narrow (avif/heic targets are re-encoded and cannot keep metadata).",
|
|
2242
2253
|
"honored_on": [
|
|
2243
2254
|
"format_change"
|
|
2244
2255
|
],
|
|
@@ -3100,11 +3111,11 @@
|
|
|
3100
3111
|
"type": "float"
|
|
3101
3112
|
},
|
|
3102
3113
|
"fps": {
|
|
3103
|
-
"
|
|
3114
|
+
"availability": "planned",
|
|
3104
3115
|
"depends_on": {
|
|
3105
3116
|
"output_type": "video"
|
|
3106
3117
|
},
|
|
3107
|
-
"description": "Output frame rate",
|
|
3118
|
+
"description": "Output frame rate. **Not yet configurable** \u2014 slideshow output is currently produced at a fixed 30 fps; setting this explicitly is rejected (`feature_not_available`). Omit it to get 30 fps.",
|
|
3108
3119
|
"max": 60,
|
|
3109
3120
|
"min": 1,
|
|
3110
3121
|
"type": "integer"
|
|
@@ -3343,6 +3354,21 @@
|
|
|
3343
3354
|
]
|
|
3344
3355
|
},
|
|
3345
3356
|
"description": "CRF aims for a quality level and lets the file size vary;\ntarget_size aims for a fixed output file size. `target_size`\ncurrently works with `codec=h264` only \u2014 a request pairing it\nwith another codec is rejected as `invalid_options`.\n",
|
|
3357
|
+
"per_class_availability": {
|
|
3358
|
+
"long_form_re_encode": {
|
|
3359
|
+
"availability": "planned"
|
|
3360
|
+
}
|
|
3361
|
+
},
|
|
3362
|
+
"per_value_availability": {
|
|
3363
|
+
"target_size": {
|
|
3364
|
+
"availability": "stable",
|
|
3365
|
+
"per_class_availability": {
|
|
3366
|
+
"long_form_re_encode": {
|
|
3367
|
+
"availability": "planned"
|
|
3368
|
+
}
|
|
3369
|
+
}
|
|
3370
|
+
}
|
|
3371
|
+
},
|
|
3346
3372
|
"per_value_depends_on": {
|
|
3347
3373
|
"target_size": {
|
|
3348
3374
|
"codec": [
|
|
@@ -3358,7 +3384,12 @@
|
|
|
3358
3384
|
},
|
|
3359
3385
|
"normalize_audio": {
|
|
3360
3386
|
"default": true,
|
|
3361
|
-
"description": "Normalize audio levels across all clips",
|
|
3387
|
+
"description": "Normalize audio levels across all clips. NOT available on the long-form path, which forces loudness normalisation off \u2014 a defaulted value is dropped and reported there rather than silently ignored.",
|
|
3388
|
+
"per_class_availability": {
|
|
3389
|
+
"long_form_re_encode": {
|
|
3390
|
+
"availability": "planned"
|
|
3391
|
+
}
|
|
3392
|
+
},
|
|
3362
3393
|
"type": "boolean"
|
|
3363
3394
|
},
|
|
3364
3395
|
"output_type": {
|
|
@@ -3824,7 +3855,7 @@
|
|
|
3824
3855
|
"split": {
|
|
3825
3856
|
"availability": "beta",
|
|
3826
3857
|
"default": false,
|
|
3827
|
-
"description": "Fan one input file into N outputs across GIF, PDF, audio, and\nvideo MIME families. Single-input \u2014 one input file per job, fanned\ninto N outputs per the per-mime-group catalog. Mirrors the\n`merge` / `convert` catalog-split-by-mime-group pattern.\n\n**Three shared modes** (audio + video; the mode discriminator\ngates which option applies per the `depends_on` rules in this\nschema):\n- `interval`: split every N numeric-seconds.\n- `count`: split into N equal-duration pieces (integer 2..=200).\n- `cut_points`: explicit cut points in numeric-seconds (strictly\n increasing, no duplicates, each > 0 and < probed duration).\n\n**Plus an audio-only `silence` mode** (`beta`, gated by the\n`silence_mode_audio` feature): cut at detected silence gaps via\nserver-side silence detection. Video stays three-mode.\n\n**GIF + PDF use range-based selection** instead of three modes:\n- GIF (`image_gif`): `frame_range` REQUIRED + `output_format`\n enum {png,webp,jpg}.\n- PDF (`document_pdf`): `page_range` OR `page_groups` (mutually\n exclusive per `depends_on`).\n\n**Wire format**: numeric seconds (floats allowed for sub-second\nprecision). NOT ISO 8601 duration strings. Matches common\nvideo-tooling conventions.\n\n**200-output hard cap** (`OperationResult.outputs[].maxItems:\n200`). Preflight rejects\nrequests exceeding this BEFORE work as `invalid_options` (422).\nCap math by mode:\n- `interval`: `ceil(probed_duration / interval) <= 200`\n- `count`: enforced by the option's `min: 2 max: 200` range\n- `cut_points`: `cut_points.len() + 1 <= 200`\n- `silence` (audio): resolved segment count (detected gaps + 1)\n `<= 200`; preflight rejects as `invalid_options` (422)\n- PDF: resolved page count after expansion `<= 200`\n (cross-ref [`WgCqnMRa`](https://trello.com/c/WgCqnMRa))\n- GIF: resolved frame count after expansion `<= 200`\n\n**Output naming**: 3-digit
|
|
3858
|
+
"description": "Fan one input file into N outputs across GIF, PDF, audio, and\nvideo MIME families. Single-input \u2014 one input file per job, fanned\ninto N outputs per the per-mime-group catalog. Mirrors the\n`merge` / `convert` catalog-split-by-mime-group pattern.\n\n**Three shared modes** (audio + video; the mode discriminator\ngates which option applies per the `depends_on` rules in this\nschema):\n- `interval`: split every N numeric-seconds.\n- `count`: split into N equal-duration pieces (integer 2..=200).\n- `cut_points`: explicit cut points in numeric-seconds (strictly\n increasing, no duplicates, each > 0 and < probed duration).\n\n**Plus an audio-only `silence` mode** (`beta`, gated by the\n`silence_mode_audio` feature): cut at detected silence gaps via\nserver-side silence detection. Video stays three-mode.\n\n**GIF + PDF use range-based selection** instead of three modes:\n- GIF (`image_gif`): `frame_range` REQUIRED + `output_format`\n enum {png,webp,jpg}.\n- PDF (`document_pdf`): `page_range` OR `page_groups` (mutually\n exclusive per `depends_on`).\n\n**Wire format**: numeric seconds (floats allowed for sub-second\nprecision). NOT ISO 8601 duration strings. Matches common\nvideo-tooling conventions.\n\n**200-output hard cap** (`OperationResult.outputs[].maxItems:\n200`). Preflight rejects\nrequests exceeding this BEFORE work as `invalid_options` (422).\nCap math by mode:\n- `interval`: `ceil(probed_duration / interval) <= 200`\n- `count`: enforced by the option's `min: 2 max: 200` range\n- `cut_points`: `cut_points.len() + 1 <= 200`\n- `silence` (audio): resolved segment count (detected gaps + 1)\n `<= 200`; preflight rejects as `invalid_options` (422)\n- PDF: resolved page count after expansion `<= 200`\n (cross-ref [`WgCqnMRa`](https://trello.com/c/WgCqnMRa))\n- GIF: resolved frame count after expansion `<= 200`\n\n**Output naming (S3 object key)**: the object-key leaf is 3-digit\nzero-padded \u2014 `output-001` .. `output-200` (ADR-0014 \u00a7D9). This binds the\n**S3 object key**, NOT the user-facing download filename \u2014 the API\nsynthesises that separately (see `OperationDownload.filename` in\n`openapi/api.yaml`). Only the **3-digit zero-padding** follows the convert\nPDF\u2192N precedent \u2014 convert keys are `page-NNN.ext`, split keys are\n`output-NNN.ext`.\n\n**Output envelope binding**:\n- `image_gif`: `PositionIndexed` (frame stream-position 0-based\n ordinal)\n- `document_pdf`: `PageIndexed` (1-based literal source page number).\n **`mode: page_range` only** \u2014 each output is one page, so `page_index` is\n that page. For **`mode: page_groups`** an output spans multiple source\n pages, so a single `page_index` cannot name them all; that grouped-output\n semantics is NOT specified by this correction and is deferred (do not\n assume it is the group's first page \u2014 that is unverified).\n- `audio`: `PositionIndexed` (cut stream-position ordinal)\n- `video`: `PositionIndexed` (cut stream-position ordinal)\n\n**`precision` flag** (audio + video only): `fast` (default) =\npacket-boundary approximate cuts; `exact` = re-encode-aligned\nprecise cuts. Mime_group scoping is the gate \u2014 precision does\nNOT apply to GIF or PDF (frame extraction is exact and PDF page\nselection is exact by definition).\n\n**Long-form video** routes to a separate long-form processing\npath (same `split` OperationType; routing via `processing_class`).\nNo schema-side discriminator beyond MIME detection +\n`processing_class`.\n\n`availability: beta` for the `audio` and `video` mime_groups\n(shape-stable + opt-in, MUST NOT 422). Video activates **both\nclasses**: `video.processing_class.short_form` AND `long_form` are\n`beta`. The `image_gif` and `document_pdf` mime_groups stay\n`availability: planned` until their cross-repo backend support ships;\ndispatch returns `feature_not_available` (422) for the still-planned\ngroups/classes until then.\n",
|
|
3828
3859
|
"features": {
|
|
3829
3860
|
"silence_mode_audio": {
|
|
3830
3861
|
"availability": "beta",
|
|
@@ -4386,7 +4417,6 @@
|
|
|
4386
4417
|
"max_output_pixels": 16000000,
|
|
4387
4418
|
"mimes": [
|
|
4388
4419
|
"application/pdf",
|
|
4389
|
-
"application/epub+zip",
|
|
4390
4420
|
"application/vnd.openxmlformats-officedocument.wordprocessingml.document",
|
|
4391
4421
|
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
|
|
4392
4422
|
"application/vnd.openxmlformats-officedocument.presentationml.presentation",
|
|
@@ -4445,7 +4475,7 @@
|
|
|
4445
4475
|
},
|
|
4446
4476
|
"source": {
|
|
4447
4477
|
"default": "page",
|
|
4448
|
-
"description": "page = render a specific page/slide
|
|
4478
|
+
"description": "`page` = render a specific page/slide. `cover` = extract a cover image \u2014 only meaningful for EPUB inputs, which are served by the `document_epub` group; on PDF/office/ODF it is accepted and IGNORED (retained for backward compatibility).",
|
|
4449
4479
|
"type": "enum",
|
|
4450
4480
|
"values": [
|
|
4451
4481
|
"page",
|
|
@@ -4460,6 +4490,67 @@
|
|
|
4460
4490
|
}
|
|
4461
4491
|
}
|
|
4462
4492
|
},
|
|
4493
|
+
"document_epub": {
|
|
4494
|
+
"max_output_pixels": 16000000,
|
|
4495
|
+
"mimes": [
|
|
4496
|
+
"application/epub+zip"
|
|
4497
|
+
],
|
|
4498
|
+
"options": {
|
|
4499
|
+
"fit": {
|
|
4500
|
+
"default": "crop",
|
|
4501
|
+
"description": "Resize mode",
|
|
4502
|
+
"type": "enum",
|
|
4503
|
+
"values": [
|
|
4504
|
+
"max",
|
|
4505
|
+
"crop",
|
|
4506
|
+
"scale"
|
|
4507
|
+
]
|
|
4508
|
+
},
|
|
4509
|
+
"format": {
|
|
4510
|
+
"default": "jpg",
|
|
4511
|
+
"description": "Output format for the thumbnail",
|
|
4512
|
+
"type": "enum",
|
|
4513
|
+
"values": [
|
|
4514
|
+
"jpg",
|
|
4515
|
+
"png",
|
|
4516
|
+
"webp"
|
|
4517
|
+
]
|
|
4518
|
+
},
|
|
4519
|
+
"height": {
|
|
4520
|
+
"description": "Target height in pixels (1-16384; width*height <= 16MP). Optional \u2014 see `width` for the omitted-default behaviour.",
|
|
4521
|
+
"max": 16384,
|
|
4522
|
+
"min": 1,
|
|
4523
|
+
"type": "integer"
|
|
4524
|
+
},
|
|
4525
|
+
"quality": {
|
|
4526
|
+
"default": 85,
|
|
4527
|
+
"depends_on": {
|
|
4528
|
+
"format": [
|
|
4529
|
+
"jpg",
|
|
4530
|
+
"webp"
|
|
4531
|
+
]
|
|
4532
|
+
},
|
|
4533
|
+
"description": "Output quality for lossy thumbnail formats (jpg/webp): higher = better quality, larger file. Ignored for png (lossless).",
|
|
4534
|
+
"max": 100,
|
|
4535
|
+
"min": 1,
|
|
4536
|
+
"type": "integer"
|
|
4537
|
+
},
|
|
4538
|
+
"source": {
|
|
4539
|
+
"default": "cover",
|
|
4540
|
+
"description": "`cover` (the only supported value) = extract the EPUB's declared cover image \u2014 the cheap path, no rendering. Cover lookup supports both mechanisms: the EPUB 3 `cover-image` property on an OPF manifest item, AND the legacy EPUB 2 `<meta name=\"cover\" content=\"...\"/>` pointing at a manifest item \u2014 supporting only the former would miss a large slice of real-world files. Both are staging-proven (pL16ZfOw Wave 3). A cover image is OPTIONAL per W3C EPUB 3.3, so a cover-less EPUB is a REAL and expected case: it fails with `error_code: processing_failed` and `is_retryable: false`. That is the live behaviour, not an aspiration \u2014 the worker classifies it as `CoverError::NoCoverDeclared` and maps it there (`epub/error.rs`), and non-retryability is DERIVED from the code rather than set per-call, so it cannot drift. A cover-less EPUB will not grow a cover, so retrying is always futile. A more specific code would be better, and is NOT promised here: `ErrorCode` (asyncapi) is a CLOSED enum with no \"no cover\" member, so adding one is a real cross-repo co-land (enum edit -> SDK regen -> lockstep). Until then this description states what actually happens \u2014 an undecided-reject note on a STABLE route would leave consumers unable to handle a case they will certainly meet.",
|
|
4541
|
+
"type": "enum",
|
|
4542
|
+
"values": [
|
|
4543
|
+
"cover"
|
|
4544
|
+
]
|
|
4545
|
+
},
|
|
4546
|
+
"width": {
|
|
4547
|
+
"description": "Target width in pixels (1-16384; width*height <= 16MP). Optional \u2014 when omitted the server applies an aspect-preserving default (both omitted \u2192 longest edge 320px; only one of width/height provided \u2192 the other is derived from the source aspect ratio).",
|
|
4548
|
+
"max": 16384,
|
|
4549
|
+
"min": 1,
|
|
4550
|
+
"type": "integer"
|
|
4551
|
+
}
|
|
4552
|
+
}
|
|
4553
|
+
},
|
|
4463
4554
|
"image": {
|
|
4464
4555
|
"max_output_pixels": 16000000,
|
|
4465
4556
|
"mimes": [
|
|
@@ -4516,7 +4607,7 @@
|
|
|
4516
4607
|
"png"
|
|
4517
4608
|
]
|
|
4518
4609
|
},
|
|
4519
|
-
"description": "Output quality for lossy thumbnail formats (jpg / webp / png): higher = better quality, larger file. For PNG, `quality` < 100 applies lossy palette quantization (
|
|
4610
|
+
"description": "Output quality for lossy thumbnail formats (jpg / webp / png): higher = better quality, larger file. For PNG, `quality` < 100 applies lossy palette quantization (transparency preserved); `quality: 100` keeps the PNG lossless. Per-format effective default (server-resolved when `quality` is unset, per ADR-0020 D1): PNG \u2192 70 (more aggressive \u2014 thumbnails target small files), jpg/webp \u2192 85. The schema `default` is the nominal jpg/webp value (85); the FE shows 70 as the initial PNG slider value.",
|
|
4520
4611
|
"max": 100,
|
|
4521
4612
|
"min": 1,
|
|
4522
4613
|
"type": "integer"
|
|
@@ -5006,7 +5097,7 @@
|
|
|
5006
5097
|
"sole_op": true
|
|
5007
5098
|
}
|
|
5008
5099
|
},
|
|
5009
|
-
"schema_version": "2.
|
|
5100
|
+
"schema_version": "2.188.0",
|
|
5010
5101
|
"source_commit": null,
|
|
5011
5102
|
"user_tier": null,
|
|
5012
5103
|
"workflow_features": {
|
|
@@ -5039,6 +5130,24 @@
|
|
|
5039
5130
|
}
|
|
5040
5131
|
}
|
|
5041
5132
|
}
|
|
5133
|
+
},
|
|
5134
|
+
"processing": {
|
|
5135
|
+
"class_hint": {
|
|
5136
|
+
"per_value_availability": {
|
|
5137
|
+
"auto": {
|
|
5138
|
+
"availability": "stable"
|
|
5139
|
+
},
|
|
5140
|
+
"long_form_allowed": {
|
|
5141
|
+
"availability": "planned"
|
|
5142
|
+
},
|
|
5143
|
+
"long_form_preferred": {
|
|
5144
|
+
"availability": "planned"
|
|
5145
|
+
},
|
|
5146
|
+
"short_form_only": {
|
|
5147
|
+
"availability": "planned"
|
|
5148
|
+
}
|
|
5149
|
+
}
|
|
5150
|
+
}
|
|
5042
5151
|
}
|
|
5043
5152
|
}
|
|
5044
5153
|
}
|