> ## 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.

# Flux 2 Pro API

> Flux 2 Pro API on Venice: image generation, from $0.03 per image. Anonymized access without your identity. Pricing, specs and code examples.

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":"flux-2-pro","name":"Flux 2 Pro","modality":"image","task":"image-generation","provider":"bfl","primary":"flux-2-pro","variants":["flux-2-pro"],"created":1764086377,"updated":1764086377,"privacy":["anonymized"]},"models":[{"id":"flux-2-pro","name":"Flux 2 Pro","type":"image","modality":"image","task":"image-generation","variant":"generate","provider":"bfl","created":1764086377,"privacy":"anonymized","image":{"aspectRatios":["1:1","3:2","16:9","21:9","9:16","2:3","3:4","4:5"],"defaultAspectRatio":"1:1","promptLimit":3000,"steps":{"default":20,"max":50}},"pricing":{"perImage":0.03,"upscale":{"2x":0.02,"4x":0.08}},"headline":{"value":0.03,"unit":"per image","basis":"flat"},"endpoints":[{"id":"image-generate","method":"POST","path":"/image/generate","name":"Generate image","status":"stable","recommended":true},{"id":"images-generations","method":"POST","path":"/images/generations","name":"OpenAI-compatible images","status":"stable"}],"family":"flux-2-pro"}],"related":{"similar":[{"slug":"grok-imagine-image","name":"Grok Imagine","provider":"xai","modality":"image","privacy":["private"],"created":1769644800,"headline":{"value":0.03,"unit":"per image","basis":"1K"},"variants":2},{"slug":"wan-2-7-image","name":"Wan 2.7","provider":"alibaba","modality":"image","privacy":["anonymized"],"created":1775001600,"headline":{"value":0.0375,"unit":"per image","basis":"flat"},"variants":1},{"slug":"qwen-image","name":"Qwen Image","provider":"alibaba","modality":"image","privacy":["anonymized"],"created":1736635129,"headline":{"value":0.03,"unit":"per image","basis":"flat"},"variants":1},{"slug":"krea-v2-medium","name":"Krea v2 Medium","provider":"krea","modality":"image","privacy":["anonymized"],"created":1779408000,"headline":{"value":0.04,"unit":"per image","basis":"flat"},"variants":1}],"versions":[]},"providers":{"bfl":{"slug":"bfl","name":"Black Forest Labs","logo":"/images/icons/models/BlackForestLabs.svg"},"xai":{"slug":"xai","name":"xAI","logo":"/images/icons/models/grok.svg"},"alibaba":{"slug":"alibaba","name":"Alibaba Qwen","logo":"/images/icons/models/qwen.svg"},"krea":{"slug":"krea","name":"Krea","logo":"/images/icons/models/krea.svg"}},"faq":[{"q":"How much does the Flux 2 Pro API cost?","a":"$0.03 per image. Prices are in USD and can be paid in DIEM at parity."},{"q":"What is the Flux 2 Pro model ID?","a":"Use `flux-2-pro` as the `model` parameter."},{"q":"Is the Flux 2 Pro API private?","a":"Flux 2 Pro 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 does Flux 2 Pro support?","a":"Aspect ratios: 1:1, 3:2, 16:9, 21:9, 9:16, 2:3, 3:4, 4:5. Prompts up to 3,000 characters."},{"q":"Which endpoint does the Flux 2 Pro API use?","a":"Call `POST /image/generate`. `/images/generations` is also supported."}]}} />

<div className="vx-static">
  <Accordion title="Plain-text specification">
    # Flux 2 Pro API

    Flux 2 Pro is an image generation model by Black Forest Labs, available on the Venice API as `flux-2-pro`. Requests are anonymized, so the provider never sees your identity.

    ## Flux 2 Pro API pricing

    | Model ID | Variant | Privacy | Price |
    | - | - | - | - |
    | `flux-2-pro` | Generate | Anonymized | \$0.03 per image |

    ## Flux 2 Pro specifications

    | Spec | Value |
    | - | - |
    | Provider | Black Forest Labs |
    | Released | Nov 25, 2025 |
    | Privacy | Anonymized |
    | Aspect ratios | 1:1, 3:2, 16:9, 21:9, 9:16, 2:3, 3:4, 4:5 |
    | Prompt limit | 3,000 characters |

    ## How to use the Flux 2 Pro API

    Send requests to `POST https://api.venice.ai/api/v1/image/generate` with `"model": "flux-2-pro"` and your API key.

    ```bash theme={null}
    curl https://api.venice.ai/api/v1/image/generate \
      -H "Authorization: Bearer $VENICE_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "model": "flux-2-pro",
        "prompt": "A retro travel poster with the bold headline \"VENICE\" in large condensed serif type, sunset color palette",
        "aspect_ratio": "1:1"
      }'
    ```

    ## Flux 2 Pro API FAQ

    ### How much does the Flux 2 Pro API cost?

    \$0.03 per image. Prices are in USD and can be paid in DIEM at parity.

    ### What is the Flux 2 Pro model ID?

    Use `flux-2-pro` as the `model` parameter.

    ### Is the Flux 2 Pro API private?

    Flux 2 Pro 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 does Flux 2 Pro support?

    Aspect ratios: 1:1, 3:2, 16:9, 21:9, 9:16, 2:3, 3:4, 4:5. Prompts up to 3,000 characters.

    ### Which endpoint does the Flux 2 Pro API use?

    Call `POST /image/generate`. `/images/generations` is also supported.

    ## Related models

    * [Grok Imagine API](/models/grok-imagine-image): \$0.03 per image
    * [Wan 2.7 API](/models/wan-2-7-image): \$0.04 per image
    * [Qwen Image API](/models/qwen-image): \$0.03 per image
    * [Krea v2 Medium API](/models/krea-v2-medium): \$0.04 per image
  </Accordion>
</div>


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