> ## Documentation Index
> Fetch the complete documentation index at: https://veniceai-feat-models-redesign.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Topaz Video Upscale API

> Topaz Video Upscale API on Venice: video upscaling, priced per clip with /video/quote. Anonymized access without your identity.

export const HubMount = ({view, children, ...props}) => {
  const [hub, setHub] = useState(null);
  const [failed, setFailed] = useState(false);
  useEffect(() => {
    let alive = true;
    const w = window;
    if (!w.__veniceModelHub) {
      const urls = w.location.hostname === 'localhost' ? ['http://localhost:3333/data/model-hub.bundle.json', '/data/model-hub.bundle.json'] : ['/data/model-hub.bundle.json'];
      const load = i => fetch(urls[i], {
        cache: 'no-cache'
      }).then(res => {
        if (!res.ok) throw new Error(`bundle ${res.status}`);
        return res.json();
      }).catch(err => i + 1 < urls.length ? load(i + 1) : Promise.reject(err));
      const Frag = <></>.type;
      const h = (type, props, ...kids) => {
        const T = type;
        const {key, ...rest} = props || ({});
        if (!kids.length) return <T key={key} {...rest} />;
        if (kids.length === 1) return <T key={key} {...rest}>{kids[0]}</T>;
        return <T key={key} {...rest}>{kids.map((kid, i) => <Frag key={i}>{kid}</Frag>)}</T>;
      };
      w.__veniceModelHub = load(0).then(bundle => new Function(`return (${bundle.code})`)()({
        h,
        Fragment: Frag,
        useState,
        useEffect,
        useRef,
        useMemo,
        useCallback
      }));
    }
    w.__veniceModelHub.then(instance => {
      if (alive) setHub(instance);
    }).catch(() => {
      w.__veniceModelHub = null;
      if (alive) setFailed(true);
    });
    return () => {
      alive = false;
    };
  }, []);
  const View = hub ? hub[view] : null;
  if (View) return <View {...props}>{children}</View>;
  if (failed) {
    return <div className="vx-mount is-failed">
        <p className="vx-mount-note">The interactive model catalog could not load. The full data is below.</p>
        {children}
      </div>;
  }
  return <div className="vx-mount" aria-busy="true">
      <div className="vx-mount-skeleton" aria-hidden="true"><span /><span /><span /></div>
      <div className="vx-mount-source">{children}</div>
    </div>;
};

<HubMount view="ModelPage" data={{"family":{"slug":"topaz-video-upscale","name":"Topaz Video Upscale","modality":"video","task":"video","provider":"topaz","primary":"topaz-video-upscale","variants":["topaz-video-upscale"],"created":1775174400,"updated":1775174400,"privacy":["anonymized"],"sets":["high_resolution","ultra_high_resolution"],"modes":["upscale"]},"models":[{"id":"topaz-video-upscale","name":"Topaz Video Upscale","type":"video","modality":"video","task":"video","variant":"upscale","provider":"topaz","created":1775174400,"privacy":"anonymized","sets":["high_resolution","ultra_high_resolution"],"video":{"mode":"upscale","resolutions":[{"value":"2x","label":"2x"},{"value":"4x","label":"4x"}],"durations":[{"value":"Auto"}],"audio":"none","inputs":{"video":true}},"pricing":{"status":"input-dependent"},"headline":{"unit":"per second","basis":"lens"},"endpoints":[{"id":"video-queue","method":"POST","path":"/video/queue","name":"Queue generation","status":"stable","recommended":true},{"id":"video-retrieve","method":"POST","path":"/video/retrieve","name":"Retrieve result","status":"stable"},{"id":"video-quote","method":"POST","path":"/video/quote","name":"Quote price","status":"stable"}],"family":"topaz-video-upscale"}],"related":{"similar":[{"slug":"wan-2-7-video","name":"Wan 2.7","provider":"alibaba","modality":"video","privacy":["anonymized"],"created":1775088000,"headline":{"unit":"per second","basis":"lens"},"videoFrom":0.11,"variants":4},{"slug":"seedance-2-0-fast","name":"Seedance 2.0 Fast","provider":"bytedance","modality":"video","privacy":["anonymized"],"created":1775001600,"headline":{"unit":"per second","basis":"lens"},"videoFrom":0.07,"variants":3},{"slug":"seedance-2-0","name":"Seedance 2.0","provider":"bytedance","modality":"video","privacy":["anonymized"],"created":1774915200,"headline":{"unit":"per second","basis":"lens"},"videoFrom":0.08793,"variants":3},{"slug":"pixverse-c1","name":"PixVerse C1","provider":"pixverse","modality":"video","privacy":["anonymized"],"created":1775865600,"headline":{"unit":"per second","basis":"lens"},"videoFrom":0.03333,"variants":4}],"versions":[]},"providers":{"topaz":{"slug":"topaz","name":"Topaz Labs","logo":"/images/icons/models/topaz.svg"},"alibaba":{"slug":"alibaba","name":"Alibaba Qwen","logo":"/images/icons/models/qwen.svg"},"bytedance":{"slug":"bytedance","name":"ByteDance Seed","logo":"/images/icons/models/bytedance.svg"},"pixverse":{"slug":"pixverse","name":"PixVerse","logo":"/images/icons/models/pixversevideo.svg"}},"faq":[{"q":"How much does the Topaz Video Upscale API cost?","a":"Price depends on the input video. Call `POST /video/quote` for the exact price before queueing. Prices are in USD and can be paid in DIEM at parity."},{"q":"What is the Topaz Video Upscale model ID?","a":"Use `topaz-video-upscale` as the `model` parameter."},{"q":"Is the Topaz Video Upscale API private?","a":"Topaz Video Upscale is anonymized: Venice forwards requests to the provider without your identity, but the provider may retain prompt data, so use a private model for sensitive work."},{"q":"What resolutions and durations does Topaz Video Upscale support?","a":"Resolutions: 2x, 4x. Durations: Auto. Audio: none."},{"q":"Which endpoint does the Topaz Video Upscale API use?","a":"Queue a job with `POST /video/queue`, then poll `/video/retrieve` for the result."}]}} />

