Add DALL-E 3 to Website — 10 Min
Integrate DALL-E 3 into any website in 10 minutes. Simple JavaScript code included. Free API key to start.
How to Add DALL-E 3 to Your Website in 10 Minutes
Add AI image generation to any website quickly. No complex setup required.
What You'll Need
- Website (HTML/CSS/JavaScript)
- Imagify API key (get one free)
- 10 minutes
Step 1: Get Your API Key
1. Sign up at Imagify
2. Get 10 free credits
3. Copy your API key from dashboard
Step 2: Add HTML Form
Add this to your HTML:
<!DOCTYPE html>
<html>
<head>
<title>AI Image Generator</title>
<style>
body {
font-family: Arial, sans-serif;
max-width: 800px;
margin: 50px auto;
padding: 20px;
}
#imageContainer {
margin-top: 20px;
}
#generatedImage {
max-width: 100%;
border-radius: 8px;
}
button {
background: #007bff;
color: white;
border: none;
padding: 10px 20px;
border-radius: 4px;
cursor: pointer;
}
button:hover {
background: #0056b3;
}
button:disabled {
opacity: 0.5;
cursor: not-allowed;
}
</style>
</head>
<body>
<h1>AI Image Generator</h1>
<form id="imageForm">
<textarea
id="prompt"
placeholder="Describe the image you want to generate..."
rows="3"
style="width: 100%; padding: 10px; margin-bottom: 10px;"
required
></textarea>
<button type="submit" id="generateBtn">Generate Image</button>
</form>
<div id="imageContainer"></div>
<script>
// Your code here
</script>
</body>
</html>
Step 3: Add JavaScript
Add this script before </body>:
<script>
const API_KEY = 'YOUR_API_KEY_HERE'; // Replace with your key
document.getElementById('imageForm').addEventListener('submit', async (e) => {
e.preventDefault();
const prompt = document.getElementById('prompt').value;
const button = document.getElementById('generateBtn');
const container = document.getElementById('imageContainer');
if (!prompt.trim()) {
alert('Please enter a prompt');
return;
}
button.disabled = true;
button.textContent = 'Generating...';
container.innerHTML = '<p>Generating your image...</p>';
try {
const response = await fetch('https://api.imagify.ca/api/images/generate', {
method: 'POST',
headers: {
'X-API-Key': API_KEY,
'Content-Type': 'application/json'
},
body: JSON.stringify({
prompt: prompt,
size: '1024x1024',
style: 'standard'
})
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error || 'Failed to generate image');
}
const data = await response.json();
container.innerHTML = `
<img id="generatedImage" src="${data.url}" alt="${prompt}">
<p><a href="${data.url}" download>Download Image</a></p>
`;
} catch (error) {
container.innerHTML = `<p style="color: red;">Error: ${error.message}</p>`;
} finally {
button.disabled = false;
button.textContent = 'Generate Image';
}
});
</script>
Step 4: Test It
1. Open your HTML file in a browser
2. Enter a prompt like "A futuristic city at sunset"
3. Click "Generate Image"
4. Wait a few seconds
5. See your generated image!
Advanced: Add Options
Add size and style options:
<select id="size" style="padding: 10px; margin-bottom: 10px;">
<option value="1024x1024">Square</option>
<option value="1792x1024">Landscape</option>
<option value="1024x1792">Portrait</option>
</select>
<select id="style" style="padding: 10px; margin-bottom: 10px;">
<option value="standard">Standard</option>
<option value="vivid">Vivid</option>
</select>
Update JavaScript:
const size = document.getElementById('size').value;
const style = document.getElementById('style').value;
body: JSON.stringify({
prompt: prompt,
size: size,
style: style
})
Advanced: Multiple Images
Generate multiple images:
const generateMultiple = async (prompts) => {
const images = await Promise.all(
prompts.map(prompt =>
fetch('https://api.imagify.ca/api/images/generate', {
method: 'POST',
headers: {
'X-API-Key': API_KEY,
'Content-Type': 'application/json'
},
body: JSON.stringify({ prompt, size: '1024x1024', style: 'standard' })
}).then(r => r.json())
)
);
return images;
};
Security Note
Important: Don't expose your API key in client-side code for production. Use a backend proxy instead:
Backend Proxy (Node.js/Express)
// server.js
const express = require('express');
const axios = require('axios');
const app = express();
app.use(express.json());
app.use(express.static('public'));
app.post('/api/generate', async (req, res) => {
try {
const response = await axios.post(
'https://api.imagify.ca/api/images/generate',
req.body,
{
headers: {
'X-API-Key': process.env.IMAGIFY_API_KEY,
'Content-Type': 'application/json'
}
}
);
res.json(response.data);
} catch (error) {
res.status(500).json({ error: error.message });
}
});
app.listen(3000);
Then call your proxy instead:
const response = await fetch('/api/generate', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ prompt, size, style })
});
Integration Examples
WordPress
Add to a page template or use a plugin:
<?php
// In your theme's functions.php or plugin
function imagify_generator_shortcode() {
return '<div id="imagify-generator"><!-- HTML from Step 2 --></div>';
}
add_shortcode('imagify_generator', 'imagify_generator_shortcode');
?>
React Component
function ImageGenerator() {
const [prompt, setPrompt] = useState('');
const [image, setImage] = useState(null);
const [loading, setLoading] = useState(false);
const handleGenerate = async () => {
setLoading(true);
const response = await fetch('https://api.imagify.ca/api/images/generate', {
method: 'POST',
headers: {
'X-API-Key': 'YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({ prompt, size: '1024x1024', style: 'standard' })
});
const data = await response.json();
setImage(data.url);
setLoading(false);
};
return (
<div>
<textarea value={prompt} onChange={(e) => setPrompt(e.target.value)} />
<button onClick={handleGenerate} disabled={loading}>
{loading ? 'Generating...' : 'Generate'}
</button>
{image && <img src={image} alt={prompt} />}
</div>
);
}
Troubleshooting
CORS Errors
Use a backend proxy (see Security Note above)
API Key Errors
- Verify key is correct
- Check key has credits
- Ensure key is active
Image Not Loading
- Check image URL is valid
- Verify CORS settings
- Check browser console for errors
Conclusion
You can add DALL-E 3 to any website in 10 minutes! For production, use a backend proxy to keep your API key secure.
Get your free API key from Imagify and start generating images on your website today!
Ready to Start Generating Images?
Get started with free credits and begin creating amazing AI-generated images today.
Get Started Free