🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more

@speechify/api-sdk

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@speechify/api-sdk

Official Speechify AI API SDK

2.5.4
latest
94

Supply Chain Security

100

Vulnerability

89

Quality

100

Maintenance

100

License

Version published
Weekly downloads
2.4K
-12.02%
Maintainers
7
Weekly downloads
 
Created

Speechify API Node.js SDK

⚠️ DEPRECATED: This repository and its SDK are now deprecated. Please use the new official @speechify/api package instead.

The new package provides a more streamlined experience with better TypeScript support and improved API integration. For a quick start guide and migration instructions, please refer to our changelog.

This is the official Node.js SDK for the Speechify API.

Read the SDK full reference here.

Read the REST API documentation here.

Installation

npm install @speechify/api-sdk

Usage

Server-Side Audio Generation

import { Speechify } from "@speechify/api-sdk";

const speechify = new Speechify({
	apiKey: "YOUR_API_KEY",
});

const text = "Hello, world!";
const response = await speechify.audioGenerate({
	input: text,
	voiceId: "george",
	audioFormat: "mp3",
});
const audio = response.audioData;

someStorage.saveFile("audio.mp3", audio);

Server-Side Auth Token Generation

import { Speechify } from "@speechify/api-sdk";

const speechify = new Speechify({
	apiKey: "YOUR_API_KEY",
});

webServer.post("/speechify-token", async (req, res) => {
	const user = req.user;
	if (!user) {
		res.status(401).send("Unauthorized");
		return;
	}
	const tokenResponse = await speechify.accessTokenIssue("audio:all");
	res.json(tokenResponse);
});

Client-Side Audio Generation

import { Speechify } from "@speechify/api-sdk";

const speechify = new Speechify();

authSystem.on("login", async () => {
	const res = await fetch("/speechify-token", {
		method: "POST",
	});
	const tokenResponse = await res.json();

	speechify.setAccessToken(tokenResponse.accessToken);
});

generateButton.addEventListener("click", async () => {
	const text = "Hello, world!";
	const response = await speechify.audioGenerate({
		input: text,
		voiceId: "george",
		audioFormat: "mp3",
	});
	const audio = response.audioData;

	const audioElement = new Audio();
	audioElement.src = URL.createObjectURL(
		new Blob([audio], { type: "audio/mpeg" }),
	);
	audioElement.play();
});

Client-Side Access Token Auto-Management

You can use the provided SpeechifyAccessTokenManager class to have the access token fully managed, including the auto-refresh before it expires.

import { Speechify, SpeechifyAccessTokenManager } from "@speechify/api-sdk";

const speechify = new Speechify();

const getToken = async () => {
	const res = await fetch("/speechify-token", {
		method: "POST",
	});
	return res.json();
};

const tokenManager = new SpeechifyAccessTokenManager(speechify, getToken, {
	isAuthenticated: authSystem.isAuthenticated,
});

authSystem.on("login", () => {
	tokenManager.setIsAuthenticated(true);
});

authSystem.on("logout", () => {
	tokenManager.setIsAuthenticated(false);
});

With this setup in place, you can use the speechify client without worrying about the access token management.

FAQs

Package last updated on 22 May 2025

Did you know?

Socket

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.

Install

Related posts