E2a Integrate
tokencanopy/e2a
A skill your agent uses when adding e2a email capabilities to an application or codebase: outbound sending, inbound signed webhooks, REST polling, or SDK integration.
BFL FLUX API integration guide covering endpoints, async polling patterns, rate limiting, error handling, webhooks, and regional endpoints with Python and TypeScript code examples.
$ npx skills add black-forest-labs/skills --skill bfl-api -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install black-forest-labs/skills bfl-api --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/black-forest-labs/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/bfl-api .claude/skills/bfl-api && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "bfl-api" agent skill from https://github.com/black-forest-labs/skills/tree/master/skills/bfl-api into .claude/skills/bfl-api/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bfl-api", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/black-forest-labs/skills/tree/master/skills/bfl-apiType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add black-forest-labs/skills --skill bfl-api -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install black-forest-labs/skills bfl-api --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/black-forest-labs/skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/bfl-api .agents/skills/bfl-api && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "bfl-api" agent skill from https://github.com/black-forest-labs/skills/tree/master/skills/bfl-api into .agents/skills/bfl-api/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bfl-api", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add black-forest-labs/skills --skill bfl-api -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install black-forest-labs/skills bfl-api --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/black-forest-labs/skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/bfl-api .cursor/skills/bfl-api && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "bfl-api" agent skill from https://github.com/black-forest-labs/skills/tree/master/skills/bfl-api into .cursor/skills/bfl-api/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bfl-api", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/black-forest-labs/skills.git --path skills/bfl-api--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add black-forest-labs/skills --skill bfl-api -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install black-forest-labs/skills bfl-api --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/black-forest-labs/skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/bfl-api .gemini/skills/bfl-api && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "bfl-api" agent skill from https://github.com/black-forest-labs/skills/tree/master/skills/bfl-api into .gemini/skills/bfl-api/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bfl-api", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install black-forest-labs/skills bfl-apiInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add black-forest-labs/skills --skill bfl-api -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/black-forest-labs/skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/bfl-api .github/skills/bfl-api && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "bfl-api" agent skill from https://github.com/black-forest-labs/skills/tree/master/skills/bfl-api into .github/skills/bfl-api/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bfl-api", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add black-forest-labs/skills --skill bfl-api -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install black-forest-labs/skills bfl-api --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/black-forest-labs/skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/bfl-api .opencode/skills/bfl-api && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "bfl-api" agent skill from https://github.com/black-forest-labs/skills/tree/master/skills/bfl-api into .opencode/skills/bfl-api/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bfl-api", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
bfl-apiBFL FLUX API integration guide covering endpoints, async polling patterns, rate limiting, error handling, webhooks, and regional endpoints with Python and TypeScript code examples.
Bfl API is an agent skill from black-forest-labs/skills. BFL FLUX API integration guide covering endpoints, async polling patterns, rate limiting, error handling, webhooks, and regional endpoints with Python and TypeScript code examples.
Its SKILL.md is about 2.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 12 other files, including reference files (for example `metadata.json`, `references/api-key-setup.md` and `references/code-examples/curl-examples.sh`).
It sits in Backend & APIs, covering Third-party API integration, Webhooks and Rate limiting. It works with Python and TypeScript. The repository describes itself as: Official agent skills from Black Forest Labs for FLUX image and video generation — prompting guides and API integration patterns for Claude Code, Codex, and any… The licence is MIT.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 8907d51. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships script files (Shell, Python and TypeScript), which the agent can run.
Shell commands in SKILL.md call:
curlFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
api.bfl.aiapi.eu.bfl.aiapi.us.bfl.aiAlso links to:
bfl.aidashboard.bfl.aiFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
BFL_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Bfl API loads about 2.5k tokens when it runs, and up to ~20k if it reads all its reference files. Until then it costs about 47 tokens; SKILL.md has 694 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
2. **Save to `.env`** (recommended for persistence):echo 'BFL_API_KEY=bfl_your_key_here' >> .envecho '.env' >> .gitignore # Don't commit secretsAutomated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from black-forest-labs/skills at commit 8907d51, republished under its MIT licence (© black-forest-labs). 694 words, ~2,492 tokens.
.claude/skills/bfl-api/SKILL.md (or your agent's skills folder). This skill also uses 10 other files; get the full folder from GitHub.Use this skill when integrating BFL FLUX APIs into applications for image generation, editing, and processing.
Before generating images, verify your API key is set:
echo $BFL_API_KEYIf empty or you see "Not authenticated" errors, see API Key Setup below.
Result URLs from the API are temporary. Download images immediately after generation completes - do not store or cache the URLs themselves.
| Region | Endpoint | Use Case |
|---|---|---|
| Global | https://api.bfl.ai | Default, automatic failover |
| EU | https://api.eu.bfl.ai | GDPR compliance |
| US | https://api.us.bfl.ai | US data residency |
Credit pricing: 1 credit = $0.01 USD. FLUX.2 uses megapixel-based pricing (cost scales with resolution).
| Model | Path | 1st MP | +MP | 1MP T2I | 1MP I2I | Best For |
|---|---|---|---|---|---|---|
| FLUX.2 [klein] 4B | /v1/flux-2-klein-4b | 1.4c | 0.1c | $0.014 | $0.015 | Real-time, high volume |
| FLUX.2 [klein] 9B | /v1/flux-2-klein-9b | 1.5c | 0.2c | $0.015 | $0.017 | Balanced quality/speed |
| FLUX.2 [pro] | /v1/flux-2-pro | 3c | 1.5c | $0.03 | $0.045 | Production, fast turnaround |
| FLUX.2 [max] | /v1/flux-2-max | 7c | 3c | $0.07 | $0.10 | Maximum quality |
| FLUX.2 [flex] | /v1/flux-2-flex | 5c | 5c | $0.05 | $0.10 | Typography, adjustable controls |
| FLUX.2 [dev] | - | - | - | Free | Free | Local development (non-commercial) |
Pricing formula:
(firstMP + (outputMP-1) * mpPrice) + (inputMP * mpPrice)in cents
| Model | Path | Price/Image | Best For |
|---|---|---|---|
| FLUX.1 Kontext [pro] | /v1/flux-kontext | $0.04 | Image editing with context |
| FLUX.1 Kontext [max] | /v1/flux-kontext-max | $0.08 | Max quality editing |
| FLUX1.1 [pro] | /v1/flux-pro-1.1 | $0.04 | Standard T2I, fast & reliable |
| FLUX1.1 [pro] Ultra | /v1/flux-pro-1.1-ultra | $0.06 | Ultra high-resolution |
| FLUX1.1 [pro] Raw | /v1/flux-pro-1.1-raw | $0.06 | Candid photography feel |
| FLUX.1 Fill [pro] | /v1/flux-pro-1.0-fill | $0.05 | Inpainting |
Tip: All FLUX.2 models support image editing via the
input_imageparameter - no separate editing endpoint needed. Use bfl.ai/pricing calculator for exact costs at different resolutions.
Preferred: Use URLs directly - simpler and more convenient than base64.
Single image editing:
curl -X POST "https://api.bfl.ai/v1/flux-2-pro" \
-H "x-key: $BFL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "Change the background to a sunset",
"input_image": "https://example.com/photo.jpg"
}'Multi-reference editing:
curl -X POST "https://api.bfl.ai/v1/flux-2-pro" \
-H "x-key: $BFL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "The person from image 1 in the environment from image 2",
"input_image": "https://example.com/person.jpg",
"input_image_2": "https://example.com/background.jpg"
}'The API fetches URLs automatically. Both URL and base64 work, but URLs are recommended when available.
FLUX.2 models support multiple input images for combining elements, style transfer, and character consistency:
| Model | Max References |
|---|---|
| FLUX.2 [klein] | 4 images |
| FLUX.2 [pro/max/flex] | 8 images |
Parameters: input_image, input_image_2, input_image_3, ... input_image_8
Prompt pattern: Reference images by number in your prompt:
For detailed multi-reference patterns (character consistency, style transfer, pose guidance), see
flux-image-best-practices/rules/multi-reference-editing.md
| Tier | Concurrent Requests |
|---|---|
| Standard (most endpoints) | 24 |
| Approach | Use When |
|---|---|
| Polling | Scripts, CLI tools, local development, single requests, simple integrations |
| Webhooks | Production apps, high volume, server-to-server, when you need immediate notification |
Start with polling - it's simpler and works everywhere. Switch to webhooks when you need to scale or want event-driven architecture.
polling_url for async resultswebhook_url for production workloadsRequired: The BFL_API_KEY environment variable must be set before using the API.
echo $BFL_API_KEY.env (recommended for persistence):echo 'BFL_API_KEY=bfl_your_key_here' >> .env
echo '.env' >> .gitignore # Don't commit secretsSee references/api-key-setup.md for detailed setup instructions.
x-key: YOUR_API_KEY1. POST request to model endpoint
└─> Response: { "polling_url": "..." }
2. GET polling_url (repeat until complete)
└─> Response: { "status": "Pending" | "Ready" | "Error", ... }
3. When Ready, download result URL
└─> URL expires in 10 minutes - download immediatelyflux-image-best-practices/rules/multi-reference-editing.mdNote: cURL examples are preferred by default as they work universally without requiring Python or Node.js. Use language-specific clients when building production applications.
curl -s -X POST "https://api.bfl.ai/v1/flux-2-pro" \
-H "x-key: $BFL_API_KEY" \
-H "Content-Type: application/json" \
-d '{"prompt": "A serene mountain landscape at sunset", "width": 1024, "height": 1024}'Response:
{ "id": "abc123", "polling_url": "https://api.bfl.ai/v1/get_result?id=abc123" }curl -s "POLLING_URL" -H "x-key: $BFL_API_KEY"Response when ready:
{ "status": "Ready", "result": { "sample": "https://...", "seed": 1234 } }curl -s -o output.png "IMAGE_URL"Tip: Result URLs expire in 10 minutes. Download immediately after status becomes
Ready.
Combine elements from multiple images:
curl -s -X POST "https://api.bfl.ai/v1/flux-2-pro" \
-H "x-key: $BFL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "The cat from image 1 sitting in the cozy room from image 2",
"input_image": "https://example.com/cat.jpg",
"input_image_2": "https://example.com/room.jpg",
"width": 1024,
"height": 1024
}'Reference images by number in your prompt. See Multi-Reference I2I for limits and patterns.
© black-forest-labs, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 10 other files (references) in skills/bfl-api of black-forest-labs/skills.
Open the folder on GitHubat commit 8907d51
We found 2 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in black-forest-labs/skills, which our catalogue first saw on October 7, 2026.
Bfl API next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Bfl API this skillblack-forest-labs/skills | 125 | 1 repos | ~2.5k | Automated safety check: Notes | MIT | |
| E2a Integratetokencanopy/e2a | 192 | — | ~840 | Automated safety check: Pass | Apache-2.0 | |
| Frappe Core APIImpertio-Studio/Frappe_Claude_Skill_Package | 187 | 1 repos | ~3.2k | Automated safety check: Pass | MIT | |
| SEO APIseranking/seo-skills | 160 | — | ~4.1k | Automated safety check: Pass | MIT | |
| Telegram Development Guide2025Emma/vibe-coding-cn | 23k | 1 repos | ~3.7k | Automated safety check: Pass | MIT | |
| Fishjam Python Server SDKsoftware-mansion-labs/skills | 291 | — | ~1.3k | Automated safety check: Pass | Apache-2.0 |
tokencanopy/e2a
A skill your agent uses when adding e2a email capabilities to an application or codebase: outbound sending, inbound signed webhooks, REST polling, or SDK integration.
Impertio-Studio/Frappe_Claude_Skill_Package
A skill your agent uses when building ERPNext/Frappe API integrations (v14/v15/v16) including REST API, RPC API, authentication, webhooks, and rate limiting.
seranking/seo-skills
SE Ranking API integration architect. An agent skill from seranking/seo-skills.
2025Emma/vibe-coding-cn
Chinese-language guide to building on Telegram: bots through the Bot API, Mini Apps in JavaScript and custom clients through TDLib, with Python examples.
software-mansion-labs/skills
Python server SDK for Fishjam — backends that create rooms, mint peer tokens, receive server notifications, and run voice agents.
ancoleman/ai-design-components
API design and implementation across REST, GraphQL, gRPC, and tRPC patterns.
black-forest-labs/skills
A skill your agent uses when a FLUX 3 video must be built from supplied images or video.
black-forest-labs/skills
A skill your agent uses when a FLUX 3 video needs a period or archival look.
black-forest-labs/skills
A skill your agent uses when building a finished product ad from FLUX 3 - shot design, voiceover, action-to-word sync, evidence-gated copy, deterministic assembly, and QC gates that catch clipped…
black-forest-labs/skills
A skill your agent uses when diagnosing a FLUX 3 brief before generation.
black-forest-labs/skills
A skill your agent uses when submitting or polling a FLUX 3 video API job.
black-forest-labs/skills
A skill your agent uses when directing FLUX 3 audio, dialogue, or voiceover.
Works with
Categories
BFL FLUX API integration guide covering endpoints, async polling patterns, rate limiting, error handling, webhooks, and regional endpoints with Python and TypeScript code examples. Bfl API is an agent skill from black-forest-labs/skills. BFL FLUX API integration guide covering endpoints, async polling patterns, rate limiting, error handling, webhooks, and regional endpoints with Python and TypeScript code examples.
Bfl API fits situations like: tasks that involve Third-party API integration; tasks that involve Webhooks; tasks that involve Rate limiting.
Run `npx skills add black-forest-labs/skills --skill bfl-api -a claude-code`. Or copy the skill folder (skills/bfl-api in black-forest-labs/skills) into .claude/skills/bfl-api in your project. Claude Code loads it when a task matches its description.
Run `npx skills add black-forest-labs/skills --skill bfl-api -a codex`. Or copy the skill folder (skills/bfl-api in black-forest-labs/skills) into .agents/skills/bfl-api in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add black-forest-labs/skills --skill bfl-api -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/bfl-api, .gemini/skills/bfl-api, .github/skills/bfl-api and .opencode/skills/bfl-api in your project.
Going by SKILL.md and its folder, Bfl API needs a shell, Python and TypeScript for the scripts in its folder, the command-line tools its instructions call (curl) and credentials named BFL_API_KEY. Our summary lists: Python 3; Node.js; A Bash shell; A credential in BFL_API_KEY; A credential in YOUR_API_KEY.
SKILL.md names 5 domains. In commands or code: api.bfl.ai, api.eu.bfl.ai and api.us.bfl.ai; the agent is likely to contact these when it follows the instructions. As links in the text: bfl.ai and dashboard.bfl.ai. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Bfl API is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.5k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 18k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Bfl API: E2a Integrate (tokencanopy/e2a, 192 stars), Frappe Core API (Impertio-Studio/Frappe_Claude_Skill_Package, 187 stars), SEO API (seranking/seo-skills, 160 stars) and Telegram Development Guide (2025Emma/vibe-coding-cn, 23k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
black-forest-labs (a GitHub organization) maintains it in black-forest-labs/skills, which has 125 GitHub stars. The repository holds 10 skills in this directory. The repository was last updated on September 9, 2026.
Source: black-forest-labs/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.