AI-powered image iteration tool for Contentful
Generate image variations using AI directly within your Contentful workflow
Imagiterate is a Contentful app that enables content creators to generate AI-powered image variations directly within the Contentful editor. Using Replicate's AI models, users can iterate on images by simply describing the changes they want, making it easy to create multiple versions of assets without leaving Contentful.
- β¨ AI-Powered Generation - Create image variations using natural language prompts
- π― Integrated Workflow - Works seamlessly within Contentful's field editor
- πΈ Asset Management - Automatically saves generated images as Contentful assets
- π Iterative Process - Build on previous iterations to refine your images
- β‘ Fast & Easy - Simple interface, no external tools needed
- π Secure - API keys stored securely as instance parameters
See Imagiterate in action:
The Imagiterate field editor integrated into Contentful, showing a selected image with options to iterate or remove.
The AI-powered dialog where users can describe desired changes and generate image variations in real-time.
Preview of the AI-generated image variation based on the user's prompt.
The generated image is automatically saved as a new Contentful asset and appears in the field.
- A Contentful account with an organization
- A Contentful Personal Access Token (Management API token)
- Get one from: https://app.contentful.com/account/profile/cma_tokens
- A Replicate API key
- Get one from: https://replicate.com/account/api-tokens
- Node.js 16+ and npm
-
Clone the repository
git clone https://github.com/yourusername/imagiterate-contentful.git cd imagiterate-contentful -
Install dependencies
npm install
-
Create App Definition in Contentful
npm run create-app-definition
Save the App Definition ID that's returned.
-
Add App Locations
npm run add-locations
Select Media reference field type.
-
Build and Upload
npm run build npm run upload
Enter your App Definition ID when prompted.
-
Install in Your Space
- Go to your Contentful space
- Navigate to Apps β Find "Imagiterate"
- Click Install β Select your space and environment
- After installing the app, go to Apps β Imagiterate β Configuration
- Add the Replicate API Key:
- Parameter key:
replicateApiKey - Parameter value: Your Replicate API key from https://replicate.com/account/api-tokens
- Parameter key:
- Save the configuration
- Go to Content Model β Your content type
- Add or edit a field of type Media (Asset)
- In field settings β Appearance
- Under Editor interface, select Imagiterate
- Save the content type
-
Select or Upload an Image
- In an entry, use the Imagiterate field
- Click "Choose asset" to select from your media library
- Or click "Upload asset" to upload a new image
-
Generate Variations
- Click the "Iterate" button
- Enter a prompt describing the changes you want (e.g., "make it more vibrant", "add a sunset background")
- Click "Generate" and wait for the AI to create the variation
- Preview the result in the dialog
-
Save or Continue Iterating
- Click "Save" to save the generated image as a new asset
- Or generate another variation by entering a new prompt
-
Remove Asset
- Click "Remove" to clear the selected asset
- "Make the colors more vibrant and saturated"
- "Add a sunset sky in the background"
- "Convert to black and white with high contrast"
- "Add a vintage film grain effect"
- "Make it look like a watercolor painting"
# Start development server
npm start
# The app will run on http://localhost:3000
# Note: To test properly, configure the app in Contentful first# Build the app
npm run build
# Upload to Contentful
npm run uploadnpm start- Start development server (localhost:3000)npm run build- Build for productionnpm run create-app-definition- Create app definition in Contentfulnpm run add-locations- Configure app locationsnpm run upload- Upload built app to Contentfulnpm run upload-ci- Upload using environment variables (for CI/CD)
Set these environment variables:
CONTENTFUL_ORG_ID=your_org_id
CONTENTFUL_APP_DEF_ID=your_app_def_id
CONTENTFUL_ACCESS_TOKEN=your_access_tokenThen run:
npm run build
npm run upload-ci- Ensure the app is installed in your space
- Verify the bundle is active in App Definition β Bundles
- Check that "Hosted by Contentful" is enabled (not pointing to localhost)
- Make sure you've uploaded the latest bundle:
npm run build && npm run upload - Verify the app is installed in your space
- Check browser console for specific errors
- Verify your Replicate API key is configured correctly
- Check that you have credits/quota available on Replicate
- Ensure an asset is selected before clicking "Iterate"
- Check browser console for API errors
- Verify the app is added to the field's appearance settings
- Make sure the field type is Media (Asset)
- Check that the app is installed in your space
- Contentful: Organization account with app installation permissions
- Replicate: API key and account with available credits
- Node.js: 16+ for development
- Browser: Modern browser with JavaScript enabled
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Built with Contentful App Framework
- Powered by Replicate AI models
- UI components from Forma 36
Solspace
- GitHub: @solspace
- Email: kelsey@solspace.com



