Skip to content

Resemble AI — Business-Plan Gating

Decision owner: Product lead. Current status: NOT upgraded — the integration is on Resemble's Flex plan.


Endpoints that require Resemble Business plan

The following IndoxHub routes will return 403 from upstream until the Resemble account is upgraded to Business:

Route Capability Reason
POST /resemble/voices Voice clone (create) Business-only
POST /resemble/voices/{uuid}/build Voice clone (train) Business-only
DELETE /resemble/voices/{uuid} Voice clone (delete) Business-only
POST /resemble/voice-design/candidates Voice design (generate) Business-only
POST /resemble/voice-design/{uuid}/promote Voice design (promote) Business-only
WebSocket streaming TTS (NOT YET IMPLEMENTED) Low-latency synth Business-only

Phase-5 tests document this contract (tests/providers/test_resemble_voice_creation.py::test_create_voice_business_plan_403).


Routes that work on Flex (no upgrade needed)

  • POST /resemble/tts/synthesize — sync TTS
  • GET /resemble/tts/voices / GET /resemble/tts/voices/{uuid} — browse
  • POST /resemble/stt + related — STT async jobs
  • POST /resemble/enhance / POST /resemble/edit — audio jobs
  • POST /resemble/detect, /intelligence, /tracing — safety
  • POST /resemble/watermark/{apply,detect} — watermarking
  • POST /resemble/identity/{search,enroll} + CRUD — identity (beta)
  • GET/POST/PUT/DELETE /resemble/projects + nested clips
  • GET/POST/PUT/DELETE /resemble/agents + tools/webhooks/knowledge-base

Gating strategy until upgrade

Today: Requests pass through. Resemble returns 403. We map that to 502 Bad Gateway via ResembleAPIError handling.

Recommended interim: Add an admin feature flag RESEMBLE_BUSINESS_PLAN_ACTIVE: bool = False to config_fields.py, and in voices.py / voice_design.py return a 503 Service Unavailable with a message pointing to the upgrade request flow. This avoids burning quota on calls we know will fail.

Post-upgrade: Flip the flag, remove the guard, announce in release notes.


Upgrade trigger criteria

Business plan pricing is non-trivial. Upgrade when at least one is true:

  1. ≥ 10 paying customers have explicitly requested voice cloning or low-latency streaming TTS via support.
  2. A pilot / design-partner deal requires cloning.
  3. Competitive pressure (a competing IndoxHub-like product ships voice cloning and we lose a deal because of it).

Until then the code ships but the routes effectively short-circuit with a clear "not available on this tier" response.


Permanently skipped (NOT gated by Business plan — require Twilio + real-time infra)

  • Agent Phone Numbers
  • Agent Dispatch (live voice calls)

These are out of scope for any phase until a Twilio integration exists.

Documentation last built on May 23, 2026