post https://api.topazlabs.com/video/
Create a new video enhancement request.
Send information about the video and desired enhancements then receive cost and time estimates.
Calling this endpoint does NOT consume credits.
Estimations are based on values provided, and the calculation is rerun once the system receives the source video. If the second estimate is significantly different than the initial values, the request is failed and the credits are fully refunded.
Time estimates are in development and may not be accurate.
Request body
Property | Type | Description |
---|---|---|
source | Object | Source details for the video |
source.container | String | The container format of the video file |
source.size | Integer | Size of the video file in bytes |
source.duration | Number | Duration of the video file in seconds |
source.frameCount | Number | Total number of frames in the video |
source.frameRate | Number | Frame rate of the video |
source.resolution | Object | Resolution details of the video |
source.resolution.width | Integer | Width of the video in pixels |
source.resolution.height | Integer | Height of the video in pixels |
filters | Array | Array of EnhancementFilter or FrameInterpolationFilter objects |
output | Object | Refer to OutputInformation below |
EnhancementFilter
Property | Type | Description |
---|---|---|
model | String | Short code name for AI model |
videoType | String | Frame/field type of the video (Enum: Progressive, Interlaced, ProgressiveInterlaced) |
auto | String | Parameter mode (Enum: Auto, Manual, Relative) |
fieldOrder | String | Optional specification of field order (Enum: TopFirst, BottomFirst, Auto) |
focusFixLevel | String | Downscales input for blur correction (Enum: None, Normal, Strong) |
compression | Number | Adjust strength of compression recovery (-1 to 1) |
details | Number | Amount of detail reconstruction (-1 to 1) |
prenoise | Number | Adds noise to input to reduce over-smoothing (0 to 0.1) |
noise | Number | Amount of noise reduction (-1 to 1) |
halo | Number | Amount of halo reduction (-1 to 1) |
preblur | Number | Anti-aliasing and deblurring strength (-1 to 1) |
blur | Number | Amount of sharpness applied (-1 to 1) |
grain | Number | Adds grain after processing (0 to 0.1) |
grainSize | Number | Size of generated grain (0 to 5) |
recoverOriginalDetailValue | Number | Reintroduce source details (0 to 1) |
FrameInterpolationFilter
Property | Type | Description |
---|---|---|
model | String | Short code name for AI model |
slowmo | Number | Slow motion factor (1 to 16) |
fps | Integer | Output frame rate (15 to 240) |
duplicate | Boolean | Analyze and remove duplicate frames |
duplicateThreshold | Number | Sensitivity of duplicate frame detection (0.001 to 0.1) |
OutputInformation
Property | Type | Description |
---|---|---|
resolution | Object | Desired output resolution |
resolution.height | Integer | Pixels |
resolution.width | Integer | Pixels |
frameRate | Integer | Frame rate |
audioBitrate | String | Audio bitrate |
audioCodec | String | Audio codec (Enum: AAC, AC3, PCM) |
audioTransfer | String | Audio transfer option (Enum: Copy, Convert, None) |
codecId | String | Video codec ID |
videoEncoder | String | Video encoder (Enum: AV1, H264, H265, etc.) |
videoBitrate | String | Video bitrate with suffix (e.g., "1k" for 1000 Kbps) |
dynamicCompressionLevel | String | Automatic CQP selection (Enum: Low, Mid, High) |
videoProfile | String | Codec profile |
cropToFit | Boolean | Center cropping option |
container | String | Output container type |
Response body
Property | Type | Description |
---|---|---|
requestId | UUID | Unique request identifier |
estimates | Object | Refer to RequestEstimates below |
RequestEstimates
cost
and time
are arrays with two integers each, representing lower and upper bounds of the estimate.
Property | Type | Description |
---|---|---|
cost | Array | Cost range (in credits) |
time | Array | Time range (in seconds) |