Back to skills
SKILL.md
Wispr Hello World
ASecurity'Wispr Flow hello world for voice-to-text API integration. Use when integrating Wispr Flow dictation, WebSocket streaming, or building voice-powered applications. Trigger: \"wispr hello world\". '
- 3 stars
- 0 votes
- 0 copies
- 2 views
- Added September 12, 2026
Works with
Security analysis
100/100npx -y skills add thedixitjain/the-mega-skill-library --skill wispr-hello-world --agent claude-codeAre you the author of Wispr Hello World?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/thedixitjain-wispr-hello-world)---
name: wispr-hello-world
description: "'Wispr Flow hello world for voice-to-text API integration. Use when integrating Wispr Flow dictation, WebSocket streaming, or building voice-powered applications. Trigger: \"wispr hello world\". '"
allowed-tools: "Read, Write, Edit, Bash(npm:*), Grep"
category: mcp-and-integrations
source_repo: jeremylongshore/claude-code-plugins-plus-skills
source_path: "skills/.curated/wispr-hello-world/SKILL.md"
source_url: https://github.com/jeremylongshore/claude-code-plugins-plus-skills/blob/HEAD/skills/.curated/wispr-hello-world/SKILL.md
---
# Wispr Flow Hello World
## Overview
Stream audio to Wispr Flow and receive real-time transcription. Wispr specializes in developer-context-aware dictation -- it understands code terms, CLI commands, and technical jargon.
## Instructions
### Step 1: Record and Transcribe (REST)
```python
import requests, os
# Transcribe an audio file
with open("voice-memo.wav", "rb") as audio:
response = requests.post(
"https://api.wisprflow.ai/api/v1/transcribe",
headers={"Authorization": f"Bearer {os.environ['WISPR_API_KEY']}"},
files={"audio": audio},
data={"language": "en", "context": "programming"},
)
result = response.json()
print(f"Text: {result['text']}")
print(f"Confidence: {result.get('confidence', 'N/A')}")
```
### Step 2: Real-Time Streaming (WebSocket)
```typescript
// Stream microphone audio to Wispr Flow
const ws = new WebSocket('wss://api.wisprflow.ai/api/v1/ws');
// Browser audio capture
const stream = await navigator.mediaDevices.getUserMedia({ audio: true });
const context = new AudioContext({ sampleRate: 16000 });
const source = context.createMediaStreamSource(stream);
const processor = context.createScriptProcessor(4096, 1, 1);
source.connect(processor);
processor.connect(context.destination);
processor.onaudioprocess = (event) => {
const audioData = event.inputBuffer.getChannelData(0);
// Convert Float32Array to Int16Array for transmission
const int16 = new Int16Array(audioData.length);
for (let i = 0; i < audioData.length; i++) {
int16[i] = Math.max(-32768, Math.min(32767, audioData[i] * 32768));
}
ws.send(int16.buffer);
};
ws.onmessage = (event) => {
const data = JSON.parse(event.data);
if (data.type === 'partial') {
console.log(`Partial: ${data.text}`);
} else if (data.type === 'final') {
console.log(`Final: ${data.text}`);
}
};
```
## Output
```
Partial: implement a function that
Final: Implement a function that calculates the Fibonacci sequence using dynamic programming.
```
## Error Handling
| Error | Cause | Solution |
|-------|-------|----------|
| Garbled text | Wrong sample rate | Use 16kHz mono PCM |
| No results | Silence or noise | Check microphone input |
| High latency | REST endpoint | Use WebSocket for streaming |
## Resources
- [WebSocket Quickstart](https://api-docs.wisprflow.ai/websocket_quickstart)
- [Wispr Flow for Developers](https://wisprflow.ai/developers)
## Next Steps
Proceed to `wispr-local-dev-loop` for development workflow.
---
**Source:** [`jeremylongshore/claude-code-plugins-plus-skills`](https://github.com/jeremylongshore/claude-code-plugins-plus-skills) → `skills/.curated/wispr-hello-world/SKILL.md`
**Also appears in:** `jeremylongshore/claude-code-plugins-plus-skills/plugins/saas-packs/wispr-pack/skills/wispr-hello-world/SKILL.md`
Attribution
Comments
Loading comments…
Newsletter
Get the weekly list of safe new skills, and the ones we pulled.