Skip to content

@memberjunction/ai-blackforestlabs

MemberJunction AI provider for Black Forest Labs’ FLUX image generation models. This package implements the BaseImageGenerator interface to provide text-to-image generation, image editing (inpainting/outpainting), and image variations through BFL’s async task-based API.

graph TD
    A["FLUXImageGenerator<br/>(Provider)"] -->|extends| B["BaseImageGenerator<br/>(@memberjunction/ai)"]
    A -->|submits tasks| C["BFL REST API"]
    A -->|polls| D["Result Endpoint"]
    D -->|returns| E["Image URL"]
    A -->|downloads| F["Generated Image"]
    B -->|registered via| G["@RegisterClass"]

    style A fill:#7c5295,stroke:#563a6b,color:#fff
    style B fill:#2d6a9f,stroke:#1a4971,color:#fff
    style C fill:#2d8659,stroke:#1a5c3a,color:#fff
    style D fill:#2d8659,stroke:#1a5c3a,color:#fff
    style E fill:#b8762f,stroke:#8a5722,color:#fff
    style F fill:#2d6a9f,stroke:#1a4971,color:#fff
    style G fill:#b8762f,stroke:#8a5722,color:#fff
sequenceDiagram
    participant App as Application
    participant FLUX as FLUXImageGenerator
    participant BFL as BFL API

    App->>FLUX: GenerateImage(params)
    FLUX->>BFL: POST /flux-pro-2 (submit task)
    BFL-->>FLUX: { id: "task-123" }
    loop Poll until ready
        FLUX->>BFL: GET /get_result?id=task-123
        BFL-->>FLUX: { status: "Pending" }
    end
    BFL-->>FLUX: { status: "Ready", result: { sample: "url" } }
    FLUX->>BFL: Download image from URL
    BFL-->>FLUX: Image data
    FLUX-->>App: ImageGenerationResult
  • Text-to-Image Generation: Generate photorealistic images using FLUX.2 Pro, FLUX 1.1 Pro, and other FLUX models
  • Image Editing: Inpainting and outpainting via FLUX Fill model with mask support
  • Image Variations: Create variations using FLUX Kontext Pro for image-to-image generation
  • Async Task Polling: Configurable polling with adjustable interval and timeout
  • Multiple Models: Support for FLUX.2 Pro (32B), FLUX 1.1 Pro, FLUX Dev, FLUX Schnell, and FLUX Ultra
  • Seed Reproducibility: Deterministic generation with seed parameter support
  • Resolution Control: Custom width/height and aspect ratio settings up to 4MP
Terminal window
npm install @memberjunction/ai-blackforestlabs
import { FLUXImageGenerator } from '@memberjunction/ai-blackforestlabs';
const generator = new FLUXImageGenerator('your-bfl-api-key');
const result = await generator.GenerateImage({
prompt: 'A serene mountain landscape at sunset',
model: 'flux-2-pro',
size: '1536x1024'
});
if (result.success) {
const image = result.images[0];
console.log('Image generated, base64 length:', image.base64.length);
}
generator.setPollingConfig({
maxWaitTime: 180000, // 3 minutes
pollInterval: 3000 // 3 seconds
});
ModelIDDescription
FLUX.2 Proflux-2-pro32B parameter, photorealistic 4MP images
FLUX 1.1 Proflux-1.1-proProduction-ready, high-volume workloads
FLUX.1 Devflux-devOpen-weights 12B for development
FLUX Schnellflux-schnellFast generation
FLUX Ultraflux-ultraUltra-high quality

Registered as FLUXImageGenerator via @RegisterClass(BaseImageGenerator, 'FLUXImageGenerator').

  • @memberjunction/ai - Core AI abstractions (BaseImageGenerator, GeneratedImage)
  • @memberjunction/global - Class registration