Skip to content
vercel-cost-tuning logo

Vercel Cost Tuning

vercel-cost-tuning

Optimize Vercel costs through plan selection, function efficiency, and

SKILL.md

Full skill instructions

Vercel Cost Tuning

Overview

Optimize Vercel costs by understanding the Fluid Compute pricing model, reducing function execution time, leveraging edge caching to avoid function invocations, and configuring spend management. Covers plan comparison, cost drivers, and monitoring.

Prerequisites

  • Access to Vercel billing dashboard
  • Understanding of current deployment architecture
  • Access to Vercel Analytics for usage patterns

Instructions

Step 1: Understand the Pricing Model

Vercel uses Fluid Compute pricing (for new projects):

ResourceHobby (Free)Pro ($20/​member/​mo)Enterprise
Bandwidth100 GB1 TB includedCustom
Serverless Execution100 GB-hrs1000 GB-hrs includedCustom
Edge Function invocations500K1M includedCustom
Edge Middleware invocations1M1M includedCustom
Image Optimizations10005000 includedCustom
Builds per day60006000Custom
Concurrent builds11 (more available)Custom

Fluid Compute billing breakdown:

  • Active CPU time: charged per ms of actual CPU usage
  • Provisioned memory: charged per GB-second of allocated memory
  • Benefit: you pay for actual work, not idle waiting (e.g., waiting for a database response)

Step 2: Identify Cost Drivers

# Check usage via API
curl -s -H "Authorization: Bearer $VERCEL_TOKEN" \
  "https://api.vercel.com/​v2/​usage" | jq .

# Top cost drivers on Vercel:
# 1. Serverless function execution time (CPU + memory)
# 2. Bandwidth (large responses, unoptimized images)
# 3. Edge Middleware invocations (runs on EVERY request)
# 4. Image optimizations (each unique transform costs)
# 5. Build minutes (frequent deploys or slow builds)

Step 3: Reduce Function Execution Costs

// 1. Right-size function memory — don't over-allocate
// vercel.json
{
  "functions": {
    "api/​lightweight.ts": { "memory": 128 },    // Simple JSON responses
    "api/​standard.ts": { "memory": 512 },       // Database queries
    "api/​heavy.ts": { "memory": 1024 }          // Image processing
  }
}

// 2. Move read-only endpoints to Edge Functions (cheaper, no cold starts)
// api/​config.ts
export const config = { runtime: 'edge' };
export default function handler() {
  return Response.json({ features: ['a', 'b'] });
}

// 3. Cache function responses at the edge
// Eliminates function invocations entirely for cached routes
export default function handler(req, res) {
  res.setHeader('Cache-Control', 's-maxage=3600, stale-while-revalidate=86400');
  res.json(data);
}

Step 4: Reduce Bandwidth Costs

// vercel.json — compress and cache aggressively
{
  "headers": [
    {
      "source": "/​static/(.*)",
      "headers": [
        { "key": "Cache-Control", "value": "public, max-age=31536000, immutable" }
      ]
    }
  ],
  "images": {
    "sizes": [640, 750, 1080],
    "formats": ["image/​avif", "image/​webp"],
    "minimumCacheTTL": 86400
  }
}

Key bandwidth reducers:

  • Use Vercel's image optimization (auto WebP/​AVIF conversion)
  • Set aggressive cache headers on static assets
  • Use ISR to serve static HTML instead of SSR
  • Compress API responses (Vercel auto-compresses with Brotli)

Step 5: Optimize Middleware Costs

Middleware runs on every matched request. Minimize its scope:

// middleware.ts — scope to specific paths only
export const config = {
  matcher: [
    // Only run middleware on API routes and protected pages
    '/​api/:path*',
    '/​dashboard/:path*',
    // Skip static files, images, and public assets
    '/((?!_next/​static|_next/​image|favicon.ico|public).*)',
  ],
};

export function middleware(request) {
  // Keep logic minimal — this runs on every matched request
  // Avoid: database queries, external API calls, heavy computation
  // Good: cookie checks, header modifications, redirects
}

Step 6: Configure Spend Management

In the Vercel dashboard under Settings > Billing > Spend Management:

Default budget: $200/​month on-demand usage
Options:
- Set custom budget limit
- Enable hard limit (pauses all projects when reached)
- Configure email alerts at 50%, 75%, 90%, 100%
# Check current usage against budget via API
curl -s -H "Authorization: Bearer $VERCEL_TOKEN" \
  "https://api.vercel.com/​v2/​usage?teamId=team_xxx" \
  | jq '{period: .period, bandwidth: .bandwidth, execution: .serverlessFunctionExecution}'

