Bilim binýady Programmistler
Suratlar, audio we embeddingler
Programmadaky generatorlar we gözleg üçin esaslary: suratlar, wideo, ses, transkripsiýa we embeddingler, her biri ulanylyşy boýunça balansıňyzdan hasaplanýar.
Bu sahypa amatlylyk üçin maşyn terjime edilýär. Iňlis asyl nusgasy ulanylýan wersiýa.
Surat döretmek
Promptdan bir-dörte çenli surat döredýär we olar taýýar bolanda olary gaýtaryp berýär. Ol şol bir generatorlar toplumydyr... ?image programmanyň içinde.
POST https://nymbot.ai/api/v1/images/generations — API açaryny gerek, ýa-da Her sargyt üçin Lightning tölegi.
ID-ler ...-dan/-den gelýär GET /api/v1/models?type=image. Standart generator,
@cf/black-forest-labs/flux-1-schnell, her surat üçin 5 standart kredit (50 sats) tölenýär. Beýleki generatorlaryň her biri öz bahasyny, adatky töleg we girdeji bilen Pro kreditlerini sarp edýär, mysal üçin programma. n surataryň bahasy
n şunça esse köp. Generator almaýan meýdan ret edilmän, aňdyrylyp taşlanýar;
standart generator diňe prompt ulanýar.
| Meýdan | Görüş | Talap edilýär | Beýany |
|---|---|---|---|
model | ýazgy | Hawa | Generator ID-si, mysal üçin nano-banana. |
prompt | ýazgy | Hawa | Näme çekmeli. Diňe ilkinji 2 000 simwol ulanylýar. |
n | bitin san | Ýok | 1-den 4-e çenli. Standart 1. Şeýle hem kabul edilýär num_images. |
size | ýazgy | Ýok | Şeýle açylyk gatnaşygy ýaly "16:9", ýa-da OpenAI ölçegi ýaly "1792x1024", haýsy-da 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 21:9, 5:4 we 4:5 gatnaşyklaryna iň ýakynda bolýar. "auto" generatorda galdyrýar. |
aspect_ratio | ýazgy | Ýok | Şuňa meňzeş size, we ikisi hem iberilse ýeňiş gazanýar. |
quality | ýazgy | Ýok | Generatora mahsus, mysal üçin "low", "medium" ýa-da "high". |
negative_prompt | ýazgy | Ýok | Näme üçin goýberip biljekdigiňiz. |
output_format | ýazgy | Ýok | "png", "jpeg" ýa-da "webp". |
response_format | ýazgy | Ýok | "url" (başlangyç) ýa-da "b64_json". |
image_url | ýazgy | Ýok | Başlamak üçin surat: bir https:// içinde ulanyjy ady ýa-da paroly bolmadyk, iň köp 4,096 simwoldan ybarat bolan link ýa-da a data:image/…;base64 URL (PNG, JPEG, WebP ýa-da GIF; SVG däl). Diňe şulary ulanýan generatorlar üçin edit; şu adamlaryň talaby: requires_image_url. |
resolution ulanylmaýar: her generator öz ölçegini döredýär. With url,
her bir surat umumy Blossom host-a ýüklenilýär we siz onuň salgysyny alýarsyňyz (diňe birnäçe generator
öz salgysyny berýär, ol bolsa dowam etdirilýär). Salgyny bilýän islendik adam ony açyp bilýär we
ony gaýtadan aýyrmak mümkin däl; serediň API nämäni görüp bilýär. Bilän
b64_json surat jogapda yzyna gaýdyp gelýär we hiç wagt ýüklänok. A
surat
ýol bilen iberilen data: URL içinde image_url birmeňzeş usulda barlanýarmy?
redaktirle ...we generator ony çekip bilmegi üçin ilki bilen Blossom-a ýüklenýär; eger sorat hasaplaşylmadyk ýagdaýda başarısyz bolsa, ol ýene-de pozulýar.
Eger käbirleri bolsa n suratlar ýalňyş gidýär, siz diňe işleşenlerini alýarsyňyz, diňe şolaryň üçin (göni başarman sogat edilen islendik surat bilen bilelikde) töleg edilýär, we nymbot.failed näçe sanynyň ýitendigini aýdýar. Eger hemmesi başarısyz bolsa, sorag gaýtarýar. 502.
Jogap
{
"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 }
}
| Status | Haçan |
|---|---|
400 | Prompt ýok; n daşaryda 1-den 4 çenli (invalid_value); ýaramasyz ölçeg (invalid_size) ýa-da surat (invalid_image, invalid_image_url); bar bolan, ýöne surat dörediji däl model (invalid_model); redaktirläp bolmaýan generator üçin surat (edit_unsupported); mätäç bolan biri üçin surat ýok (image_required). |
402 | Balans ähli soralan suratlary ýapyp bilmeýär. |
404 | Şol at bilen model ýok (model_not_found). |
502 | Generator işjeň däl (upstream_error). Hyzmat ediji synanygyk üçin hasap düzmedik bolsa, hiç hili töleg alynmaýar; onda ýalňyşlyk... charged_sats. |
503 | Suratlar häzirki wagtda ýerleşdirilip bilmeýär (media_hosting_unavailable). b64_json häli hem işleýär. |
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);
Suratlary redaktirlemek
Promptyň esasynda ýükleýän suratyňyzy üýtgedýär. Bu OpenAI-nyň redaktirleme (edit) nokady bolup, şonuň üçin OpenAI SDK-larynyň images.edit Bar bolşy ýaly işleýär. Diňe Pro generatorlar bilen edit model sanawynda
ony kabul et.
POST https://nymbot.ai/api/v1/images/edits — API açaryny gerek, ýa-da Her sargyt üçin Lightning tölegiBeden... multipart/form-data, 32 MB çenli.
| Meýdan | Görüş | Talap edilýär | Beýany |
|---|---|---|---|
image | faýl | Hawa | Redetmeli surat: PNG, JPEG, WebP ýa-da GIF, 20 MB çenli. Şeýle hem kabul edilýär: image[]; birinji ulanylýar. |
prompt | ýazgy | Hawa | Näme üýtgetmeli? |
model | ýazgy | Hawa | Generator bilen edit. |
n | bitin san | Ýok | 1-den 4-e çenli. |
sizeaspect_ratioqualitynegative_promptoutput_format | ýazgy | Ýok | Generation barada bolsa. |
response_format | ýazgy | Ýok | "b64_json" (bu ýerdäki standart) ýa-da "url". |
Siz ýüklän suratyň dogry emele gelnen PNG, JPEG, WebP ýa-da GIF bolandygyny, öz hakyky görnüşinde iberilendigini we generatorlar giriş maglumatlaryny link arkaly alýandygy sebäpli, public Blossom host-da ýerleşdirilendigini barlamak maksadyna ulanýarys. Ony public (umumy) hasaplalyň. Eger redaktirleme başarmazsa we hiç hili töleg alynmasa, ýerleşdirilen nusga ýene-de öçüriler. Jogap generator üçin degişli bolan görnüşde bolar. Bahalar generatoriň bahasydyr, käbir generatorlar üçin bu bahanyň içine giriş suraty üçin töleg hem goşulýar.
Jogap
{
"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 }
}
| Status | Haçan |
|---|---|
400 | Surat ýa-da prompt ýok, surat bolmadyk faýl (invalid_image), ýa-da redaktirläp bilmeýän generator (edit_unsupported). |
413 | Surat 20 MB-dan uly (file_too_large), ýa-da bütin sorag 32 MB-dan köp. |
503 | Surat häzir ýerleşdirilip bilmeýär (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"));
Wideo
Wideo birnäçe minut dowam edýär, şonuň üçin ol arka planda işleýär. Siz ony ugradýarsyňyz, derrew ID alýarsyňyz we wideo tamamlanýança şol ID barada soraýarsyňyz. Her wideo generator Pro balansyny sarp edýär.
POST https://nymbot.ai/api/v1/videos — API açaryny gerek, ýa-da Her sargyt üçin Lightning tölegi. Gaýtaryşlar 202.
| Meýdan | Görüş | Talap edilýär | Beýany |
|---|---|---|---|
model | ýazgy | Hawa | Wideo generator ID-si şundan: GET /api/v1/models?type=video, ýaly veo. |
prompt | ýazgy | Hawa | Näme bolmaly. |
duration | san ýa-da setir | Ýok | Sekunt görnüşinde dowamlylygy, 0-dan köp we 60-a çenli. Diňe dowamlylygy saýlamaga rugsat berýän generatorlar tarapyndan ulanylýar; beýlekiler bolsa öz adatky dowamlylygyny ýasaýarlar, ol bolsa näme? seconds jogapda we baha yzyndan gelýär. |
aspect_ratio | ýazgy | Ýok | Meselem "16:9" ýa-da "9:16"; ölçeg ýaly "1280x720" iň ýakyn gatnaşyga öwrülýär. |
resolutionquality | ýazgy | Ýok | Generatorlaryň biriniň resolutions model sanawynda, mysal üçin "720p" ýa-da "1080p". Ol bahany kesgitleýär. Başga hiç zat bilen ret edilýär unsupported_resolution. |
image_url | ýazgy | Ýok | Başlamak üçin surat: bir https:// link ýa-da a data:image/… Ilki bilen umumy Blossom host-a ýüklenen URL. Generatorlar üçin talap edilýär requires_image_url. |
Generator, разрешениe we uzynlyk boýunça tabşyran wagtyňyz bahasy anyklanýar, şonuň üçin ulygy (provider) işi kabul eden badyna Pro balansyňyzdan hasaplanýar we şeýle görkezilýär
cost, estimated_cost we nymbotEger üpjünçi işden ýüz öwürse, hiç zat tölenmeýär. Eger render soňra başarjysyz bolsa ýa-da taýýar klip saklanyp bilinmese we üpjünçi mun üçin hasap sormasa, töleg bir gezek awtomatiki usulda yzyna gaýtarylýar. Bir sagatdan soň hem dowam edýän render duruzylýar we tölegi saklanýar, sebäbi üpjünçi renderi kabul edende onuň tölegini hasaplaýar. Yzyna gaýtarylma (refund) kreditleri yzyna berýär, ýöne açaryň (key) sarp edilen sanyny azaltmaýar.
Jogap (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 başlanýar in_progress, ýa-da completed wideo bilen
eýýäm içinde data Generator ony derrew gaýtaryp berende.
Widehow geçirilýär
GET https://nymbot.ai/api/v1/videos/{id} — ony tabşyran nym-a degişli açar gerekdir. Çäkine ýetip gelen açar hem barlap bilýär.
Ol jogap berýär 202 wideo döredilýän wagty we 200 ol tamamlananda ýa-da ýalňyşlyk berende. Her 5-den 10 sekuntdan soraň. Her barlag provayderden bir gezek soraýar we şol bada jogap berýär; ol wideo üçin hiç wagt garaşmaýar. Iş tabşyrylan pursatdan başlap 24 sagatlap saklanýar.
GET /api/v1/videos açaryň soňky 50 işini ... hökmünde sanap berýär
{"object": "list", "data": […]}.
Jogap (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 ýa-da failed. A
başarmadyk iş ýük goýýar error ({"code": "generation_failed", "message": …});
eger yzyna gaýtarylýan bolsa, cost 0 we nymbot goşmalar
refunded_credits we refunded_satsTaýýar wideo, döredilen suratlary ýaly, umumy
Blossom host-da ýerleşdirilýär.
| Status | Haçan |
|---|---|
400 | Prompt ýok; 0-dan 60-a çenli bolmadyk dowamlylyk (invalid_value); generator hödürleýän çözgüt däl (unsupported_resolution); bir surata mätäç generator üçin surat ýok (image_required); wideo generator bolmadyk model (invalid_model). |
402 | Pro balansyny wideo üçin ýeterlik däl. |
404 | Beýle generator ýok (model_not_found), ýa-da siziň nym-yňyz üçin şol ID boýunça iş ýok, ýa-da ol 24 sagatdan köp wagt geçendir (video_not_found). |
429 | Siziň nym-yňyzda eýýäm 10 sany wideo render edilýär (video_jobs_limit). Olary barlap, biri tamamlananda täzesini ugradyň. |
502 | Generator işi ret etdi. Üpjün ediji hasaplamady bolsa, hiç zat tölenmeýär. |
503 | Wideo häzir elýeterli däl ýa-da saklanyp bilmeýär (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);
Tekstden seslendirme
Teksti sesli okaýar we link däl-de, ses faýlynyň özüni gaýtaryp berýär. Bu OpenAI-iň ses uçwazy (endpoint), şonuň üçin audio.speech.create OpenAI SDK-larynda işleýär.
POST https://nymbot.ai/api/v1/audio/speech — API açaryny gerek, ýa-da Her sargyt üçin Lightning tölegi.
| Meýdan | Görüş | Talap edilýär | Beýany |
|---|---|---|---|
model | ýazgy | Ýok | ...-dan/den gürleýiş modeli audio modelleriň sanawy. Standart: standart ses, @cf/myshell-ai/melotts. aura-2 Deepgram Aura 2 bolýarmy? |
input | ýazgy | Hawa | Okaljak tekst: standart ses üçin 800 simvola çenli, Aura 2 üçin 2 000. |
voice | ýazgy | Ýok | Sesiň ID-si şundan: sesleriň sanawy: Aura speaker ýaly luna (ýa aura-2-luna-en), ýa-da MeloTTS dili (en, es, fr, zh). OpenAI ses atlary ýaly alloy kabul edilýär we modeliniň standart sesini berýär. |
language | ýazgy | Ýok | Meselem, dil kody ýaly esSes bolmazdan, ol şol dil üçin bir ses saýlaýar. Başga dili gürleýän ses bolsa yzyna dolanýar 422 voice_language_mismatch, we modeliň sesi ýok bolan dil 422 unsupported_language. |
response_format | ýazgy | Ýok | Standart ses yene dolanyp gelýär mp3 diňe. Aura 2 gaýtaryp berýär mp3 (başlangyç), opus, aac, flac, wav ýa-da pcm. |
speed | san | Ýok | Kabul edildi we üýtgeşik bolup galdy. |
Standart ses her soraýyş üçin app-däki ýaly 3 standart kredit (30 sats) möçberinde tölenýär. Aura 2 Pro bolup, ol ugradýan simwollaryňyza görä baha berilýär. Jogabyň gody audio bolup, şol bir wagtda şeýle hem degişli
Content-Type; bahasy ...-da X-Nymbot-Cost-Sats header. Eger
geplegi modeli işlemeýän bolsa, hiç zat tölenilmeýär.
Jogap
HTTP/1.1 200 OK
Content-Type: audio/mpeg
X-Nymbot-Cost-Sats: 4.2
X-Nymbot-Balance-Sats: 41055.6
(audio bytes)
| Status | Haçan |
|---|---|
400 | Giriş ýok; giriş modeliň çägi aşýar (input_too_long); modeliň öndürip bilmeýän formaty (unsupported_response_format); nätanyş ses (invalid_voice); aýdyş modeli bolmadyk model (invalid_model). |
422 | Ses berlen dili gepleýär ýa-da modelde onuň üçin ses ýok. |
502 | Söz modeli işjeň bolmady. Hiç zat tölenmedi. |
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()));
Audio modelleri we sesleri
Nutdeňli model we ses saýlamak ýa-da transkripsiýa modeli üçin iki sany umumy sanaw bar. Olarda 41 Aura 2 iňlisçe gepleýän we dört MeloTTS dili bar.
GET https://nymbot.ai/api/v1/audio/models — açary gerek däl.
GET https://nymbot.ai/api/v1/audio/voices?language=en — açary gerek däl.
| Meýdan | Görüş | Talap edilýär | Beýany |
|---|---|---|---|
language | setir (sorag) | Ýok | Bu dil üçin diňe sesler. |
model | setir (sorag) | Ýok | Diňe şu model üçin sesler. |
Jogap (sesler)
{
"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 }
]
}
Modeller jogaplaryň sanawyny berýärler {"object": "list", "data": {"tts": […], "stt": […]}}Her ses modeli öz balansyny, bahasyny berýär, max_input_chars,
response_formats, languages we default_voice; transkripsiýa modeli öz aliaslaryny berýär, max_file_bytes, max_seconds,
formatlar we bir minut üçin baha.
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);
Sözden tekst ýazgyda
Whisper arkaly ses ýazgysyny tekst görnüşine öwürýär. Bu OpenAI-niň transkripsiýa nokadydyr, şonuň üçin
audio.transcriptions.create işleýär.
POST https://nymbot.ai/api/v1/audio/transcriptions — API açaryny gerek, ýa-da Her sargyt üçin Lightning tölegiBeden... multipart/form-data.
| Meýdan | Görüş | Talap edilýär | Beýany |
|---|---|---|---|
file | faýl | Hawa | Hasylat, 256 baýtdan 25 MB çenli we 30 minuda çenli: WAV, WebM, MP4 ýa-da M4A, Ogg ýa-da Opus, MP3 we Whisper tarapyndan okalýan beýleki formatlar. MP3 we uzynlygy öňünden okalyp bilinmeýän beýleki formatlar 1.8 MB bilen çäklendirilen. |
model | ýazgy | Ýok | Esasy whisper, haýsy-da bolsa Whisper Large v3 Turbo. whisper-1, whisper-large-v3-turbo we @cf/openai/whisper-large-v3-turbo şol bir zady aňladýar. |
language | ýazgy | Ýok | Gürleýiş dili, mysal üçin enÇykaryp goýulsa, anyklanar. |
prompt | ýazgy | Ýok | Garaşylýan sözler ýa-da ýazylyşlar, meselem, atlar. Diňe ilkinji 1 000 belgi ulanylýar. |
response_format | ýazgy | Ýok | json (başlangyç), text, srt, vtt ýa-da verbose_json. |
WAV, WebM, MP4 we Ogg faýllary üçin dowamlylygy hiç zat başlamanka faýldan okalýar, şonuň üçin 30 minutdan uzyn ýazgy öňünden ret edilýär (3 sekuntlyk goşmaça wagt bilen). WAV faýlynyň dowamlylygy onuň nusga tizligi (sample rate), kanallary we nusga ölçegi bilen kesgitlenýär. MP3 ýaly beýleki formatlaryň dowamlylygy öňünden okap bolmaýar, şonuň üçin olar ölçegi bilen çäklendirilýär: Nymbot iň pes bitratanyň (8 kbps) 30 minutyny 1.8 MB diýip hasaplaýar we şeýle formatdaky has uly faýl bilen ret edilýär 413
audio_too_long hiç zat işläp başlamanka. Uzakrak ýazgylary WAV, WebM, MP4 ýa-da Ogg görnüşinde iberiň.
Eger Whisper ýene-de 30 minutdan köp wagty aýtsa, sorag şu aşakdakylar bilen ret edilýär:
413 audio_too_long, we Whisper işlediği üçin, 30 minut
hasaplanýar.
Siz audio uzynlygy üçin töleýärsiňiz, ol sekuntlara çenli ýokary hasaplanýar: faýldan okalan iň uzyn uzynlyk, Whisper tarapyndan berlen uzynlyk we faýlyň ölçegi iň az nämä rugsat berýän bolsa şol uzynlyk, Whisper-iň bir minutlyk bahasy bilen adatky töleg we girdeji bilen, we her sorag üçin azyndan 0.05 kredit. Eger standart balans bu tölegi ýapyp bilýän bolsa, ol standart balansdan, ýoksa Pro balansdan tölenýär; a 402 her bir balansyň näme gerekdigini görkezýär. Programmada sesli habary tekst görnüşine geçirmek mugt bolup biler; API-da bolsa bu hemişe tölenýär. Eger Whisper işjeň bolmasa, hiç zat tölenmeýär.
Jogap
{
"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 adaty tekst gaýtaryp berýär, srt we vtt subtitrlary gaýtaryň, we
verbose_json dil, dowamlylyk we wagtly bölekleri goşýar. JSON däl üç sany üçin, bahasy sarlawdalarda (headers) görkezilýär.
| Status | Haçan |
|---|---|
400 | Faýl ýok, peýdalanyp bolmajak audio ýok bolan faýl (invalid_audio), bilinmeýän format ýa-da transkripsiýa modeli bolmadyk model (invalid_model). |
402 | Hiç haýsy balans ony ýapyp bilmez. |
413 | Faýl 25 MB-dan uly (file_too_large) ýa-da ýazgy 30 minutdan köp bolsa, ýa-da uzynlygy öňünden okap bolmaýan formatda bolsa, 1.8 MB-dan köp (audio_too_long). |
502 | Whisper audiony işläp bilmedi. Hiç zat tölenmedi. |
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);
Gürleýşi iňlis diline terjime etmek
POST https://nymbot.ai/api/v1/audio/translations — API açaryny gerek, ýa-da Her sargyt üçin Lightning tölegiBeden... multipart/form-data.
Transkripsiýa ýaly, diňe şundan başga birmeňzeş meýdançalar bilen language, çäkler we
bahasy, ýöne tekst haýsy dilde gürlenilse-de, iňlis dilinde yzyna gelýär. OpenAI SDK-lary ony
şular bilen çagyrýar 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
Teksti gözleg, klasterleşdirme we deduplikasiýa üçin vektorlara öwürýär. Modeller Cloudflare-da işleýär we standart balansy sarp edýär.
POST https://nymbot.ai/api/v1/embeddings — API açaryny gerek, ýa-da Her sargyt üçin Lightning tölegi.
| Meýdan | Görüş | Talap edilýär | Beýany |
|---|---|---|---|
model | ýazgy | Hawa | ...den gelen embedding modeli GET /api/v1/models?type=embedding. |
input | setir ýa-da setirleriň massivi | Hawa | Gömüriljek tekst, 100 sany boş däl setire çenli. Token massiwleri ret edilýär (token_input_unsupported). Her bir giriş modeliň ... bolmaly context_length, bir token üçin takmynan dört baýt hasaplanýar. |
encoding_format | ýazgy | Ýok | float (başlangyç) ýa-da base64 (little-endian 32-bit float-lar). |
dimensions | bitin san | Ýok | Modeliň öz ölçegi ýa-da ... modeli üçin supported_dimensions şol birinden biri; vektor soňra gysaldylýar we normalizirlenýär. Başga zatlar ret edilýär. |
| Model | Ölçegleri | Kontekst |
|---|---|---|
@cf/baai/bge-m3 | 1024, köp dillerde | 8,192 token |
@cf/qwen/qwen3-embedding-0.6b | 1024, köp dillerde | 8,192 token |
@cf/baai/bge-large-en-v1.5 | 1024, iňlisçe | 512 token |
@cf/baai/bge-base-en-v1.5 | 768, iňlis dili | 512 token |
@cf/baai/bge-small-en-v1.5 | 384, iňlisçe | 512 token |
Modeller sanawy haýsy modelleriň elýeterlidigi we olaryň bahasy barada esasy maglumatdyr; katalogda baha görkezilen ýagdaýynda, Google-yň isleg boýunça gysgaça vektoralary bolan EmbeddingGemma modeli hem şol ýerde görünýär. Embeddingler her giriş tokeni üçin hasaplanýar we her bir isleg üçin 0.05-kredit minimal tölegi degişlidir, bu bolsa her bir giriş üçin däl-de, her bir isleg üçin degişlidir, şonuň üçin köp sanly teksti bir islege toplumlamak, olary her gezek aýratyn ugratmakdan has arzan bolýar.
Jogap
{
"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 }
}
| Status | Haçan |
|---|---|
400 | Giriş ýok ýa-da boş giriş; token massiwleri (token_input_unsupported); 100-den köp giriş (too_many_inputs); model üçin kabul edilenden has uzyn giriş (input_too_long); model berip bilmeýän ölçegi (unsupported_dimensions). |
402 | Standart balans örän pes. Embeddings hiç wagt Pro balansyny ulanmaýar. |
404 | Şu atly embedding modeli ýok. |
502 | Model ýetmedi. Hiç zat tölenmedi. |
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);