How to Generate Content with AI Using ElmapiCMS Import/Export Feature

Learn how to use ChatGPT and other AI assistants to generate bulk content for your ElmapiCMS collections, then import it seamlessly using the built-in import/export feature.

R
Raşit Apalak
·
·
11 min read

Creating content for your CMS can be time-consuming, especially when you need to populate multiple entries or generate large amounts of data. ElmapiCMS makes this process effortless with its built-in import/export feature, and when combined with AI assistants like ChatGPT, Claude, or Google Gemini, you can generate professional, structured content in minutes.

This guide will show you how to leverage AI to create content in bulk, export it in the correct format, and import it directly into your ElmapiCMS collections.


Table of Contents


Why Use AI for Content Generation?

AI assistants excel at:

  • Bulk Content Creation - Generate dozens or hundreds of content entries instantly
  • Consistent Formatting - Maintain uniform structure and style across entries
  • Variety and Diversity - Create varied content that feels natural and engaging
  • Time Savings - Reduce manual content entry from hours to minutes
  • SEO Optimization - Generate SEO-friendly titles, descriptions, and meta content

When combined with ElmapiCMS's import/export feature, you can populate entire collections with high-quality content in a fraction of the time it would take manually.


Understanding ElmapiCMS Import/Export

ElmapiCMS supports importing and exporting content in three formats:

  • JSON - Structured data format, perfect for programmatic generation
  • CSV - Spreadsheet-friendly format, great for bulk editing
  • Excel (.xlsx) - Professional spreadsheet format with better formatting support

The import feature automatically:

  • Creates new content entries from your imported data
  • Maps fields correctly based on column/field names
  • Handles relationships and complex field types
  • Validates data before importing

Step 1: Export Your Collection Structure

Before generating content with AI, you need to understand your collection's structure. The easiest way is to export an existing entry (or create a sample one) to see the exact format.

Exporting from ElmapiCMS

  1. Navigate to your collection in the ElmapiCMS admin panel

  2. Click the Export button (download icon) in the toolbar next to the column settings

  3. Choose your preferred format:

    • JSON - Best for AI generation (recommended)
    • CSV - Good for spreadsheet editing
    • Excel - Professional formatting
  4. Download the file and open it to see the structure

Understanding the Export Format

The exported file will contain:

  • System fields: id, uuid, locale, status, created_at, updated_at
  • Your custom fields: All fields defined in your collection
  • Field values: Current content from your entries

Example JSON Export Structure:

[
  {
    "id": 1,
    "uuid": "550e8400-e29b-41d4-a716-446655440000",
    "locale": "en",
    "status": "published",
    "created_at": "2025-11-19 10:00:00",
    "updated_at": "2025-11-19 10:00:00",
    "title": "Sample Blog Post",
    "slug": "sample-blog-post",
    "content": "<p>This is the content...</p>",
    "excerpt": "A brief description",
    "publish_date": "2025-11-19 00:00:00",
    "category": "Technology"
  }
]

Step 2: Prepare Your AI Prompt

Now that you understand the structure, you can create a detailed prompt for your AI assistant. The key is to be specific about:

  1. The format (JSON, CSV, or Excel)
  2. The number of entries you want
  3. The field structure from your export
  4. Content requirements (topics, style, tone)

Example Prompt for Blog Posts

Copy this prompt template and customize it for your needs:

"I need to generate content for my ElmapiCMS blog collection. Here's the structure from an exported JSON file:

{
  "id": 1,
  "uuid": "550e8400-e29b-41d4-a716-446655440000",
  "locale": "en",
  "status": "published",
  "title": "Sample Post",
  "slug": "sample-post",
  "content": "<p>HTML content here</p>",
  "excerpt": "Brief description",
  "publish_date": "2025-11-19 00:00:00",
  "category": "Technology"
}

