გადადით შინაარსზე
დაბრუნება Nymbot

ცოდნის ბაზა განვითარებლები

სურათები, აუდიო და embeddings

პროგრამის გენერატორები და ძირითადი ბლოკები კვლევისთვის: სურათები, ვიდეო, სიტყვა, გადაცემა და შეფუთვა, თითოეული შეტვირთულია თქვენი ბალანსი.

სურათების წარმოება

დასაწყისში დასაწყისში დასაწყისში დასაწყისში დასაწყისში დასაწყისში დასაწყისში დასაწყისში ?image ამ app.

POST https://nymbot.ai/api/v1/images/generations — საჭიროა API key, ან Lightning გადახდის მოთხოვნით.

IDS მოდის GET /api/v1/models?type=imageსტანდარტული გენერატორი @cf/black-forest-labs/flux-1-schnell, ღირებულება ფართო 5 სტანდარტული კრედიტები (50 sats) სურათი. თითოეული სხვა გენერატორი იღებს Pro კრედიტები საკუთარი ფასი, როგორც ჩვეულებრივი ფასი და მარჯვენა, როგორც ეს app. n ფასი სურათები n ერთი ფართობი, რომელიც გენერატორი არ იღებს, ნაცვლად არ იღებს; სტანდარტული გენერატორი გამოიყენებს მხოლოდ შეტყობინება.

ფართობიტიპიმოთხოვნააღწერა
modelStringდიახGenerator ID, როგორიცაა nano-banana.
promptStringდიახრა უნდა წაიკითხოთ? მხოლოდ პირველი 2000 სიმბოლოები გამოიყენება.
nინტეგრიარ1 to 4. default 1. ასევე მიიღო როგორც num_images.
sizeStringარასაკი, როგორიცაა "16:9"ან ზომა, როგორიცაა "1792x1024", რომელიც არის ყველაზე ახლოს 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 21:9, 5:4 და 4:5. "auto" დატოვეთ ეს გენერატორიში.
aspect_ratioStringარიგივე როგორც sizeდა იღებს, თუ ორივე გამოგზავნილია.
qualityStringარგენერატორები, როგორიცაა "low", "medium" ან "high".
negative_promptStringარრა უნდა დატოვე.
output_formatStringარ"png", "jpeg" ან "webp".
response_formatStringარ"url" (სამთავრობო დასაწყისში) ან "b64_json".
image_urlStringარსურათი, რომ დაიწყოს: a https:// ბმულები, რომელიც შეიცავს 4096 სიმბოლოს და არ შეიცავს მომხმარებლის სახელი ან password. data:image/…;base64 URL (PNG, JPEG, WebP ან GIF; არ არის SVG). მხოლოდ გენერატორებისთვის editმათთვის, ვინც მოითხოვს requires_image_url.

resolution არ გამოიყენება: თითოეული გენერატორი აწარმოებს საკუთარი ზომა. url, თითოეულ სურათს ატვირთულია საზოგადოებრივი Blossom სასტუმროში და თქვენ მიიღებთ მისი ბმულები (კუნძულ გენერატორები მხოლოდ გადაცემა საკუთარი ბმულები, რომლებიც გადაცემა). ვინმეს აქვს ბმულები, შეუძლიათ იწყოს და არ შეუძლიათ გადაცემა; იხილეთ რა ხედავთ APIერთად b64_json ეს სურათი პასუხის დროს დაბრუნდება და არასოდეს ატვირთულია. სურათი, რომელიც გამოგზავნილია როგორც data: URL და image_url შეამოწმეთ იგივე გზა, როგორც EDIT და დატვირთულია Blossom პირველი, ასე რომ გენერატორი შეუძლია მიიღოს იგი; იგი დაიბრუნება კიდევ ერთხელ, თუ მოთხოვნა არ არის გადაიხადოს.

თუ ზოგიერთი n სურათები არ გაქვთ, თქვენ მიიღებთ მათ, რომ მუშაობს, იღებს მხოლოდ მათთვის (დაწვრილებით ნებისმიერი მომწოდებელი ფულადი, მიუხედავად იმისა, რომ არ გაქვთ), და nymbot.failed იმიტომ, რომ ყველა მოთხოვნები არ შეიცვალა. თუ ყველა მოთხოვნები არ შეიცვალა, მოთხოვნები შეიცვალა. 502.

პასუხი

