Skip to main content
Drupal is a registered trademark of Dries Buytaert
Release: OpenID Connect / OAuth client 3.0.0-alpha9 New alpha version released for module openid_connect (3.0.0-alpha9). Usage Milestone: Google Analytics Module google_analytics crossed 1,000 active installs. Release: Timelinr 1.0.1 Minor update available for module timelinr (1.0.1). Release: GraphQL Compose Codegen 1.1.2 Minor update available for module graphql_compose_codegen (1.1.2). Release: Mapy.com 1.1.3 Minor update available for module mapycom (1.1.3). Release: Ckeditor5 entity browser 3.0.3 Minor update available for module ckeditor5_entity_browser (3.0.3). Release: Ckeditor5 entity browser 3.0.1 Minor update available for module ckeditor5_entity_browser (3.0.1). Release: Ckeditor5 entity browser 3.0.2 Minor update available for module ckeditor5_entity_browser (3.0.2). Release: Teamleader Integration 4.0.2 Minor update available for module teamleader (4.0.2). Module Revived: Entityqueue Buttons 1.1.2 Module entityqueue_buttons updated after 8 months of inactivity (1.1.2).

AI Bulk Domain Content

No security coverage Drupal 10–11
View on drupal.org

This module allows site builders to generate multiple draft articles at once using OpenAI, based on defined categories and writing tones. The generated content is unpublished by default, requiring editors to review and approve it before publishing.

Bulk Domain Content helps site builders create many draft articles at once using OpenAI. You define content categories (for example Healthcare, Technology), choose a node type and tone, and the module generates unpublished nodes so editors can review accuracy, tone, and originality before publishing.

This module does not replace editorial judgment. It speeds up drafting for demos, content seeding, and internal sites where human review is part of the workflow.

Features

Basic functionality

  • Bulk-generate 1–50 nodes per run via the Drupal Batch API.
  • Generate article title and body content.
  • Optional featured image and taxonomy tags when those fields exist on the content type.
  • Configurable categories using machine_name|Label format.
  • Writing tones: professional, casual, informative, persuasive.
  • All generated nodes are saved as unpublished by default.
  • Optional AI population for supported additional field types such as lists, booleans, links, references, and more.

Unique value

  • Category-driven prompts instead of fixed verticals.
  • OpenAI-first design with recommended integration via AI, OpenAI Provider, and Key modules.
  • API keys are not stored in this module’s configuration.
  • Secure batch handling using private tempstore during batch execution.
  • Optional Ollama text fallback for local development only.

When to use this module

  • Seed a new site with realistic draft content for QA or demos.
  • Create starter articles before editorial refinement.
  • Prototype content types with body, image, and taxonomy fields.

When not to use it

  • Fully automated publishing without human review.
  • Production sites restricted from using OpenAI or equivalent AI providers.
  • Replacing professional copywriting or compliance review.

Post-Installation

1. Enable the module

drush en bulk_domain_content -y
drush cr

2. Grant permission

Grant the Administer bulk domain content permission only to trusted administrator roles.

3. Configure categories

Navigate to:

Configuration → AI → AI bulk domain content → Categories

If the AI module is not installed:

Configuration → Content

Add categories one per line:

healthcare|Healthcare
technology|Technology

Keep Enable Ollama text fallback disabled on production environments.

4. Configure OpenAI (recommended)

Install and enable:

  • AI
  • OpenAI Provider
  • Key

Configure the OpenAI API key at:

Configuration → AI → Providers → OpenAI

Without these modules, users may still provide a one-time API key directly in the generator form.

5. Generate content

Navigate to:

Configuration → AI → AI bulk domain content → Generate
  • Select content type.
  • Select number of nodes (1–50).
  • Select category and writing tone.
  • Run the batch generation process.

Generated content remains unpublished until reviewed and manually published.

Special considerations

  • The content type must contain at least one supported text field.
  • Optional image and taxonomy fields are populated when available.
  • OpenAI API usage may incur costs.
  • Clear caches after upgrades using drush cr.

Additional Requirements

Drupal core

  • Drupal 10 or Drupal 11
  • PHP 8.1+
  • Recommended PHP extensions: json, mbstring

Required Drupal modules

  • Node
  • User
  • File
  • Field
  • Taxonomy

External services

  • OpenAI API access for GPT-4o and DALL·E 3.
  • Valid OpenAI API key.

Optional (local development only)

Ollama installed and accessible from PHP if local text fallback is enabled.

Recommended modules/libraries

Module Purpose AI Site-wide AI configuration UI OpenAI Provider OpenAI API integration Key Secure API key storage

These modules are recommended but not mandatory.

Supporting this Module

  • Report bugs and feature requests in the issue queue.
  • Contribute patches using the Drupal contribution workflow.

Community Documentation

  • README.md included with the project.
  • Supports DrupalPod, DDEV, and Docker workflows.

Security and editorial responsibility

  • AI-generated content should always be reviewed before publishing.
  • Generated text or images may contain inaccuracies.
  • Restrict module administration permissions to trusted users only.
  • Keep Ollama fallback disabled on production systems unless explicitly required.

Depends on

Dependencies of the latest stable release

  • field Drupal core
  • file Drupal core
  • node Drupal core
  • taxonomy Drupal core
  • user Drupal core

Required by

Tracked projects that depend on this one

No tracked projects depend on this one yet.

Activity

Tracked releases
1
Tracked since
Jun 2026
Latest release
2 months ago
Releases (12 mo)
1 ▲ from 0
Maintenance
Active

Releases

Version Type Core Release date
1.0.0 Stable 10–11 Jun 1, 2026