Generate 10 blog post entries in the same JSON array format. Requirements:

  • Topics should be about web development, modern frameworks, and best practices
  • Each post should have a unique, SEO-friendly title
  • Content should be 3-4 paragraphs of HTML-formatted text
  • Excerpts should be 1-2 sentences summarizing the post
  • Slugs should be URL-friendly versions of titles
  • Publish dates should be spread over the last 2 months
  • Categories should vary: Technology, Development, Design, Business
  • Omit the id, uuid, created_at, and updated_at fields (they'll be auto-generated)
  • Set status to "published" for all entries
  • Return only valid JSON in an array format"

Example Prompt for Product Catalog

"Generate 20 product entries for my e-commerce collection. Structure:

{
  "name": "Product Name",
  "slug": "product-name",
  "description": "Detailed description",
  "price": 99.99,
  "sku": "PROD-001",
  "in_stock": true,
  "category": "Electronics"
}

Requirements:

  • Products should be tech gadgets and accessories
  • Prices between $10 and $500
  • Unique SKUs (PROD-001, PROD-002, etc.)
  • Mix of in_stock true/false values
  • Varied categories: Electronics, Accessories, Software, Hardware
  • Descriptions should be 2-3 sentences highlighting features
  • Return as JSON array"

Step 3: Generate Content with AI

Using ChatGPT

  1. Open ChatGPT (or your preferred AI assistant)
  2. Paste your prepared prompt
  3. Review the generated content
  4. Ask for refinements if needed:
    • "Make the titles more SEO-friendly"
    • "Add more variety to the content topics"
    • "Increase the content length to 5 paragraphs"

Using Claude

Claude excels at structured data generation. Use the same prompt format, and Claude will generate well-formatted JSON that's ready to import.

Using Google Gemini

Gemini can also generate structured content. Make sure to specify JSON format explicitly in your prompt.

Tips for Better AI Output

  • Be Specific: Include exact field names and types from your export
  • Show Examples: Provide 1-2 example entries so AI understands the format
  • Specify Quantity: Clearly state how many entries you want
  • Request Format: Explicitly ask for JSON array format
  • Iterate: Generate a small batch first, review, then ask for more

Step 4: Format and Validate the Content

Before importing, ensure your content is properly formatted:

For JSON Format

  1. Validate JSON Syntax: Use a JSON validator (like jsonlint.com) to check syntax
  2. Check Field Names: Ensure all field names match your collection exactly
  3. Verify Data Types:
    • Numbers should be numbers (not strings)
    • Booleans should be true/false (not strings)
    • Dates should be in format: "YYYY-MM-DD HH:mm:ss" or "YYYY-MM-DD"
  4. Handle Special Characters: Ensure HTML content is properly escaped

Example Valid JSON:

[
  {
    "locale": "en",
    "status": "published",
    "title": "Getting Started with Next.js 14",
    "slug": "getting-started-with-nextjs-14",
    "content": "<p>Next.js 14 introduces exciting new features...</p><h2>Key Features</h2><p>Server components, improved performance...</p>",
    "excerpt": "Learn the fundamentals of Next.js 14 and build modern web applications.",
    "publish_date": "2025-11-15 00:00:00",
    "category": "Technology"
  }
]

For CSV Format

  1. First Row: Must contain headers matching your field names
  2. Quoted Fields: Multi-line content (like HTML) should be properly quoted
  3. Empty Fields: Use empty strings or leave blank for optional fields
  4. Date Format: Use YYYY-MM-DD HH:mm:ss or YYYY-MM-DD

Example CSV Structure:

locale,status,title,slug,content,excerpt,publish_date,category
en,published,"Getting Started with Next.js 14",getting-started-with-nextjs-14,"<p>Content here...</p>","Brief excerpt","2025-11-15 00:00:00",Technology

Common Formatting Issues

Problem: AI generates invalid JSON Solution: Ask AI to "return only valid JSON, no markdown formatting, no code blocks"

Problem: Field names don't match Solution: Copy exact field names from your export file

Problem: Dates in wrong format Solution: Specify date format in your prompt: "Use format YYYY-MM-DD HH:mm:ss"


Step 5: Import Content into ElmapiCMS

Once your content is formatted correctly, importing is straightforward:

Import Process

  1. Navigate to Your Collection: Go to the content list page for your collection
  2. Click Import Button: Click the upload icon button next to the export button
  3. Select File: Choose your generated JSON, CSV, or Excel file
  4. Review Import: ElmapiCMS will process and import your entries
  5. Verify Results: Check the success message showing how many entries were imported

Import Dialog

The import dialog shows:

  • File selection (supports .json, .csv, .xlsx, .xls)
  • File format requirements
  • Import button to start the process

After Import

  • All imported entries appear in your collection
  • Entries are created with status "published" (or as specified in your file)
  • You can edit, delete, or modify entries as needed
  • Related entries (via relation fields) are properly linked

Advanced Techniques

Generating Related Content

If your collection has relation fields, you can generate related content in separate batches:

Step 1: Generate categories first

[
  {"name": "Technology", "slug": "technology"},
  {"name": "Design", "slug": "design"}
]

Step 2: Import categories and note their IDs

Step 3: Generate main content referencing category IDs:

[
  {
    "title": "Post Title",
    "category": 1  // Reference to Technology category
  }
]

Handling Media Fields

Media fields require uploaded assets. Options:

  1. Generate Placeholder URLs: Ask AI to include placeholder image URLs
  2. Upload Separately: Upload images first, then reference them in your import
  3. Use Existing Media: Reference media that's already in your asset library

Multi-Language Content

For multilingual collections:

  1. Export content in one language
  2. Generate translations using AI
  3. Import each language separately with correct locale values

Example:

[
  {
    "locale": "en",
    "title": "Getting Started",
    "content": "<p>English content...</p>"
  },
  {
    "locale": "es",
    "title": "Empezando",
    "content": "<p>Contenido en español...</p>"
  }
]

Best Practices

1. Start Small

Generate 5-10 entries first to test the format and quality before creating hundreds.

2. Review AI Output

Always review generated content for:

  • Accuracy and relevance
  • Proper formatting
  • SEO optimization
  • Brand voice consistency

3. Use Consistent Prompts

Save your successful prompts for future use. You can reuse them to generate more content later.

4. Combine AI with Manual Editing

Use AI for bulk generation, then manually refine important entries for better quality.

5. Validate Before Import

Always validate JSON/CSV syntax before importing to avoid errors.

6. Backup First

Export your existing content before importing new data, in case you need to revert.


Troubleshooting

Import Fails with "Invalid Format" Error

Solution:

  • Validate JSON syntax using jsonlint.com
  • Check that field names match exactly (case-sensitive)
  • Ensure dates are in correct format

Some Fields Not Importing

Solution:

  • Verify field names match your collection
  • Check that field types match (e.g., number fields need numbers, not strings)
  • Ensure required fields have values

Empty Entries Created

Solution:

  • CSV/Excel files with multi-line content need proper quoting
  • Check that your file has actual data rows (not just headers)
  • Verify content isn't being treated as empty strings

Relation Fields Not Working

Solution:

  • Ensure related entries exist before importing
  • Use correct IDs or UUIDs for relations
  • Check relation field configuration in your collection

Real-World Example: Populating a Blog

Let's walk through a complete example of generating blog content:

1. Export Current Structure

Export one blog post to see the structure:

{
  "title": "Sample Post",
  "slug": "sample-post",
  "content": "<p>Content...</p>",
  "excerpt": "Excerpt...",
  "publish_date": "2025-11-19 00:00:00",
  "category": "Technology"
}

2. Create AI Prompt

"Generate 15 blog posts about web development in this exact JSON format: [paste structure]. Topics: React, Next.js, TypeScript, CSS, performance optimization. Each post should have unique, SEO-friendly titles and 4-5 paragraphs of HTML content."

3. Generate and Review

AI generates 15 posts. Review for quality and formatting.

4. Import

Import the JSON file into ElmapiCMS. All 15 posts are created instantly.

5. Refine

Manually edit important posts, add featured images, and optimize for SEO.

Time Saved: What would take 2-3 hours of manual entry is done in 10 minutes!


Conclusion

The combination of AI content generation and ElmapiCMS's import/export feature is a powerful workflow that can save you hours of manual work. By:

  1. Exporting your collection structure
  2. Creating detailed AI prompts
  3. Generating content in the correct format
  4. Importing seamlessly into ElmapiCMS

You can populate entire collections with high-quality, structured content in minutes instead of hours.

The key is understanding your collection structure, creating clear prompts for AI, and ensuring proper formatting before import. Once you've mastered this workflow, you can scale content creation effortlessly.


Next Steps

  • Try generating content for one of your collections
  • Experiment with different AI assistants to find your preferred tool
  • Create reusable prompt templates for common content types
  • Explore advanced features like generating related content and multi-language entries

Ready to supercharge your content creation? Export a collection, craft your AI prompt, and watch your CMS populate with professional content in minutes!

Happy content generating!

Share this post:

Ready to build your content API?

Try ElmapiCMS free with our live demo, or get the full source code for $149.

Comparing options first? Read our best headless CMS comparison.

Related Posts