Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Install and configure Ideogram API authentication. Use when setting up a new Ideogram integration, configuring API keys, or initializing Ideogram in your project. Trigger with phrases like "install ideogram", "setup ideogram", "ideogram auth", "configure ideogram API key".
.claude/skills/jeremylongshore-ideogram-install-auth/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-02 | ✗→✓ | ▲ Improved | 17% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 57% | 0% |
| case-08 | ✗→✓ | ▲ Improved | -17% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 43% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 21% | 0% |
Set up Ideogram API authentication for AI image generation. Ideogram provides a REST API at api.ideogram.ai for text-to-image generation, editing, remixing, upscaling, and describing images. Authentication uses an Api-Key header on every request.
bashset -euo pipefail # Node.js (no SDK required -- Ideogram uses a plain REST API) npm install dotenv # Python pip install requests python-dotenv
bash# Create .env file (NEVER commit to git) echo 'IDEOGRAM_API_KEY=your-api-key-here' >> .env # Add to .gitignore echo '.env' >> .gitignore echo '.env.local' >> .gitignore
typescript// verify-ideogram.ts import "dotenv/config"; async function verifyIdeogramAuth() { const response = await fetch("https://api.ideogram.ai/generate", { method: "POST", headers: { "Api-Key": process.env.IDEOGRAM_API_KEY!, "Content-Type": "application/json", }, body: JSON.stringify({ image_request: { prompt: "A simple blue circle on white background", model: "V_2_TURBO", aspect_ratio: "ASPECT_1_1", magic_prompt_option: "OFF", }, }), }); if (response.ok) { const result = await response.json(); console.log("Auth verified. Image URL:", result.data[0].url); console.log("Seed:", result.data[0].seed); } else { const err = await response.text(); console.error(`Auth failed (${response.status}):`, err); } } verifyIdeogramAuth();
python# verify_ideogram.py import os, requests from dotenv import load_dotenv load_dotenv() response = requests.post( "https://api.ideogram.ai/generate", headers={ "Api-Key": os.environ["IDEOGRAM_API_KEY"], "Content-Type": "application/json", }, json={ "image_request": { "prompt": "A simple blue circle on white background", "model": "V_2_TURBO", "aspect_ratio": "ASPECT_1_1", "magic_prompt_option": "OFF", } }, ) if response.ok: data = response.json() print("Auth verified. Image URL:", data["data"][0]["url"]) else: print(f"Auth failed ({response.status_code}):", response.text)
| API Version | Base URL | Notes | |-------------|----------|-------| | Legacy (V_2) | https://api.ideogram.ai/generate | JSON body with image_request wrapper | | V3 Generate | https://api.ideogram.ai/v1/ideogram-v3/generate | Multipart form data | | V3 Edit | https://api.ideogram.ai/v1/ideogram-v3/edit | Multipart form data | | V3 Remix | https://api.ideogram.ai/v1/ideogram-v3/remix | Multipart form data | | V3 Reframe | https://api.ideogram.ai/v1/ideogram-v3/reframe | Multipart form data | | Upscale | https://api.ideogram.ai/upscale | Multipart form data | | Describe | https://api.ideogram.ai/describe | Multipart form data |
partnership@ideogram.ai for higher limits| Error | HTTP Status | Cause | Solution | |-------|-------------|-------|----------| | Invalid API Key | 401 | Key missing or revoked | Verify key in dashboard, regenerate if needed | | Rate Limited | 429 | Exceeded 10 in-flight requests | Queue requests, add backoff | | Insufficient Credits | 402 | Balance depleted | Top up via dashboard billing | | Safety Rejected | 422 | Prompt or image failed safety check | Rephrase prompt, remove flagged content |
IDEOGRAM_API_KEY configured.env file with key (git-ignored)After successful auth, proceed to ideogram-hello-world for your first real generation.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-13 | pass→pass | 13,791 | 7,036 | -49% | 1 | 1 | 0% | 1,354 | 2,602 | +92% | 0 | 0 | — |
case-01 | fail→fail | 19,627 | 14,756 | -25% | 1 | 1 | 0% | 2,740 | 3,312 | +21% | 0 | 0 | — |
case-02 | fail→pass | 19,161 | 14,708 | -23% | 1 | 1 | 0% | 2,812 | 3,277 | +17% | 0 | 0 | — |
case-03 | fail→pass | 17,786 | 10,893 | -39% | 1 | 1 | 0% | 2,458 | 3,861 | +57% | 0 | 0 | — |
case-04 | pass→pass | 9,890 | 8,630 | -13% | 1 | 1 | 0% | 841 | 2,004 | +138% | 0 | 0 | — |
case-05 | pass→pass | 12,555 | 9,123 | -27% | 1 | 1 | 0% | 1,357 | 2,029 | +50% | 0 | 0 | — |
case-06 | pass→pass | 13,393 | 16,154 | +21% | 1 | 1 | 0% | 2,119 | 2,760 | +30% | 0 | 0 | — |
case-07 | pass→pass | 14,948 | 4,331 | -71% | 1 | 1 | 0% | 2,058 | 2,139 | +4% | 0 | 0 | — |
case-08 | fail→pass | 11,928 | 8,265 | -31% | 1 | 1 | 0% | 2,060 | 1,720 | -17% | 0 | 0 | — |
case-09 | pass→pass | 13,891 | 8,252 | -41% | 1 | 1 | 0% | 1,733 | 1,935 | +12% | 0 | 0 | — |
case-10 | pass→pass | 8,632 | 7,352 | -15% | 1 | 1 | 0% | 1,832 | 3,018 | +65% | 0 | 0 | — |
case-11 | fail→pass | 8,958 | 9,171 | +2% | 1 | 1 | 0% | 1,464 | 2,092 | +43% | 0 | 0 | — |
case-12 | fail→pass | 16,622 | 10,515 | -37% | 1 | 1 | 0% | 1,904 | 2,300 | +21% | 0 | 0 | — |
case-14 | pass→pass | 15,354 | 6,775 | -56% | 1 | 1 | 0% | 1,791 | 2,708 | +51% | 0 | 0 | — |
case-15 | fail→pass | 13,047 | 19,382 | +49% | 1 | 1 | 0% | 2,145 | 4,144 | +93% | 0 | 0 | — |
case-16 | pass→pass | 16,064 | 4,495 | -72% | 1 | 1 | 0% | 1,573 | 2,153 | +37% | 0 | 0 | — |
case-17 | fail→pass | 28,841 | 15,801 | -45% | 1 | 1 | 0% | 2,549 | 3,493 | +37% | 0 | 0 | — |
case-18 | fail→pass | 17,178 | 8,474 | -51% | 1 | 1 | 0% | 1,996 | 2,962 | +48% | 0 | 0 | — |
case-24 | pass→pass | 19,623 | 17,365 | -12% | 1 | 1 | 0% | 2,711 | 4,295 | +58% | 0 | 0 | — |
case-19 | fail→pass | 15,114 | 8,514 | -44% | 1 | 1 | 0% | 1,928 | 2,019 | +5% | 0 | 0 | — |
case-20 | pass→pass | 15,121 | 8,926 | -41% | 1 | 1 | 0% | 1,880 | 2,105 | +12% | 0 | 0 | — |
case-21 | pass→pass | 8,906 | 9,715 | +9% | 1 | 1 | 0% | 1,726 | 2,157 | +25% | 0 | 0 | — |
case-22 | pass→pass | 16,121 | 15,823 | -2% | 1 | 1 | 0% | 2,138 | 4,064 | +90% | 0 | 0 | — |
case-23 | pass→pass | 12,824 | 23,480 | +83% | 1 | 1 | 0% | 2,196 | 5,180 | +136% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 24 cases were attempted. The headline lift of +38 percentage points is the difference between those two pass rates over the 24 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.