Set up the Speak language learning platform integration. Speak uses OpenAI's GPT-4o and Realtime API for AI tutoring with real-time pronunciation feedback. Supports 14+ languages including Korean, Spanish, Japanese, French, and Mandarin.
set -euo pipefail
# Core Speak SDK
npm install @speak/language-sdk
# Audio processing dependencies
npm install openai # OpenAI Realtime API for speech
npm install fluent-ffmpeg # Audio format conversion
npm install node-record-lpcm16 # Microphone capture
# Speak API credentials
export SPEAK_API_KEY="your-speak-api-key"
export SPEAK_APP_ID="your-app-id"
# OpenAI key for Realtime API (used by Speak for speech processing)
export OPENAI_API_KEY="your-openai-key"
# Create .env file
cat << 'EOF' >> .env
SPEAK_API_KEY=your-speak-api-key
SPEAK_APP_ID=your-app-id
OPENAI_API_KEY=your-openai-key
EOF
// src/speak/client.ts
import { SpeakClient } from '@speak/language-sdk';
const client = new SpeakClient({
apiKey: process.env.SPEAK_API_KEY!,
appId: process.env.SPEAK_APP_ID!,
language: 'es', // Target language: es, ko, ja, fr, de, pt, zh, id
});
// Verify connection
async function verifySetup() {
const languages = await client.getLanguages();
console.log('Available languages:', languages.map(l => l.code).join(', '));
const health = await client.health.check();
console.log('API status:', health.status);
}
verifySetup();
// OpenAI Realtime API for speech-to-text (used by Speak)
import OpenAI from 'openai';
const openai = new OpenAI();
async function transcribeAudio(audioPath: string): Promise<string> {
const transcription = await openai.audio.transcriptions.create({
file: fs.createReadStream(audioPath),
model: 'whisper-1',
language: 'es', // Match target language
});
return transcription.text;
}
| Language | Code | Pronunciation | Conversation |
|---|---|---|---|
| Korean | ko | Yes | Yes |
| Spanish | es | Yes | Yes |
| Japanese | ja | Yes | Yes |
| French | fr | Yes | Yes |
| German | de | Yes | Yes |
| Portuguese (BR) | pt | Yes | Yes |
| Mandarin (Simplified) | zh-CN | Yes | Yes |
| English | en | Yes | Yes |
| Indonesian | id | Yes | Yes |
| Error | Cause | Solution |
|---|---|---|
| Invalid API Key | Wrong or expired key | Verify at developer.speak.com dashboard |
| App ID Mismatch | Wrong application ID | Check app settings in Speak dashboard |
| OpenAI auth failed | Invalid OpenAI key | Verify at platform.openai.com |
| Module not found | Installation failed | Run npm install again |
| Language not supported | Invalid language code | Use codes from supported languages table |
After successful auth, proceed to speak-hello-world for your first lesson session.
Quick test: Set SPEAK_API_KEY, initialize the client with language: 'ko' for Korean, and call client.health.check() to verify connectivity.
Python setup: Install speak-language-sdk via pip, initialize with api_key from environment, and verify with a health check.