Unit of work

Unit of work

A unit of work is a behavioral pattern in software development. Martin Fowler has defined it as everything one does during a business transaction which can affect the database. When the unit of work is finished, it will provide everything that needs to be done to change the database as a result of the work. A unit of work encapsulates one or more code repositories[de] and a list of actions to be performed which are necessary for the successful implementation of self-contained and consistent data change. A unit of work is also responsible for handling concurrency issues, and can be used for transactions and stability patterns.[de]

Document classification

Document classification or document categorization is a problem in library science, information science and computer science. The task is to assign a document to one or more classes or categories. This may be done "manually" (or "intellectually") or algorithmically. The intellectual classification of documents has mostly been the province of library science, while the algorithmic classification of documents is mainly in information science and computer science. The problems are overlapping, however, and there is therefore interdisciplinary research on document classification. The documents to be classified may be texts, images, music, etc. Each kind of document possesses its special classification problems. When not otherwise specified, text classification is implied. Documents may be classified according to their subjects or according to other attributes (such as document type, author, printing year etc.). In the rest of this article only subject classification is considered. There are two main philosophies of subject classification of documents: the content-based approach and the request-based approach. == "Content-based" versus "request-based" classification == Content-based classification is classification in which the weight given to particular subjects in a document determines the class to which the document is assigned. It is, for example, a common rule for classification in libraries, that at least 20% of the content of a book should be about the class to which the book is assigned. In automatic classification it could be the number of times given words appears in a document. Request-oriented classification (or -indexing) is classification in which the anticipated request from users is influencing how documents are being classified. The classifier asks themself: “Under which descriptors should this entity be found?” and “think of all the possible queries and decide for which ones the entity at hand is relevant” (Soergel, 1985, p. 230). Request-oriented classification may be classification that is targeted towards a particular audience or user group. For example, a library or a database for feminist studies may classify/index documents differently when compared to a historical library. It is probably better, however, to understand request-oriented classification as policy-based classification: The classification is done according to some ideals and reflects the purpose of the library or database doing the classification. In this way it is not necessarily a kind of classification or indexing based on user studies. Only if empirical data about use or users are applied should request-oriented classification be regarded as a user-based approach. == Classification versus indexing == Sometimes a distinction is made between assigning documents to classes ("classification") versus assigning subjects to documents ("subject indexing") but as Frederick Wilfrid Lancaster has argued, this distinction is not fruitful. "These terminological distinctions,” he writes, “are quite meaningless and only serve to cause confusion” (Lancaster, 2003, p. 21). The view that this distinction is purely superficial is also supported by the fact that a classification system may be transformed into a thesaurus and vice versa (cf., Aitchison, 1986, 2004; Broughton, 2008; Riesthuis & Bliedung, 1991). Therefore, assigning a subject term to a document in an index is equivalent to assigning that document to the class of documents indexed by that term (all documents indexed or classified as X belong to the same class of documents). == Automatic document classification (ADC) == Automatic document classification tasks can be divided into three sorts: supervised document classification where some external mechanism (such as human feedback) provides information on the correct classification for documents, unsupervised document classification (also known as document clustering), where the classification must be done entirely without reference to external information, and semi-supervised document classification, where parts of the documents are labeled by the external mechanism. There are several software products under various license models available. === Techniques === Automatic document classification techniques include: Artificial neural network Concept Mining Decision trees such as ID3 or C4.5 Expectation maximization (EM) Instantaneously trained neural networks Latent semantic indexing Multiple-instance learning Naive Bayes classifier Natural language processing approaches Rough set-based classifier Soft set-based classifier Support vector machines (SVM) K-nearest neighbour algorithms tf–idf == Applications == Classification techniques have been applied to spam filtering, a process which tries to discern E-mail spam messages from legitimate emails email routing, sending an email sent to a general address to a specific address or mailbox depending on topic language identification, automatically determining the language of a text genre classification, automatically determining the genre of a text readability assessment, automatically determining the degree of readability of a text, either to find suitable materials for different age groups or reader types or as part of a larger text simplification system sentiment analysis, determining the attitude of a speaker or a writer with respect to some topic or the overall contextual polarity of a document. health-related classification using social media in public health surveillance article triage, selecting articles that are relevant for manual literature curation, for example as is being done as the first step to generate manually curated annotation databases in biology

