Voz
Convierte texto en audio hablado.
Los modelos de voz usan la API de voz de OpenAI, así que
audio.speech.create funciona en cualquier SDK de OpenAI con la misma URL
base y clave que el texto. La respuesta es el propio archivo de
audio.
import { writeFile } from "node:fs/promises"
import OpenAI from "openai"
const ai = new OpenAI({
apiKey: process.env.UPSKY_API_KEY,
baseURL: "https://api.upsky.dev/v1/ai",
})
const speech = await ai.audio.speech.create({
model: "openai/tts-1",
voice: "alloy",
input: "Tu pedido salió esta mañana.",
})
await writeFile("voz.mp3", Buffer.from(await speech.arrayBuffer()))Obtén los modelos de voz en el
endpoint de modelos con ?type=speech.
Opciones
input: el texto que se leerá, hasta 5000 caracteres.voice: cada proveedor tiene sus propias voces, comoalloyen OpenAI o un ID de voz en ElevenLabs. Sin este campo, el modelo usa la suya predeterminada.response_format:mp3,opus,aac,flac,wavopcm. Un modelo que no puede generar el formato que pides responde en el suyo, así que revisa el encabezadoContent-Type.instructions: cómo debe hablar, por ejemplo el tono o el ritmo, en los modelos que lo admiten.speed: de 0.25 a 4, en los modelos que lo admiten.language: el idioma del texto, comoes, cuando el modelo lo necesita.
Upsky no guarda el texto ni el audio.
Cuánto cuesta
La voz se cobra por carácter de input, al precio que el endpoint de modelos
indica en pricing.characters, por millón de caracteres. El precio se conoce
antes de la solicitud, así que se cobra exactamente eso.
El encabezado Upsky-Cost de la respuesta indica lo que costó, en dólares
estadounidenses, y Upsky-Characters cuántos caracteres se cobraron.
Todavía no se ofrecen la música, los efectos de sonido ni las voces que se cobran por segundo de audio.
Claves de prueba
Una clave de prueba recibe un segundo de silencio, en WAV, sin importar el formato que pidas. Nunca llama a un modelo y nunca se cobra.