{
  "created": 1790726400,
  "model": "nano-banana",
  "cost": 0.2126,
  "data": [
    {
      "url": "https://blossom.example/5c0e4b7d3a91f2e8...c4.png",
      "content_type": "image/png"
    }
  ],
  "nymbot": { "balance": "pro", "charged_credits": 1.817, "charged_sats": 181.7, "balance_credits": 410.608, "balance_sats": 41060.8 }
}
სტატუსიროდესაც
400არ არის სწრაფი; n 1 და 4 (invalid_value(სამოვნო ზომა არ არის)invalid_size) ან სურათი (invalid_image, invalid_image_url); მოდელი, რომელიც არსებობს, მაგრამ არ არის სურათის გენერატორი (invalid_model); სურათის გენერატორი, რომელიც არ შეუძლია რედაქტირება (edit_unsupported); არ არის სურათი ერთი, რომელიც საჭიროა (image_required).
402ბალანსი არ შეუძლია მოითხოვოს ყველა სურათი.
404არ არის მოდელი ამ სახელით (model_not_found).
502არ არის გაქცევა (upstream_errorარაფერი არ არის გადაიხადული, თუ მომწოდებელი არ გადაიხადოს ცდილობს; მაშინ შეცდომა აქვს charged_sats.
503სურათები ახლა არ შეიძლება ჰოსტინირება (media_hosting_unavailable). b64_json Still მუშაობა

cURL

curl https://nymbot.ai/api/v1/images/generations \
  -H "Authorization: Bearer $NYMBOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "nano-banana",
    "prompt": "A lighthouse at dusk, oil painting",
    "size": "16:9"
  }'

Python

import os
import requests

res = requests.post(
    "https://nymbot.ai/api/v1/images/generations",
    headers={"Authorization": "Bearer " + os.environ["NYMBOT_API_KEY"]},
    json={"model": "nano-banana", "prompt": "A lighthouse at dusk, oil painting", "size": "16:9"},
)
res.raise_for_status()
print(res.json()["data"][0]["url"])

JavaScript

