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 TTSGET /resemble/tts/voices/GET /resemble/tts/voices/{uuid}— browsePOST /resemble/stt+ related — STT async jobsPOST /resemble/enhance/POST /resemble/edit— audio jobsPOST /resemble/detect,/intelligence,/tracing— safetyPOST /resemble/watermark/{apply,detect}— watermarkingPOST /resemble/identity/{search,enroll}+ CRUD — identity (beta)GET/POST/PUT/DELETE /resemble/projects+ nested clipsGET/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:
- ≥ 10 paying customers have explicitly requested voice cloning or low-latency streaming TTS via support.
- A pilot / design-partner deal requires cloning.
- 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.