<div className="vx-static">
  <Accordion title="Plain-text specification">
    # Topaz Video Upscale API

    Topaz Video Upscale is a video upscaling model by Topaz Labs, available on the Venice API as `topaz-video-upscale`. Requests are anonymized, so the provider never sees your identity.

    ## Topaz Video Upscale API pricing

    | Model ID | Variant | Privacy | Price |
    | - | - | - | - |
    | `topaz-video-upscale` | Video upscale | Anonymized | Priced by source video length (use /video/quote) |

    ## Topaz Video Upscale specifications

    | Spec | Value |
    | - | - |
    | Provider | Topaz Labs |
    | Released | Apr 3, 2026 |
    | Privacy | Anonymized |
    | Modes | video upscaling |
    | Resolutions | 2x, 4x |
    | Durations | Auto |
    | Audio | None |

    ## How to use the Topaz Video Upscale API

    Send requests to `POST https://api.venice.ai/api/v1/video/queue` with `"model": "topaz-video-upscale"` and your API key.

    ```bash theme={null}
    # 1. Queue the job (returns a queue_id)
    curl https://api.venice.ai/api/v1/video/queue \
      -H "Authorization: Bearer $VENICE_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "model": "topaz-video-upscale",
        "prompt": "Slow aerial drone shot over a misty mountain valley at golden hour",
        "duration": "Auto",
        "resolution": "2x",
        "video_url": "https://example.com/source.mp4"
      }'

    # 2. Poll until the MP4 is ready
    curl https://api.venice.ai/api/v1/video/retrieve \
      -H "Authorization: Bearer $VENICE_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{ "model": "topaz-video-upscale", "queue_id": "<queue_id>" }' --output video.mp4
    ```

    ## Topaz Video Upscale API FAQ

    ### How much does the Topaz Video Upscale API cost?

    Price depends on the input video. Call `POST /video/quote` for the exact price before queueing. Prices are in USD and can be paid in DIEM at parity.

    ### What is the Topaz Video Upscale model ID?

    Use `topaz-video-upscale` as the `model` parameter.

    ### Is the Topaz Video Upscale API private?

    Topaz Video Upscale is anonymized: Venice forwards requests to the provider without your identity, but the provider may retain prompt data, so use a private model for sensitive work.

    ### What resolutions and durations does Topaz Video Upscale support?

    Resolutions: 2x, 4x. Durations: Auto. Audio: none.

    ### Which endpoint does the Topaz Video Upscale API use?

    Queue a job with `POST /video/queue`, then poll `/video/retrieve` for the result.

    ## Related models

    * [Wan 2.7 API](/models/wan-2-7-video): from \$0.11 per second
    * [Seedance 2.0 Fast API](/models/seedance-2-0-fast): from \$0.07 per second
    * [Seedance 2.0 API](/models/seedance-2-0): from \$0.09 per second
    * [PixVerse C1 API](/models/pixverse-c1): from \$0.03 per second
  </Accordion>
</div>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.