Документация Nexara API
from openai import OpenAI
client = OpenAI(
base_url="https://api.nexara.ru/v1/",
api_key="NEXARA_API_KEY",
)
with open("audio/example.mp3", "rb") as audio_file:
transcription = client.audio.transcriptions.create(
model="whisper-1",
file=audio_file
)
print(transcription)import requests
url = "https://api.nexara.ru/v1/audio/transcriptions"
api_key = "NEXARA_API_KEY" # Замените своим настоящим ключом
headers = {
"Authorization": f"Bearer {api_key}",
}
file_path = "audio/example.mp3"
with open(file_path, "rb") as audio_file:
files = {
"file": (file_path, audio_file, "audio/mp3"),
}
data = {
"response_format": "json",
# "task": "diarize" # если вы хотите выполнить диаризацию
}
response = requests.post(url, headers=headers, files=files, data=data)
transcription = response.json()
print(transcription)async function transcribeAudio(audioFile, apiKey) {
const url = "https://api.nexara.ru/v1/audio/transcriptions";
const formData = new FormData();
formData.append("file", audioFile);
try {
const response = await fetch(url, {
method: "POST",
headers: {
Authorization: `Bearer ${apiKey}`,
},
body: formData,
});
const transcription = await response.json();
return transcription;
} catch (error) {
console.error("Ошибка транскрибации:", error);
throw error;
}
}
document
.getElementById("fileInput")
.addEventListener("change", async (event) => {
const apiKey = "NEXARA_API_KEY";
const audioFile = event.target.files[0];
try {
const result = await transcribeAudio(audioFile, apiKey);
console.log(result);
} catch (error) {
console.error("Ошибка обработки аудио:", error);
}
});curl --request POST \
--url https://api.nexara.ru/v1/audio/transcriptions \
--header 'Authorization: Bearer NEXARA_API_KEY' \
--header 'Content-Type: multipart/form-data' \
--form response_format="verbose_json" \
--form file="@example.mp3"package main
import (
"bytes"
"fmt"
"io"
"mime/multipart"
"net/http"
"os"
)
func main() {
file, _ := os.Open("audio/example.mp3")
defer file.Close()
var buf bytes.Buffer
writer := multipart.NewWriter(&buf)
part, _ := writer.CreateFormFile("file", "example.mp3")
io.Copy(part, file)
writer.WriteField("model", "whisper-1")
writer.Close()
req, _ := http.NewRequest("POST", "https://api.nexara.ru/v1/audio/transcriptions", &buf)
req.Header.Set("Authorization", "Bearer NEXARA_API_KEY")
req.Header.Set("Content-Type", writer.FormDataContentType())
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}require "net/http"
require "uri"
require "json"
uri = URI("https://api.nexara.ru/v1/audio/transcriptions")
request = Net::HTTP::Post.new(uri)
request["Authorization"] = "Bearer NEXARA_API_KEY"
request.set_form(
[
["file", File.open("audio/example.mp3")],
["model", "whisper-1"],
],
"multipart/form-data",
)
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
http.request(request)
end
puts JSON.parse(response.body)