ცოდნის ბაზა განვითარებლები
სურათები, აუდიო და 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 ერთი ფართობი, რომელიც გენერატორი არ იღებს, ნაცვლად არ იღებს; სტანდარტული გენერატორი გამოიყენებს მხოლოდ შეტყობინება.
| ფართობი | ტიპი | მოთხოვნა | აღწერა |
|---|---|---|---|
model | String | დიახ | Generator ID, როგორიცაა nano-banana. |
prompt | String | დიახ | რა უნდა წაიკითხოთ? მხოლოდ პირველი 2000 სიმბოლოები გამოიყენება. |
n | ინტეგრი | არ | 1 to 4. default 1. ასევე მიიღო როგორც num_images. |
size | String | არ | ასაკი, როგორიცაა "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_ratio | String | არ | იგივე როგორც sizeდა იღებს, თუ ორივე გამოგზავნილია. |
quality | String | არ | გენერატორები, როგორიცაა "low", "medium" ან "high". |
negative_prompt | String | არ | რა უნდა დატოვე. |
output_format | String | არ | "png", "jpeg" ან "webp". |
response_format | String | არ | "url" (სამთავრობო დასაწყისში) ან "b64_json". |
image_url | String | არ | სურათი, რომ დაიწყოს: 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[]პირველი არის გამოიყენება. |
prompt | String | დიახ | რა უნდა შეცვალოს. |
model | String | დიახ | გენერატორი ერთად edit. |
n | ინტეგრი | არ | 1 და 4. |
sizeaspect_ratioqualitynegative_promptoutput_format | String | არ | რა თქმა უნდა Generation. |
response_format | String | არ | "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.
| ფართობი | ტიპი | მოთხოვნა | აღწერა |
|---|---|---|---|
model | String | დიახ | ვიდეო გენერატორი ID GET /api/v1/models?type=videoროგორიცაა veo. |
prompt | String | დიახ | რა უნდა მოხდეს. |
duration | ნომერი ან string | არ | სიგრძე წამში, უფრო მეტი, ვიდრე 0 და მდე 60. გამოიყენება მხოლოდ გენერატორები, რომელიც საშუალებას გაძლევთ აირჩიოთ სიგრძე; სხვა გააკეთოს მათი ჩვეულებრივი სიგრძე, რაც seconds პასუხისმგებლობა და ფასი შემდეგი. |
aspect_ratio | String | არ | როგორც "16:9" ან "9:16"ზომა, როგორც "1280x720" იღებს უახლოესი რაოდენობა. |
resolutionquality | String | არ | ერთი გენერატორი resolutions მოდელი სია, როგორიცაა "720p" ან "1080p"ეს არის ფასი. ყველა სხვა არ არის დაეხმარება unsupported_resolution. |
image_url | String | არ | სურათი, რომ დაიწყოს: 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 სასტუმროში, როგორიცაა გენერირებული სურათები.
| სტატუსი | როდესაც |
|---|---|
400 | 0 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). |
402 | Pro ბალანსი ვერ შეიცავს ვიდეო. |
404 | არ არის ასეთი გენერატორი (model_not_found), ან არ არის მუშაობა, რომ ID თქვენი nimm, ან ეს არის მეტი 24 საათის წინ (video_not_found). |
429 | Your 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 გადახდის მოთხოვნით.
| ფართობი | ტიპი | მოთხოვნა | აღწერა |
|---|---|---|---|
model | String | არ | გამოქვეყნების მოდელი Audio მოდელი სიაStandard Voice - სტანდარტული ხმა @cf/myshell-ai/melotts. aura-2 Deepgram Aura 2 მოწყობილობა. |
input | String | დიახ | ტექსტი, რომელიც უნდა წაიკითხოთ: მაქსიმალურად 800 სიტყვები სტანდარტული ხმა, 2,000 Aura 2. |
voice | String | არ | Voice ID- ს ხაზების სია: Aura speaker, როგორიცაა luna (და aura-2-luna-en), ან MeloTTS ენის (en, es, fr, zhOpenAI ხმა სახელები, როგორიცაა alloy მოდელი მოდელი მოდელი მოდელი მოდელი მოდელი მოდელი. |
language | String | არ | ენის კოდი, როგორიცაა esარ არის ხმა, იგი აირჩიოს ერთი ამ ენაზე. ხმა, რომელიც გაიგებს სხვა ენაზე მოგცემთ 422 voice_language_mismatch, და ენა, რომელიც მოდელი არ აქვს ხმა 422 unsupported_language. |
response_format | String | არ | სტანდარტული ხმა დაბრუნება 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.
| ფართობი | ტიპი | მოთხოვნა | აღწერა |
|---|---|---|---|
language | String – კითხვები | არ | მხოლოდ ხმები ამ ენაზე. |
model | String – კითხვები | არ | მხოლოდ ხმები ამ მოდელისთვის. |
რეაგირება (სუბერები)
{
"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. |
model | String | არ | დისკები whisperეს არის Whisper Large v3 Turbo. whisper-1, whisper-large-v3-turbo და @cf/openai/whisper-large-v3-turbo იგივე იმას ნიშნავს. |
language | String | არ | განიხილული ენები, როგორიცაა enშეამოწმოთ თუ არ გაქვთ. |
prompt | String | არ | Words or spellings to expect, როგორიცაა სახელიები. მხოლოდ პირველი 1000 სიტყვები გამოიყენება. |
response_format | String | არ | 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 გადახდის მოთხოვნით.
| ფართობი | ტიპი | მოთხოვნა | აღწერა |
|---|---|---|---|
model | String | დიახ | Inbound მოდელი GET /api/v1/models?type=embedding. |
input | String ან Array of Strings- ის გამოყენება | დიახ | ტექსტი, რომელიც შეიცავს, მდე 100 ნაქსოვი ნაქსოვი ნაქსოვი ნაქსოვი. ტაქსოვი ნაქსოვი (token_input_unsupported) თითოეული შეტყობინება უნდა შეესაბამება მოდელი context_lengthდაახლოებით 4 ბეტზე შედარებით. |
encoding_format | String | არ | float (სამთავრობო დასაწყისში) ან base64 (სამთავრობო 32-bit პლატფორმა) |
dimensions | ინტეგრი | არ | მოდელი საკუთარი ზომა, ან მოდელი ერთად supported_dimensions ერთ-ერთი მათ შორის; ვიქტორს შემდეგ შეკუთვნილია და სტანდარტებულია. ნებისმიერი სხვა არ არის აღიარებული. |
| მოდელი | Dimensions | კონტაქტი |
|---|---|---|
@cf/baai/bge-m3 | 1024 სხვადასხვა ენები | 8.192 ტოკი |
@cf/qwen/qwen3-embedding-0.6b | 1024 სხვადასხვა ენები | 8.192 ტოკი |
@cf/baai/bge-large-en-v1.5 | 1024 - ინგლისური | 512 კოლექცია |
@cf/baai/bge-base-en-v1.5 | 768, ინგლისური | 512 კოლექცია |
@cf/baai/bge-small-en-v1.5 | 384 ინგლისური | 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);