const res = await fetch("https://nymbot.ai/api/v1/images/generations", {
  method: "POST",
  headers: {
    "Authorization": "Bearer " + process.env.NYMBOT_API_KEY,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({ model: "nano-banana", prompt: "A lighthouse at dusk, oil painting", size: "16:9" }),
});
const body = await res.json();
console.log(body.data[0].url);

სურათები

ეს არის OpenAI- ის რედაქტირების Endpoint, ასე რომ OpenAI SDK- ს images.edit მუშაობს როგორც არის. მხოლოდ Pro გენერატორები ერთად edit მოდელი სიაში მიიღეთ ეს.

POST https://nymbot.ai/api/v1/images/edits — საჭიროა API key, ან Lightning გადახდის მოთხოვნითსხეულის არის multipart/form-dataდაახლოებით 32 MB.

ფართობიტიპიმოთხოვნააღწერა
imageფაილიდიახსურათები: PNG, JPEG, WebP ან GIF, მდე 20 MB. ასევე მიიღო როგორც image[]პირველი არის გამოიყენება.
promptStringდიახრა უნდა შეცვალოს.
modelStringდიახგენერატორი ერთად edit.
nინტეგრიარ1 და 4.
size
aspect_ratio
quality
negative_prompt
output_format
Stringარრა თქმა უნდა Generation.
response_formatStringარ"b64_json" (შესაბათს დასაწყისში) ან "url".

იმიტომ, რომ სურათი, რომელიც თქვენ ჩამოტვირთეთ, შეამოწმებულია, რომ ეს არის კარგი ფორმირებული PNG, JPEG, WebP ან GIF, გამოგზავნილია როგორც მისი რეალური ტიპი, და ატვირთულია საზოგადოებრივი Blossom სასტუმროზე, რადგან გენერატორები იღებენ მათი შეტყობინება ბმულებით. მკურნალობა, როგორც საზოგადოებრივი. თუ რედაქტირება არ გაქვთ და არაფერი არ არის დატვირთული, სასტუმრო კაპია გადაიხადება. პასუხი აქვს იგივე ფორმა, როგორც გენერატორი. ფასი არის გენერატორი ფასი, რომელიც ზოგიერთი გენერატორებისთვის მოიცავს შეფასებას ინტვირთული სურათი.

პასუხი

{
  "created": 1790726460,
  "model": "nano-banana",
  "cost": 0.2126,
  "data": [{ "b64_json": "iVBORw0KGgoAAAANSUhEUgAA..." }],
  "nymbot": { "balance": "pro", "charged_credits": 1.817, "charged_sats": 181.7, "balance_credits": 408.791, "balance_sats": 40879.1 }
}
სტატუსიროდესაც
400არ არის სურათი, არ არის სურათი, არ არის ფაილი (invalid_image), ან გენერატორი, რომელიც არ შეუძლია edit (edit_unsupported).
413სურათი მეტი 20 MB (file_too_large), ან მთელი მოთხოვნა მეტი 32 MB.
503ამჟამად არ არის შესაძლებელი ამჟამად (media_hosting_unavailable).

cURL

curl https://nymbot.ai/api/v1/images/edits \
  -H "Authorization: Bearer $NYMBOT_API_KEY" \
  -F model=nano-banana \
  -F [email protected] \
  -F prompt="Make it a snowy evening"

Python

import base64, os
from openai import OpenAI

client = OpenAI(base_url="https://nymbot.ai/api/v1", api_key=os.environ["NYMBOT_API_KEY"])

with open("photo.png", "rb") as f:
    result = client.images.edit(model="nano-banana", image=f, prompt="Make it a snowy evening")

with open("edited.png", "wb") as out:
    out.write(base64.b64decode(result.data[0].b64_json))

JavaScript

import fs from "node:fs";
import { writeFile } from "node:fs/promises";
import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://nymbot.ai/api/v1", apiKey: process.env.NYMBOT_API_KEY });

const result = await client.images.edit({
  model: "nano-banana",
  image: fs.createReadStream("photo.png"),
  prompt: "Make it a snowy evening",
});
await writeFile("edited.png", Buffer.from(result.data[0].b64_json, "base64"));

ვიდეო

ვიდეო იღებს რამდენიმე წუთს, ასე რომ იგი იღებს ფართობი. თქვენ გადაცემთ იგი, მიიღეთ ID ახლა, და მოითხოვს ID, სანამ ეს დასრულდება. თითოეული ვიდეო გენერატორი გადაიხადოს Pro ბალანსი.

POST https://nymbot.ai/api/v1/videos — საჭიროა API key, ან Lightning გადახდის მოთხოვნითდაბრუნება 202.

ფართობიტიპიმოთხოვნააღწერა
modelStringდიახვიდეო გენერატორი ID GET /api/v1/models?type=videoროგორიცაა veo.
promptStringდიახრა უნდა მოხდეს.
durationნომერი ან stringარსიგრძე წამში, უფრო მეტი, ვიდრე 0 და მდე 60. გამოიყენება მხოლოდ გენერატორები, რომელიც საშუალებას გაძლევთ აირჩიოთ სიგრძე; სხვა გააკეთოს მათი ჩვეულებრივი სიგრძე, რაც seconds პასუხისმგებლობა და ფასი შემდეგი.
aspect_ratioStringარროგორც "16:9" ან "9:16"ზომა, როგორც "1280x720" იღებს უახლოესი რაოდენობა.
resolution
quality
Stringარერთი გენერატორი resolutions მოდელი სია, როგორიცაა "720p" ან "1080p"ეს არის ფასი. ყველა სხვა არ არის დაეხმარება unsupported_resolution.
image_urlStringარსურათი, რომ დაიწყოს: a https:// კონტაქტი ან a data:image/… URL, რომელიც პირველ რიგში გატვირთულია საზოგადოებრივი Blossom სასტუმროში. მოითხოვს გენერატორები ერთად requires_image_url.

ფასი მუდმივი, როდესაც თქვენ გადაცემა, გენერატორი, რეზოლუცია და სიგრძე, ასე რომ იგი იღებს თქვენი პროფესიული ბალანსი, როდესაც მომწოდებელი მიიღებს სამუშაო, და აჩვენებს, როგორც cost, estimated_cost და nymbotთუ მომსახურების მომსახურების მომსახურების მომსახურების მომსახურების მომსახურების მომსახურების მომსახურების მომსახურების მომსახურების მომსახურების მომსახურების მომსახურების მომსახურების მომსახურების მომსახურების მომსახურების მომსახურების მომსახურების მომსახურების მომსახურების მომსახურების მომსახურების მომსახურების მომსახურების მომსახურების მომსახურების მომსახურების მომსახურების მომსახურების მომსახურების მომსახურების მომსახურების მომსახურების მომსახურების მომსახურების მომსახურების მომსახურების მომსახურების მომსახურების მომსახურების მომსახურების მომსახურების მომსახურების მომსახურების მომსახურების მომსახურების მომსახურების მომსახურების მომსახურების მომსახურების მომსახურების მომსახურების მომსახურების მომსახურების მომსახურების მომსახურების მომსახურების მომსახურების მომსახურების მომსახურების მომსახურების მომსახურების მომსახურების მომსახურების მომსახურ

კონტაქტი (202)

{
  "id": "vid_3e9a51c07b2f4d86e0a1c4f2",
  "object": "video",
  "model": "veo",
  "status": "in_progress",
  "created": 1790726400,
  "seconds": 8,
  "resolution": "1080p",
  "estimated_cost": 3.18,
  "expires_at": 1790812800,
  "cost": 3.18,
  "nymbot": { "balance": "pro", "charged_credits": 31.8, "charged_sats": 3180, "balance_credits": 378.808, "balance_sats": 37880.8 }
}

status დაწყება როგორც in_progressან completed ამ ვიდეოში, რომელიც უკვე data მას შემდეგ, რაც გენერატორი გადაიხადოს.

შეამოწმეთ ვიდეოში

GET https://nymbot.ai/api/v1/videos/{id} - საჭიროა კლიენტს, რომელიც მოიცავს იგი. კლიენტს, რომელიც შეხვდა მისი კაბა, ჯერ კიდევ შეუძლიათ შეამოწმოს.

ეს პასუხი 202 ამავე დროს ვიდეოს და 200 მას შემდეგ, რაც ეს დასრულდა ან არ შეჩერდა. მოითხოვს ყოველ 5 - 10 წამში. თითოეული შეამოწმება მოითხოვს მომწოდებელს ერთხელ და პასუხი ერთხელ; ეს არასდროს არ მოითხოვს ვიდეო. სამუშაო გაგრძელდება 24 საათის განმავლობაში მას შემდეგ, რაც იგი გამოქვეყნდა. GET /api/v1/videos დასაწყისში დასაწყისში დასაწყისში დასაწყისში დასაწყისში {"object": "list", "data": […]}.

შეტყობინებები (200)

{
  "id": "vid_3e9a51c07b2f4d86e0a1c4f2",
  "object": "video",
  "model": "veo",
  "status": "completed",
  "created": 1790726400,
  "seconds": 8,
  "resolution": "1080p",
  "estimated_cost": 3.18,
  "expires_at": 1790812800,
  "completed_at": 1790726590,
  "data": { "url": "https://blossom.example/9b41d0c2e7a3f658...1e.mp4", "content_type": "video/mp4" },
  "cost": 3.18,
  "nymbot": { "balance": "pro", "charged_credits": 31.8, "charged_sats": 3180 }
}

status ეს in_progress, completed ან failed• ცუდი მუშაობა შეიცავს error ({"code": "generation_failed", "message": …}• თუ გადაიხადეთ, cost 0 და nymbot დამატება refunded_credits და refunded_satsდასრულებული ვიდეო არის საზოგადოებრივი Blossom სასტუმროში, როგორიცაა გენერირებული სურათები.

სტატუსიროდესაც
4000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0invalid_value); რეზოლუცია, რომელიც გენერატორი არ გთავაზობთ (unsupported_resolution); არ არსებობს სურათი გენერატორი, რომელიც საჭიროა ერთი (image_required); მოდელი, რომელიც არ არის ვიდეო გენერატორი (invalid_model).
402Pro ბალანსი ვერ შეიცავს ვიდეო.
404არ არის ასეთი გენერატორი (model_not_found), ან არ არის მუშაობა, რომ ID თქვენი nimm, ან ეს არის მეტი 24 საათის წინ (video_not_found).
429Your nym უკვე აქვს 10 ვიდეო rendering (video_jobs_limitშეამოწმეთ მათ და გადაცემა კიდევ ერთხელ ერთი დასრულდა.
502გენერატორი გაქირავდა მუშაობა. არაფერი არ გადაიხადოს, თუ მომწოდებელი არ გადაიხადოს.
503ამჟამად არ არის შესაძლებელი ვიდეო გადაცემა ან შენახვა (media_hosting_unavailable, service_unavailable).

cURL

curl https://nymbot.ai/api/v1/videos \
  -H "Authorization: Bearer $NYMBOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "veo", "prompt": "Waves rolling onto a beach at sunrise", "duration": 8, "aspect_ratio": "16:9"}'

curl https://nymbot.ai/api/v1/videos/vid_3e9a51c07b2f4d86 \
  -H "Authorization: Bearer $NYMBOT_API_KEY"

Python

import os, time
import requests

headers = {"Authorization": "Bearer " + os.environ["NYMBOT_API_KEY"]}

job = requests.post(
    "https://nymbot.ai/api/v1/videos",
    headers=headers,
    json={"model": "veo", "prompt": "Waves rolling onto a beach at sunrise", "duration": 8, "aspect_ratio": "16:9"},
).json()

while True:
    time.sleep(8)
    status = requests.get("https://nymbot.ai/api/v1/videos/" + job["id"], headers=headers).json()
    if status["status"] in ("completed", "failed"):
        break

print(status["data"]["url"] if status["status"] == "completed" else status["error"])

JavaScript

const headers = {
  "Authorization": "Bearer " + process.env.NYMBOT_API_KEY,
  "Content-Type": "application/json",
};

const job = await (await fetch("https://nymbot.ai/api/v1/videos", {
  method: "POST",
  headers,
  body: JSON.stringify({ model: "veo", prompt: "Waves rolling onto a beach at sunrise", duration: 8, aspect_ratio: "16:9" }),
})).json();

let status;
do {
  await new Promise((r) => setTimeout(r, 8000));
  status = await (await fetch("https://nymbot.ai/api/v1/videos/" + job.id, { headers })).json();
} while (status.status !== "completed" && status.status !== "failed");

console.log(status.status === "completed" ? status.data.url : status.error);

ტექსტი წაიკითხე

წაიკითხა ტექსტი და გადაიხადოს აუდიო ფაილი, არა ბმული. ეს არის OpenAI- ის საუბარი Endpoint, ასე რომ audio.speech.create OpenAI SDKs მუშაობს.

POST https://nymbot.ai/api/v1/audio/speech — საჭიროა API key, ან Lightning გადახდის მოთხოვნით.

ფართობიტიპიმოთხოვნააღწერა
modelStringარგამოქვეყნების მოდელი Audio მოდელი სიაStandard Voice - სტანდარტული ხმა @cf/myshell-ai/melotts. aura-2 Deepgram Aura 2 მოწყობილობა.
inputStringდიახტექსტი, რომელიც უნდა წაიკითხოთ: მაქსიმალურად 800 სიტყვები სტანდარტული ხმა, 2,000 Aura 2.
voiceStringარVoice ID- ს ხაზების სია: Aura speaker, როგორიცაა luna (და aura-2-luna-en), ან MeloTTS ენის (en, es, fr, zhOpenAI ხმა სახელები, როგორიცაა alloy მოდელი მოდელი მოდელი მოდელი მოდელი მოდელი მოდელი.
languageStringარენის კოდი, როგორიცაა esარ არის ხმა, იგი აირჩიოს ერთი ამ ენაზე. ხმა, რომელიც გაიგებს სხვა ენაზე მოგცემთ 422 voice_language_mismatch, და ენა, რომელიც მოდელი არ აქვს ხმა 422 unsupported_language.
response_formatStringარსტანდარტული ხმა დაბრუნება mp3 Aura 2 დასაწყისში mp3 (სამთავრობო სიჩქარე) opus, aac, flac, wav ან pcm.
speedნომერიარაღიარებული და არ აღიარებული.

სტანდარტული ღონისძიება ღირს ფართო 3 სტანდარტული კრედიტები (30 sats) მოთხოვნა, როგორც app. Aura 2 არის Pro, ფასდაკლება სიტყვები თქვენ გადაცემა. პასუხი სხეულის არის აუდიო, ერთად შეესაბამება Content-Type• ღირებულება არის X-Nymbot-Cost-Sats თუ გზა მოდელი არ შეუწყობს, არაფერი არ არის გადახდის.

პასუხი

HTTP/1.1 200 OK
Content-Type: audio/mpeg
X-Nymbot-Cost-Sats: 4.2
X-Nymbot-Balance-Sats: 41055.6

(audio bytes)
სტატუსიროდესაც
400არ არის ინტენსიური; ინტენსიური შეზღუდვა მოდელი (input_too_long); ფორმატი, რომელიც მოდელი არ შეუძლია შექმნას (unsupported_response_format); უარყოფითი ხმა (invalid_voice); მოდელი, რომელიც არ არის ენის მოდელი (invalid_model).
422ხმა არ განიხილავს მონაცემული ენაზე, ან მოდელი არ აქვს ხმა.
502არავინ არავინ არავინ არავინ არავინ არავინ არავინ არავინ.

cURL

curl https://nymbot.ai/api/v1/audio/speech \
  -H "Authorization: Bearer $NYMBOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "aura-2", "voice": "luna", "input": "Your invoice has been paid."}' \
  --output speech.mp3

Python

import os
from openai import OpenAI

client = OpenAI(base_url="https://nymbot.ai/api/v1", api_key=os.environ["NYMBOT_API_KEY"])

audio = client.audio.speech.create(
    model="aura-2",
    voice="luna",
    input="Your invoice has been paid.",
)
audio.write_to_file("speech.mp3")

JavaScript

import { writeFile } from "node:fs/promises";
import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://nymbot.ai/api/v1", apiKey: process.env.NYMBOT_API_KEY });

const audio = await client.audio.speech.create({
  model: "aura-2",
  voice: "luna",
  input: "Your invoice has been paid.",
});
await writeFile("speech.mp3", Buffer.from(await audio.arrayBuffer()));

აუდიო მოდელები და ხმები

ორი საზოგადოებრივი სია, რათა აირჩიოთ სიტყვის მოდელი და ხმა, ან ნიმუშის ნიმუშები. არსებობს 41 Aura 2 ინგლისური და ოთხი MeloTTS ენები.

GET https://nymbot.ai/api/v1/audio/models არ არის აუცილებელი KEY.

GET https://nymbot.ai/api/v1/audio/voices?language=en არ არის აუცილებელი KEY.

ფართობიტიპიმოთხოვნააღწერა
languageString – კითხვებიარმხოლოდ ხმები ამ ენაზე.
modelString – კითხვებიარმხოლოდ ხმები ამ მოდელისთვის.

რეაგირება (სუბერები)

{
  "object": "list",
  "data": [
    { "id": "luna", "name": "Luna", "provider": "deepgram", "model_id": "aura-2", "models": ["aura-2"], "language": "en", "description": "Aura 2 English voice", "gender": "female", "preview_url": null },
    { "id": "en", "name": "MeloTTS English", "provider": "myshell", "model_id": "@cf/myshell-ai/melotts", "models": ["@cf/myshell-ai/melotts", "melotts"], "language": "en", "description": "English (MeloTTS)", "gender": null, "preview_url": null }
  ]
}

მოდელი სია პასუხები {"object": "list", "data": {"tts": […], "stt": […]}}თითოეული გაცნობის მოდელი გთავაზობთ მისი ბალანსი, ფასი, max_input_chars, response_formats, languages და default_voice; მოდელი გადამცემა მისი ნიმუშები, max_file_bytes, max_seconds, ფორმატები და ფასები წუთში.

cURL

curl https://nymbot.ai/api/v1/audio/models
curl "https://nymbot.ai/api/v1/audio/voices?language=en"

Python

import requests

print(requests.get("https://nymbot.ai/api/v1/audio/models").json())
for voice in requests.get("https://nymbot.ai/api/v1/audio/voices", params={"language": "en"}).json()["data"]:
    print(voice["id"], voice["model_id"])

JavaScript

console.log(await (await fetch("https://nymbot.ai/api/v1/audio/models")).json());
const voices = await (await fetch("https://nymbot.ai/api/v1/audio/voices?language=en")).json();
for (const v of voices.data) console.log(v.id, v.model_id);

ტექსტი

ეს არის OpenAI- ის transcription Endpoint, ასე რომ audio.transcriptions.create მუშაობა

POST https://nymbot.ai/api/v1/audio/transcriptions — საჭიროა API key, ან Lightning გადახდის მოთხოვნითსხეულის არის multipart/form-data.

ფართობიტიპიმოთხოვნააღწერა
fileფაილიდიახშეტყობინება, 256 ბეტის 25 MB და 30 წუთი: WAV, WebM, MP4 ან M4A, Ogg ან Opus, MP3 და სხვა ფორმატების Whisper წაიკითხა. MP3 და სხვა ფორმატები, რომელთა სიგრძე არ შეიძლება წაიკითხოთ წინასწარ შეზღუდულია 1.8 MB.
modelStringარდისკები whisperეს არის Whisper Large v3 Turbo. whisper-1, whisper-large-v3-turbo და @cf/openai/whisper-large-v3-turbo იგივე იმას ნიშნავს.
languageStringარგანიხილული ენები, როგორიცაა enშეამოწმოთ თუ არ გაქვთ.
promptStringარWords or spellings to expect, როგორიცაა სახელიები. მხოლოდ პირველი 1000 სიტყვები გამოიყენება.
response_formatStringარjson (სამთავრობო სიჩქარე) text, srt, vtt ან verbose_json.

WAV, WebM, MP4 და Ogg ფაილი სიგრძე წაიკითხა ფაილი, სანამ არაფერი იღებს, ასე რომ შეტყობინება მეტი 30 წუთის წინასწარ (ს 3 წამში). WAV ფაილი სიგრძე იღებს მისი ნიმუში სიჩქარე, კანელები და ნიმუში ზომა. სიგრძე სხვა ფორმატების, როგორიცაა MP3, არ შეიძლება წაიკითხოთ წინასწარ, ასე რომ ისინი შეზღუდულია ზომა: მინიმუმ ვიბოტი მიუთითებს, 8 kbps, 30 წუთში არის 1.8 MB, და უფრო დიდი ფაილი ასეთი ფორმატში არ იღებს 413 audio_too_long გაგზავნა ხანგრძლივი შეტყობინებები, როგორიცაა WAV, WebM, MP4 ან Ogg. თუ Whisper შემდეგ შეტყობინება მეტი 30 წუთი, მოთხოვნა არ არის დაეხმარება 413 audio_too_longდა მას შემდეგ, რაც Whisper გაკეთდა, 30 წუთი დატვირთულია.

You pay for the length of the audio, rounded up to the second: the longest of the length read from the file, the length of the Whisper reports, and the least the file's size allows, at Whisper's per-minute price with the usual fee and margin, and at least 0.05 credit a request. It is paid from the standard balance when that can cover the hold, and from Pro otherwise; 402 იმიტომ, რომ კითხვებს არ უნდა გაიგოთ, თუ როგორ უნდა გაიგოთ, თუ როგორ უნდა გაიგოთ, თუ როგორ უნდა გაიგოთ, თუ როგორ უნდა გაიგოთ.

პასუხი

{
  "text": "Your invoice has been paid.",
  "usage": { "type": "duration", "seconds": 3 },
  "nymbot": { "balance": "standard", "charged_credits": 0.05, "charged_sats": 0.5, "balance_credits": 120.35, "balance_sats": 1203.5 }
}

text გადაიხადეთ მარტივი ტექსტი, srt და vtt გაგზავნა Subtitles, და verbose_json იმიტომ, რომ გზა, ხანგრძლივობა და დროული სექციები. სამი, რომელიც არ არის JSON, ღირებულება არის საღებავი.

სტატუსიროდესაც
400არ არის ფაილი, ფაილი, რომელიც არ არის გამოყენებული აუდიო (invalid_audio), არ არის ცნობილი ფორმატში, ან მოდელი, რომელიც არ არის transcription მოდელი (invalid_model).
402არ შეუძლიათ დააკმაყოფილოს ეს ბალანსი.
413ფაილი უფრო მეტია, ვიდრე 25 MB (file_too_large) ან ნომერი უფრო მეტია, ვიდრე 30 წუთი, ან, ფორმატში, რომელიც სიგრძე არ შეიძლება დააიკითხოთ front-end, უფრო მეტია, ვიდრე 1.8 MB (audio_too_long).
502არ შეუძლიათ შეუშავოთ აუდიო. არაფერი არ არის გადახდის.

cURL

curl https://nymbot.ai/api/v1/audio/transcriptions \
  -H "Authorization: Bearer $NYMBOT_API_KEY" \
  -F [email protected] \
  -F model=whisper \
  -F response_format=json

Python

import os
from openai import OpenAI

client = OpenAI(base_url="https://nymbot.ai/api/v1", api_key=os.environ["NYMBOT_API_KEY"])

with open("memo.m4a", "rb") as f:
    transcript = client.audio.transcriptions.create(model="whisper", file=f)
print(transcript.text)

JavaScript

import fs from "node:fs";
import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://nymbot.ai/api/v1", apiKey: process.env.NYMBOT_API_KEY });

const transcript = await client.audio.transcriptions.create({
  model: "whisper",
  file: fs.createReadStream("memo.m4a"),
});
console.log(transcript.text);

გაცნობა English

POST https://nymbot.ai/api/v1/audio/translations — საჭიროა API key, ან Lightning გადახდის მოთხოვნითსხეულის არის multipart/form-data.

იგივე, როგორც transkription, ერთად იგივე ფართობი გარდა language, ლიმიტები და ფასები, მაგრამ ტექსტი დაბრუნდება ინგლისურში, ნებისმიერ ენაზე ისუბნება. OpenAI SDKs აცხადებს, რომ ეს არის audio.translations.create.

cURL

curl https://nymbot.ai/api/v1/audio/translations \
  -H "Authorization: Bearer $NYMBOT_API_KEY" \
  -F [email protected] \
  -F model=whisper

Python

import os
from openai import OpenAI

client = OpenAI(base_url="https://nymbot.ai/api/v1", api_key=os.environ["NYMBOT_API_KEY"])

with open("nota.m4a", "rb") as f:
    translation = client.audio.translations.create(model="whisper", file=f)
print(translation.text)

JavaScript

import fs from "node:fs";
import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://nymbot.ai/api/v1", apiKey: process.env.NYMBOT_API_KEY });

const translation = await client.audio.translations.create({
  model: "whisper",
  file: fs.createReadStream("nota.m4a"),
});
console.log(translation.text);

შეფუთვა

ტექსტი გადაიხადოს ვიქტორები ეძებს, clustering და deduplication. მოდელები გამოიყენება Cloudflare და გადაიხადოს სტანდარტული ბალანსი.

POST https://nymbot.ai/api/v1/embeddings — საჭიროა API key, ან Lightning გადახდის მოთხოვნით.

ფართობიტიპიმოთხოვნააღწერა
modelStringდიახInbound მოდელი GET /api/v1/models?type=embedding.
inputString ან Array of Strings- ის გამოყენებადიახტექსტი, რომელიც შეიცავს, მდე 100 ნაქსოვი ნაქსოვი ნაქსოვი ნაქსოვი. ტაქსოვი ნაქსოვი (token_input_unsupported) თითოეული შეტყობინება უნდა შეესაბამება მოდელი context_lengthდაახლოებით 4 ბეტზე შედარებით.
encoding_formatStringარfloat (სამთავრობო დასაწყისში) ან base64 (სამთავრობო 32-bit პლატფორმა)
dimensionsინტეგრიარმოდელი საკუთარი ზომა, ან მოდელი ერთად supported_dimensions ერთ-ერთი მათ შორის; ვიქტორს შემდეგ შეკუთვნილია და სტანდარტებულია. ნებისმიერი სხვა არ არის აღიარებული.
მოდელიDimensionsკონტაქტი
@cf/baai/bge-m31024 სხვადასხვა ენები8.192 ტოკი
@cf/qwen/qwen3-embedding-0.6b1024 სხვადასხვა ენები8.192 ტოკი
@cf/baai/bge-large-en-v1.51024 - ინგლისური512 კოლექცია
@cf/baai/bge-base-en-v1.5768, ინგლისური512 კოლექცია
@cf/baai/bge-small-en-v1.5384 ინგლისური512 კოლექცია

მოდელი სია არის წყარო სიტყვები, რომელთათვის ხელმისაწვდომია და რა ღირებულება; Google- ის EmbeddingGemma, სწრაფი ვიქტორები მოთხოვნით, ასევე ჩანს, როდესაც კატალოგი აქვს ღირებულება მას. შეფუთვა შეფასებულია ინტენსიურ ტოკიანზე, და 0.05- კრედიტის მინიმუმ გამოიყენება თითოეული მოთხოვნას, არა თითოეული შეფუთვა, ასე რომ მრავალი ტექსტის შეფუთვა ერთი მოთხოვნას არის ძალიან იაფი, ვიდრე მათ გადაცემა ერთხელ.

პასუხი

{
  "object": "list",
  "data": [
    { "object": "embedding", "index": 0, "embedding": [0.0213, -0.0487, 0.0112] }
  ],
  "model": "@cf/baai/bge-m3",
  "usage": { "prompt_tokens": 9, "total_tokens": 9 },
  "nymbot": { "balance": "standard", "charged_credits": 0.05, "charged_sats": 0.5, "balance_credits": 1204.35, "balance_sats": 12043.5 }
}
სტატუსიროდესაც
400არ არის ჩართული და არ არის ჩართული (token_input_unsupported); უფრო მეტია, ვიდრე 100 ინტენსიები (too_many_inputs); input ხანგრძლივი, ვიდრე მოდელი იღებს (input_too_long); ზომის მოდელი არ შეუძლია გაძლევთ (unsupported_dimensions).
402სტანდარტული ბალანსი ძალიან დაბალია. შეფუთვა არ გამოიყენებს Pro ბალანსი.
404არ არის მოდელი ამ სახელით.
502მოდელი არ არის დახურული. არაფერი არ არის დახურული.

cURL

curl https://nymbot.ai/api/v1/embeddings \
  -H "Authorization: Bearer $NYMBOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "@cf/baai/bge-m3", "input": ["Lightning invoices expire.", "Invoices on Lightning have a time limit."]}'

Python

import os
from openai import OpenAI

client = OpenAI(base_url="https://nymbot.ai/api/v1", api_key=os.environ["NYMBOT_API_KEY"])

result = client.embeddings.create(
    model="@cf/baai/bge-m3",
    input=["Lightning invoices expire.", "Invoices on Lightning have a time limit."],
)
print(len(result.data), len(result.data[0].embedding))

JavaScript

import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://nymbot.ai/api/v1", apiKey: process.env.NYMBOT_API_KEY });

const result = await client.embeddings.create({
  model: "@cf/baai/bge-m3",
  input: ["Lightning invoices expire.", "Invoices on Lightning have a time limit."],
});
console.log(result.data.length, result.data[0].embedding.length);