Cube 3D

Cube 3D is an artificial intelligence model that is developed by Roblox Corporation. It is open source and available on GitHub and Hugging Face. In March 2026, Roblox announced Cube 3D as a mesh generation model that takes text input. In February 2026, Roblox released 4D creation in a public beta, allowing embedding Cube 3D into Roblox games. Cube 3D is integrated into Roblox Studio and its API, and supports two modes of 4D creation. == History == In March 2025, Roblox announced Cube 3D as a mesh generation model that takes text input. Its first feature was an API that allows mesh generation. That month, it was made open source. Over 1.8 million assets have been generated by Cube 3D since March 2025. In March 2025, 4D creation was announced. That November, 4D creation was released in early access. In February 2026, Roblox released 4D creation in a public beta, allowing embedding Cube 3D into Roblox games. == Technology == Cube 3D is trained on Roblox meshes. To generate meshes, it tokenises meshes and shapes and predicts the next token. Cube 3D is integrated into Roblox Studio and the Roblox Studio API. Its API allows mesh generation. In 4D creation, two modes can be used. Car-5 supports modular objects, and Body-1 only supports single-mesh objects.

TCEC Season 14

The 14th season of the Top Chess Engine Championship took place between 17 November 2018 and 24 February 2019. Stockfish was the defending champion, having defeated Komodo in the previous season's superfinal. The season is notable for two things: the emergence of two strong, new engines, the Komodo variant Komodo Monte Carlo tree search (MCTS) and the neural network engine Leela Chess Zero, and the dramatic superfinal. Komodo MCTS and Leela fought their way from Division 4 and Division 3 respectively to the Premier Division, with Leela further qualifying for the superfinal against Stockfish. The superfinal was a topsy-turvy affair with the lead changing hands several times. It finished as the closest superfinal TCEC has ever seen, with Stockfish winning by a single game, 50.5–49.5 (+10 =81 -9). == Overview == === Structure === The season comprised five divisions: from the lowest Division 4 to the Premier Division. The top two engines of each division promote to the division above, while the bottom two engines relegate. The top two engines of the Premier Division contest a 100-game superfinal. The lengths of the opening books used increases as the divisions progress. The superfinal itself used a custom opening book designed by Jeroen Noomen. === Rules === The TCEC draw and win rules were slightly modified for Season 14. The game is now adjudicated as drawn if, after move 30, both engines have evals ±0.08 for five consecutive moves, and there are neither pawn moves nor a capture. Win adjudication now occurs if both engines have an eval of ±10 for five consecutive moves. Following the controversy over DeusX's participation last season, the uniqueness rule for neural networks was modified such that at least two of the following three hallmarks must be unique: The code for training the neural network The neural network (and weights file) itself The engine that executes this network This change meant DeusX did not meet the uniqueness criteria and therefore did not participate. Aside from this change, the season used the standard rules of the TCEC. == Results == === Division 4 === New entrant Komodo MCTS dominated Division 4, winning by a clear four points, although it did lose a game to second-place finisher rofChade. Fellow new entrant Scorpio NN performed badly and finished last, drawing only one game and losing the rest. === Division 3 === The neural network engine Leela Chess Zero had just missed promotion to Division 2 in the previous season. Since its relatively weak performance last season was partly due to hardware problems, and since it had shown a lot of improvement in strength, it was the hot favourite in this division. Leela lived up to its billing by comprehensively defeating everyone else. In a portent of future divisions however, Leela surprisingly dropped a game to third-place Arasan. Komodo MCTS was also improving quickly, and an updated version finished second behind Leela. The gap between second and third was 6.5 points, illustrating the gulf in class. === Division 2 === Although Division 2 engines are significantly stronger than Division 3, Leela and Komodo MCTS continued to dominate the competition, and again finished first and second. Komodo MCTS only lost one game to Leela, while Leela's tendency to occasionally lose to weaker engines saw her losing a game to 4th-placed Booot. Third place finisher Xiphos gave Leela and Komodo MCTS a run for their money, and was in the running up until the final rounds when it lost a crucial game to Leela. This loss left it one point behind Komodo MCTS in the final standings. === Division 1 === Leela and Komodo MCTS's rampage through the lower divisions continued, and they again finished first and second. In a demonstration of how much it had improved, Leela scored 20/28 in this division, the same score it had achieved in Division 2. This was also a TCEC points record for this division. However, Leela dropped a game against fourth-place finisher Chiron. Komodo MCTS, which had yet to lose a game in the lower divisions except to Leela, also conceded its first loss to third-place Fizbo. At the other end of the table, former champions Jonny and Fritz, which had not been updated, found themselves outclassed and finished second-last and last respectively; however with fellow competitor Ginkgo crashing five times (and therefore being disqualified), Jonny managed to stay in the division. The penultimate game for this division set a new TCEC moves record for a decisive game: 308 moves before Leela defeated Fritz. === Premier division === This was the strongest premier division ever, with multiple-time champions Stockfish, Komodo, and Houdini in the mix. Right from the start it became clear that Stockfish was in a league of its own, and it dominated the division, scoring wins against every other engine without losing a game. Second place however was a hotly-contested affair, with Leela, Komodo and Houdini neck-and-neck for most of the division. Houdini took the early lead, but Komodo gained second after winning two games by forfeit when its sibling Komodo MCTS crashed. This led to murmurs of a "Konspiracy". However, when both Komodo and Houdini failed to score more wins against the lower half of the field, Leela was able to take the lead. Halfway through the division the race was upended again when Leela went through a bad streak, losing three games in a row to Stockfish, Komodo, and Fire. This led to Komodo regaining second place, only for Komodo MCTS to crash yet again. By TCEC rules this meant Komodo MCTS was disqualified and all its scores were zeroed out, which put Leela back in second place. With three games left, Leela missed a win against Andscacs, which would've more or less secured her a place in the superfinal. Meanwhile, Komodo kept the division interesting by winning two of its last three games. Because Komodo had superior tiebreakers to Leela, this meant Komodo would qualify for the superfinal unless Leela managed to hold Stockfish to a draw with Black in the last game of the division. In a tense final game, Stockfish came close to winning, but missed the winning line. Leela managed to draw and qualified for the superfinal. At the other end of the table, it was quickly apparent that Ethereal and Andscacs were the weakest engines and would likely relegate. However, when Komodo MCTS was disqualified (and therefore relegated), it threw both engines a lifeline, since they could now stay in the division by beating the other. Andscacs was able to score a head-to-head win against Ethereal, but was crushed by Stockfish (+0 =2 -4) and Leela (+0 =3 -3). Ethereal didn't manage to score a win in the entire division, but did manage to score more draws than Andscacs, condemning Andscacs to relegation. === Superfinal === Going into the superfinal expectations were high for Leela: she had received a new network and had just won her first major competition when she defeated Houdini in the second TCEC cup. However, she had won the tournament without having played Stockfish (who had been surprisingly eliminated by Houdini in the semifinals). That, plus the fact that Stockfish dominated Premier Division and had never lost a match to Leela, left it unclear which engine was superior, although most spectators favored Stockfish. The superfinal turned out to be a roller-coaster. It began with Stockfish drawing first blood in game 7, and then scoring another win in game 10. Leela hit back with wins in game 11 and 13, but then lost games 20, 21, and 22. This gave Stockfish a 3-point lead. However, in the next 30 games, Leela was the only one to score wins: it first equalized by winning games 25, 27, and 29, and then took the lead by winning games 49 and 53. Stockfish won game 56, but Leela won game 63, maintaining her lead. There followed two dramatic games. In game 65, Leela built up a winning position. Stockfish showed a +153 evaluation, indicating that it had found a forced line leading to an endgame tablebase win; indeed analysis with 7-piece tablebases showed that Leela's position was winning. Under previous seasons' rules, the game would have been adjudicated as a win because Leela's evaluation was above 6.5. However under the new rules, Leela's +8.92 evaluation was not enough to adjudicate. It turned out that Leela could not see the winning line, and shuffled her pieces aimlessly, leading to a 50-move draw. In game 66, Stockfish was given a substantial advantage by the opening, but failed to make the most of it. The evaluations were leveling out to zero when the internet connection to the GPU servers was cut off. By tournament rules, this meant the game was replayed from scratch. After a further internet disconnection and restart, Stockfish handled the opening better and won, leaving Leela with a 1-point lead. In the last third of the superfinal, there followed more drama as Leela often built up strong advantages, but Stockfish showed great resourcefulness in defending inferior positions. Meanwh

