Saltar al contenido principal

cosyvoice2-0.5b — Guía de integración

Usa el ID exacto de esta página en model. Solo las interfaces de la tabla forman parte de la integración documentada para este modelo.

model: cosyvoice2-0.5b

Modelos e interfaces​

Interfaces compatiblesHTTP
audio.speechPOST /v1/audio/speech

Preparación y autenticación​

Los ejemplos leen ZAI_API_KEY del entorno. Python usa solo la biblioteca estándar, sin SDK. Guarda la clave en el servidor, nunca en código del navegador. Las solicitudes pueden generar cargos; los ejemplos producen resultados pequeños.

export ZAI_API_KEY="<your-api-key>"

Parámetros y límites​

Estas configuraciones son solicitudes mínimas para esta plataforma, no una lista exhaustiva ni límites máximos. Los parámetros avanzados omitidos no se han verificado aquí. No copies los límites de otro proveedor o modelo.

input contiene el texto. Usa la voz completa FunAudioLLM/CosyVoice2-0.5B:alex y response_format=mp3. La respuesta es audio binario, no JSON. Solo esta voz y formato están verificados; no se garantizan otras voces, velocidades ni longitud máxima del texto.

Ejemplo completo​

import json
import os
import urllib.error
import urllib.request

BASE = "https://api.ourzai.com/v1"
KEY = os.environ["ZAI_API_KEY"]


def call(path, body=None, timeout=180):
headers = {"Authorization": f"Bearer {KEY}"}
data = None
if body is not None:
headers["Content-Type"] = "application/json"
data = json.dumps(body).encode("utf-8")
request = urllib.request.Request(BASE + path, data=data, headers=headers)
try:
with urllib.request.urlopen(request, timeout=timeout) as response:
return response.read()
except urllib.error.HTTPError as error:
raise RuntimeError(f"HTTP {error.code}: {error.read().decode(errors='replace')}") from error


from pathlib import Path

audio = call(
"/audio/speech",
{
"model": "cosyvoice2-0.5b",
"input": "Hello. This is a speech test.",
"voice": "FunAudioLLM/CosyVoice2-0.5B:alex",
"response_format": "mp3",
},
)
Path("speech.mp3").write_bytes(audio)

Resultados y errores​

Guarda la respuesta correcta como MP3. Incluso un texto corto puede tardar; los 180 segundos de espera del cliente no garantizan latencia. Lee los errores no-2xx en vez de guardar JSON de error como audio.

Este catálogo describe la integración, no la disponibilidad en tiempo real. GET /v1/models muestra los modelos accesibles con tu clave; consulta precios en la consola. Un modelo listado puede devolver 502/503 durante fallos o periodos de espera. Reintenta con espera progresiva.