Developers

BUILD ON WAVEFORGE

Three ways in: REST API v1 for full control, the Agent Door for a one-shot preview, and an MCP connector for Claude, Cursor, ChatGPT connectors and the rest. Same key for all three.

GET YOUR API KEY → See integrations

Auth

One key, three surfaces

All requests use Authorization: Bearer <key>. Keys start with wf_test_ (free, never charges or encodes) or wf_live_ (real renders, charges credits). Get one in one click at /get-key. Free accounts include one key.

Limits are per account, not per key. Key creation is CSRF-protected; cross-origin mutations are rejected.

REST API v1

Full control

Base: https://waveforge.net/api/v1

MethodPathWhat
GET/presetsList visualizer engines
POST/uploads/audio, /uploads/imageUpload files (multipart file)
POST/rendersQueue a render
GET/rendersList renders
GET/renders/:idPoll status
GET/renders/:id/outputFetch the finished file
GET/POST/webhooksSigned webhooks on render events

Queue a render

curl -s -X POST https://waveforge.net/api/v1/renders \
  -H "Authorization: Bearer $WAVEFORGE_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Night Bus",
    "artist": "Ada",
    "preset": "cline",
    "format": "vertical",
    "audioUrl": "https://example.com/song.mp3",
    "imageUrl": "https://example.com/cover.jpg"
  }'

Formats: landscape (default), vertical, square, canvas. OpenAPI: /api/v1/openapi.yaml

Agent Door

One-shot preview

Queue a watermarked 720p preview from a public audio URL (max 60s, trimmed). Free — never charges credits. Every request is scoped to your key, so your daily allowance is yours alone.

curl -s -X POST https://waveforge.net/api/agent/v1/preview \
  -H "Authorization: Bearer $WAVEFORGE_KEY" \
  -H "Content-Type: application/json" \
  -d '{"audio_url":"https://example.com/track.mp3","rights_attested":true}'

curl -s https://waveforge.net/api/agent/v1/status/ado_... \
  -H "Authorization: Bearer $WAVEFORGE_KEY"

ChatGPT Actions spec: /openapi/chatgpt-actions.yaml · OpenAPI 3.1: /openapi/agent-door.yaml

MCP

Connect any MCP client

Remote Streamable HTTP server at https://waveforge.net/mcp, same bearer key. Tools: list_presets, list_export_formats, create_render, get_render_status, list_renders, get_render_output.

{
  "mcpServers": {
    "waveforge": {
      "url": "https://waveforge.net/mcp",
      "headers": { "Authorization": "Bearer <your key>" }
    }
  }
}

Works with ChatGPT connectors, Claude, Cursor, Windsurf, Cline, Continue, Zed, Raycast and more — see /integrations.

Limits

What you get

LimitValue
Keys per account1 free (more on paid tiers)
Agent Door per key5 previews/day
Agent Door per conversation3 previews/day
Preview output720p, watermarked, max 60s
wf_test_ rendersNever charge, never encode

Only submit audio and images you have rights to use. By using the API you agree to WaveForge's Terms and Acceptable Use.

Questions: support@waveforge.net · Business info