Ubumenyi shingiro Abakora porogaramu
Amafoto, amajwi n'imikorere y'ubwenge bw'ubukorano (embeddings)
Ibikora biva muri porogaramu, hamwe n'ibice by'ibanze byo gushakashaka: amafoto, videwo, ijambo, kwandika ibivugwa, n'embeddings, buri kimwe kishurwa buri gihe gikoreshejwe biva ku mafaranga asigaye kuri konti yawe.
Uru rupapuro rwahinduwe imashini kugirango byorohe. Umwimerere wicyongereza ni verisiyo ikoreshwa.
Gukora amashusho
Ikora amashusho rimwe kugeza kuri ane hakoreshejwe amagambo agena icyo ushaka, hanyuma akabaha iyo amaze kuyakorera. Ni itsinda rimwe ry'ibikora nk'irya ?image mu muyandiko w'urubuga.
POST https://nymbot.ai/api/v1/images/generations — bikenera API key, cyangwa kwishyura Lightning kuri buri gusaba.
ID zituruka kuri GET /api/v1/models?type=imageUmubare usanzwe,
@cf/black-forest-labs/flux-1-schnell, bifata ibiciro bishingiye ku miterere ya 5 standard credits (50 sats) ku
ifoto imwe. Buri generator bindi bikoresha Pro credits ku giciro cyabo, hagati y'uburindamuryango busanzwe n'inyungu, nk'uko biri muri agakoresho. n igiciro cy'amafoto
n inshuro nyinshi kurusha. Urubuga generator itarekura ntigihagarikwa ahubwo rirangirira aho,
generator isanzwe ikoresha ubutumwa (prompt) gusa.
| Uruhande | Andika | Bisabwa | Ibisobanuro |
|---|---|---|---|
model | umushyikirano | Yego | Indangamuntu y'imashini ikora amashanyarazi, nk'urugero nano-banana. |
prompt | umushyikirano | Yego | Icyo gushushanya. Icyo gushushanya. Ibanze amagambo ya mbere 2,000 gusa ni yo akoreshwa. |
n | integere | Oya | 1 kugeza kuri 4. 1 ni yo yagenewe. Nanone bishobora kwemera nka num_images. |
size | umushyikirano | Oya | Ubwiriranwa bw'ubugari n'uburebure nk'urugero "16:9", cyangwa ingano ya OpenAI nk'uko "1792x1024", kiba ari imwe mu mibare irushaho hafi ya 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 21:9, 5:4 na 4:5. "auto" bireka generator. |
aspect_ratio | umushyikirano | Oya | Bimeze nk'ibindi size, kandi atsinda iyo zose ebyiri zagiye. |
quality | umushyikirano | Oya | Bihariye generator, nk'urugero nibyo "low", "medium" cyangwa "high". |
negative_prompt | umushyikirano | Oya | Icyo ugomba kutashyiramo. |
output_format | umushyikirano | Oya | "png", "jpeg" cyangwa "webp". |
response_format | umushyikirano | Oya | "url" (iy'ibanze) cyangwa "b64_json". |
image_url | umushyikirano | Oya | Ifoto yo gutangiraho: an https:// ikilink kigira bitarenze inyuguti 4,096 kitagira izina ry'umukoresha cyangwa ijambo ry'ibanga, cyangwa data:image/…;base64 URL (PNG, JPEG, WebP cyangwa GIF; si SVG). Ku banyagitari gusa bafite edit; bisabwa n'abo bafite requires_image_url. |
resolution ntakoreshwa: buri generator ikora uburebure bwayo bwihariye. Na url,
isura buri imwe ishyirwa kuri Blossom host isobanutse kandi ubona ikintu cyayo (imashini zimwe na zimwe gusa
ziha ikintu cyazo, kigahita kishyirwaho). Umuntu wese ufite iyo link ashobora kuyifungura kandi
ntiyo ishobora gukurwaho kandi; reba iyo API ishobora kubona kiHamwe na
b64_json ifoto igaruka mu gisubizo kandi ntabwo ishyirwa kuri interineti. Ifoto
yoherejwe nka data: URL muri image_url bisuzwa mu buryo bumwe n'uburyo bwa
guhindura kandi byashyizweho kuri Blossom mbere kugira ngo generator ishobore kukikura; kirasemwa nanone niba ubusabe bwanga butarashyirwa mu bintu byishyurwa.
Niba bamwe muri n amafoto arangira, ubona ayo banyuze, wishyurirwa gusa
ayo (n'ayandi ubyicaro bwo muri serivisi byari byibaritse nubwo yari yatsindwe), kandi nymbot.failed bibwira ubumenyi
bw'imibare itariho. Niba byose byatsindwe, ubusabe butanga 502.
Igisubizo
{
"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 }
}
| Imiterere | Ryari |
|---|---|
400 | Nta musozo; n り-out-of-4 (
り-out-of-4 (
り-out-of-4 (
り-out-compose-4 (
り-out-of-th-4 (
り-out-of-th-4 (
り-out-of-th-4 (
り-out-of-th-4 (
り-out-of-th-4 (
り-out-of-th-4 (
り-out-of-th-4 (
り-out-of-4 (
り-out-of-4 (
り-out-of-4 ( in-out-of-4 (
り-out-of-4 (
り-out-of-4 ( data-out-of-4 (
り-out-of-4 (
り-out-of-4 (
り-out-of-4 (
り-out-of-4 (
り-out-of-4 (
り-out-of-4 (
り-out-of-4 (
り-out-of-4 (
り-out-of-4 (
り-out-of-4 (
り-out-of-4 (
り-out-of-4 ( in-out-of-of-4 ( for-out-of-4 (
り-out-of-4 (
り-out-of-4 (
り-out-of-4 (
り-out-of-of-4 (
り-out-of-of-4 (
り-out-of-of-4 ( hanze ya 1 kugeza kuri 4 (invalid_value); ingano mbi (invalid_size) cyangwa ifoto (invalid_image, invalid_image_url); imodeli ibaho ariko itari iyerekana amashusho (invalid_model); ifoto y'imashini ikora amashanyarazi itashobora guhindurwa (edit_unsupported); nta ifoto iboneye ku wandi ukeneye (image_required). |
402 | Umubare w'amafaranga ntushobora kwishyura amafoto yose yasabwe. |
404 | Nta masezerano afite iryo zina (model_not_found). |
502 | Generator ihashemiye (upstream_error). Nta kintu kiryozwa keretse iyo umuperekayi yashyizeho ikiguzi cy'icyo gerageza; ubwo rero ikosa ryaba charged_sats. |
503 | Amafoto ntiyashobora gushyirwa kuri interineti ubu (media_hosting_unavailable). b64_json bikora kabiri. |
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);
Gukora ishyushano ku mafoto
Ihindura ifoto ugaragaje, ukurikije amabwiriza. Ibi ni uburyo bwo guhindura bwa OpenAI (edit endpoint), bityo SDK za OpenAI images.edit bikora uko biri. Ibikora Pro gusa bifite edit mu
urutonde rw'imimodeli yemera.
POST https://nymbot.ai/api/v1/images/edits — bikenera API key, cyangwa kwishyura Lightning kuri buri gusabaUmubiri ni multipart/form-data, kugeza kuri 32 MB.
| Uruhande | Andika | Bisabwa | Ibisobanuro |
|---|---|---|---|
image | ifishi | Yego | Ifoto yo guhindura: PNG, JPEG, WebP cyangwa GIF, kugera kuri 20 MB. Ikunze kwemezwa kandi nka image[]; iy'imbere ni yo ikoreshwa. |
prompt | umushyikirano | Yego | Icyo uhindura. |
model | umushyikirano | Yego | Imashini ikora amashanyarazi ifite edit. |
n | integere | Oya | Kuva kuri 1 kugeza kuri 4. |
sizeaspect_ratioqualitynegative_promptoutput_format | umushyikirano | Oya | Ku bijyanye no kurema. |
response_format | umushyikirano | Oya | "b64_json" (icyo bimenyerewe hano) cyangwa "url". |
Ifoto ucuritse ihindurwa ikagenzurwa kugira ngo irebe niba ari PNG, JPEG, WebP cyangwa GIF yemewe, ikomoka ku bwoko bwayo nyako, kandi ikasangizwa ku rubuga rw'isi rwa Blossom, kuko ibikora (generators) bikura amakuru yazo binyuze kuri link. Iyite ko ari iy'isi. Iyo igenzuramikoromo ryatsindwe kandi nta kintu gishonje, kopi yasangishijwe isi irasibwa nanone. Igisubizo kiba kimeze nk'icyo mu gihe cyo gukora ibintu bishya. Igiciro ni icyo gikoramo (generator) gihari, kandi kuri bimwe mu bikora, bishobora kuba birimo n'igiciro cy'ifoto yakoreshejwe.
Igisubizo
{
"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 }
}
| Imiterere | Ryari |
|---|---|
400 | Nta ifoto cyangwa itegeko ririmo, dosiye itari ifoto (invalid_image), cyangwa generator itashobora guhindura (edit_unsupported). |
413 | Ifoto ifite ibirenge kurusha MB 20 (file_too_large), cyangwa ubusabe bwose kurenza 32 MB. |
503 | Ifoto ntishobora guhagarazwa ubu (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"));
Video
Video itwara iminota, bityo ikora mu buryo bwihishe. Uyishyizeho, ugahita ubona ID, ukabaza kuri iyo ID kugeza igihe yarangiye. Buri generator ya video ishira umutungo wa Pro.
POST https://nymbot.ai/api/v1/videos — bikenera API key, cyangwa kwishyura Lightning kuri buri gusaba. Gusubizwa 202.
| Uruhande | Andika | Bisabwa | Ibisobanuro |
|---|---|---|---|
model | umushyikirano | Yego | ID y'igikoresho gihimbaza videwo ivuye kuri GET /api/v1/models?type=video, nko veo. |
prompt | umushyikirano | Yego | Bikwiye kubaho bite. |
duration | umubare cyangwa interuro | Oya | Igihe mu masegonda, birenze 0 kugeza kuri 60. Bikoreshwa gusa n'ibigega (generators) bitanga amahitamo y'igihe; ibindi bikora igihe biba bimenyereye, ni cyo kiba ari cyo seconds mu gisubizo n'igiciro biba bikurikiraho. |
aspect_ratio | umushyikirano | Oya | Nka "16:9" cyangwa "9:16"; ingano nk'iy' "1280x720" iba igice cya hafi cyane. |
resolutionquality | umushyikirano | Oya | Kimwe mu bya generatori resolutions mu rutonde rw'imodeli, nk'ibyo "720p" cyangwa "1080p". Icyo nicyo gihagarika igiciro. Ibindi byose biragarurwa na unsupported_resolution. |
image_url | umushyikirano | Oya | Ifoto yo gutangiraho: an https:// urusobe cyangwa a data:image/… URL, ivugurwa ku nkingi ya Blossom yose mbere na mbere. Bisabwa n'izikora generators hamwe na requires_image_url. |
Igiciro kiganzwe igihe ugiye gutanga ibintu, kuva ku generator, imiterere n'uburebure, bityo bigashyurwa mu miterere yawe ya Pro igihe cyose uwakira akazi yemeye, kandi bikerekanywa nka
cost, estimated_cost na nymbotNiba utanga serivisi akomeye kwemera
igikorwa, nta kintu kirashyurwa. Niba ubuvugururwa (render) bwatsindwe nyuma, cyangwa videwo yakozwe itashobora kubikwa
kandi utanga serivisi atari we wibaruye, amafaranga asubizwa rimwe, mu buryo bw'imanzuro. Ubuvugururwa
bukomeje kugenda nyuma y'isaha bwakurwaho, kandi bukagumana ikiguzi cyacyo, kuko utanga serivisi
abarisha ubuvugururwa akaba yarabuhembye igihe yarwakiriye. Gusubizwa amafaranga (refund) gusubiza amaponto (credits) ariko ntibagabanye umubare w'amafaranga yakoreshejwe kuri key.
Igisubizo (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 bitangira nka in_progress, cyangwa completed na videwo
yari imaze kwinjiramo data igihe generator yabonye mu buryo bw'uburyo.
Kugenzura video
GET https://nymbot.ai/api/v1/videos/{id} — ikenera urufunguzo rwa nym yabishyije. Urufunguzo rugeze ku mupaka rushobora gusubiramo gusuzuma.
Bisubiza 202 mu gihe video ikorwa kandi 200 iyo imirimo
isoje cyangwa ikaba yarashatse, biba bivuze ko yarangiye. Baza buri sekunde 5 kugeza kuri 10. Buri kureba kubaza ugutanga serivisi rimwe kandi gusubiza
bitabaye binyuze mu buryo bwihuse; ntitegereza video. Umurimo uratunganywa mu gihe cy'amasaha 24 nyuma y'uko washyizweho.
GET /api/v1/videos amenyetsa imirimo 50 ya nyuma ya kaminyo nka
{"object": "list", "data": […]}.
Igisubizo (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 ni in_progress, completed cyangwa failed. A
akazi kangiye kwananirwa kiba kagezeho error ({"code": "generation_failed", "message": …});
ngo biba byahawe, cost ese 0 na nymbot arongera
refunded_credits na refunded_satsVideo yakozwe iriboneka kuri Blossom public
host, nk'amafoto yakozwe n'ikoranabuhanga.
| Imiterere | Ryari |
|---|---|
400 | Nta muntu; igihe gihari hanze ya 0 kugeza kuri 60 (invalid_value); urwego rw'ubuziranenge generator itanga (unsupported_resolution); nta ifoto iboneye ku gashushanyo kigomba kugira (image_required); ikoranabuhanga ritari igituma video itangwa (invalid_model). |
402 | Imbaraga za Pro ntizishobora kwambura video. |
404 | Nta generator iboneka (model_not_found), cyangwa nta kazi ihuye n'iyo id ku nym yawe, cyangwa bimezeho igihe kirekire kurusha amasaha 24 (video_not_found). |
429 | Izina ryawe ririmo amashusho 10 ari kwitumbura (video_jobs_limit). Babonereho hanyuma ugasubize izindi iyo imwe irangiye. |
502 | Imashini y'amashanyarazi (generator) yanze akazi. Nta kintu cyishyurwa keretse niba uwakoze abishyurije. |
503 | Video ntizishobora koherezwa cyangwa kubikwa ubu (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);
Kuvugisha inyandiko
Asoma inyandiko mu ijwi kandi akagarura dosiye y'ijwi ubwayo, si link. Ni OpenAI's speech endpoint,
nuko audio.speech.create mu SDK za OpenAI bikora.
POST https://nymbot.ai/api/v1/audio/speech — bikenera API key, cyangwa kwishyura Lightning kuri buri gusaba.
| Uruhande | Andika | Bisabwa | Ibisobanuro |
|---|---|---|---|
model | umushyikirano | Oya | Ubushobozi bwo kuvuga buturutse kuri urutonde rw'imikoresho y'amajwi. Icyo usanzwe ukoresha: ijwi risanzwe, @cf/myshell-ai/melotts. aura-2 ese Deepgram Aura 2. |
input | umushyikirano | Yego | Inyandiko isomwa: kugera kuri 800 by'inyuguti ku ijwi rya kawaida, 2,000 kuri Aura 2. |
voice | umushyikirano | Oya | ID y'ijwi ivuye kuri urutonde rw'amajwi: ikinyabuzima cy'amajwi nka luna (cyangwa aura-2-luna-en), cyangwa ururimi rwa MeloTTS (en, es, fr, zh). Amazina y'amajwi ya OpenAI nk'uko ya alloy bikemurwa kandi bitanga ijwi rya bya mambere rya model. |
language | umushyikirano | Oya | Icyode cy'ururimi nk'urugero es. Isezerera amajwi atari yo, ikahitamo iryo rurimi. Ijwi rivuga urundi rurimi rivuguruka 422 voice_language_mismatch, n'ururimi umuvuduko w'imashini utagira ijwi rwo kugivuga 422 unsupported_language. |
response_format | umushyikirano | Oya | Ijwi rishingiye ku miterere rigaruka mp3 gusa. Aura 2 itanga mp3 (uburyo busanzwe), opus, aac, flac, wav cyangwa pcm. |
speed | imibare | Oya | Yakiriwe kandi ikarengagurwa. |
Ijwi rigenewe risanzwe rishaka amatsinda 3 asanzwe (30 sats) kuri buri gusaba, nk'uko bimeze muri porogaramu. Aura 2
ni Pro, igomba kwishyurwa hashingiwe ku ntekerezo wanditse. Umubare w'ibisubizo ni amajwi, ahuye na
Content-Type; ikiguzi kiri muri X-Nymbot-Cost-Sats umutwe. Niba
imodeli y'ijambo itanyuranye, nta kintu gishyurwa.
Igisubizo
HTTP/1.1 200 OK
Content-Type: audio/mpeg
X-Nymbot-Cost-Sats: 4.2
X-Nymbot-Balance-Sats: 41055.6
(audio bytes)
| Imiterere | Ryari |
|---|---|
400 | Nta mivugire; imivugire irenga urugero rw'icyiciro cy'imashini (input_too_long); imiterere imodeli itashobora gutanga (unsupported_response_format); ijwi ritari ryamenyekanye (invalid_voice); imodeli itari imodeli y'imvugo (invalid_model). |
422 | Ijwi ntirivuga ururimi rwatanzwe, cyangwa imodeli ifite ijwi ryo kurivugamo. |
502 | Imvugo y'imashini yaje kutarangije akazi. Nta kintu cyashyorewe. |
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()));
Amodeli z'amajwi n'amazwi
Imbonerahamwe zigaragara ibiri zo guhitamo imiterere y'imvugo n'ijwi, cyangwa imiterere yo kwandika ibivugwa. Hari abavuga icyongereza 41 ba Aura 2 n'indimi ine za MeloTTS.
GET https://nymbot.ai/api/v1/audio/models — nta kirango kibikeneye.
GET https://nymbot.ai/api/v1/audio/voices?language=en — nta kirango kibikeneye.
| Uruhande | Andika | Bisabwa | Ibisobanuro |
|---|---|---|---|
language | string (ubushakashatsi) | Oya | Imivugire yonyine kuri uru rurimi. |
model | string (ubushakashatsi) | Oya | Imivugire gusa kuri uyu muryango. |
Igisubizo (amajwi)
{
"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 }
]
}
Imodeli zerekana ibisubizo {"object": "list", "data": {"tts": […], "stt": […]}}.
Buri moshini y'ijambo ihereye imbalanse yayo, igiciro, max_input_chars,
response_formats, languages na default_voice; igimodeli yo guhindura amagambo ivuga amazina yayo ayandi, max_file_bytes, max_seconds,
uburyo bwo kubikora n'igiciro per minute.
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);
Icyivugo kigira inyandiko
Ihindura amashusho cyangwa amajwi akaba inyandiko ukoresheje Whisper. Iyi ni endpoint ya OpenAI yo guhindura ibivugwa mu nyandiko, bityo
audio.transcriptions.create bikora.
POST https://nymbot.ai/api/v1/audio/transcriptions — bikenera API key, cyangwa kwishyura Lightning kuri buri gusabaUmubiri ni multipart/form-data.
| Uruhande | Andika | Bisabwa | Ibisobanuro |
|---|---|---|---|
file | ifishi | Yego | Igituno cy'amajwi, kuva kuri 256 bytes kugeza kuri 25 MB n'iminota kugeza kuri 30: WAV, WebM, MP4 cyangwa M4A, Ogg cyangwa Opus, MP3 n'andi mafomati Whisper isoma. MP3 n'andi mafomati aho igihe bitashobora gusomwa mbere bagabanijwe 1.8 MB. |
model | umushyikirano | Oya | Icyerekezo cy'ibanze whisper, ari Whisper Large v3 Turbo. whisper-1, whisper-large-v3-turbo na @cf/openai/whisper-large-v3-turbo bishatse kuvuga kimwe. |
language | umushyikirano | Oya | Ururimi rw'imvugo, nk'urugero enBimenyekana niba bitekanyeho. |
prompt | umushyikirano | Oya | Amagambo cyangwa imyandikire uzategereza, nko amazina. Inyuguti ibanza 1,000 gusa ni zo zikoreshwa. |
response_format | umushyikirano | Oya | json (uburyo busanzwe), text, srt, vtt cyangwa verbose_json. |
Ku mafayili ya WAV, WebM, MP4 na Ogg, igihe kirenga isaha isomwa muri fayili mbere y'uko ibintu bibera, bityo
inyandiko irenga iminota 30 irahanwa mbere (hagaragariwe iminota 3 y'ihari). Igihe cya fayili ya WAV kiva
ku isaha y'amajwi (sample rate), imirongo (channels) n'uburebure bw'ijwi (sample size). Igihe cy'andi
maformat, nko kuri MP3, nticyashobora gusomwa mbere, bityo agahinda kabyo kaba ku bw'uburebure bwayo: kuri
bitrate niniya Nymbot ibitekereza, 8 kbps, iminota 30 ni 1.8 MB, kandi fayili nini muri uwo muryango irahanwa na 413
audio_too_long mbere y'uko ibintu biba bimeze. <br>Kohereza amashusho cyangwa amajwi maremare nka WAV, WebM, MP4 cyangwa Ogg.<br> <br>Niba Whisper igenzura ko ari menshi kurusha iminota 30, ubusabe burasubirwaho na
413 audio_too_long, kandi kubera ko Whisper yakoreye akazi, iminota 30
izwishyurwa.
Wishyura hashingiwe ku igihe cy'amajwi, hagarikirwa ku segundo: igihe kirekireza kuremewe mu kintu (file) ukeneye gusoma, igihe Whisper ivuga, n'igihe gito cyane uburemere bw'iyo file bwemera, ku giciro cya Whisper cy'iminota n'uruzitiro n'inyongezo isanzwe, kandi nibura 0.05 credit kuri buri gusaba. Bishyurwa mu miterere isanzwe (standard balance) iyo ishobora kubishyura, kandi niba itabishoboye, bishyurwa kuri Pro; a 402 ibigaragaza ibyo buri
mubare w'amafaranga ukeneye. Mu kantu k'itumanaho (app), kwandika ubutumwa bw'amajwi bishobora kuba bwisanzuye; kuri API ntibishobora kuba bwisanzuye. Niba Whisper itakoze, nta mafaranga yishyurwa.
Igisubizo
{
"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 gusubiza inyandiko isanzwe, srt na vtt gusubiza amagambo agerwa, na
verbose_json ongeraho ururimi, igihe, n'ibice bishingiye ku gihe. Ku bitatu bitari JSON, igiciro kiba kiri mu miterere y'imbere (headers).
| Imiterere | Ryari |
|---|---|
400 | Nta dosiye, dosiye itagira amajwi akoreshwa (invalid_audio), imiterere itazwi, cyangwa imodeli itari imodeli y'ihindurira ijambo mu nyandiko (invalid_model). |
402 | Ibyo mbonezamubare byombi ntibishobora kubishyura. |
413 | Ifishi ifite ibirenge ya 25 MB (file_too_large) cyangwa ikubiri kurenza iminota 30, cyangwa, mu miterere aho igihe kacyo kitashobora gusomwa mbere, kurenza 1.8 MB (audio_too_long). |
502 | Whisper ntiyashoboye gukora akazi ku ijwi. Nta kintu cyashyorewe. |
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);
Guhindura imvugo mu Cyongereza
POST https://nymbot.ai/api/v1/audio/translations — bikenera API key, cyangwa kwishyura Lightning kuri buri gusabaUmubiri ni multipart/form-data.
Nka transcription, hagire ibindi bintu bihindutse uretse language, imipaka n'
igiciro, ariko inyandiko isubira mu Cyongereza haba ari ururimi rwumvikanywe. OpenAI SDKs zabyita
na 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
Uhindura inyandiko ziba imigabane (vectors) kugira ngo zishakwe, zishyirwe mu matsinda, kandi zikemurwe mu bintu biganze, bikoreshwa kuri Cloudflare kandi bikoresha umutungo usanzwe.
POST https://nymbot.ai/api/v1/embeddings — bikenera API key, cyangwa kwishyura Lightning kuri buri gusaba.
| Uruhande | Andika | Bisabwa | Ibisobanuro |
|---|---|---|---|
model | umushyikirano | Yego | Urugero rw'imashini ishinzwe gukora embedding ivuye kuri GET /api/v1/models?type=embedding. |
input | inyandiko cyangwa urutonde rw'inyandiko | Yego | Inyandiko yo gushyiramo, kugeza ku ntego 100 zidakoresheje imvugo yongereye (token_input_unsupported). Buri kintu kigomba kwubakwamo imiterere y'icyiciro (model) context_length, bisiwe nk'ibipimo by'abayo (bytes) binecyari ku ntekerezo imwe (token). |
encoding_format | umushyikirano | Oya | float (iy'ibanze) cyangwa base64 (float za biti 32 muri little-endian). |
dimensions | integere | Oya | Ingano y'icyo kigega ubwayo, cyangwa ku kigega gifite supported_dimensions rimwe muri zo; ubu vector igabanukirwa n’uburyo bwo kuyigira isanzwe. Ibindi byose birasubizwa. |
| Imbonerahamwe | Ingano | Imiterere y'ibyiyumviro |
|---|---|---|
@cf/baai/bge-m3 | 1024, indimi nyinshi | 8,192 tokens |
@cf/qwen/qwen3-embedding-0.6b | 1024, indimi nyinshi | 8,192 tokens |
@cf/baai/bge-large-en-v1.5 | 1024, Icyongereza | 512 tokeni |
@cf/baai/bge-base-en-v1.5 | 768, Icyongereza | 512 tokeni |
@cf/baai/bge-small-en-v1.5 | 384, Icyongereza | 512 tokeni |
Urutonde rw'amajambo (models) ni rwo nshingiro y'ukuri ku bijyanye n'ayo ariho n'amafaranga agomba kwishyurwa; Google's EmbeddingGemma, ifite amashami (vectors) mato kuri ubusabe, na yo iba irimo iyo urutonde igihe rufite igiciro cyacyo. Embeddings bishyingurwa bitewe n'ibitekerezo (tokens) byinjiriye, kandi igiciro cyo hagati ya 0.05-credit cyo ku busabe buri umwe, si ku buri kintu kinjiriye, bityo guhuriza inyandiko nyinshi mu busabe bumwe bituma biba byoroheje cyane kuruta kuzituma imwe ku yindi.
Igisubizo
{
"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 }
}
| Imiterere | Ryari |
|---|---|
400 | Nta kintu cyasubijwe cyangwa bishize mu kantu k'ubwenge; amatsinda ya token (token_input_unsupported); ibirenge birenze 100 (too_many_inputs); input irenga urugero rwa model (input_too_long); ingano ikoreshwa ntabwo ishobora gutangwa na model (unsupported_dimensions). |
402 | Ubwuzuzanye busanzwe ni bwo buke cyane. Embeddings ntizigera zikoresha ubwuzuzanye bwa Pro. |
404 | Nta modeli ya embedding ifite iryo zina. |
502 | Imodeli yaguye. Nta kintu cyaturitswe. |
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);