Jake Elwes

Jake Elwes () is a British media artist, hacker and researcher. Their practice is the exploration of artificial intelligence (AI), queer theory and technical biases. They are known for using AI to create art in mediums such as video, performance and installation. Elwes considers themselves to be neuroqueer, and their work on queering technology addresses issues caused by the normative biases of artificial intelligence. == Education and early life == Elwes was born in London to British contemporary artist and painter Luke Elwes and Anneke, daughter of Hans Dumoulin. Elwes is the great grandchild of Army officer James Hennessy and portrait painter Simon Elwes RA, son of Victorian opera singer Gervase Elwes. Elwes studied at the Slade School of Fine Art from 2013 to 2017, where they began using computer code as a medium. In 2016 they attended the School of Machines, Making & Make-Believe in Berlin with artist and educator Gene Kogan. Elwes was introduced to drag performance by their collaborator Dr Joe Parslow who holds a PhD in drag performance. Drag performance has since become instrumental to Elwes' work. == Career == Elwes' work with artificial intelligence is cited as a hopeful strategy to make AI more playful and diverse. Elwes' work has been exhibited in numerous international art museums and galleries and was featured in a BBC documentary on the history of video art, they were a 2021 finalist for the Lumen Prize, and received the Honorary Mention of the 2022 Prix Ars Electronica in the Interactive Art + category. They also curated and presented the opening provocation "The New Real - Artistic and Queer Visions of AI Futures" to the UK government with two drag artists at the AI UK conference 2024. Elwes is part of the Radical Faeries countercultural movement. They have exhibited in museums and galleries across Europe and Asia including: Victoria and Albert Museum (London, UK) - The Zizi Show (2023-2024) for the first digital commission in their photography center's digital gallery Pinakothek der Moderne (Munich, Germany) - Glitch. Die Kunst Der Störung (2023-2024) ZKM (Karlsruhe, Germany) - Biomedia (2021-2022) National Museum of Modern and Contemporary Art (Cheongju, South Korea) - What an Artificial World (2024) Somerset House (London, UK) - The Horror Show! (2022-2023) Gazelli Art House (London, UK) - Jake Elwes: Data • Glitch • Utopia (2023) (survey exhibition) Jut Art Museum (Taipei, Taiwan) - Future Lives, Future You (2023-2024) Max Ernst Museum (Brühl, Germany) - Surreal Futures (2023-2024) Zabludowicz Collection (London, UK) - Among the Machines (2022) Ars Electronica (Linz, Austria) - Prix Ars Electronica, CyberArts Exhibition (2022) Institute of Contemporary Arts (ICA) (London, UK) - Do Androids Dream on Silver Screens? (2023) Arebyte gallery (London, UK) - Real-Time Constraints (2020) Ming Contemporary Art Museum (McaM) (Shanghai, China) - Mind the Deep (2019) HMKV (Hartware MedienKunstVerein) (Dortmund, Germany) - House of Mirrors: Artificial Intelligence as Phantasm (2022) Today Art Museum (Beijing, China) - Future of Today: DEJA VU (2019) Science Gallery (Dublin, Ireland) - BIAS (2021-2022) Yuz Museum (Shanghai, China) - Lying Sophia and Mocking Alexa (2021) Fotomuseum Winterthur The Onassis Foundation (Athens, Greece) - You and AI (2021) Royal College of Art (London, UK) - Event Two (2019) (50th anniversary of Computer Arts Society & Event One) Museum für Naturkunde (Berlin, Germany) - Forschungsfall Nachtigall (2019) Frankfurter Kunstverein (Frankfurt, Germany) - I am here to learn (2018) Nature Morte (Delhi, India) - Gradient Descent (2018) BALTIC Centre for Contemporary Art (Newcastle, UK) - Bloomberg New Contemporaries (2017) == Artworks == === The Zizi Project - a deepfake drag cabaret === The Zizi Project is a series of works that explore the interaction of drag and A.I. Currently, The Zizi Project is made up of multiple artworks. ==== Zizi - Queering the Dataset (2019) ==== Knowing that facial recognition technology statically struggle to recognize black women or transgender people, Elwes set out to "Queer the Dataset" through an open-sourced generative adversarial network (GAN, a type of machine learning model and an early Generative artificial intelligence). Elwes added a dataset of 1,000 photos of drag kings and queens into the GAN's 70,000 faces collected in a standardised facial recognition dataset called Flickr-Faces-HQ Dataset (FFHQ). They then created new simulacra faces, known as deep fakes. "We queer that data so it shifts all of the weights in this neural network from a space of normativity into a space of queerness and otherness. Suddenly all of the faces start to break down and you see mascara dissolve into lipstick and blue eye shadow turn into a pink wig" said Elwes in a 2023 interview for Artnet. ==== Zizi & Me (2020–2023) ==== Zizi & Me is an ongoing multimedia collaboration between drag queen Me The Drag Queen and a deepfake A.I. clone of Me The Drag Queen. Using neural networks trained on filmed footage, the project creates a virtual body that can mimic reference movements. The first act, which features a digital lip-sync duet to Anything You Can Do (I Can Do Better), satirises the idea of A.I. being mistaken for a human, using drag performance and cabaret to critique societal narratives about A.I. and its role in shaping identity. The project is part of The Zizi Project by Jake Elwes, which explores the intersection of drag performance and A.I. ==== The Zizi Show - A Deepfake Drag Cabaret (2020) ==== The Zizi Show is a deep fake drag act based on artificial intelligence (AI). It has been presented live and as interactive online artwork. It is an exploration of queer culture and the algorithms philosophy and ethics of AI. The Zizi Show was exhibited as the inaugural exhibition in the digital gallery at the V&A’s Photography Center from 2023 to 2024. ==== Zizi in Motion: A Deepfake Drag Utopia (Movement by Wet Mess) (2023) ==== "Zizi in Motion" is a multichannel silent video installation featuring AI-generated deepfake performances, which are dynamically re-animated through the movements of London drag artist Wet Mess. The movements of Wet Mess cause the AI-generated visuals to glitch and distort, showcasing the interaction between drag performance and artificial intelligence. The work explore the potential for queer communities to ethically and creatively reclaim and repurpose deepfake technology, using it to celebrate queer bodies and identities. === Art in the Cage of Digital Reproduction (2024) === In an act of protest on 26 November 2024, Elwes facilitated indirect access to an early access token for OpenAI’s Sora text-to-video model through a Hugging Face frontend under the account "PR Puppets". The accompanying statement called to 'denormalize the exploitation of artists by major AI companies for training data, R&D, and publicity'. The incident attracted international press coverage calling into question the role of artists in shaping the future of generative AI versus merely serving as data and credibility providers for tech giants. Elwes also coordinated a collection of mini essays with responses and reflections from the signees and guest writers titled "Art in the Cage of Digital Reproduction". === Installations exploring interpretation and feedback loops between neural networks === Elwes has created works based on the interpretations and misinterpretations between different neural networks and training datasets including: A.I. Interprets A.I. Interpreting ‘Against Interpretation’ (Sontag 1966) from 2023, Closed Loop from 2017, and Auto-Encoded Buddha from 2016. ==== A.I. Interprets A.I. Interpreting ‘Against Interpretation’ (Sontag 1966) (2023) ==== A.I. Interprets A.I. Interpreting ‘Against Interpretation (Sontag 1966) is a three-channel video artwork where an AI interprets Susan Sontag’s essay into images, and then and another AI reinterprets those images back into language. The piece highlights how AI-generated art can misinterpret and introduce bias. ==== Closed Loop (2017) ==== Closed Loop is a two-channel video where two neural networks engage in a continuous feedback loop, one generating images based on the text output and the other creating text based on the image output. The work explores how AI models misinterpret and evolve in a surreal, self-perpetuating conversation, without human input. ==== Auto-Encoded Buddha (2016) ==== Auto-Encoded Buddha is a mixed-media piece where an AI attempts to generate an image of a Buddha statue, trained on 5,000 Buddha images. The AI struggles to accurately represent the Buddha, highlighting the limitations of early generative neural networks. The work is a tribute to Nam June Paik’s TV Buddha (1974). === CUSP (2019) === In their video work CUSP (2019) Elwes places marsh birds generated using artificial intelligence into a tidal landscape. These digitally generated and constantly shifting birds are recorded in dialogue with native

