packages/cloud-frontend/content/gallery.mdx
import { Callout, Cards } from "@/docs/components";
Store, organize, and share your AI-generated content.
<div className="status-badge status-stable">Stable</div>The Gallery provides:
Access your gallery at Dashboard → Gallery.
curl -X GET "https://elizacloud.ai/api/v1/gallery?type=image&limit=20" \
-H "Authorization: Bearer YOUR_API_KEY"
{
"items": [
{
"id": "gal_abc123",
"type": "image",
"url": "https://your-storage.vercel-storage.com/images/abc123.png",
"prompt": "A sunset over mountains",
"model": "google/gemini-2.5-flash-image",
"width": 1024,
"height": 1024,
"createdAt": "2024-01-15T10:30:00Z",
"tags": ["landscape", "sunset"]
}
],
"total": 150,
"page": 1,
"pageSize": 20
}
| Parameter | Type | Description |
|---|---|---|
type | string | image or video |
limit | integer | Items per page (max 100) |
page | integer | Page number |
tags | string | Filter by tags (comma-separated) |
collection | string | Filter by collection ID |
search | string | Search prompts |
curl -X GET "https://elizacloud.ai/api/v1/gallery/gal_abc123" \
-H "Authorization: Bearer YOUR_API_KEY"
curl -X DELETE "https://elizacloud.ai/api/v1/gallery/gal_abc123" \
-H "Authorization: Bearer YOUR_API_KEY"
Organize items into collections:
curl -X POST "https://elizacloud.ai/api/v1/gallery/collections" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Product Shots",
"description": "Generated product images"
}'
curl -X POST "https://elizacloud.ai/api/v1/gallery/collections/{collectionId}/items" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"itemIds": ["gal_abc123", "gal_def456"]
}'
curl -X GET "https://elizacloud.ai/api/v1/gallery/collections" \
-H "Authorization: Bearer YOUR_API_KEY"
Add tags for organization:
curl -X PATCH "https://elizacloud.ai/api/v1/gallery/gal_abc123" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"tags": ["landscape", "sunset", "mountain"]
}'
curl -X GET "https://elizacloud.ai/api/v1/gallery?tags=landscape,sunset" \
-H "Authorization: Bearer YOUR_API_KEY"
curl -X POST "https://elizacloud.ai/api/v1/gallery/gal_abc123/share" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"expiresIn": "7d",
"password": "optional-password"
}'
{
"shareUrl": "https://elizacloud.ai/share/xyz789",
"expiresAt": "2024-01-22T10:30:00Z"
}
| Option | Description |
|---|---|
expiresIn | Link expiration (1h, 1d, 7d, 30d, never) |
password | Optional password protection |
allowDownload | Allow visitors to download |
curl -X DELETE "https://elizacloud.ai/api/v1/gallery/gal_abc123/share" \
-H "Authorization: Bearer YOUR_API_KEY"
| Plan | Storage |
|---|---|
| Free | 1 GB |
| Pro | 50 GB |
| Enterprise | Unlimited |
curl -X GET "https://elizacloud.ai/api/v1/gallery/storage" \
-H "Authorization: Bearer YOUR_API_KEY"
{
"used": 1073741824,
"limit": 53687091200,
"usedFormatted": "1 GB",
"limitFormatted": "50 GB"
}
curl -X POST "https://elizacloud.ai/api/v1/gallery/bulk/delete" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"itemIds": ["gal_abc123", "gal_def456", "gal_ghi789"]
}'
curl -X POST "https://elizacloud.ai/api/v1/gallery/bulk/tag" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"itemIds": ["gal_abc123", "gal_def456"],
"tags": ["approved", "final"]
}'
curl -X GET "https://elizacloud.ai/api/v1/gallery/gal_abc123/download" \
-H "Authorization: Bearer YOUR_API_KEY" \
--output image.png
curl -X POST "https://elizacloud.ai/api/v1/gallery/bulk/download" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"itemIds": ["gal_abc123", "gal_def456"]
}' \
--output gallery.zip
Generated content is automatically saved to your gallery:
const image = await client.images.generate({
prompt: "A beautiful sunset",
saveToGallery: true, // Default: true
galleryTags: ["sunset", "landscape"],
});
console.log(image.galleryId); // gal_abc123