Scientia basis Developers
Imaginēs, auditus et embedding
Generatores ex applicatione, et elementa constructiva pro investigatione: imagines, video, loquela, transcriptio et embedding, singula ex saldo tuo secundum usum computantur.
Haec pagina machinae ad commodum translata est. Originale Anglicum est versio quae applicatur.
Imaginum generatio
Unum ad quattuor imagines ex instructione facit et eas reddit cum finitae sint. Eadem est
series generatorum quam ?image in applicatio.
POST https://nymbot.ai/api/v1/images/generations — claves API indiget, aut solutio Lightning per petitionem.
Ids procedunt ex GET /api/v1/models?type=image. Generator standardus,
@cf/black-forest-labs/flux-1-schnell, constat quinque creditibus standardis (50 sats)
unumquodque imaginem. Omnis alter generator creditibus Pro secum suo pretio expendit, cum praesidiario et
margine usitata, sicut in applicatio. n pretia imaginum
n multo amplius. Campus quem generator non capit non recusatur sed amittitur;
generator communis tantum promptum utitur.
| Campus | Typus | Necessarium | Descriptio |
|---|---|---|---|
model | filum | Ita | ID generatoris, sicut nano-banana. |
prompt | filum | Ita | Quid pingere. Solum primae duae milia litterarum utuntur. |
n | integer | Non | 1 ad 4. Default 1. Etiam accipitur ut num_images. |
size | filum | Non | Ratiocinatio lateris sicut "16:9", vel magnitudo OpenAI sicut "1792x1024", quod proximum fit unius ad unum, sedecim ad novem, novem ad sedecim, quattuor ad tres, tres ad quattuor, tres ad duo, duo ad tres, viginti unum ad novem, quinque ad quattuor et quattuor ad quinque. "auto" generatori relinquit. |
aspect_ratio | filum | Non | Idem ac size, et vincit si utrumque mittitur. |
quality | filum | Non | Generatori-proprius, sicut "low", "medium" aut "high". |
negative_prompt | filum | Non | Quid omittendum |
output_format | filum | Non | "png", "jpeg" aut "webp". |
response_format | filum | Non | "url" (defaultum) an "b64_json". |
image_url | filum | Non | Imago a qua incipere: una https:// nexus maximum quadringentis nonaginta sex decem litterarum sine nomine vel verbis sigilli in se continens, vel a data:image/…;base64 URL (PNG, JPEG, WebP aut GIF; non SVG). Solum pro generatoribus cum edit; a debet eis qui habent requires_image_url. |
resolution non adhibetur: quisque generator propriam magnitudinem facit. Cum url,
quaelibet imago in publicum Blossom hospitium uploadatur et vinculum eius accipis (pauca tantum generatores
vinculum proprium reddunt, quod transmittitur). Quicumque vinculum habet aperire potest et ea
iterum delevari non potest; vide quid API videre potest. Cum
b64_json imago in responsione redit et numquam in rete transfertur. Imago
missa ut data: URL in image_url similiterne probatur sicut unum?
emende et primum in Blossom uploadatum ut generator id ferre possit;
si postulatio sine computo deficit, iterum deletur.
Si aliquid ex n imago deficiunt, eas habes quae successerunt, tantum pro
iis solvunt (praetermitius eas quas praebitor, quamvis defecerint, effecerit), et nymbot.failed dicit quot deferiant. Si omnia deficiunt, postulatio redit 502.
Responsio
{
"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 | Quando |
|---|---|
400 | Nullus stimulus; n extra 1 ad 4 (invalid_value); magnitudo mala (invalid_size) an imago (invalid_image, invalid_image_url); modulus qui existit sed non est generator imaginum (invalid_model); imago pro generatore qui editio non potest (edit_unsupported); nullum imaginem pro eo qui eam egere debet (image_required). |
402 | Saldo omnia imagines petitas non potest capere. |
404 | Nullus exemplar hoc nomine (model_not_found). |
502 | Generator defecit (upstream_error). Nihil imponitur nisi praebeat pro conatu pecuniam; tunc error habet charged_sats. |
503 | Imaginum hodie non possunt hospitari (media_hosting_unavailable). b64_json adhuc operatur. |
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);
Imaginum edere
Imaginem quam imponis mutat, praecepto sequendo. Hoc est punctum editum OpenAI, itaque SDK OpenAI images.edit sicut est operatur. Solum generatores Pro cum edit in
elenco modellorum accipe id.
POST https://nymbot.ai/api/v1/images/edits — claves API indiget, aut solutio Lightning per petitionem. Corpus est multipart/form-data, usque ad 32 MB.
| Campus | Typus | Necessarium | Descriptio |
|---|---|---|---|
image | documentum | Ita | Imago ad editendam: PNG, JPEG, WebP vel GIF, usque ad 20 MB. Etiam accipitur ut image[]; primus adhibetur. |
prompt | filum | Ita | Quid mutari debeat. |
model | filum | Ita | Generator cum edit. |
n | integer | Non | I ad IV. |
sizeaspect_ratioqualitynegative_promptoutput_format | filum | Non | Quantum generationis. |
response_format | filum | Non | "b64_json" (hic praedeterminatum) vel "url". |
Imago quam transmittis probatur esse PNG, JPEG, WebP vel GIF recte formata, suo vero genere missa, et in publicum Blossom hospitium posita, quia generatores suam materiam per vinculum accipiunt. Eam ut publicam habe. Si emendatio deficit et nihil debetur, copia hospitata iterum deletur. Responsum eandem formam habet quam ad generationem. Pretium est pretium generatoris, quod apud quidam generatores etiam pretium pro imago praelata includit.
Responsio
{
"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 | Quando |
|---|---|
400 | Nec imago nec mandatum, ars quae non est pictura (invalid_image), aut generator qui mutare non potest (edit_unsupported). |
413 | Imago super 20 MB est (file_too_large), aut tota postulatio super 32 MB. |
503 | Imago nunc non potest hospitari (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 minutis temporis consumit, itaque abdita procedit. Id mittis, statim numerum accipis, et de numero quaeris donec perficiatur. Omnis generator videolar saldo Pro absumit.
POST https://nymbot.ai/api/v1/videos — claves API indiget, aut solutio Lightning per petitionem. Reditus 202.
| Campus | Typus | Necessarium | Descriptio |
|---|---|---|---|
model | filum | Ita | ID generatoris pelliculae ex GET /api/v1/models?type=video, sicut veo. |
prompt | filum | Ita | Quid accidere debet. |
duration | numerus an textus | Non | Longitudo in secundis, amplius quam 0 et usque ad 60. Solum a generatoribus adhibetur qui longitudinem tibi eligere sinunt; alii longitudinem suam communem facient, quae est... seconds in responsione et pretium sequuntur. |
aspect_ratio | filum | Non | Sicut "16:9" aut "9:16"; magnitudo talis ut "1280x720" propeximus numerus rationis fit. |
resolutionquality | filum | Non | Unus generantium resolutions in indice modorum, sicut "720p" aut "1080p"Pretium ipse constituit. Aliud quidvis recusatur. unsupported_resolution. |
image_url | filum | Non | Imago a qua incipere: una https:// nexus aut a data:image/… URL, quod primum in publicum Blossom hospitium uploadatur. A generatoribus requiritur cum requires_image_url. |
Pretium statum est cum submittis, ex generatore, resolutione, et longitudine, ita ut ex saldo tuo Pro statim tollatur cum praebitor munus accipit, et sic ostenditur
cost, estimated_cost et nymbotSi praebitor laborem recusat, nihil imponitur. Si effectus postea deficit, vel clip finita conservari non potest et praebitor ei non billingit, pecunia restituit semel, automate. Effectus qui post horam adhuc procedit desistitur, et pretium retinet, quia praebitor effectum simul ac accipit billingit. Reditus creditum reddit sed numerum consumptionis clavis non minuit.
Responsum (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 incipit ut in_progress, aut completed cum pellicula
iam intrā data Cum generator id statim reddidit.
Videon inspiciens
GET https://nymbot.ai/api/v1/videos/{id} — clavis necessaria est quae nomen subiecit ei pertinentes. Clavis quae finem attingit adhuc inspicere potest.
Respondet 202 dum video facitur et 200 cum aut perfectum sit aut defecit. Quoque 5 ad 10 secunda quaere. Unusquisque inspectio praebitorem semel interrogat et statim respondet; numquam pro pellicula exspectat. Munus post submissionem per 24 horas conservatur.
GET /api/v1/videos indices quinque ultima opera clavis ut
{"object": "list", "data": […]}.
Responsio (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 est in_progress, completed aut failed. A
officium deficiente portat error ({"code": "generation_failed", "message": …});
si restitutum esset, cost estne 0 et nymbot addit
refunded_credits et refunded_sats. Video perfectum in publico
Blossom hospite est, sicut imagines generatae.
| Status | Quando |
|---|---|
400 | Nullum praeceptum; temporis duratio extra 0 ad 60 (invalid_value); resolutio quam generator non offert (unsupported_resolution); nullum imagines pro generatore qui eam requirit (image_required); exemplar quod non est generator pellicularum (invalid_model). |
402 | Aequilibrium Proisitionis video tegere non potest. |
404 | Nullus generator talis (model_not_found), aut nulla operatio per illud numerum pro nomine tuo, aut amplius quam XXIV horas antiquior est (video_not_found). |
429 | Nomen tuum iam decem videos fingens habet (video_jobs_limit). Inspice eos et plura mitte cum unus finierit. |
502 | Generator laborem recusavit. Nihil debitum est nisi praebitor id emerserit. |
503 | Vidia nunc non possunt tradere aut servare (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);
Vox ad verba conversio
Textum voce clamat et ipsum fasciculum audibile reddit, non vinculum. Est punctum loquendi OpenAI,
itaque audio.speech.create in OpenAI SDKs operatur.
POST https://nymbot.ai/api/v1/audio/speech — claves API indiget, aut solutio Lightning per petitionem.
| Campus | Typus | Necessarium | Descriptio |
|---|---|---|---|
model | filum | Non | Modelus loquendi ex index modellorum audientium. Default: vox consueta, @cf/myshell-ai/melotts. aura-2 estne Deepgram Aura 2. |
input | filum | Ita | Textus legendus: usque ad 800 caracteres pro voce communi, 2,000 pro Aura 2. |
voice | filum | Non | Vox identificatio ex index vocum: instrumentum sonorum Aura sicut luna (vel aura-2-luna-en), aut lingua MeloTTS (en, es, fr, zh). Nomina vocum OpenAI sicut alloy acceptantur et vocem default modellorum dant. |
language | filum | Non | Codex linguae sicut es. Sine voce, illī linguae unam eligit. Vox quae alteram linguam loquitur redit. 422 voice_language_mismatch, et lingua cui cuius modello vox non est 422 unsupported_language. |
response_format | filum | Non | Vox communis redit mp3 solum. Aura 2 redit mp3 (defaultum), opus, aac, flac, wav aut pcm. |
speed | numerus | Non | Acceptum et neglectum. |
Vox communis tribus creditibus communibus fixis (30 sats) per petitionem constat, sicut in applicatione. Aura 2 est Pro, pretium secundum litteras quas mittis habens. Corpus responsionis est audio, cum adaequante
Content-Type; pretium est in X-Nymbot-Cost-Sats caput. Si
modulus loquendi deficit, nihil debitur.
Responsio
HTTP/1.1 200 OK
Content-Type: audio/mpeg
X-Nymbot-Cost-Sats: 4.2
X-Nymbot-Balance-Sats: 41055.6
(audio bytes)
| Status | Quando |
|---|---|
400 | Nullus inputus; inputus super limites moduli est (input_too_long); forma quam exemplar non potest producere (unsupported_response_format); vox ignota (invalid_voice); exemplar quod non est exemplar loquendi (invalid_model). |
422 | Vox linguam datoram non loquitur, aut exemplar ei vocem non habet. |
502 | Model loquendi defecit. Nihil debitum est. |
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()));
Modelli soni et voces
Duae indices publici ad eligendum specimen loquendi et vocem, aut ad specimen transcriptionis. Sunt 41 loquentes Aura 2 Angli et quattuor linguae MeloTTS.
GET https://nymbot.ai/api/v1/audio/models — clavis non opus est.
GET https://nymbot.ai/api/v1/audio/voices?language=en — clavis non opus est.
| Campus | Typus | Necessarium | Descriptio |
|---|---|---|---|
language | filum (quaestio) | Non | Solum voces pro hac lingua. |
model | filum (quaestio) | Non | Solum voces huiusmodi. |
Responsio (voces)
{
"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 }
]
}
Index modellorum responsa dat {"object": "list", "data": {"tts": […], "stt": […]}}.
Omnis exemplar loquendi suum aequilibrium, pretium dat, max_input_chars,
response_formats, languages et default_voice; exemplar transcriptionis alias dat, max_file_bytes, max_seconds,
formae et pretium per minutam.
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);
Vox in scriptum
Confectionem in textum cum Whisper convertit. Hoc est punctum transcriptionis OpenAI, ergo
audio.transcriptions.create operatur.
POST https://nymbot.ai/api/v1/audio/transcriptions — claves API indiget, aut solutio Lightning per petitionem. Corpus est multipart/form-data.
| Campus | Typus | Necessarium | Descriptio |
|---|---|---|---|
file | documentum | Ita | Registratio, a 256 bytebus ad 25 MB et usque ad 30 minuta: WAV, WebM, MP4 aut M4A, Ogg aut Opus, MP3 et aliae formae quas Whisper legit. MP3 et aliae formae cuius longitudo ante legi non potest ad 1.8 MB limitantur. |
model | filum | Non | Definitio whisper, quod est Whisper Large v3 Turbo. whisper-1, whisper-large-v3-turbo et @cf/openai/whisper-large-v3-turbo idem significare. |
language | filum | Non | Lingua loquens, sicut enSi relinquitur, invenitur. |
prompt | filum | Non | Verba aut orthographiae quae expectare possis, sicut nomina. Solum primus mille litterae utuntur. |
response_format | filum | Non | json (defaultum), text, srt, vtt aut verbose_json. |
Pro chartis WAV, WebM, MP4 et Ogg, longitudo ex chartā antequam quidquam agatur legitur, itaque
conscriptio super triginta minuta antequam incipiat recusatur (cum tribus secundis indulgentia). Longitudo chartae WAV ex
frequentia exemplorum, canalibus, et magnitudine exempli venit. Longitudo aliorum formatarum, sicut MP3, non
potest ante legi, itaque magnitudine limitantur: ad minimum debitatem quam Nymbot suspicatur, 8 kbps,
triginta minuta sunt 1.8 MB, et charta maior in talem formam recusatur cum 413
audio_too_long antequam quidquam exeat. Missa longiora monumenta ut WAV, WebM, MP4 vel Ogg.
Si Whisper tamen plus quam triginta minuta refert, postulatum recusatur cum
413 audio_too_long, et cum Whisper perfectum esset, triginta minuta
imputantur.
Pro longitudine audii solvisti, in secundam partem elevata: maximum inter longitudinem ex archivo lectam, longitudinem quam Whisper nuntiat, et minimum quod magnitudo archivi permittit, pretio per minutam Whispercum cum pecunia consueta et margini addita, et saltem 0.05 creditum per petitionem. Ex saldo consueto solvitur cum id pretium tegere possit, aliter autem ex Pro; a 402 redit quidquid
unumquodque saldo opus sit. In applicatione, nuntium vocale transcribere gratis esse potest; in API semper
emolumentum imponitur. Si Whisper deficit, nihil imponitur.
Responsio
{
"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 textum simplicem reddit, srt et vtt subtitula redde, et
verbose_json Addit linguam, durationem, et segmenta temporis. Pro tribus quae non sunt JSON, sumptus in capitimis est.
| Status | Quando |
|---|---|
400 | Nullum documentum, documentum sine auditu utilis (invalid_audio), formatum incognitum, aut modellum quod non est modellum transcriptionis (invalid_model). |
402 | Nec ambo computi id tegere possunt. |
413 | Facies est ultra 25 MB (file_too_large) an registrazione per excessum triginta minuta, vel, in forma cuius longitudo antea legi non potest, per excessum 1.8 MB (audio_too_long). |
502 | Whisper audionum processere non potuit. Nihil debitum est. |
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);
Verba ad Anglicum convertere
POST https://nymbot.ai/api/v1/audio/translations — claves API indiget, aut solutio Lightning per petitionem. Corpus est multipart/form-data.
Eodem modo sicut transcriptio, eundem campos habens praeter language, limites et
pretium, sed textus Anglice redit quicquid lingua dictum sit. OpenAI SDKs eum
vocant cum 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);
Intextūs
Textum in vectores ad quaerendum, ad aggregationem et ad deduplicationem convertit. Modelli in Cloudflare fiunt et ex saldo consueto consumunt.
POST https://nymbot.ai/api/v1/embeddings — claves API indiget, aut solutio Lightning per petitionem.
| Campus | Typus | Necessarium | Descriptio |
|---|---|---|---|
model | filum | Ita | Modus inclusio ex GET /api/v1/models?type=embedding. |
input | series vel series stringarum | Ita | Textus ad inserendum, usque ad 100 stringas non vacuus. Series tokenum recusantur (token_input_unsupported). Unumquodque input consistere debet cum exemplar. context_length, quasi quattuor bytes per verbum computatur. |
encoding_format | filum | Non | float (defaultum) an base64 (flotationes 32-bitae parvum-endianae). |
dimensions | integer | Non | Magnitudo ipsius modelli, an pro modello cum supported_dimensions unum ex illis; vector tum brevatur et normalizatur. Aliud quidvis recusatur. |
| Modellus | Dimensiones | Contextus |
|---|---|---|
@cf/baai/bge-m3 | 1024, multae linguae | 8,192 verba |
@cf/qwen/qwen3-embedding-0.6b | 1024, multae linguae | 8,192 verba |
@cf/baai/bge-large-en-v1.5 | Millesimus vigentesimus quadragesimus quartus, Anglica | 512 verba |
@cf/baai/bge-base-en-v1.5 | Septingenti sexaginta octo, Anglica | 512 verba |
@cf/baai/bge-small-en-v1.5 | CCCLXXXIV, Anglice | 512 verba |
Index modellorum est fons veritatis pro iis quae adsunt et quae sint pretia; Google's EmbeddingGemma, cum vectoribus brevioribus si petatur, ibi apparet cum catalogus pretium ei habeat. Embedding per token inputum metuntur, et minimum 0.05-creditum ad singulam petitionem spectat, non ad singulos inputos, itaque multos textus in unam petitionem aggregare multo tutius est quam eos singulatim mittere.
Responsio
{
"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 | Quando |
|---|---|
400 | Nullus inputus aut vacuum; series tokenum (token_input_unsupported); plus quam 100 input (too_many_inputs); input longius quam exemplar capit (input_too_long); magnitudo quam exemplar dare non potest (unsupported_dimensions). |
402 | Aequilibrum communis nimis parvus est. Embedding nunquam aequilibrium Pro utuntur. |
404 | Nullum exemplar embedding hoc nomine. |
502 | Modulus defecit. Nihil debitum est. |
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);