✈️ Gamma's going global! We'll be live in Seoul, London, and São Paulo in March. Learn more here: https://gamma.app/events/world-tour
Questions When using `imageOptions.source: "placeholder"` with markdown containing image URLs, the generated presentation shows empty placeholders instead of using the provided image URLs. ## Environment - API Version: v1.0 - Endpoint: `https://public-api.gamma.app/v1.0/generations` - Date: 2025-11-20 ## Expected Behavior When markdown contains image URLs like `` and `imageOptions.source` is set to `"placeholder"`, we expect Gamma to: 1. Detect the image URLs in the markdown 2. Use those URLs to display the images 3. Replace placeholders with the actual images from the URLs ## Actual Behavior The generated presentation shows empty placeholders instead of the images from the provided URLs. ## Request Details ### API Call Example ```json POST https://public-api.gamma.app/v1.0/generations Headers: X-API-KEY: sk-gamma-*** Content-Type: application/json Body: { "inputText": "# Slide 1\n\n* Main point 1\n* Main point 2\n\n\n\n---\n# Slide 2\n\n* Content here", "textMode": "generate", "cardSplit": "inputTextBreaks", "imageOptions": { "source": "placeholder" }, "textOptions": { "amount": "brief", "language": "en" }, "themeId": "k7x1l7nm8en2t76", "exportAs": "pdf" } ``` ### Response ```json { "generationId": "xxxxxxxxxxxxx", "status": "completed", "gammaUrl": "https://gamma.app/docs/xxxxxxxxxxxxx", "exportUrl": "https://assets.api.gamma.app/export/pdf/...", "credits": { "deducted": 45, "remaining": 4200 } } ``` ### Result - Generation: Successful ✅ - Export: Successful ✅ - Images: Empty placeholders ❌ ## Markdown Input Example ```markdown # Introduction * Key point about the topic * Important context * Background information --- # System Architecture * Component A: Handles data processing * Component B: Manages user interface * Component C: Coordinates communication  --- # Technical Details * Technical specification 1 * Technical specification 2 * Implementation approach  --- # Results * Key finding 1 * Key finding 2 * Key finding 3  --- ``` ## Image URLs Used All images are hosted on a CDN with public HTTPS access. Example URLs: 1. `https://cdn.example.com/images/architecture.jpeg` 2. `https://cdn.example.com/images/flowchart.jpeg` 3. `https://cdn.example.com/images/results.jpeg` 4. `https://cdn.example.com/images/diagram.jpeg` 5. `https://cdn.example.com/images/chart.jpeg` ### URL Validation ✅ All URLs are publicly accessible via HTTPS ✅ All URLs return valid image files (JPEG format) ✅ No authentication required ✅ CORS headers configured properly Example validation: ```bash curl -I https://cdn.example.com/images/architecture.jpeg # HTTP/2 200 # content-type: image/jpeg # content-length: 245789 ``` ## Questions 1. **Does `imageOptions.source: "placeholder"` support using image URLs from markdown?** - If yes, what is the correct markdown syntax? - Are there any URL restrictions (domain whitelist, format requirements, etc.)? 2. **Should images be placed in a specific location within the card?** - At the beginning of the card? - At the end of the card (before `---`)? - In the middle of content? - Does placement matter for image detection? 3. **Is there an alternative imageOptions configuration to use markdown URLs?** - Would a different `source` value work better? - Is there a dedicated option for "use only markdown URLs"? 4. **Are there any image URL format requirements?** - Must be HTTPS (not HTTP)? - Domain restrictions or whitelist? - File format requirements (PNG, JPEG, SVG, etc.)? - Maximum file size? 5. **How does `textMode: "generate"` affect image handling?** - Does it modify or remove image URLs from the markdown? - Should we use `"preserve"` mode instead? - Does `"condense"` mode handle images differently? ## What We've Tried ### Attempt 1: Default configuration ```json { "textMode": "generate", "imageOptions": { "source": "placeholder" } } ``` **Result**: Empty placeholders ❌ ### Attempt 2: noImages mode ```json { "imageOptions": { "source": "noImages" } } ``` **Result**: No images at all (as expected) ❌ ### Attempt 3: Different markdown image placements Tried placing images at: - End of card (just before `---` separator) - Middle of bullet points - Beginning of card (right after title) **Result**: All show empty placeholders ❌ ### Attempt 4: Different URL formats Tried: - Standard HTTPS URLs - Different CDN providers - Various image formats (JPEG, PNG) **Result**: All show empty placeholders ❌ ## Use Case We're building an automated content generation system that: 1. Processes source material containing images 2. Hosts images on a public CDN (HTTPS URLs) 3. Generates markdown with image references 4. Sends to Gamma API to create professional presentations The goal is to have **our specific images** appear in the presentation, not AI-generated or stock photos, to maintain content accuracy and brand consistency.
