
Research
Shai-Hulud Descends to Hades: Miasma Worm Campaign Spreads with New PyPI Wave
Socket found 37 malicious PyPI wheels that abuse Python startup hooks to launch a Bun-powered credential stealer tied to Mini Shai-Hulud/Miasma.
@soniox/langchain
Advanced tools
Get started using the Soniox audio transcription loader in LangChain.
Install the package:
npm install @soniox/langchain
Get your Soniox API key from the Soniox Console and set it as an environment variable:
export SONIOX_API_KEY=your_api_key
Transcribe audio files using the SonioxAudioTranscriptLoader:
import { SonioxAudioTranscriptLoader } from "@soniox/langchain";
// Fetch the file
const response = await fetch(
"https://github.com/soniox/soniox_examples/raw/refs/heads/master/speech_to_text/assets/coffee_shop.mp3",
);
const audioBuffer = await response.bytes(); // Uint8Array
const loader = new SonioxAudioTranscriptLoader(
{
audio: audioBuffer, // Or you can pass in a URL string
},
{
language_hints: ["en"],
// Any other transcription parameters you find here
// https://soniox.com/docs/stt/api-reference/transcriptions/create_transcription
},
);
const docs = await loader.load();
console.log(docs[0].pageContent); // Transcribed text
Transcribe and translate between two languages simultaneously:
const loader = new SonioxAudioTranscriptLoader(
{
audio: audioBuffer,
},
{
translation: {
type: "two_way",
language_a: "en",
language_b: "es",
},
language_hints: ["en", "es"],
},
);
const docs = await loader.load();
Translate from any detected language to a target language:
const loader = new SonioxAudioTranscriptLoader(
{
audio: audioBuffer,
},
{
translation: {
type: "one_way",
target_language: "fr",
},
language_hints: ["en"],
},
);
const docs = await loader.load();
Provide language hints to improve transcription accuracy:
const loader = new SonioxAudioTranscriptLoader(
{
audio: audioBuffer,
},
{
language_hints: ["en", "es"],
},
);
Provide domain-specific context to improve transcription accuracy:
const loader = new SonioxAudioTranscriptLoader(
{
audio: audioBuffer,
},
{
context: {
general: [
{ key: "industry", value: "healthcare" },
{ key: "meeting_type", value: "consultation" },
],
terms: ["hypertension", "cardiology", "metformin"],
translation_terms: [
{ source: "blood pressure", target: "presión arterial" },
{ source: "medication", target: "medicamento" },
],
},
},
);
| Parameter | Type | Required | Description |
|---|---|---|---|
audio | Uint8Array | string | Yes | Audio file as buffer or URL |
audioFormat | SonioxAudioFormat | No | Audio file format |
apiKey | string | No | Soniox API key (defaults to SONIOX_API_KEY env var) |
apiBaseUrl | string | No | API base URL (defaults to https://api.soniox.com/v1) |
pollingIntervalMs | number | No | Polling interval in ms (min: 1000, default: 1000) |
pollingTimeoutMs | number | No | Polling timeout in ms (default: 180000) |
| Parameter | Type | Description |
|---|---|---|
model | SonioxTranscriptionModelId | Model to use (default: "stt-async-v4") |
translation | object | Translation configuration |
language_hints | string[] | Language hints for transcription |
language_hints_strict | boolean | Enforce strict language hints |
enable_speaker_diarization | boolean | Enable speaker identification |
enable_language_identification | boolean | Enable language detection |
context | object | Context for improved accuracy |
Browse the documentation for a full list of supported options.
aac - Advanced Audio Codingaiff - Audio Interchange File Formatamr - Adaptive Multi-Rateasf - Advanced Systems Formatflac - Free Lossless Audio Codecmp3 - MPEG Audio Layer IIIogg - Ogg Vorbiswav - Waveform Audio File Formatwebm - WebM AudioThe load() method returns an array containing a single Document object:
Document {
pageContent: string, // The transcribed text
metadata: SonioxTranscriptResponse // Full transcript with metadata
}
The metadata includes transcribed text, speaker information (if diarization enabled), language information (if identification enabled), translation data (if translation enabled), and timing information.
FAQs
Soniox integration for LangChain.js
The npm package @soniox/langchain receives a total of 6 weekly downloads. As such, @soniox/langchain popularity was classified as not popular.
We found that @soniox/langchain demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
Socket found 37 malicious PyPI wheels that abuse Python startup hooks to launch a Bun-powered credential stealer tied to Mini Shai-Hulud/Miasma.

Security News
RubyGems and Bundler 4.0.13 introduced an opt-in cooldown feature that delays newly published gems during dependency resolution.

Security News
pnpm 11.5 now recognizes npm staged publish approvals in release metadata, preventing those releases from being mistaken for lower-trust package publishes.