NexaraNexara

Документация Nexara API

Быстрый старт

Напишите свой первый API запрос к 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)

Туториалы

Функционал

Полезные ссылки