WebGPU Shading Language

WebGPU Shading Language (WGSL, internet media type: text/wgsl) is a high-level shading language and the normative shader language for the WebGPU API on the web. WGSL's syntax is influenced by Rust and is designed with strong static validation, explicit resource binding, and portability in mind for secure execution in browsers. In web contexts, WebGPU implementations accept WGSL source and perform compilation to platform-specific intermediate forms (for example, to SPIR‑V, DXIL, or MSL via the user agent), but such backends are not exposed to web content. == History and background == Graphics on the web historically used WebGL, with shaders written in GLSL ES. As applications demanded more modern GPU features and finer control over compute and graphics pipelines, the W3C's GPU for the Web Community Group and Working Group created WebGPU and its companion shading language, WGSL, to provide a secure, portable model suitable for the web platform. WGSL was developed to be human-readable, avoid undefined behavior common in legacy shading languages, and align closely with WebGPU's resource and validation model. == Design goals == WGSL's design emphasizes: Safety and determinism suitable for web security constraints (extensive static validation and well-defined semantics). Portability across diverse GPU backends via an abstract resource model shared with WebGPU. Readability and explicitness (no preprocessor, minimal implicit conversions, explicit address spaces and bindings). Alignment with modern GPU features (compute, storage buffers, textures, atomics) while retaining a familiar C/Rust-like syntax. == Language overview == === Types and values === Core scalar types include bool, i32, u32, and f32. Vectors (e.g., vec2, vec3, vec4) and matrices (up to 4×4) are available for floating-point element types. Optional f16 (half precision) may be enabled via a WebGPU feature; availability is implementation-dependent. Atomic types (atomic, atomic) support limited atomic operations in qualified address spaces. === Variables and address spaces === Variables are declared with let (immutable), var (mutable), or const (compile-time constant). Storage classes (address spaces) include function, private, workgroup, uniform, and storage with read or read_write access as applicable. WGSL defines explicit layout and alignment rules; attributes such as @align, @size, and @stride control data layout for buffer interoperability. === Functions and control flow === Functions use explicit parameter and return types. Control flow includes if, switch, for, while, and loop constructs, with break/continue. Recursion is disallowed; entry-point call graphs must be acyclic. === Entry points and attributes === Shaders define stage entry points with @vertex, @fragment, or @compute. Attributes annotate bindings and interfaces, including @group, @binding (resource binding), @location (user-defined I/O), @builtin (stage built-ins such as position or global_invocation_id), @interpolate, and @workgroup_size. === Resources === WGSL exposes buffers (uniform, storage), textures (sampled, storage, and multisampled variants), and samplers (filtering/non-filtering/comparison). The binding model is explicit via descriptor sets called groups and bindings, matching WebGPU's pipeline layout model. == Compilation and validation == Browsers compile WGSL to platform-appropriate representations and native driver formats; the specific compilation pipeline is not observable by web content. WGSL source undergoes strict parsing and static validation, and WebGPU enforces robust resource access rules to avoid out-of-bounds memory hazards, contributing to predictable behavior across implementations. == Shader stages == WGSL supports three pipeline stages: vertex, fragment, and compute. === Vertex shaders === Vertex shaders transform per-vertex inputs and produce values for rasterization, including a clip-space position written to the position builtin. ==== Example ==== === Fragment shaders === Fragment shaders run per-fragment and compute color (and optionally depth) outputs written to color attachments. ==== Example ==== If half-precision (vec4h, shorthand for vec4) is desired, the code must be prefaced with a enable f16; statement. === Compute shaders === Compute shaders run in workgroups and are used for general-purpose GPU computations. ==== Example ==== == Differences from GLSL and HLSL == Compared with legacy shading languages, WGSL: Omits a preprocessor and requires explicit types and conversions. Uses explicit address spaces and binding annotations aligned with WebGPU's model. Enforces strict validation to avoid undefined behavior common in other shading languages. Defines a portable, web-focused feature set; 16-bit types and other features are opt-in and may depend on device capabilities.

