@giveitsmaller/contracts 0.58.0 → 0.59.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 +15 -1
- package/accepted-options/image-output-routes.json +1 -1
- package/asyncapi/events.yaml +17 -9
- package/availability/availability.json +123 -7
- package/code-builder/code-builder-metadata.json +127 -7
- 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/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 +1 -1
- 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 +1 -1
- package/dist/openapi/models/OperationResponse.js +1 -1
- package/dist/openapi/models/OperationResult.d.ts +1 -1
- package/dist/openapi/models/OperationResult.js +1 -1
- package/dist/openapi/models/OperationResultMetadata.d.ts +1 -1
- package/dist/openapi/models/OperationResultMetadata.js +1 -1
- package/dist/openapi/models/OperationResultMetrics.d.ts +1 -1
- package/dist/openapi/models/OperationResultMetrics.js +1 -1
- package/dist/openapi/models/OperationSchemaDefinition.d.ts +1 -1
- package/dist/openapi/models/OperationSchemaDefinition.js +1 -1
- package/dist/openapi/models/OperationStatus.d.ts +1 -1
- package/dist/openapi/models/OperationStatus.js +1 -1
- package/dist/openapi/models/OperationType.d.ts +1 -1
- package/dist/openapi/models/OperationType.js +1 -1
- package/dist/openapi/models/OperationsSchemaResponse.d.ts +1 -1
- package/dist/openapi/models/OperationsSchemaResponse.js +1 -1
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeatures.d.ts +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 +1 -1
- package/dist/openapi/models/OptionSchema.js +1 -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/PerRoleCardinalityEntry.d.ts +1 -1
- package/dist/openapi/models/PerRoleCardinalityEntry.js +1 -1
- package/dist/openapi/models/PerValueAvailabilityEntry.d.ts +1 -1
- package/dist/openapi/models/PerValueAvailabilityEntry.js +1 -1
- package/dist/openapi/models/PresignedUrlPart.d.ts +1 -1
- package/dist/openapi/models/PresignedUrlPart.js +1 -1
- package/dist/openapi/models/ProbePendingResponse.d.ts +1 -1
- package/dist/openapi/models/ProbePendingResponse.js +1 -1
- package/dist/openapi/models/ProcessingClass.d.ts +1 -1
- package/dist/openapi/models/ProcessingClass.js +1 -1
- package/dist/openapi/models/ProcessingClassBandViolation.d.ts +1 -1
- package/dist/openapi/models/ProcessingClassBandViolation.js +1 -1
- package/dist/openapi/models/ProcessingClassConstraints.d.ts +1 -1
- package/dist/openapi/models/ProcessingClassConstraints.js +1 -1
- package/dist/openapi/models/ProcessingClassEntry.d.ts +1 -1
- package/dist/openapi/models/ProcessingClassEntry.js +1 -1
- package/dist/openapi/models/ProcessingClassExceedsBandResponse.d.ts +1 -1
- package/dist/openapi/models/ProcessingClassExceedsBandResponse.js +1 -1
- package/dist/openapi/models/ProcessingClassHint.d.ts +23 -6
- package/dist/openapi/models/ProcessingClassHint.js +23 -6
- package/dist/openapi/models/ProcessingClassReason.d.ts +1 -1
- package/dist/openapi/models/ProcessingClassReason.js +1 -1
- package/dist/openapi/models/ProcessingClassRejectReason.d.ts +1 -1
- package/dist/openapi/models/ProcessingClassRejectReason.js +1 -1
- package/dist/openapi/models/ProcessingPlan.d.ts +1 -1
- package/dist/openapi/models/ProcessingPlan.js +1 -1
- package/dist/openapi/models/ProcessingPlanJob.d.ts +1 -1
- package/dist/openapi/models/ProcessingPlanJob.js +1 -1
- package/dist/openapi/models/ReEncodeDecision.d.ts +1 -1
- package/dist/openapi/models/ReEncodeDecision.js +1 -1
- package/dist/openapi/models/ReadinessResponse.d.ts +1 -1
- package/dist/openapi/models/ReadinessResponse.js +1 -1
- package/dist/openapi/models/RegisterUser422Response.d.ts +1 -1
- package/dist/openapi/models/RegisterUser422Response.js +1 -1
- package/dist/openapi/models/RegisterUserRequest.d.ts +1 -1
- package/dist/openapi/models/RegisterUserRequest.js +1 -1
- package/dist/openapi/models/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 +1 -1
- package/dist/openapi/models/WorkflowSource.js +1 -1
- package/dist/openapi/models/WorkflowStatus.d.ts +1 -1
- package/dist/openapi/models/WorkflowStatus.js +1 -1
- package/dist/openapi/models/WorkflowStatusResponse.d.ts +1 -1
- package/dist/openapi/models/WorkflowStatusResponse.js +1 -1
- package/dist/openapi/models/WorkflowStatusSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/WorkflowStatusSuccessEnvelope.js +1 -1
- package/dist/openapi/models/WorkflowSummary.d.ts +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 +5 -0
- package/dist/openapi/models/index.js +5 -0
- package/dist/openapi/runtime.d.ts +1 -1
- package/dist/openapi/runtime.js +1 -1
- package/dist/operations/compress.metadata.js +3 -0
- package/dist/operations/thumbnail.d.ts +23 -0
- package/dist/operations/thumbnail.js +17 -0
- package/dist/operations/thumbnail.metadata.js +29 -0
- package/openapi/api.yaml +565 -36
- package/operation-capabilities/operation-capabilities.json +1 -1
- package/operations/schemas/audio_to_video.yaml +1 -0
- package/operations/schemas/compress.yaml +52 -2
- package/operations/schemas/convert.yaml +6 -1
- package/operations/schemas/split.yaml +13 -3
- package/operations/schemas/thumbnail.yaml +143 -2
- package/package.json +1 -1
|
@@ -1088,6 +1088,20 @@
|
|
|
1088
1088
|
},
|
|
1089
1089
|
"output_format_option": null
|
|
1090
1090
|
},
|
|
1091
|
+
"document_epub": {
|
|
1092
|
+
"accepted_options": {
|
|
1093
|
+
"*": [
|
|
1094
|
+
"fit",
|
|
1095
|
+
"format",
|
|
1096
|
+
"height",
|
|
1097
|
+
"page",
|
|
1098
|
+
"quality",
|
|
1099
|
+
"source",
|
|
1100
|
+
"width"
|
|
1101
|
+
]
|
|
1102
|
+
},
|
|
1103
|
+
"output_format_option": null
|
|
1104
|
+
},
|
|
1091
1105
|
"image": {
|
|
1092
1106
|
"accepted_options": {
|
|
1093
1107
|
"*": [
|
|
@@ -1187,5 +1201,5 @@
|
|
|
1187
1201
|
}
|
|
1188
1202
|
}
|
|
1189
1203
|
},
|
|
1190
|
-
"schema_version": "2.
|
|
1204
|
+
"schema_version": "2.180.0"
|
|
1191
1205
|
}
|
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
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"capabilities_version":
|
|
2
|
+
"capabilities_version": 172,
|
|
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",
|
|
@@ -669,6 +683,7 @@
|
|
|
669
683
|
"max_inputs": 2,
|
|
670
684
|
"mime_groups": {
|
|
671
685
|
"audio": {
|
|
686
|
+
"max_input_duration": "PT2H",
|
|
672
687
|
"mimes": [
|
|
673
688
|
"audio/mpeg",
|
|
674
689
|
"audio/aac",
|
|
@@ -964,6 +979,7 @@
|
|
|
964
979
|
}
|
|
965
980
|
},
|
|
966
981
|
"document_epub": {
|
|
982
|
+
"max_input_size_bytes": 104857600,
|
|
967
983
|
"mimes": [
|
|
968
984
|
"application/epub+zip"
|
|
969
985
|
],
|
|
@@ -990,6 +1006,7 @@
|
|
|
990
1006
|
}
|
|
991
1007
|
},
|
|
992
1008
|
"document_odf": {
|
|
1009
|
+
"max_input_size_bytes": 104857600,
|
|
993
1010
|
"mimes": [
|
|
994
1011
|
"application/vnd.oasis.opendocument.text",
|
|
995
1012
|
"application/vnd.oasis.opendocument.spreadsheet",
|
|
@@ -1018,6 +1035,7 @@
|
|
|
1018
1035
|
}
|
|
1019
1036
|
},
|
|
1020
1037
|
"document_office": {
|
|
1038
|
+
"max_input_size_bytes": 104857600,
|
|
1021
1039
|
"mimes": [
|
|
1022
1040
|
"application/vnd.openxmlformats-officedocument.wordprocessingml.document",
|
|
1023
1041
|
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
|
|
@@ -1052,6 +1070,7 @@
|
|
|
1052
1070
|
}
|
|
1053
1071
|
},
|
|
1054
1072
|
"image": {
|
|
1073
|
+
"max_input_size_bytes": 524288000,
|
|
1055
1074
|
"max_output_pixels": 16000000,
|
|
1056
1075
|
"mimes": [
|
|
1057
1076
|
"image/gif",
|
|
@@ -1175,6 +1194,7 @@
|
|
|
1175
1194
|
}
|
|
1176
1195
|
},
|
|
1177
1196
|
"image_avif": {
|
|
1197
|
+
"max_input_size_bytes": 20971520,
|
|
1178
1198
|
"max_output_pixels": 16000000,
|
|
1179
1199
|
"mimes": [
|
|
1180
1200
|
"image/avif"
|
|
@@ -1345,6 +1365,7 @@
|
|
|
1345
1365
|
}
|
|
1346
1366
|
},
|
|
1347
1367
|
"image_jpeg": {
|
|
1368
|
+
"max_input_size_bytes": 524288000,
|
|
1348
1369
|
"max_output_pixels": 16000000,
|
|
1349
1370
|
"mimes": [
|
|
1350
1371
|
"image/jpeg"
|
|
@@ -1537,6 +1558,7 @@
|
|
|
1537
1558
|
}
|
|
1538
1559
|
},
|
|
1539
1560
|
"image_png": {
|
|
1561
|
+
"max_input_size_bytes": 524288000,
|
|
1540
1562
|
"max_output_pixels": 16000000,
|
|
1541
1563
|
"mimes": [
|
|
1542
1564
|
"image/png"
|
|
@@ -1664,6 +1686,7 @@
|
|
|
1664
1686
|
}
|
|
1665
1687
|
},
|
|
1666
1688
|
"image_svg": {
|
|
1689
|
+
"max_input_size_bytes": 524288000,
|
|
1667
1690
|
"mimes": [
|
|
1668
1691
|
"image/svg+xml"
|
|
1669
1692
|
],
|
|
@@ -1687,11 +1710,14 @@
|
|
|
1687
1710
|
},
|
|
1688
1711
|
"output_format": {
|
|
1689
1712
|
"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.",
|
|
1713
|
+
"description": "Output format. `original` = keep input format \u2014 SVG -> SVG optimisation via SVGO. **`original` is PLANNED** (G9O6yrQD): the worker does not implement SVG->SVG optimisation yet (\"SVG is a follow-up\"), so it returns `feature_not_available` (422) rather than 422ing under a `stable` claim. It is also the schema `default`. **KNOWN ENFORCEMENT GAP (api co-land owed):** the API's per-value gate only inspects an EXPLICITLY submitted `output_format` (`CreateWorkflowCommandHandler`: `$requestedFormat = $opDef->options['output_format'] ?? null; if (is_scalar(...))`), so an OMITTED value is not materialized to its default before the check and bypasses this tag \u2014 a bare `compress` on an SVG still dispatches and fails at the worker instead of returning a clean 422. `original` is the first PLANNED DEFAULT in the contract, so nothing exercised that path before. The tag is correct and truthful regardless; closing the gap is api's (gate against the effective default). Ask for `webp` meanwhile \u2014 that route works. `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
1714
|
"per_value_availability": {
|
|
1692
1715
|
"auto": {
|
|
1693
1716
|
"availability": "planned"
|
|
1694
1717
|
},
|
|
1718
|
+
"original": {
|
|
1719
|
+
"availability": "planned"
|
|
1720
|
+
},
|
|
1695
1721
|
"smallest": {
|
|
1696
1722
|
"availability": "planned"
|
|
1697
1723
|
}
|
|
@@ -1707,6 +1733,7 @@
|
|
|
1707
1733
|
}
|
|
1708
1734
|
},
|
|
1709
1735
|
"image_webp": {
|
|
1736
|
+
"max_input_size_bytes": 524288000,
|
|
1710
1737
|
"max_output_pixels": 16000000,
|
|
1711
1738
|
"mimes": [
|
|
1712
1739
|
"image/webp"
|
|
@@ -2157,7 +2184,7 @@
|
|
|
2157
2184
|
},
|
|
2158
2185
|
"pages": {
|
|
2159
2186
|
"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",
|
|
2187
|
+
"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
2188
|
"type": "string"
|
|
2162
2189
|
}
|
|
2163
2190
|
}
|
|
@@ -3824,7 +3851,7 @@
|
|
|
3824
3851
|
"split": {
|
|
3825
3852
|
"availability": "beta",
|
|
3826
3853
|
"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
|
|
3854
|
+
"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
3855
|
"features": {
|
|
3829
3856
|
"silence_mode_audio": {
|
|
3830
3857
|
"availability": "beta",
|
|
@@ -4386,7 +4413,6 @@
|
|
|
4386
4413
|
"max_output_pixels": 16000000,
|
|
4387
4414
|
"mimes": [
|
|
4388
4415
|
"application/pdf",
|
|
4389
|
-
"application/epub+zip",
|
|
4390
4416
|
"application/vnd.openxmlformats-officedocument.wordprocessingml.document",
|
|
4391
4417
|
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
|
|
4392
4418
|
"application/vnd.openxmlformats-officedocument.presentationml.presentation",
|
|
@@ -4445,7 +4471,79 @@
|
|
|
4445
4471
|
},
|
|
4446
4472
|
"source": {
|
|
4447
4473
|
"default": "page",
|
|
4448
|
-
"description": "page = render a specific page/slide
|
|
4474
|
+
"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).",
|
|
4475
|
+
"type": "enum",
|
|
4476
|
+
"values": [
|
|
4477
|
+
"page",
|
|
4478
|
+
"cover"
|
|
4479
|
+
]
|
|
4480
|
+
},
|
|
4481
|
+
"width": {
|
|
4482
|
+
"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).",
|
|
4483
|
+
"max": 16384,
|
|
4484
|
+
"min": 1,
|
|
4485
|
+
"type": "integer"
|
|
4486
|
+
}
|
|
4487
|
+
}
|
|
4488
|
+
},
|
|
4489
|
+
"document_epub": {
|
|
4490
|
+
"availability": "planned",
|
|
4491
|
+
"max_output_pixels": 16000000,
|
|
4492
|
+
"mimes": [
|
|
4493
|
+
"application/epub+zip"
|
|
4494
|
+
],
|
|
4495
|
+
"options": {
|
|
4496
|
+
"fit": {
|
|
4497
|
+
"default": "crop",
|
|
4498
|
+
"description": "Resize mode",
|
|
4499
|
+
"type": "enum",
|
|
4500
|
+
"values": [
|
|
4501
|
+
"max",
|
|
4502
|
+
"crop",
|
|
4503
|
+
"scale"
|
|
4504
|
+
]
|
|
4505
|
+
},
|
|
4506
|
+
"format": {
|
|
4507
|
+
"default": "jpg",
|
|
4508
|
+
"description": "Output format for the thumbnail",
|
|
4509
|
+
"type": "enum",
|
|
4510
|
+
"values": [
|
|
4511
|
+
"jpg",
|
|
4512
|
+
"png",
|
|
4513
|
+
"webp"
|
|
4514
|
+
]
|
|
4515
|
+
},
|
|
4516
|
+
"height": {
|
|
4517
|
+
"description": "Target height in pixels (1-16384; width*height <= 16MP). Optional \u2014 see `width` for the omitted-default behaviour.",
|
|
4518
|
+
"max": 16384,
|
|
4519
|
+
"min": 1,
|
|
4520
|
+
"type": "integer"
|
|
4521
|
+
},
|
|
4522
|
+
"page": {
|
|
4523
|
+
"default": 1,
|
|
4524
|
+
"depends_on": {
|
|
4525
|
+
"source": "page"
|
|
4526
|
+
},
|
|
4527
|
+
"description": "1-based index of the printed page to render, after the book's print-layout pagination is applied.",
|
|
4528
|
+
"min": 1,
|
|
4529
|
+
"type": "integer"
|
|
4530
|
+
},
|
|
4531
|
+
"quality": {
|
|
4532
|
+
"default": 85,
|
|
4533
|
+
"depends_on": {
|
|
4534
|
+
"format": [
|
|
4535
|
+
"jpg",
|
|
4536
|
+
"webp"
|
|
4537
|
+
]
|
|
4538
|
+
},
|
|
4539
|
+
"description": "Output quality for lossy thumbnail formats (jpg/webp): higher = better quality, larger file. Ignored for png (lossless).",
|
|
4540
|
+
"max": 100,
|
|
4541
|
+
"min": 1,
|
|
4542
|
+
"type": "integer"
|
|
4543
|
+
},
|
|
4544
|
+
"source": {
|
|
4545
|
+
"default": "cover",
|
|
4546
|
+
"description": "`cover` (default) = extract the EPUB's declared cover image \u2014 the cheap path, no rendering. `page` = render a paginated page of the book's XHTML. Cover lookup MUST support 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 misses a large slice of real-world files. A cover image is OPTIONAL per W3C EPUB 3.3, so a cover-less EPUB is a real case. The reject shape for it is NOT yet decided and is deliberately unpromised here: `ErrorCode` (asyncapi) is a CLOSED enum with no \"no cover\" member, so a distinct code is a real cross-repo co-land (enum edit -> SDK regen -> lockstep), not a free string. It is settled when this group graduates \u2014 do not infer one from this description.",
|
|
4449
4547
|
"type": "enum",
|
|
4450
4548
|
"values": [
|
|
4451
4549
|
"page",
|
|
@@ -5006,7 +5104,7 @@
|
|
|
5006
5104
|
"sole_op": true
|
|
5007
5105
|
}
|
|
5008
5106
|
},
|
|
5009
|
-
"schema_version": "2.
|
|
5107
|
+
"schema_version": "2.180.0",
|
|
5010
5108
|
"source_commit": null,
|
|
5011
5109
|
"user_tier": null,
|
|
5012
5110
|
"workflow_features": {
|
|
@@ -5039,6 +5137,24 @@
|
|
|
5039
5137
|
}
|
|
5040
5138
|
}
|
|
5041
5139
|
}
|
|
5140
|
+
},
|
|
5141
|
+
"processing": {
|
|
5142
|
+
"class_hint": {
|
|
5143
|
+
"per_value_availability": {
|
|
5144
|
+
"auto": {
|
|
5145
|
+
"availability": "stable"
|
|
5146
|
+
},
|
|
5147
|
+
"long_form_allowed": {
|
|
5148
|
+
"availability": "planned"
|
|
5149
|
+
},
|
|
5150
|
+
"long_form_preferred": {
|
|
5151
|
+
"availability": "planned"
|
|
5152
|
+
},
|
|
5153
|
+
"short_form_only": {
|
|
5154
|
+
"availability": "planned"
|
|
5155
|
+
}
|
|
5156
|
+
}
|
|
5157
|
+
}
|
|
5042
5158
|
}
|
|
5043
5159
|
}
|
|
5044
5160
|
}
|
|
@@ -739,6 +739,7 @@
|
|
|
739
739
|
"input_model": "multi",
|
|
740
740
|
"media_groups": {
|
|
741
741
|
"audio": {
|
|
742
|
+
"max_input_duration": "PT2H",
|
|
742
743
|
"media_group": "audio",
|
|
743
744
|
"mimes": [
|
|
744
745
|
"audio/mpeg",
|
|
@@ -1203,6 +1204,7 @@
|
|
|
1203
1204
|
}
|
|
1204
1205
|
},
|
|
1205
1206
|
"document_epub": {
|
|
1207
|
+
"max_input_size_bytes": 104857600,
|
|
1206
1208
|
"media_group": "document",
|
|
1207
1209
|
"mimes": [
|
|
1208
1210
|
"application/epub+zip"
|
|
@@ -1253,6 +1255,7 @@
|
|
|
1253
1255
|
}
|
|
1254
1256
|
},
|
|
1255
1257
|
"document_odf": {
|
|
1258
|
+
"max_input_size_bytes": 104857600,
|
|
1256
1259
|
"media_group": "document",
|
|
1257
1260
|
"mimes": [
|
|
1258
1261
|
"application/vnd.oasis.opendocument.text",
|
|
@@ -1305,6 +1308,7 @@
|
|
|
1305
1308
|
}
|
|
1306
1309
|
},
|
|
1307
1310
|
"document_office": {
|
|
1311
|
+
"max_input_size_bytes": 104857600,
|
|
1308
1312
|
"media_group": "document",
|
|
1309
1313
|
"mimes": [
|
|
1310
1314
|
"application/vnd.openxmlformats-officedocument.wordprocessingml.document",
|
|
@@ -1369,6 +1373,7 @@
|
|
|
1369
1373
|
}
|
|
1370
1374
|
},
|
|
1371
1375
|
"image": {
|
|
1376
|
+
"max_input_size_bytes": 524288000,
|
|
1372
1377
|
"max_output_pixels": 16000000,
|
|
1373
1378
|
"media_group": "image",
|
|
1374
1379
|
"mimes": [
|
|
@@ -1566,6 +1571,7 @@
|
|
|
1566
1571
|
}
|
|
1567
1572
|
},
|
|
1568
1573
|
"image_avif": {
|
|
1574
|
+
"max_input_size_bytes": 20971520,
|
|
1569
1575
|
"max_output_pixels": 16000000,
|
|
1570
1576
|
"media_group": "image",
|
|
1571
1577
|
"mimes": [
|
|
@@ -1831,6 +1837,7 @@
|
|
|
1831
1837
|
}
|
|
1832
1838
|
},
|
|
1833
1839
|
"image_jpeg": {
|
|
1840
|
+
"max_input_size_bytes": 524288000,
|
|
1834
1841
|
"max_output_pixels": 16000000,
|
|
1835
1842
|
"media_group": "image",
|
|
1836
1843
|
"mimes": [
|
|
@@ -2131,6 +2138,7 @@
|
|
|
2131
2138
|
}
|
|
2132
2139
|
},
|
|
2133
2140
|
"image_png": {
|
|
2141
|
+
"max_input_size_bytes": 524288000,
|
|
2134
2142
|
"max_output_pixels": 16000000,
|
|
2135
2143
|
"media_group": "image",
|
|
2136
2144
|
"mimes": [
|
|
@@ -2335,6 +2343,7 @@
|
|
|
2335
2343
|
}
|
|
2336
2344
|
},
|
|
2337
2345
|
"image_svg": {
|
|
2346
|
+
"max_input_size_bytes": 524288000,
|
|
2338
2347
|
"media_group": "image",
|
|
2339
2348
|
"mimes": [
|
|
2340
2349
|
"image/svg+xml"
|
|
@@ -2371,7 +2380,7 @@
|
|
|
2371
2380
|
},
|
|
2372
2381
|
"output_format": {
|
|
2373
2382
|
"default": "original",
|
|
2374
|
-
"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.",
|
|
2383
|
+
"description": "Output format. `original` = keep input format \u2014 SVG -> SVG optimisation via SVGO. **`original` is PLANNED** (G9O6yrQD): the worker does not implement SVG->SVG optimisation yet (\"SVG is a follow-up\"), so it returns `feature_not_available` (422) rather than 422ing under a `stable` claim. It is also the schema `default`. **KNOWN ENFORCEMENT GAP (api co-land owed):** the API's per-value gate only inspects an EXPLICITLY submitted `output_format` (`CreateWorkflowCommandHandler`: `$requestedFormat = $opDef->options['output_format'] ?? null; if (is_scalar(...))`), so an OMITTED value is not materialized to its default before the check and bypasses this tag \u2014 a bare `compress` on an SVG still dispatches and fails at the worker instead of returning a clean 422. `original` is the first PLANNED DEFAULT in the contract, so nothing exercised that path before. The tag is correct and truthful regardless; closing the gap is api's (gate against the effective default). Ask for `webp` meanwhile \u2014 that route works. `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.",
|
|
2375
2384
|
"enum_ref": "ImageFormat",
|
|
2376
2385
|
"enum_translations": {
|
|
2377
2386
|
"original": "Original",
|
|
@@ -2382,6 +2391,9 @@
|
|
|
2382
2391
|
"auto": {
|
|
2383
2392
|
"availability": "planned"
|
|
2384
2393
|
},
|
|
2394
|
+
"original": {
|
|
2395
|
+
"availability": "planned"
|
|
2396
|
+
},
|
|
2385
2397
|
"smallest": {
|
|
2386
2398
|
"availability": "planned"
|
|
2387
2399
|
}
|
|
@@ -2391,7 +2403,7 @@
|
|
|
2391
2403
|
"type": "enum",
|
|
2392
2404
|
"value_exposure": {
|
|
2393
2405
|
"auto": "coming_soon",
|
|
2394
|
-
"original": "
|
|
2406
|
+
"original": "coming_soon",
|
|
2395
2407
|
"smallest": "coming_soon",
|
|
2396
2408
|
"webp": "expose"
|
|
2397
2409
|
},
|
|
@@ -2419,6 +2431,7 @@
|
|
|
2419
2431
|
}
|
|
2420
2432
|
},
|
|
2421
2433
|
"image_webp": {
|
|
2434
|
+
"max_input_size_bytes": 524288000,
|
|
2422
2435
|
"max_output_pixels": 16000000,
|
|
2423
2436
|
"media_group": "image",
|
|
2424
2437
|
"mimes": [
|
|
@@ -3166,7 +3179,7 @@
|
|
|
3166
3179
|
},
|
|
3167
3180
|
"pages": {
|
|
3168
3181
|
"default": "1",
|
|
3169
|
-
"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",
|
|
3182
|
+
"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",
|
|
3170
3183
|
"origin": "contract",
|
|
3171
3184
|
"sdk_exposure": "expose",
|
|
3172
3185
|
"surface_key": "pages",
|
|
@@ -6197,7 +6210,6 @@
|
|
|
6197
6210
|
"media_group": "document",
|
|
6198
6211
|
"mimes": [
|
|
6199
6212
|
"application/pdf",
|
|
6200
|
-
"application/epub+zip",
|
|
6201
6213
|
"application/vnd.openxmlformats-officedocument.wordprocessingml.document",
|
|
6202
6214
|
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
|
|
6203
6215
|
"application/vnd.openxmlformats-officedocument.presentationml.presentation",
|
|
@@ -6281,7 +6293,7 @@
|
|
|
6281
6293
|
},
|
|
6282
6294
|
"source": {
|
|
6283
6295
|
"default": "page",
|
|
6284
|
-
"description": "page = render a specific page/slide
|
|
6296
|
+
"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).",
|
|
6285
6297
|
"origin": "contract",
|
|
6286
6298
|
"sdk_exposure": "expose",
|
|
6287
6299
|
"surface_key": "source",
|
|
@@ -6306,6 +6318,114 @@
|
|
|
6306
6318
|
}
|
|
6307
6319
|
}
|
|
6308
6320
|
},
|
|
6321
|
+
"document_epub": {
|
|
6322
|
+
"availability": "planned",
|
|
6323
|
+
"max_output_pixels": 16000000,
|
|
6324
|
+
"media_group": "document",
|
|
6325
|
+
"mimes": [
|
|
6326
|
+
"application/epub+zip"
|
|
6327
|
+
],
|
|
6328
|
+
"options": {
|
|
6329
|
+
"fit": {
|
|
6330
|
+
"default": "crop",
|
|
6331
|
+
"description": "Resize mode",
|
|
6332
|
+
"origin": "contract",
|
|
6333
|
+
"sdk_exposure": "coming_soon",
|
|
6334
|
+
"surface_key": "fit",
|
|
6335
|
+
"type": "enum",
|
|
6336
|
+
"value_exposure": {
|
|
6337
|
+
"crop": "coming_soon",
|
|
6338
|
+
"max": "coming_soon",
|
|
6339
|
+
"scale": "coming_soon"
|
|
6340
|
+
},
|
|
6341
|
+
"values": [
|
|
6342
|
+
"max",
|
|
6343
|
+
"crop",
|
|
6344
|
+
"scale"
|
|
6345
|
+
]
|
|
6346
|
+
},
|
|
6347
|
+
"format": {
|
|
6348
|
+
"default": "jpg",
|
|
6349
|
+
"description": "Output format for the thumbnail",
|
|
6350
|
+
"origin": "contract",
|
|
6351
|
+
"sdk_exposure": "coming_soon",
|
|
6352
|
+
"surface_key": "format",
|
|
6353
|
+
"type": "enum",
|
|
6354
|
+
"value_exposure": {
|
|
6355
|
+
"jpg": "coming_soon",
|
|
6356
|
+
"png": "coming_soon",
|
|
6357
|
+
"webp": "coming_soon"
|
|
6358
|
+
},
|
|
6359
|
+
"values": [
|
|
6360
|
+
"jpg",
|
|
6361
|
+
"png",
|
|
6362
|
+
"webp"
|
|
6363
|
+
]
|
|
6364
|
+
},
|
|
6365
|
+
"height": {
|
|
6366
|
+
"description": "Target height in pixels (1-16384; width*height <= 16MP). Optional \u2014 see `width` for the omitted-default behaviour.",
|
|
6367
|
+
"max": 16384,
|
|
6368
|
+
"min": 1,
|
|
6369
|
+
"origin": "contract",
|
|
6370
|
+
"sdk_exposure": "coming_soon",
|
|
6371
|
+
"surface_key": "height",
|
|
6372
|
+
"type": "integer"
|
|
6373
|
+
},
|
|
6374
|
+
"page": {
|
|
6375
|
+
"default": 1,
|
|
6376
|
+
"depends_on": {
|
|
6377
|
+
"source": "page"
|
|
6378
|
+
},
|
|
6379
|
+
"description": "1-based index of the printed page to render, after the book's print-layout pagination is applied.",
|
|
6380
|
+
"min": 1,
|
|
6381
|
+
"origin": "contract",
|
|
6382
|
+
"sdk_exposure": "coming_soon",
|
|
6383
|
+
"surface_key": "page",
|
|
6384
|
+
"type": "integer"
|
|
6385
|
+
},
|
|
6386
|
+
"quality": {
|
|
6387
|
+
"default": 85,
|
|
6388
|
+
"depends_on": {
|
|
6389
|
+
"format": [
|
|
6390
|
+
"jpg",
|
|
6391
|
+
"webp"
|
|
6392
|
+
]
|
|
6393
|
+
},
|
|
6394
|
+
"description": "Output quality for lossy thumbnail formats (jpg/webp): higher = better quality, larger file. Ignored for png (lossless).",
|
|
6395
|
+
"max": 100,
|
|
6396
|
+
"min": 1,
|
|
6397
|
+
"origin": "contract",
|
|
6398
|
+
"sdk_exposure": "coming_soon",
|
|
6399
|
+
"surface_key": "quality",
|
|
6400
|
+
"type": "integer"
|
|
6401
|
+
},
|
|
6402
|
+
"source": {
|
|
6403
|
+
"default": "cover",
|
|
6404
|
+
"description": "`cover` (default) = extract the EPUB's declared cover image \u2014 the cheap path, no rendering. `page` = render a paginated page of the book's XHTML. Cover lookup MUST support 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 misses a large slice of real-world files. A cover image is OPTIONAL per W3C EPUB 3.3, so a cover-less EPUB is a real case. The reject shape for it is NOT yet decided and is deliberately unpromised here: `ErrorCode` (asyncapi) is a CLOSED enum with no \"no cover\" member, so a distinct code is a real cross-repo co-land (enum edit -> SDK regen -> lockstep), not a free string. It is settled when this group graduates \u2014 do not infer one from this description.",
|
|
6405
|
+
"origin": "contract",
|
|
6406
|
+
"sdk_exposure": "coming_soon",
|
|
6407
|
+
"surface_key": "source",
|
|
6408
|
+
"type": "enum",
|
|
6409
|
+
"value_exposure": {
|
|
6410
|
+
"cover": "coming_soon",
|
|
6411
|
+
"page": "coming_soon"
|
|
6412
|
+
},
|
|
6413
|
+
"values": [
|
|
6414
|
+
"page",
|
|
6415
|
+
"cover"
|
|
6416
|
+
]
|
|
6417
|
+
},
|
|
6418
|
+
"width": {
|
|
6419
|
+
"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).",
|
|
6420
|
+
"max": 16384,
|
|
6421
|
+
"min": 1,
|
|
6422
|
+
"origin": "contract",
|
|
6423
|
+
"sdk_exposure": "coming_soon",
|
|
6424
|
+
"surface_key": "width",
|
|
6425
|
+
"type": "integer"
|
|
6426
|
+
}
|
|
6427
|
+
}
|
|
6428
|
+
},
|
|
6309
6429
|
"image": {
|
|
6310
6430
|
"max_output_pixels": 16000000,
|
|
6311
6431
|
"media_group": "image",
|
|
@@ -7079,7 +7199,7 @@
|
|
|
7079
7199
|
}
|
|
7080
7200
|
},
|
|
7081
7201
|
"preset_config_hash": "sha256:354814f7906f85be6a6ca5ede6c0722c83cdc058fd658a9bb2b0996520466c6d",
|
|
7082
|
-
"schema_version": "2.
|
|
7202
|
+
"schema_version": "2.180.0",
|
|
7083
7203
|
"sdk_spec_version": "2.3.0",
|
|
7084
|
-
"source_hash": "sha256:
|
|
7204
|
+
"source_hash": "sha256:b6c13412c2b801042e9c5aaf86469e74efc2ea015b04fd1ee771b8030e9cdce0"
|
|
7085
7205
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* GISL Compression API
|
|
3
3
|
* REST API for the GISL (Give It Smaller) file compression and processing service. **Architecture:** - Upload files to get a `file_id` - Create workflows referencing uploaded files with operations (compress, thumbnail, image_watermark, text_watermark, merge, archive, convert, custom_luma, audio_overlay, audio_watermark) - Poll status, stream SSE events, or receive webhook callbacks - Download results per operation output **Response envelope:** All mutation and query endpoints return `{ success: true, data: {...} }` on success and `{ success: false, error: \"...\", details: [...] }` on failure. Exceptions: `GET /api/operations/schema` returns raw JSON (per-tier private caching with ETag revalidation per ADR-0002 + I3), health probes return flat objects, and `POST /api/contact` returns 204 with no body. **Availability metadata.** This spec uses the `x-availability` vendor extension as **decorative documentation only**. Per [ADR-0001](../docs/decisions/0001-contract-first-availability.md) §1.5, the runtime endpoint `GET /api/operations/schema` (ticket I3) is the authoritative source; the sidecar `availability.json` (ticket I3b) is the authoritative companion (generated, never hand-edited; CI cross-checks runtime ⇄ sidecar). SDKs MUST NOT depend on `x-availability` reaching generated code — code-generators that surface vendor extensions may emit it as documentation, but consumers read availability from the runtime endpoint, not from the generated bindings. The 5-value vocabulary (`stable | beta | experimental | planned | deprecated`) is defined in the `AvailabilityValue` schema. See `schemas/FORMAT.md` §Availability Taxonomy for the operational rules (parser obligation: absent = stable; per-enum-value granularity is the `per_value_availability` primitive landed via ticket I17). **Localisation (per ticket [I26](https://trello.com/c/rcnqwgI4)).** Error responses + paused/blocked workflow statuses carry a localised human-readable `message` alongside a stable, never-localised `message_key`. Machine-readable fields (`error`, enum values, status codes) stay canonical English. - **Currently committed locales:** `en-GB` only (per ticket [`4GKyuYo6`](https://trello.com/c/4GKyuYo6)). The I26 carrier shape (`Accept-Language` + `Content-Language` + `Vary` headers + `locale` envelope field + `message_key` + `message_params`) is stable and exercised; the **catalog** of translated `message` strings is en-GB-only at runtime today. Additional locales (e.g. `pt-PT`) will be advertised by name when their catalogs ship — the request/response carrier shape does NOT change when a new locale lands. Treat unrequested locales as \"machine-code + `message_key` path is committed; localised `message` prose is not\" until this prose enumerates them by name. - **Request:** `Accept-Language` header per RFC 9110 §12.5.4 (q-value negotiation supported). The server selects the best-match locale from its supported list; falls back to `en-GB` when no match — which, until additional catalogs land, is every non-`en-GB` `Accept-Language`. - **Response:** `Content-Language: <locale>` echo on every localised response; `Vary: Accept-Language` on every response (CDN/cache correctness — different `Accept-Language` requests produce different responses). `Vary` is emitted unconditionally so the header contract does not flip when a second locale ships. - **Fallback locale:** `en-GB` (also the canonical locale for `message_key` translations and English `message` prose). - **SDK guidance:** switch on `error` (machine code) for typed error branches; surface `message_key` to client-side i18n catalogs (SDK companion work tracked at X19, cross-repo); display `message` for end-user UI; **never parse `message` for control flow** — it changes per locale. Carrier shape lives on `ErrorEnvelope` (envelope-level optional `message_key` + `message` + `locale` + `message_params`) and `ValidationErrorEnvelope` (also per-`details[]` entry). Existing 402 / 403 / 422 envelopes (`BalanceExhaustedResponse`, `FeatureNotAvailableResponse`, `FeatureTierRestrictedResponse`, `WorkflowPausedDetail`) inherit the convention. **Upload thresholds (per tickets [u0ar7Yye](https://trello.com/c/u0ar7Yye) + [58nBQLWQ](https://trello.com/c/58nBQLWQ)).** Canonical upload constants (single-shot cap, multipart chunk size, multipart concurrency default, multipart first-chunk size) live on the `UploadThresholds` schema with `const:`-pinned values. SDK generators emit these as typed binding constants so frontend / API / SDKs reference one source of truth instead of hardcoding magic numbers. A runtime `GET /api/uploads/limits` endpoint for dynamic discovery (per-tier / per-environment overrides) is a deferred follow-up.
|
|
4
4
|
*
|
|
5
|
-
* The version of the OpenAPI document: 2.
|
|
5
|
+
* The version of the OpenAPI document: 2.180.0
|
|
6
6
|
*
|
|
7
7
|
*
|
|
8
8
|
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|