Upgrade between TwinMind plan tiers and migrate configurations.
Use when upgrading from Free to Pro, Pro to Enterprise,
or migrating between TwinMind environments.
Trigger with phrases like "upgrade twinmind", "twinmind pro",
"twinmind enterprise", "migrate twinmind", "twinmind tier change".
Upgrade between TwinMind plan tiers and migrate configurations.
Use when upgrading from Free to Pro, Pro to Enterprise,
or migrating between TwinMind environments.
Trigger with phrases like "upgrade twinmind", "twinmind pro",
"twinmind enterprise", "migrate twinmind", "twinmind tier change".
allowed-tools
Read, Write, Edit, Bash(curl:*)
version
1.0.0
license
MIT
author
Jeremy Longshore <jeremy@intentsolutions.io>
TwinMind Upgrade & Migration
Overview
Guide for upgrading TwinMind tiers and migrating configurations between environments.
Prerequisites
Active TwinMind account
Admin access for billing changes
Backup of current configurations
Plan Comparison
Feature
Free
Pro ($10/mo)
Enterprise (Custom)
Transcription
Unlimited
Unlimited
Unlimited
Languages
140+
140+ (Premium Ear-3)
140+ (Premium)
AI Models
Basic
GPT-4, Claude, Gemini
Custom + Fine-tuned
Context Tokens
500K
2M
Unlimited
API Access
No
Yes
Yes + Priority
Rate Limits
30/min
60/min
300/min
Concurrent Jobs
1
3
10+
Support
Community
24-hour
Dedicated
SSO/SAML
No
No
Yes
On-Premise
No
No
Yes
Custom Models
No
No
Yes
SLA
None
99.5%
99.9%
Instructions
Step 1: Audit Current Usage
// scripts/usage-audit.tsimport { getTwinMindClient } from'../src/twinmind/client';
asyncfunctionauditUsage() {
const client = getTwinMindClient();
// Get current plan infoconst account = await client.get('/account');
console.log('Current Plan:', account.data.plan);
console.log('Plan Started:', account.data.plan_started_at);
// Get usage statisticsconst usage = await client.get('/usage', {
params: {
period: 'last_30_days',
},
});
console.log('\n=== Usage Summary (Last 30 Days) ===');
console.log(`Transcription Hours: ${usage.data.transcription_hours}`);
console.log(`API Requests: ${usage.data.api_requests}`);
console.log(`AI Tokens Used: ${usage.data.ai_tokens_used}`);
console.log(`Storage Used: ${usage.data.storage_mb} MB`);
// Check if hitting limitsconst limits = await client.get('/account/limits');
console.log('\n=== Current Limits ===');
console.log(`Rate Limit: ${limits.data.rate_limit_per_minute}/min`);
console.log(`Concurrent Jobs: ${limits.data.concurrent_transcriptions}`);
console.log(`Context Tokens: ${limits.data.context_tokens}`);
// Recommendationsconsole.log('\n=== Upgrade Recommendations ===');
if (usage.data.api_requests > 0 && account.data.plan === 'free') {
console.log('- Upgrade to Pro for API access');
}
if (usage.data.ai_tokens_used > 400000) {
console.log('- Consider Pro for 2M token context');
}
if (usage.data.rate_limit_hits > 10) {
console.log('- Upgrade tier for higher rate limits');
}
}
auditUsage();
// Upgrade request for EnterpriseasyncfunctionrequestEnterpriseUpgrade() {
const client = getTwinMindClient();
const response = await client.post('/account/upgrade-request', {
target_plan: 'enterprise',
contact_email: 'admin@company.com',
company_name: 'Acme Inc',
estimated_usage: {
transcription_hours_monthly: 1000,
api_requests_monthly: 100000,
team_members: 50,
},
requirements: [
'SSO/SAML integration',
'On-premise deployment',
'Custom model training',
'99.9% SLA',
],
});
console.log('Upgrade request submitted:', response.data.request_id);
console.log('Sales team will contact you within 24 hours');
}
Step 4: Update API Keys
# After upgrade, generate new production API key# Go to: https://twinmind.com/settings/api# Update environment variablesexport TWINMIND_API_KEY="tm_sk_prod_new_key_here"# Update secrets manager (recommended for production)
aws secretsmanager update-secret \
--secret-id twinmind-api-key \
--secret-string "$TWINMIND_API_KEY"# Verify new key works
curl -H "Authorization: Bearer $TWINMIND_API_KEY" \
https://api.twinmind.com/v1/me