Пойгоҳи дониш Таҳиягарон
Тасвирҳо, аудио ва эмбеддингҳо
Генераторҳо аз барнома ва блокҳои сохтӣ барои ҷустуҷӯ: аксҳо, видео, нутқ, транскриптсия ва эмбеддингҳо, ки ҳар кадоми онҳо барои ҳар як истифода аз маблағи шумо ҳисоб карда мешаванд.
Ин саҳифа барои роҳат бо мошин тарҷума шудааст. Нусхаи аслии англисӣ версияи татбиқшаванда аст.
Тасвирҳоро тавлид кардан
Аз рӯи дастур аз як то чор расм месозад ва пас аз омода шудан онҳоро бармегардонад. Ин маҷмӯи генералторҳои ҳамон аст, ки ?image дар замима.
POST https://nymbot.ai/api/v1/images/generations — ба калиди API ниёз дорад, ё пардохти Lightning барои ҳар як дархост.
ID-ҳо аз ... меоянд GET /api/v1/models?type=imageГенератори стандартӣ,
@cf/black-forest-labs/flux-1-schnell, барои ҳар як акс 5 кредити стандартиро (50 sats) мегирад. Ҳар як генератори дигар кредитҳои Pro-ро бо нархи худаш, бо ҳаққи маъмулӣ ва маржа мегирад, тавре ки дар иллоият. n арзиши аксҳо
n дар ҳамон миқдор зиёдтар. Майдоние, ки генератор намегирад, ба ҷои рад шудан, партофта мешавад;
генератори стандарт танҳо аз prompt истифода мебарад.
| Майдон | Навъ | Лозим аст | Тавсиф |
|---|---|---|---|
model | сатр | Бале | ID-и генератор, ба мисли nano-banana. |
prompt | сатр | Бале | Чӣ кашам. Танҳо аввалин 2,000 аломат истифода мешаванд. |
n | адади бутун | Не | аз 1 то 4. Дифолт 1. Инчунин ҳамчун қабул мешавад num_images. |
size | сатр | Не | Нисбати паҳно ва баландии экран мисли "16:9", ё ҳаҷми OpenAI мисли "1792x1024", ки ба наздиктарин яке аз 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 21:9, 5:4 ва 4:5 табдил меёбад. "auto" ба генералтор мегузорад. |
aspect_ratio | сатр | Не | Ҳамон тавр, ки size, ва агар ҳарду фиристода шаванд, мебурад. |
quality | сатр | Не | Хос барои генератор, аз ҷумла "low", "medium" ё "high". |
negative_prompt | сатр | Не | Чӣ чизро бояд берун гузошт. |
output_format | сатр | Не | "png", "jpeg" ё "webp". |
response_format | сатр | Не | "url" (дифолтӣ) ё "b64_json". |
image_url | сатр | Не | Сурати аввал: як https:// линки на камтар аз 4,096 а荷сим, ки дар он номи корбар ё гузарошӣ набошад, ё а data:image/…;base64 URL (PNG, JPEG, WebP ё GIF; на SVG). Танҳо барои генераторҳо бо edit; аз ҷониби онҳое, ки талаб мекунанд requires_image_url. |
resolution истифода намешавад: ҳар як генератор андозаи худро месозад. Бо url,
ҳар як акс ба хости Blossom-и оммавӣ бор карда мешавад ва шумо истиноди онро мегиред (танҳо чанд генератор
худи истинодро медиҳанд, ки он интиқол дода мешавад). Ҳар касе, ки истинодро дорад, метавонад онро кушояд ва он
дигар наметавонад аз кор шиносад карда шавад; бубинед API чӣ метавонад бубинад. Бо
b64_json акс дар ҷавоб бармегардад ва ҳеҷ гоҳ боргузорӣ намешавад. Аксе,
ки ҳамчун ... фиристода шудааст data: URL дар image_url оё ба ҳамон таври санҷида мешавад, ки як
таҳрир ва аввал ба Blossom боргузорӣ мешавад, то генератор тавонад онро гирад; агар дархост бепардохт ноком шавад, он дубора нест карда мешавад.
Агар баъзе аз n аксҳо хато мешаванд, шумо танҳо ҳамонҳоеро мегиред, ки кор карданд, танҳо барои
онҳо ҳақ пардохт карда мешавад (плюс ҳамао None, ки провайдер сарфи назар аз хатогӣ ҳисоб кардааст), ва 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 Ҳамон кор мекунад. |
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 мебошад, бинобар ин SDK-ҳои OpenAI images.edit Ҳамчун ҳамон кор мекунад. Танҳо генераторҳои Pro бо edit дар
рӯйхати моделҳо онро қабул кунед.
POST https://nymbot.ai/api/v1/images/edits — ба калиди API ниёз дорад, ё пардохти Lightning барои ҳар як дархостБадан аст multipart/form-data, то 32 МБ.
| Майдон | Навъ | Лозим аст | Тавсиф |
|---|---|---|---|
image | файл | Бале | Сурати барои таҳрир: PNG, JPEG, WebP ё GIF, то 20 MB. Инчунин ҳамчун қабул карда мешавад image[]; аввалин истифода мешавад. |
prompt | сатр | Бале | Чӣ тағйир додан лозим. |
model | сатр | Бале | Генератор бо edit. |
n | адади бутун | Не | аз 1 то 4. |
sizeaspect_ratioqualitynegative_promptoutput_format | сатр | Не | Дар бораи тавлид. |
response_format | сатр | Не | "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_unsupported). |
413 | Расм аз 20 МБ зиёд аст (file_too_large), ё тамоми дархост зиёда аз 32 МБ. |
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 ниёз дорад, ё пардохти Lightning барои ҳар як дархост. Баргаштҳо 202.
| Майдон | Навъ | Лозим аст | Тавсиф |
|---|---|---|---|
model | сатр | Бале | ID-и генератори видео аз GET /api/v1/models?type=video, аз ҷумла veo. |
prompt | сатр | Бале | Чӣ бояд рӯй диҳад. |
duration | рақам ё сатр | Не | Давомнокӣ бо сония, беш аз 0 ва то 60. Танҳо аз ҷониби генераторҳое истифода мешавад, ки ба шумо имкон медиҳанд давомнокӣро интихоб кунед; дигарон давомнокии маъмулии худро месозанд, ки ҳамон чиз аст seconds дар ҷавоб ва нарх иваз мешавад. |
aspect_ratio | сатр | Не | Чунин ки "16:9" ё "9:16"; андозае мисли "1280x720" ба наздиктарин нисбат табдил меёбад. |
resolutionquality | сатр | Не | Яке аз генераторҳо resolutions дар рӯйхати моделҳо, ба монанди "720p" ё "1080p"Он нархро муайян мекунад. Ҳар чизе, ки дигар аст, рад карда мешавад бо unsupported_resolution. |
image_url | сатр | Не | Сурати аввал: як https:// пайваст ё а data:image/… URL, ки аввал ба хости ҷаҳонии Blossom бор карда мешавад. Аз ҷониби генераторҳо талаб карда мешавад, ки бо requires_image_url. |
Нарх ҳангоми пешниҳод кардан аз генератор, дароҷаи сифат ва дарозӣ муайян мешавад, бинобар ин
он ба доираи баланси Pro-и шумо ҳамон вақте, ки иҷрокунанда корро қабул мекунад, ҳисоб карда мешавад ва чунин нишон дода мешавад
cost, estimated_cost ва nymbotАгар иҷрокунанда аз кор даст кашад, ҳ nothing напулонад. Агар баъдтар рендеринг нобаромад кунад ё клипи тайёр нигоҳ дошта нашуд ва иҷрокунанда барои он ҳисоб накунад, маблағ як бор ба таври худкор баргардонида мешавад. Рендеринге, ки пас аз як соат ҳанӯз идома дорад, қатъ карда мешавад ва маблағи он боқӣ мемонад, зеро иҷрокунанда рендерингро пас аз қабулаш ҳисоб мекунад. Истирдоди маблағ кредитҳоро бармегардонад, аммо шумораи сарфкунии калидро коҳиш намедиҳад.
Ҷавоб (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 50 вазифаҳои охирини калидро ҳамчун рӯйхат нависед
{"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 то 60 (invalid_value); ҳалли масъалаеро, ки генератор пешниҳод намекунад (unsupported_resolution); барои генераторӣ, ки ба он сурат лозим аст, сурат нест (image_required); модел, ки генератори видео нест (invalid_model). |
402 | Баланси Pro наметавонад видеоро фаро гирад. |
404 | Чунин генератор вуҷуд надорад (model_not_found), ё корҳо бо ин ID барои номи шумо мавҷуд нест, ё аз 24 соат мегузарад (video_not_found). |
429 | Ним-и шумо аллакай 10 видеоро дар ҳоли кор дорад (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);
Матн ба сухан
Матнро баланд мехонад ва худи файли аудиоро баргардонад, на истинод (link)-ро. Ин нуқтаи андозаи (endpoint) суханронии OpenAI аст, бинобар ин audio.speech.create дар SDK-ҳои OpenAI кор мекунад.
POST https://nymbot.ai/api/v1/audio/speech — ба калиди API ниёз дорад, ё пардохти Lightning барои ҳар як дархост.
| Майдон | Навъ | Лозим аст | Тавсиф |
|---|---|---|---|
model | сатр | Не | Модели нутқ аз рӯйхати моделҳои аудиоӣ. Дифолт: овози стандартӣ, @cf/myshell-ai/melotts. aura-2 оё Deepgram Aura 2 аст? |
input | сатр | Бале | Матни барои хондан: то 800 асил барои овози стандартӣ, 2,000 барои Aura 2. |
voice | сатр | Не | ID-и овоз аз Рӯйхати овозҳо: якSP-и Aura мисли luna (ё aura-2-luna-en), ё забони MeloTTS (en, es, fr, zh). Номҳои овози OpenAI чунин: alloy қабул карда мешаванд ва садои дастфизавии моделро медиҳанд. |
language | сатр | Не | Коди забон, ба монанди esБеовоз, он барои он забон як овози мушаххасро интихоб мекунад. Овозе, ки бо забони дигар сухан мегӯяд, баргашта меояд 422 voice_language_mismatch, ва забоне, ки модел барои он садо надорад 422 unsupported_language. |
response_format | сатр | Не | Овози стандартӣ бармегардад mp3 танҳо. Aura 2 бармегардонад mp3 (стандартӣ), opus, aac, flac, wav ё pcm. |
speed | рақам | Не | Қабул шуд ва нодид гирифта шуд. |
Овози стандарт барои ҳар як дархост 3 кредити стандартӣ (30 sats) хароҷ мекунад, ҳамон тавре ки дар барнома аст. 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 — калид лозим нест.
GET https://nymbot.ai/api/v1/audio/voices?language=en — калид лозим нест.
| Майдон | Навъ | Лозим аст | Тавсиф |
|---|---|---|---|
language | сатр (дархост) | Не | Танҳо овозҳо барои ин забон. |
model | сатр (дархост) | Не | Танҳо овозҳо барои ин модел. |
Ҷавоб (овозҳо)
{
"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);
Суханронӣ ба матн
Бо ёрии Whisper сабтҳоро ба матн табдил медиҳад. Ин нуқтаи терминалӣ барои транскрипсияи OpenAI мебошад, бинобар ин
audio.transcriptions.create кор мекунад.
POST https://nymbot.ai/api/v1/audio/transcriptions — ба калиди API ниёз дорад, ё пардохти Lightning барои ҳар як дархостБадан аст multipart/form-data.
| Майдон | Навъ | Лозим аст | Тавсиф |
|---|---|---|---|
file | файл | Бале | Сабт аз 256 байт то 25 МБ ва то 30 дақиқа: WAV, WebM, MP4 ё M4A, Ogg ё Opus, MP3 ва дигар форматҳое, ки Whisper мехонад. MP3 ва дигар форматҳое, ки давомашро пешакӣ имконな ки намешавад, ба 1.8 МБ маҳдуд мешаванд. |
model | сатр | Не | Асосӣ whisper, ки Whisper Large v3 Turbo мебошад. whisper-1, whisper-large-v3-turbo ва @cf/openai/whisper-large-v3-turbo маънои якхела доранд. |
language | сатр | Не | Забони гуфторӣ, ба монанди enАгар берун монда шавад, муайян карда мешавад. |
prompt | сатр | Не | Калимаҳо ё имлоҳое, ки интизор мешавед, масалан, номҳо. Танҳо 1000 ҳарфҳои аввал истифода мешаванд. |
response_format | сатр | Не | json (стандартӣ), text, srt, vtt ё verbose_json. |
Барои файлҳои WAV, WebM, MP4 ва Ogg давомнокӣ пеш аз оғози ҳар гуна амалиёт аз файл хонда мешавад, бинобар ин сабтҳои зиёд аз 30 дақиқа пешакӣ рад карда мешаванд (бо 3 сония имтиёз). Давомнокии файли WAV аз частотаи намуна (sample rate), каналҳо ва ҳаҷми намуна гирифта мешавад. Давомнокии форматҳои дигар, ба монанди MP3, пешакӣ хонда намешавад, бинобар ин онҳо аз рӯи ҳаҷм маҳдуд мешаванд: дар пасттарини битрейте, ки Nymbot эҳтимол медиҳад, 8 kbps, 30 дақиқа 1.8 MB аст ва файли калонтар дар чунин формат рад карда мешавад бо 413
audio_too_long пеш аз он ки чизе иҷро шавад. Сабтҳои дарозтарро ҳамчун WAV, WebM, MP4 ё Ogg фиристед.
Агар Whisper бо вуҷуди ин беш аз 30 дақиқа гузориш диҳад, дархост бо ин рад карда мешавад:
413 audio_too_long, ва азбаски Whisper кор кард, 30 дақиқа
ҳақ гирифта мешавад.
Шумо барои давомнокии аудио пардохт мекунед, ки то сония ба болоянд карда шудааст: дарозтарин аз байни давомнокие, ки аз файл хонда шудааст, давомнокие, ки Whisper ҳисобот медиҳад, ва ҳадди ақали он чизе, ки ҳаҷми файл иҷозат медиҳад, бо нархи Whisper барои як дақиқа бо ҳазри маъмулӣ ва маржа, ва на камтар аз 0.05 кредит барои як дархост. Он аз тавозуни стандартӣ пардохт карда мешавад, вақте ки он метавонад маблағи уставдорӣро пӯшонад, ва дар ғайри ин ҳолат аз Pro; а 402 нишон медиҳад, ки ҳар як
баланс ба чӣ ниёз дорад. Дар замима, навиштани паёми овозӣ метавонад ройгон бошад; дар API он
ҳамеша пулакӣ аст. Агар Whisper хато кунад, ҳеҷ чиз пул намешавад.
Ҷавоб
{
"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 сар सब्тҳоро баргардонед, ва
verbose_json забон, давомнокӣ ва сегментҳои вақтшуморро илова мекунад. Барои се тарсҳое, ки JSON нестанд, нарх дар сарлавҳаҳост.
| Ҳолат | Кай |
|---|---|
400 | Файл нест, файл бе аудиои корбарӣ (invalid_audio), формати номаълум, ё модел, ки модели транскрипсия нест (invalid_model). |
402 | Ҳарду бақия тавоноии пӯшонидани онро надоранд. |
413 | Файл беш аз 25 МБ аст (file_too_large) ё сабт аз 30 дақиқа зиёд, ё дар форматие, ки давомнокиашро пешакӣ навишта намешавад, зиёда аз 1.8 MB (audio_too_long). |
502 | Whisper натавонист аудиоро коркард кунад. Ҳеҷ чиз пул намешавад. |
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);
Тарҷумаи сухан ба англисӣ
POST https://nymbot.ai/api/v1/audio/translations — ба калиди API ниёз дорад, ё пардохти Lightning барои ҳар як дархостБадан аст multipart/form-data.
Ҳамон тавре ки дар транскрипсия, бо ҳамон майдонҳо, ба ғайр аз language, маҳдудиятҳо ва
нарх, аммо матн ба забони англисӣ баргардонида мешавад, новобаста ба он ки кадом забон истифода шудааст. SDK-ҳои OpenAI онро бо 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);
Векторҳои эътимодӣ (Embeddings)
Матнро барои ҷустуҷӯ, кластеркунонӣ ва такрорпазирӣ ба векторҳо табдил медиҳад. Моделҳо дар Cloudflare иҷро шуда, маблағи стандартӣро сарф мекунанд.
POST https://nymbot.ai/api/v1/embeddings — ба калиди API ниёз дорад, ё пардохти Lightning барои ҳар як дархост.
| Майдон | Навъ | Лозим аст | Тавсиф |
|---|---|---|---|
model | сатр | Бале | Модели навбатпазир аз GET /api/v1/models?type=embedding. |
input | сатр ё маҷмӯи сатрҳо | Бале | Тексти барои ҷойгир кардан, то 100 сатрҳои ғайри холӣ. Массивҳои токен рад карда мешаванд (token_input_unsupported). Ҳар як воридӣ бояд ба модели... context_length, ки тақрибан чор байт ба ҳар токен ҳисоб мешавад. |
encoding_format | сатр | Не | float (дифолтӣ) ё base64 (ададҳои ҳавлои 32-битаи little-endian). |
dimensions | адади бутун | Не | Ҳаҷми худи модел ё барои модели бо supported_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's EmbeddingGemma, бо векторҳои кӯтоҳтар бо дархост, низ дар он ҷо пайдо мешавад, вақте ки дар каталог нарх барои он мавҷуд бошад. Эмбеддингҳо (Embeddings) барои ҳар як токени воридотӣ ҳисоб карда мешаванд ва минимуми 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_too_long); ҳаҷм, ки модел дода наметавонад (unsupported_dimensions). |
402 | Баланси стандартӣ хеле паст аст. Embeddingҳо ҳеҷ гоҳ баланси Pro-ро истифода намебаранд. |
404 | Модели қа embeds бо ин ном мавҷуд нест. |
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);