Flux (text-to-image model)

Flux (also known as FLUX.1 and FLUX.2) is a text-to-image model developed by Black Forest Labs (BFL), based in Freiburg im Breisgau, Germany. Black Forest Labs was founded by former employees of Stability AI. As with other text-to-image models, Flux generates images from natural language descriptions, called prompts. == History == Black Forest Labs (BFL) was founded in 2024 by Robin Rombach, Andreas Blattmann, and Patrick Esser, former employees of Stability AI. All three founders had previously researched the artificial intelligence image generation at LMU Munich as research assistants under Björn Ommer. They published their research results on image generation in 2022, which resulted in creation of Stable Diffusion. Investors in BFL included venture capital firm Andreessen Horowitz, Brendan Iribe, Michael Ovitz, Garry Tan, and Vladlen Koltun. The company received an initial investment of US$31 million. In August 2024, Flux was integrated into the Grok chatbot developed by xAI and made available as part of premium feature on X (formerly Twitter). Grok later switched to its own text-to-image model Aurora in December 2024. On 18 November 2024, Mistral AI announced that its Le Chat chatbot had integrated Flux Pro as its image generation model. On 21 November 2024, BFL announced the release of Flux.1 Tools, a suite of editing tools designed to be used on top of existing Flux models. The tools consisting of Flux.1 Fill for inpainting and outpainting, Flux.1 Depth for control based on extracted depth map of input images and prompts, Flux.1 Canny for control based on extracted canny edges of input images and prompts, and Flux.1 Redux for mixing existing input images and prompts. Each tools are available in both Pro and Dev models. In January 2025, BFL announced a partnership with Nvidia for inclusion of Flux models as foundation models for Nvidia's Blackwell microarchitecture. The company also announced the release of Flux Pro Finetuning API, designed for customisation and fine-tuning of Flux-generated images and a partnership with German media company Hubert Burda Media for usage of Flux Pro as part of content creation. On 29 May 2025, BFL announced Flux.1 Kontext, a suite of models that enable in-context image generation and editing, allowing users to prompt with both text and images. Alongside this, BFL Playground, an interface for testing Flux models was released. On 31 July 2025, BFL announced Flux.1 Krea Dev, a model developed in collaboration with Krea AI that trained to achieve better performance, more varied aesthetics, and better realism compared to existing text-to-image models. In September 2025, Adobe Inc. announced that Photoshop (beta) users can use Flux.1 Kontext Pro as a model for its generative fill tool. BFL collaborated with Meta on Vibes, a video-generation app. On 25 November 2025, BFL announced the release of Flux.2 model series, consisting of Pro, Flex, Dev, and Apache 2.0-licensed Klein (meaning Little or Small in German language) models along with Flux.2 variational autoencoder which also released as open-source software under Apache 2.0 licence. This series claimed improvements for image reference, photorealism, typography, and prompt understanding. == Models == Flux is a series of text-to-image models. The models are based on rectified flow transformer blocks scaled to 12 billion parameters. Flux.1 models were released under different licences with Schnell (meaning Fast or Quick in German language) released as open-source software under Apache License, Dev released as source-available software under a non-commercial licence (users can obtain a self-serving commercial licence for Dev from BFL), and Pro released as proprietary software and only available as API that can be licensed by third-party users. Users retained the ownership of resulting output regardless of models used. An improved flagship model, Flux 1.1 Pro was released on 2 October 2024. Two additional modes were added on 6 November, Ultra which can generate image at four times higher resolution and up to 4 megapixel without affecting generation speed and Raw which can generate hyper-realistic image in the style of candid photography. Flux.1 Kontext is a series with in-context image generation and editing capabilities. It is available in Max, Pro, and Dev models. Max is the highest quality model and can be used to iteratively modify an existing image by using prompt while Pro is optimized to balance quality and speed of generation. Dev is an open-weight model released under non-commercial license, same as Flux.1 Dev. Flux.2 models are based on latent flow matching architecture with Mistral AI's Mistral-3 model (24 billion parameters) for its vision-language model. As with Flux.1, Flux.2 models were also released under different licences with Klein released as open-source software under Apache License, Dev released as source-available software under a non-commercial licence (users can obtain a self-serving commercial licence from BFL), and both Flex and Pro released as proprietary software and only available as API. The models can be used either online or locally by using generative AI user interfaces such as ComfyUI, Recraft Studio and Stable Diffusion WebUI Forge (a fork of Automatic1111 WebUI). Related to Flux is a text-to-video model by Black Forest Labs, under development as of February 2026. == Reception == According to a test performed by Ars Technica, the outputs generated by Flux.1 Dev and Flux.1 Pro are comparable with DALL-E 3 in terms of prompt fidelity, with the photorealism closely matched Midjourney 6 and generated human hands with more consistency over previous models such as Stable Diffusion XL. Flux has been criticised for its very realistic generated images. According to media reports, depictions ranged from an image of Donald Trump posing with guns to disturbing scenes, which triggered discussions about ethical implications of Flux models. After the release of the model, social media platform X was flooded with Flux-generated images. Black Forest Labs has not provided exact details of the data used to train the model. Ars Technica suspected that Flux is based on a large, unauthorised collection of images scraped from the internet, a controversial practice with potential legal consequences. According to a test performed by Japanese technology news website Gigazine for Flux.1 Kontext, the model series has a good understanding of the English language and can easily transfer style of the image from photorealistic into anime-style according to prompts given by the user; however, its ability to understand Japanese is quite poor. == Availability == In addition to the official BFL Playground on its website, the Flux models are also widely available through various third-party platforms for creative and professional use. These include repositories on platforms like Hugging Face and Replicate. == Further readings == FLUX.1 Kontext: Flow Matching for In-Context Image Generation and Editing in Latent Space (29 May 2025) FLUX.2: Analyzing and Enhancing the Latent Space of FLUX – Representation Comparison (25 November 2025)