Automation Integration Guide
Generate images and videos at scale with the Ddukddak API.
Connect with Zapier, Make, n8n, and thousands of apps in minutes.
Simple HTTP requests — no SDK or coding experience required.
Quick Start
Get your API key
Create a key in Dashboard > Settings > API Keys. Keys start with dd_live_ and are shown only once.
Choose an endpoint
Use /images or /videos for templates, /ai/images or /ai/videos for AI generation.
Make a request
Send a POST with your template + properties, or a prompt + model for AI endpoints.
Handle the response
Template images return synchronously. AI images, videos, and AI videos are async — use webhooks or poll for status.
Endpoints
| Method | Path | Description | Plan |
|---|---|---|---|
| GET | /auth | Verify API key | All |
| POST | /images | Template image generation | All |
| POST | /videos | Template video generation | Automate+ |
| POST | /ai/images | AI image generation (async) | Scale+ |
| GET | /ai/images/:uid | Poll AI image status | Scale+ |
| POST | /ai/videos | AI video generation (async) | Scale+ |
| GET | /ai/videos/:uid | Poll AI video status | Scale+ |
1. Authentication
All requests require an API key passed via the Authorization header. Create your key in Dashboard > Settings > API Keys.
Keys start with dd_live_ and are displayed only once at creation. Store securely.
# Verify your API key
curl https://api.ddukddak.studio/v1/auth \
-H "Authorization: Bearer dd_live_YOUR_API_KEY"
# Response 200 OK:
# { "authenticated": true, "user_id": "..." }2. Template Image Generation
Generate images by specifying a template slug (or UUID) and the layer properties to inject. The response includes the generated image_url directly.
Properties can include text, image_url, fillColor, color, and more.
curl -X POST https://api.ddukddak.studio/v1/images \
-H "Authorization: Bearer dd_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"template": "summer-sale-banner",
"properties": [
{ "name": "title", "text": "Summer Sale" },
{ "name": "subtitle", "text": "50% OFF" },
{ "name": "background", "fillColor": "#FF6B35" }
]
}'
# Response 201:
# { "uid": "img_abc123", "status": "completed",
# "image_url": "https://storage.ddukddak.studio/..." }3. AI Image Generation
Generate images from a text prompt using AI models. Specify the model, aspect_ratio, and image_size.
Requires the Scale plan or higher.
curl -X POST https://api.ddukddak.studio/v1/ai/images \
-H "Authorization: Bearer dd_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "Professional blog thumbnail with subtle gradient background",
"model": "gemini-2.5-flash-image",
"aspect_ratio": "16:9",
"image_size": "1024x1024"
}'
# Response 202 Accepted:
# { "uid": "img_xyz789", "status": "pending", "image_url": null }
# Poll for completion:
# curl https://api.ddukddak.studio/v1/ai/images/img_xyz789 \
# -H "Authorization: Bearer dd_live_YOUR_API_KEY"
# { "uid": "img_xyz789", "status": "completed",
# "image_url": "https://storage.ddukddak.studio/..." }4. AI Video Generation
AI videos take 3–5 minutes to generate and are processed asynchronously. The request returns immediately with status: "pending".
Use a webhook_url to receive a callback when done, or poll GET /ai/videos/:uid until completed. Requires Scale plan or higher.
# AI video generation is asynchronous (3-5 min)
curl -X POST https://api.ddukddak.studio/v1/ai/videos \
-H "Authorization: Bearer dd_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "Product showcase video for new sneakers",
"model": "veo-3.1-fast",
"aspect_ratio": "16:9",
"resolution": "1080p",
"duration": "8",
"webhook_url": "https://your-server.com/webhook"
}'
# Response 202 Accepted:
# { "uid": "vid_abc123", "status": "pending", "video_url": null }5. Polling for Video Status
If you don't use webhooks, poll GET /ai/videos/:uid every 30 seconds until status becomes "completed".
Maximum wait time is approximately 5 minutes.
# Poll for video status until completed (max ~5 min)
curl https://api.ddukddak.studio/v1/ai/videos/vid_abc123 \
-H "Authorization: Bearer dd_live_YOUR_API_KEY"
# Response (pending):
# { "uid": "vid_abc123", "status": "pending", "video_url": null }
# Response (completed):
# { "uid": "vid_abc123", "status": "completed",
# "video_url": "https://storage.ddukddak.studio/..." }6. Webhook Payloads
All endpoints support webhook_url. When generation completes, Ddukddak sends a POST to your URL with the result payload.
Retry policy: 3 retries with exponential backoff (1s, 3s, 9s).
// POST to your webhook_url when image is ready
{
"uid": "img_abc123",
"status": "completed",
"image_url": "https://storage.ddukddak.studio/...",
"image_url_png": "https://storage.ddukddak.studio/...",
"template": "template-uuid",
"template_name": "Summer Sale Banner"
}Plan Limits
| Feature | Free Trial | Automate ($49) | Scale ($149) | Enterprise ($299) |
|---|---|---|---|---|
| Template image generation | 30 credits | 1,000 credits | 10,000 credits | 50,000 credits |
| Template video generation | — | ✓ | ✓ | ✓ |
| AI image generation | — | — | ✓ | ✓ |
| AI video generation | — | — | ✓ | ✓ |
| Rate limit | 30 req/10s | 30 req/10s | 30 req/10s | 30 req/10s |
Error Codes
| Code | Reason |
|---|---|
| 401 | API key missing or invalid |
| 402 | Credits exhausted — upgrade plan or wait for next billing cycle |
| 403 | Feature not available on current plan (e.g. AI requires Scale+) |
| 404 | Template slug or UUID not found |
| 429 | Rate limit exceeded — retry after 10 seconds |
Ready to integrate?
Start generating images and videos at scale with the Ddukddak API.