Set up comprehensive observability for Ideogram integrations with metrics, traces, and alerts. Use when implementing monitoring for Ideogram operations, setting up dashboards, or configuring alerting for Ideogram integration health. Trigger with phrases like "ideogram monitoring", "ideogram metrics", "ideogram observability", "monitor ideogram", "ideogram alerts", "ideogram tracing".
Monitor Ideogram AI image generation for latency, credit consumption, and output quality. Key metrics include generation time (typically 5-15 seconds per image depending on model and resolution), credit cost per generation (varies by model version and quality setting), generation success rate, and prompt safety filter rejection rate.
async function trackedGeneration(prompt: string, options: any) {
const start = performance.now();
try {
const result = await ideogram.generate({ image_request: { prompt, ...options } });
const duration = performance.now() - start;
emitHistogram('ideogram_generation_duration_ms', duration, { model: options.model || 'V_2' });
emitCounter('ideogram_generations_total', 1, { model: options.model || 'V_2', status: 'success' });
emitCounter('ideogram_credits_used', result.credits_consumed || 1, { model: options.model || 'V_2' });
return result;
} catch (err: any) {
emitCounter('ideogram_generations_total', 1, { status: 'error', reason: err.code || 'unknown' });
throw err;
}
}
// Monitor how often prompts are rejected by the safety filter
function handleSafetyRejection(prompt: string, reason: string) {
emitCounter('ideogram_safety_rejections_total', 1, { reason });
console.warn(`Prompt rejected: ${reason}`, { prompt: prompt.substring(0, 50) });
}
set -euo pipefail
# Check remaining credits and burn rate
curl -s https://api.ideogram.ai/v1/usage \
-H "Api-Key: $IDEOGRAM_API_KEY" | \
jq '{credits_remaining, credits_used_today, credits_used_month, daily_avg: (.credits_used_month / 30), days_remaining: (.credits_remaining / (.credits_used_month / 30 + 0.01))}'