{"slug": "about-the-modelflux-1-dev", "title": "About the modelFLUX.1-dev", "summary": "Hugging Face's FLUX.1-dev model is no longer served via the hf-inference provider, returning a 410 Gone error for requests pinned to that route, but the model remains available through other providers such as fal-ai. Developers are advised to use the @huggingface/inference client with automatic provider selection or explicitly specify fal-ai, and to note that Inference Providers are pay-as-you-go beyond included monthly credits, with Free accounts receiving $0.10/month and PRO $2/month at the time of writing.", "body_md": "Hmm… I think this is because **the way the service works has changed quite a bit**:\n\nThe `410 Gone` here does **not** appear to mean that `black-forest-labs/FLUX.1-dev` itself has been removed.\n\nThe important part of the error is:\n\n`no longer supported by provider hf-inference`\n\nYour URL is explicitly pinning the request to the **`hf-inference` provider**:\n\n```\nhttps://router.huggingface.co/hf-inference/models/black-forest-labs/FLUX.1-dev\n                                  ^^^^^^^^^^^^\n```\n\n`FLUX.1-dev` still exists on the Hub, and at the moment its [model page](https://huggingface.co/black-forest-labs/FLUX.1-dev) shows **fal** as a Text-to-Image Inference Provider. Hugging Face’s current [Fal provider documentation](https://huggingface.co/docs/inference-providers/providers/fal-ai) also uses `black-forest-labs/FLUX.1-dev` directly in its text-to-image example.\n\nSo I would not try to repair this by changing Angular-specific code around the old `/hf-inference/` request. I would move to the current Inference Providers client and stop hard-coding `hf-inference`.\n\nFor example, on a **server/backend**:\n\n``` js\nimport { InferenceClient } from \"@huggingface/inference\";\n\nconst client = new InferenceClient(process.env.HF_TOKEN);\n\nconst imageBlob = await client.textToImage({\n  model: \"black-forest-labs/FLUX.1-dev\",\n  inputs: \"A cinematic photograph of a mountain lake at sunrise\",\n});\n```\n\nThe current JavaScript client uses automatic provider selection by default, so this lets Hugging Face choose an available provider instead of forcing the request through `hf-inference`. The official [Inference Providers documentation](https://huggingface.co/docs/inference-providers/) currently shows essentially this same `FLUX.1-dev` JavaScript example.\n\nIf you specifically want to pin the currently listed Fal route, you can also make that explicit:\n\n``` js\nconst imageBlob = await client.textToImage({\n  provider: \"fal-ai\",\n  model: \"black-forest-labs/FLUX.1-dev\",\n  inputs: \"A cinematic photograph of a mountain lake at sunrise\",\n});\n```\n\nI would prefer the first form unless you have a reason to require a particular provider.\n\nOne important difference from the old Serverless Inference API model: **Inference Providers are pay-as-you-go beyond the included monthly credits.** At the time of writing, the [pricing documentation](https://huggingface.co/docs/inference-providers/pricing) lists $0.10/month of Inference Providers credits for Free accounts (explicitly marked as subject to change), $2/month for PRO, and PAYG after the included credits are exhausted. So changing providers restores a serving route, but it should not be understood as a drop-in replacement for unlimited/free old-style serverless inference.\n\nAlso, because you mentioned Angular: if your Hugging Face token is currently stored in the Angular application itself, I would change that separately. This is **not the cause of the 410**, but tokens embedded in an Angular frontend are visible to the browser user. Both the [Hugging Face JavaScript documentation](https://huggingface.co/docs/huggingface.js/inference/README) and [Angular’s environment documentation](https://angular.dev/tools/cli/environments) recommend keeping secrets server-side and using a proxy/backend.\n\nA safer layout is therefore roughly:\n\n```\nAngular application\n        |\n        | POST { prompt: ... }\n        v\nyour backend / serverless function\n        |\n        | HF_TOKEN stays here\n        v\n@huggingface/inference\n        |\n        v\nHugging Face Inference Providers\n        |\n        v\ncurrently available provider\n```\n\nWhy this changed / why `hf-inference` is different now\nSo, for this particular error, my default path would be:\n\n``` php\nstop pinning /hf-inference/\n        ->\nuse @huggingface/inference\n        ->\nlet provider selection be automatic\n        ->\nor explicitly use a currently supported provider such as fal-ai\n        ->\ncheck the PAYG implications before relying on it in the application\n```\n\nThat should separate the actual serving change from the Angular integration, rather than treating the 410 as a problem with FLUX.1-dev itself.", "url": "https://wpnews.pro/news/about-the-modelflux-1-dev", "canonical_source": "https://discuss.huggingface.co/t/about-the-modelflux-1-dev/179954#post_2", "published_at": "2026-09-06 23:35:24+00:00", "updated_at": "2026-09-07 00:00:42.165700+00:00", "lang": "en", "topics": ["ai-tools", "developer-tools"], "entities": ["Hugging Face", "black-forest-labs/FLUX.1-dev", "fal-ai", "@huggingface/inference", "Angular"], "alternates": {"html": "https://wpnews.pro/news/about-the-modelflux-1-dev", "markdown": "https://wpnews.pro/news/about-the-modelflux-1-dev.md", "text": "https://wpnews.pro/news/about-the-modelflux-1-dev.txt", "jsonld": "https://wpnews.pro/news/about-the-modelflux-1-dev.jsonld"}}