Cost Optimization Checklist

ActionImpactEffort
Add s-maxage cache headersHigh — eliminates function invocationsLow
Use Edge Functions for simple endpointsMedium — cheaper than serverlessLow
Right-size function memoryMedium — reduces GB-hr costLow
Scope middleware matcherMedium — reduces edge invocationsLow
Enable image optimizationMedium — reduces bandwidthLow
Use ISR instead of SSRHigh — serves cached HTMLMedium
Optimize build speedLow — reduces build minutesMedium
Set spend management alertsSafety — prevents surprise billsLow

Output

  • Function memory right-sized per endpoint
  • Edge caching reducing function invocations
  • Middleware scoped to minimize invocations
  • Spend management configured with budget alerts
  • Usage monitoring via API

Error Handling

ErrorCauseSolution
Unexpected bill spikeUncached high-traffic endpointAdd s-maxage to the response
Projects pausedHard spending limit reachedIncrease limit or optimize usage
Image optimization quota exceededToo many unique image transformsReduce sizes array, increase cache TTL
Build minutes exceededSlow builds or too many deploysUse ignoreCommand to skip non-code changes

Resources

Next Steps

For reference architecture, see vercel-reference-architecture.

More skills from jeremylongshore

openrouter-compliance-review logo
jeremylongshore/claude-code-plugins-plus-skills

openrouter-compliance-review

Review OpenRouter integration for regulatory compliance (SOC2, GDPR,

2.8K 0
View
maintainx-data-handling logo
jeremylongshore/claude-code-plugins-plus-skills

maintainx-data-handling

Data synchronization, ETL patterns, and data management for MaintainX.

2.8K 0
View
groq-core-workflow-a logo
jeremylongshore/claude-code-plugins-plus-skills

groq-core-workflow-a

Execute Groq primary workflow: chat completions with tool use and JSON

2.8K 0
View
validating-csrf-protection logo
jeremylongshore/claude-code-plugins-plus-skills

validating-csrf-protection

Validate CSRF protection implementations for security gaps. Use when

2.8K 0
View
api-contract logo
jeremylongshore/claude-code-plugins-plus-skills

api-contract

Configure this skill should be used when the user asks about "API contract",

2.8K 0
View
ideogram-incident-runbook logo
jeremylongshore/claude-code-plugins-plus-skills

ideogram-incident-runbook

Execute Ideogram incident response with triage, mitigation, and postmortem.

2.8K 0
View
gamma-sdk-patterns logo
jeremylongshore/claude-code-plugins-plus-skills

gamma-sdk-patterns

Reusable patterns for the Gamma REST API (no SDK exists).

2.8K 0
View
deepgram-sdk-patterns logo
jeremylongshore/claude-code-plugins-plus-skills

deepgram-sdk-patterns

Apply production-ready Deepgram SDK patterns for TypeScript and Python.

2.8K 0
View
openrouter-upgrade-migration logo
jeremylongshore/claude-code-plugins-plus-skills

openrouter-upgrade-migration

Migrate to OpenRouter from direct provider APIs or upgrade between SDK/model

2.8K 0
View
openrouter-common-errors logo
jeremylongshore/claude-code-plugins-plus-skills

openrouter-common-errors

Diagnose and fix common OpenRouter API errors. Use when encountering

2.8K 0
View
linear-cost-tuning logo
jeremylongshore/claude-code-plugins-plus-skills

linear-cost-tuning

Optimize Linear API usage, reduce unnecessary calls, and maximize

2.8K 0
View

Popular AI tools

Kaiber logo
Video

Kaiber

Generate, edit, and beat-sync AI video with leading models in one workspace.

Paid
View
Vimcal logo
Productivity

Vimcal

The world's fastest calendar for remote work

Free
View

Transform Your Design with AI Designer by ImgCreator.ai

Freemium
View
Akool AI logo
Content & writing

Akool AI

Revolutionizing Video Production with AI-Powered Creativity

Paid
View

Extend an image past the frame and let AI fill the new aspect ratio.

Freemium
View
StarByFace logo
Security

StarByFace

Discover your celebrity doppelgänger with StarByFace!

Free
View
C

ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.

Freemium
View
Opus Clip logo
Coding & apps

Opus Clip

Opus.ai: Revolutionize Your Web Experience

Free
View