kahua ʻike Nā mea kūkulu polokalamu
Nā kiʻi, leo, a me nā embedding
Nā mea hana mea kūkulu mai ka polokalamu, a me nā mea kūkulu no ke ʻimi ʻana: nā kiʻi, video, ʻōlelo, ka hāʻawi ʻana i ka huaʻōlelo, a me nā embeddings, ʻo ia a pau ka uku ʻana i kēlā me kēia hoʻohana mai kou pūnaewele loauna.
Ua unuhi ʻia kēia ʻaoʻao no ka maʻalahi. ʻO ka ʻōlelo Pelekane ka mana e pili ana.
Ke hana ʻana i nā kiʻi
He mau kiʻi he ʻelua a he ʻena ka mea hana mai kahi ʻōlelo a ka mea hana e hoʻihoʻi mai i ia lā i ka pau ʻana. He pūʻolo hana pū kekahi mai ?image i loko o ka polokalamu.
POST https://nymbot.ai/api/v1/images/generations — pono i kahi API key, a i ʻole he kālā Lightning ma kēlā me kēia petuke.
Mai nā mea e hiki mai ai nā ID GET /api/v1/models?type=imageʻO ka mea hana maʻamau,
@cf/black-forest-labs/flux-1-schnell, kūpono 5 mau kumu waiwai standard (50 sats) no
kahi kiʻi. Kūkiʻi ʻia kēlā me kēia mea hana ma o nā kumu waiwai Pro ma ko lākou kumu ponoʻī, me ka uku maʻamau me ka
pae kumu, eia pēlā i ka polokalamu. n keakahia o nā kiʻi
n nuʻi i ka nui iho. He papa i ʻole i ka hana ʻana o ka hoʻonānoho ʻana, ua nalo ia ma mua o ka ʻole e ʻae;
he mea hoʻohana wale i ka hoʻōmolomolo ka hoʻonānoho maʻamau.
| Māhele | ʻOlelo | Pono | Kāʻano |
|---|---|---|---|
model | lele | ʻAe | He ʻilese hana, eia pēlā me nano-banana. |
prompt | lele | ʻAe | He aha e papaia ai. ʻO ka 2,000 mua wale nō o nā huaʻōlelo e hoʻohana ʻia. |
n | helu pololei | ʻAʻole | 1 a 4. Kumu 1. Hiki nō ke ʻae pū ʻia ma ke ʻano he num_images. |
size | lele | ʻAʻole | He kumu palapala pēlena e like me "16:9", a iole OpenAI loaʻa e like me "1792x1024", e lilo ana i ka mea hiki loa o 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 21:9, 5:4 a me 4:5. "auto" hoʻolele iā ka mea hana. |
aspect_ratio | lele | ʻAʻole | Me he size, a e lanakila inā i hoʻouna ʻia ʻelua. |
quality | lele | ʻAʻole | Kūpono i ka mea hana, e like me "low", "medium" aʻole "high". |
negative_prompt | lele | ʻAʻole | He aha e haʻalele ai. |
output_format | lele | ʻAʻole | "png", "jpeg" aʻole "webp". |
response_format | lele | ʻAʻole | "url" (ka mea kapa ʻia ʻia) a "b64_json". |
image_url | lele | ʻAʻole | He kiʻi e hoʻomaka ai: he https:// ala o ka wiki o ka ʻana i ka nui ʻole o nā helu 4,096 me ka ʻole o kekahi inoa mea hoʻohana a me kekahi ʻōlelo hūnā i loko, a i ʻole kekahi data:image/…;base64 URL (PNG, JPEG, WebP a i GIF; ʻaʻole SVG). No nā mea hana wale nō me ka edit; pono kēia e nā poʻe i loaʻa requires_image_url. |
resolution ʻaʻole i hoʻohana ʻia: ʻo kēlā me kēia mea hana e hana ana i kona nui ponoʻī. Me url,
ʻo ia kēlā kiʻi a pau i hoʻouna ʻia i kahi Blossom host pololei a loaʻa ʻoe i kona lālā (he mau mea hana wale nō i hoʻolele i ka lālā pono ʻana, i manaʻo ʻia he lālā o ia)? ʻO ka mea loaʻa kēlā me kēia i ka lālā hiki ke wehe iā ia a
ʻaʻole hiki ke wehe ʻia hou; e nānā ka mea i hiki ai i ka API ke ʻikeMe
b64_json ʻO ka kiʻi e hoʻi mai nei i ka pane a ʻole e hoʻouna ʻia mai. He kiʻi
i hoʻouna ʻia ma ke ʻano he data: URL i loko image_url heia ʻia paha e like me kekahi an
hoʻoponopono a me uka ʻia i Blossom mua i mea e loaʻa ai e ka mea hana;
mea ʻole ʻo ia inā lilo ka uka me ka ʻole o ka uku.
Inā heke wai o ka n hōʻike ʻole nā kiʻi, loaʻa iā ʻoe wale nō nā i kūpono, e uku ʻia ʻoe no
helu wale ʻia kēlā (me nā mea i kōkua ai ka mea loaʻa ʻia ʻole), a me nymbot.failed e ʻōlelo he aha
ka nui o ka mea i nele nei. Inā hela a pau, e hoʻi mai ka ulu ʻōlelo 502.
A'ohe mea pane
{
"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 }
}
| Kālele | ʻAeʻe? |
|---|---|
400 | ʻAʻole he kukuke; n waho mai 1 a me 4 (invalid_value); he nui loa a he iti loa (invalid_size) a kiʻi (invalid_image, invalid_image_url); he maukiʻi e loaʻa ana akā ʻaʻole he mea hana kiʻi (invalid_model); he kiʻi no he mea hana i hiki ʻole ke hoʻololi (edit_unsupported); ʻaʻohe kiʻi no kekahi i makemake ʻia (image_required). |
402 | ʻAʻole hiki i ka pūlua ke kākoho i kēlā me kēia kiʻi i noi ʻia. |
404 | ʻAʻole he moʻielele kēlā inoa (model_not_found). |
502 | Ua hāʻule ka mea hana ʻelā (upstream_error). ʻAʻohe mea e lawe aku ʻia inā ʻaʻole ua kākoʻo ka mea ʻenaʻe i ka hoʻāʻo; i mea ʻo ia, ua loaʻa ka hewa charged_sats. |
503 | ʻAʻole hiki ke hoʻokhala i nā kiʻi i kēia manawa (media_hosting_unavailable). b64_json e hala wale nei. |
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);
Hoʻololi i nā kiʻi
Hoʻololi i ke kiʻi i hōʻouna ʻia nei, ma muli o ka ʻōlelo hoʻāla. ʻO kēia ka wahi hoʻololi o OpenAI, no laila nā OpenAI SDKs'... images.edit hana ana i kēlā me kēia. He mea hana Pro wale nō me... edit i loko o ka
papa inoa modele e loaʻa ai ia.
POST https://nymbot.ai/api/v1/images/edits — pono i kahi API key, a i ʻole he kālā Lightning ma kēlā me kēia petukeʻO ka kino ʻo multipart/form-data, hiki i ka 32 MB.
| Māhele | ʻOlelo | Pono | Kāʻano |
|---|---|---|---|
image | papa ʻike | ʻAe | Ka kiʻi e hoʻololi ai: PNG, JPEG, WebP a i ʻole GIF, hiki i ka 20 MB. Paʻa pū ʻia pēlā ma image[]; ʻo ka mea mua ka mea i hoʻohana ʻia. |
prompt | lele | ʻAe | He aha ka mea e hoʻololi ai. |
model | lele | ʻAe | He mea hana mea hana me edit. |
n | helu pololei | ʻAʻole | 1 a 4. |
sizeaspect_ratioqualitynegative_promptoutput_format | lele | ʻAʻole | No ka hana ʻana. |
response_format | lele | ʻAʻole | "b64_json" (ka mea kumu ma kēia) a i ʻole "url". |
E nānā ʻia ka kiʻi i hōʻoia ʻia he PNG, JPEG, WebP a i ʻole GIF kūpono, i hoʻouna ʻia ma kona ʻano maoli, a i ka mea e hoʻokohina ʻia ana ma kahi Blossom hou kēlā me kēia, no ka mea, e loaʻa ana ka mea hoʻomaka ma o ka lālā. E manaʻo he mea kōpala ia. Inā lopsia ka hoʻololi a ʻaʻole lawa ka uku, e wehe ʻia hou ka kākoʻo i hoʻokohina ʻia. He like ke ʻano o ka pane me ka hana hoʻomaka ʻana. ʻO ke kumuhana o ke uku ka uku o ka mea hoʻomaka, ʻo ia paha e pili ana i ka uku no ka kiʻi i hoʻohana ʻia no kekahi mau mea hoʻomaka.
A'ohe mea pane
{
"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 }
}
| Kālele | ʻAeʻe? |
|---|---|
400 | ʻAʻole mau nā kiʻi a i ʻole nā ʻōlelo hoʻohāpana, he faila ʻole he kiʻi (invalid_image), a mea hana ʻai ʻole e hiki ai ke hoʻololi (edit_unsupported). |
413 | He nui aʻe ka kiʻi ma mua o ka 20 MB (file_too_large), a i ʻole ka mea i ʻoi aku ma mua o 32 MB ka nui o ka noi ʻia ʻia nei. |
503 | ʻAʻole hiki ke hoʻokipa ʻia ka kiʻi i kēia manawa (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"));
Wikihoʻihoʻike 🎥
He minaka ka wikiō, no laila e hana ana ia ma hope. Hoʻouna ʻia ia, loaʻa koke kekahi id, a nānā i kēlā id a hiki i ka pau ʻana. Hoʻohana i ka pūʻulu Pro nā mea hana wikiō kēlā me kēia.
POST https://nymbot.ai/api/v1/videos — pono i kahi API key, a i ʻole he kālā Lightning ma kēlā me kēia petuke. Nā mea e hoʻi mai nei 202.
| Māhele | ʻOlelo | Pono | Kāʻano |
|---|---|---|---|
model | lele | ʻAe | He ʻoluʻolu hana wikiō ʻia mai naʻe GET /api/v1/models?type=video, eia nā laʻau, e like me veo. |
prompt | lele | ʻAe | He aha kā laila e pono ai. |
duration | helu a i ʻole lālālele | ʻAʻole | Ka lōʻihi ma nā sekelyia, he nui aʻe i ka 0 a hiki i ka 60. Hoʻohana ʻia e nā mea hana wale i hiki iā ʻoe ke koho i ka lōʻihi; ʻo nā mea ʻē aʻe, ke hana nei lākou i kā lākou lōʻihi noʻeau, ʻo ia paha ka mea ʻo ia seconds i loko o ka pane a me ke kumuhana e hiki mai ana. |
aspect_ratio | lele | ʻAʻole | Eia nā laʻana e like me "16:9" aʻole "9:16"; he nui e like me "1280x720" lilo i ka palapala helu hiki loa. |
resolutionquality | lele | ʻAʻole | ʻEkahi o ka mea hana ʻelekino resolutions i ka papa inoa moʻielele, e like me "720p" aʻole "1080p". He ia ka mea e hoʻohana ai i ke kumu kūʻai. He mea ʻē aʻe kēlā me kēia i kūʻai ʻia me unsupported_resolution. |
image_url | lele | ʻAʻole | He kiʻi e hoʻomaka ai: he https:// pūnaewae a i ʻole a data:image/… URL, i mea e hoʻouna ʻia ai i kahi Blossom host mea loaia mua loa. Pono ʻia e nā mea hana me requires_image_url. |
He kumu kūpaʻa ka nui i ka wā e hoʻouna ai ʻoe, ma muli o ka mea hana, ka resolution, a me ka lōʻihi, no laila e hoʻonui ʻia ʻia mai kou pūnaewele Pro i kēlā manawa hoʻi i loaʻa ai ka hana i ka mea hana, a hōʻike ʻia ʻia pēlā.
cost, estimated_cost a nymbotInā kūʻole ka mea hana i ka hana, ʻaʻole e uku ʻia kekahi mea. Inā hapawe ka hāʻawi ʻana i ka pūnaewele, a ʻaʻole hiki ke hoʻapena ka ʻeleʻele i ka hope loa, a ʻaʻole i uku ka mea hana, e hoʻiʻou ʻia ka uku lilo i lilo ʻole, ma o ka hana pololei. ʻO ka render i loaʻa ʻole i loko o ka hola ʻekahi, e lawe ʻia ia, a e mālama ʻia nō kona uku, no ka mea e uku ka mea hana i ka render بمana ia loaʻa ka ʻae. ʻO ka hoʻiʻou ʻana i ka uku, e hoʻihoʻi ana i nā koke (credits) akā ʻaʻole e hoʻonui i ka nui o ka loaʻa o ka kī.
Kālia (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 hoʻomaka ʻia ʻo in_progress, a completed me ke wikio
aia i loko data i ka manawa i hoʻi mai ai ka mea hana mea hauʻoli i kēlā auʻi loa.
E nānā ana i kekahi wikiō
GET https://nymbot.ai/api/v1/videos/{id} — pono he pohaku e like me ka inoa i hoʻouna ʻia iā ia. He pohaku i hiki i kona nui ke nānā pēlā.
He pane ia ia 202 i ka wā e hana ʻia ana ka wikiō a 200 inā ua
pana ʻia a i ʻole ua hāʻule. Nānā i kēlā me kēia 5 a i nā 10 sekia. ʻO kēlā me kēia nānā e nānā ana i ka mea ʻikepili he una nō a pane nō
i kēlā manawa; ʻaʻole ia e kali i ka wikiō. Ke mālama ʻia kahi hana no nā 24 hola ma hope o kona hoʻouna ʻana.
GET /api/v1/videos ʻO nā hana 50 hope o ka mea kī ma ke ʻano he
{"object": "list", "data": […]}.
Ka pane (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 he in_progress, completed aʻole failed. A
he hana i hāʻule e lawe mai ana error ({"code": "generation_failed", "message": …});
inā ua hoʻi mai ʻia, cost he 0 a me nymbot hoʻohui
refunded_credits a refunded_satsUa loaʻa ka wikiō i loaʻa i ka hope ma luna o kahi Blossom host pololei, e like me nā kiʻi i hana ʻia.
| Kālele | ʻAeʻe? |
|---|---|
400 | ʻAʻole he ʻōlelo; he manawa ma waho o 0 a me 60 (invalid_value); he manaʻo ʻole ʻia e ka mea hana resolution (unsupported_resolution); ʻaʻole he kiʻi no ka mea hana mea hana e pono ai kekahi (image_required); he māhele ʻole he mea hana wikiō i ka māhele (invalid_model). |
402 | ʻAʻole hiki i ka pūʻolo Pro ke huli i ka wikiō. |
404 | ʻAʻole he mea hana pēlā (model_not_found), a ʻole he hana ʻole ma kēlā inoa no kou inoa, a ʻo ia kekahi mea i unuhi ʻia ma mua o nā hola 24 (video_not_found). |
429 | Ua loaʻa iā ʻoe nā wikiō 10 e hana ʻia nei i kēia manawa (video_jobs_limit). E nānā iā lākou a hoʻouna mai i kekahi ʻē a hiki i kekahi i pau ai. |
502 | Ua kūʻolelo ka mea hana i ka hana. ʻAʻole e lawe i ka uku he aha lā, inā ʻaʻole ka mea lawelawe i uku iā ia. |
503 | Nā wikiō ʻaʻole hiki ke hoʻouna ʻia a i ʻole e waiho ʻia i kēia manawa (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);
Leo i ka ʻōlelo ʻono
Hoʻonanea i ka leka me ka leo a e hoʻi mai ai ka faila leo ponoʻī, ʻaʻole he pūlinki. He OpenAI speech endpoint kēia,
no audio.speech.create e hana ana i loko o nā OpenAI SDKs.
POST https://nymbot.ai/api/v1/audio/speech — pono i kahi API key, a i ʻole he kālā Lightning ma kēlā me kēia petuke.
| Māhele | ʻOlelo | Pono | Kāʻano |
|---|---|---|---|
model | lele | ʻAʻole | He ʻōlelo ma hope o ka papa inoa o nā māhele leo. Ka mea kumu: ka leo kūpono, @cf/myshell-ai/melotts. aura-2 He Deepgram Aura 2. |
input | lele | ʻAe | Ka leo maʻamau, hiki i nā helu 800 i luna, no Aura 2, hiki i nā helu 2,000 i luna. |
voice | lele | ʻAʻole | He hōʻike leo mai ka papa inoa o nā leo: he ʻeu leo Aura pēlā e luna (a ʻo aura-2-luna-en), a MeloTTS ʻōlelo (en, es, fr, zh). Nā inoa leo OpenAI e like me alloy e loaʻa nei a hāʻawi i ka leo kumu o ka māhele. |
language | lele | ʻAʻole | He kumu ʻōlelo pēlā me es. ʻOle i keke leo, ke koho nei ia i keke leo no ia ʻōlelo. He leo e ʻōlelo ana i kekahi ʻōlelo ʻē aia e hoʻi mai ana 422 voice_language_mismatch, a me he ʻōlelo ʻaʻole loa ia ʻole ka leo o ka mōʻahuahu 422 unsupported_language. |
response_format | lele | ʻAʻole | Ulu mai ka leo kumu mp3 ‘O ia pālā. He mea e ho‘i mai nei ka Aura 2 mp3 (ka mea kumu), opus, aac, flac, wav aʻole pcm. |
speed | helu | ʻAʻole | A ʻae ʻia a ʻole i mālama ʻia. |
He kumuwaiwai ka leo maʻamau, he 3 kumuwaiwai maʻamau (30 sats) kēlā me kēia wikiʻō, e like me ka polokalamu. ʻO Aura 2
he Pro, ke kumu kūʻai ʻia nei ma o nā helu ʻōlelo ʻia ʻia. ʻO ka kumu o ka pane ʻia, ʻo ka leo, me ka maikaʻi e like pū ana
Content-Type; ke kumuhana nei i ka X-Nymbot-Cost-Sats kumuhoʻomao. Inā
hōʻolele ʻole ka ʻōlelo kahu, ʻaʻole he uku ʻia kekahi mea.
A'ohe mea pane
HTTP/1.1 200 OK
Content-Type: audio/mpeg
X-Nymbot-Cost-Sats: 4.2
X-Nymbot-Balance-Sats: 41055.6
(audio bytes)
| Kālele | ʻAeʻe? |
|---|---|
400 | ʻAʻole i hea ka hāʻawi ʻike; ua ʻoi aku ka hāʻawi ʻike ma mua o ka pākela o ka kumu iʻano (input_too_long); he ʻano kālaiho ʻaʻole hiki i ka ʻano kōkua ke hana i (unsupported_response_format); he leo ʻole ʻia (invalid_voice); he kumu hana ʻole he kumu hana ʻōlelo (invalid_model). |
422 | ʻAʻole ʻōlelo ka leo i ka ʻōlelo i hāʻawi ʻia, a i ʻole ʻaʻole loa ia ʻole ka mōʻelelo i ka leo no ia. |
502 | Ua hāʻule ka ʻōlelo polokalamu. ʻAʻole i uku ʻia he mea. |
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()));
Nā mōʻielele leo a me nā leo
Lua ʻe mau papa inoa hoʻolaha no ka hoʻopili ʻana i kahi ʻano ʻōlelo a me kahi leo, a i ʻole kahi ʻano heluhelu ʻōlelo. He 41 ka mea ʻōlelo Aura 2 ʻōlelo Pelekia a ʻehā MeloTTS ʻōlelo.
GET https://nymbot.ai/api/v1/audio/models — ʻaʻole pono he pohiʻena.
GET https://nymbot.ai/api/v1/audio/voices?language=en — ʻaʻole pono he pohiʻena.
| Māhele | ʻOlelo | Pono | Kāʻano |
|---|---|---|---|
language | lālā (nānā) | ʻAʻole | Nā leo wale no no kēia ʻōlelo. |
model | lālā (nānā) | ʻAʻole | Nā leo wale no no kēia māhele. |
Kāpileina (leo)
{
"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 }
]
}
Ke papa inoa o nā mōhele ka pane {"object": "list", "data": {"tts": […], "stt": […]}}ʻO kēlā me kēia māhele ʻōlelo e hāʻawi ana i kona kākoʻohaʻa, ke kumukūʻana, max_input_chars,
response_formats, languages a default_voice; ka
ʻano hana heluhelu ʻana i hāʻawi i nā inoa like, max_file_bytes, max_seconds,
nā ʻano a me ke kumukūʻai i ka minaka.
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);
Ka ʻōlelo i ka helu ʻōlelo ʻia
Loli i ka hoʻopaʻa leo i ka leka ma o ka Whisper. He kēia ka wahi hope no ka hōʻoia ʻōlelo o OpenAI, no laila
audio.transcriptions.create hana loa.
POST https://nymbot.ai/api/v1/audio/transcriptions — pono i kahi API key, a i ʻole he kālā Lightning ma kēlā me kēia petukeʻO ka kino ʻo multipart/form-data.
| Māhele | ʻOlelo | Pono | Kāʻano |
|---|---|---|---|
file | papa ʻike | ʻAe | Ka hoʻihoʻi ʻana, mai 256 bytes a hiki i 25 MB a hiki i 30 minaka: WAV, WebM, MP4 a i ʻole M4A, Ogg a i ʻole Opus, MP3 a me nā ʻano ʻē aʻe i heluhelia e Whisper. He loea 1.8 MB nā MP3 a me nā ʻano ʻē aʻe i ʻole hiki ke heluhelia ka lōʻihi ma mua o ka hoʻomaka ʻana. |
model | lele | ʻAʻole | Ka mea i hoʻonohonoho ʻia whisper, ʻo Whisper Large v3 Turbo. whisper-1, whisper-large-v3-turbo a @cf/openai/whisper-large-v3-turbo pilikia he mau mea like ʻole. |
language | lele | ʻAʻole | ʻO ka ʻōlelo ʻana, e like me enʻAe, ʻike ʻia inā haʻalele ʻia. |
prompt | lele | ʻAʻole | Nā huaʻōlelo a i ʻole nā ʻele ʻण kapa e laho ana, e like me nā inoa. ʻO ka 1,000 o ka mua wale nō o nā helu ʻana e hoʻohana ʻia. |
response_format | lele | ʻAʻole | json (ka mea kumu), text, srt, vtt aʻole verbose_json. |
No nā faila WAV, WebM, MP4 a me Ogg, heleia ka lōʻihi mai ka faila ma mua o ka hoʻomaka ʻana i kekahi mea, no laila
ʻaʻole loaʻa ka hoʻopaʻa ʻana ma mua o nā minuke 30 (me 3 sekole ke kūpono). ʻO ka lōʻihi o ka faila WAV, he mea ia
e lawe ʻia mai ana mai ka pūʻolo lōʻihi, nā lālā, a me ka nui o ka pūʻolo. ʻAʻole hiki ke heleia ka lōʻihi
o nā ʻano ʻē aʻe, e like me ka MP3, ma mua o ka hoʻomaka ʻana, no laila ʻo ka nui ka mea e hāʻawi i ka pōʻole: ma ka
bitrate i lalo loa i manaʻo ʻia e Nymbot, 8 kbps, ʻo nā minuke 30 ʻo ia ʻaʻole mai 1.8 MB, a ʻaʻole loaʻa
ka faila nui aʻe i kēlā ʻano faila me 413
audio_too_long aʻo ka hoʻomaka ʻana i kēlā me kēia mea. Hoʻouna i nā hoʻopaʻa lōʻihi ma ke ʻano he WAV, WebM, MP4 a i ʻole Ogg.
Inā ʻoi aku ma mua o ka 30 minaka kā laila ka hōʻike ʻana a Whisper, e lawe ʻia i ka ʻole ʻia o ka ulu ʻana me
413 audio_too_long, a i mea no, mai ka neʻe ʻana ʻana o Whisper, 30 mau minaka e hoʻopuka ʻia nei.
Ke kākoʻo ʻia ke kākoʻo ʻia ʻia ka hola o ka leo, e hoʻonui ʻia i ka sekia: ka hola lōʻihi loa o ka hola i helu ʻia
mai ka faila, ka hola i hōʻike ʻia e Whisper, a me ka hola i loaʻa maikaʻi ʻia e ka nui o ka faila, ma ke kumuhana o Whisper no ka minaka me ka uku maʻamau a me ka pūlea, a me ka ʻana i kēlā ʻaoʻao ʻana i ka 0.05 credit no ka ʻimi ʻana ʻana. He kākoʻo ʻia ia mai ka pūʻolo maʻamau
inā hiki i kēlā ke kākoʻo i ka hoʻomau ʻana, a mai Pro inā ʻaʻole; a 402 e hāʻawi ana i ka mea pono ʻia o kēlā me kēia
ola. Ma ka polokalamu, hiki ke ʻole ka uku o ka unuhi ʻana i kekahi leo; ma ka API,
e uku kēlā me kēia manawa. Inā hāʻule ʻaʻole Whisper, ʻaʻohe mea e uku ʻia.
A'ohe mea pane
{
"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 hoʻi mai i ka leo maʻalahi, srt a vtt hoʻihoʻi i nā pākuʻikui ʻōlelo, a me
verbose_json hoʻemi i ka ʻōlelo, ke wā, a me nā ʻāpana i hoʻonohonoho ʻia i ka manawa. No ka ʻelua i ʻole he JSON, ke kaiāulu nei ke kumuhana i nā ʻulawe.
| Kālele | ʻAeʻe? |
|---|---|
400 | ʻAʻole he faila, he faila me ka leo ʻole e loaʻa ana (invalid_audio), he mau papa ʻano ʻole ʻia, a he kahu ʻole ia e he nui i ka hoʻololi ʻōlelo (invalid_model). |
402 | ʻAʻole hiki i kekahi mea loaʻa i ka loaʻa e cover i kēia. |
413 | ʻO ka faila he nui aʻe ma mua o 25 MB (file_too_large) a i ka hoʻiʻolu ʻana ma luna o nā minute 30, a i ʻole, i kahi ʻano kākoʻo ʻole e hiki ai ke heluhelu ʻia ka lōʻihi ma mua, ma luna o 1.8 MB (audio_too_long). |
502 | ʻAʻole hiki iā Whisper ke hoʻonāwai i ka leo. ʻAʻole i uku ʻia. |
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);
Hoʻololi ʻana i ka ʻōlelo i ka ʻōlelo Pelekānia
POST https://nymbot.ai/api/v1/audio/translations — pono i kahi API key, a i ʻole he kālā Lightning ma kēlā me kēia petukeʻO ka kino ʻo multipart/form-data.
E like pū me ke kākau ʻana, me nā kiʻekiʻe pū ke like me nā mea ʻē aʻe ma mea ʻole language, nā palena me ka
kelea, akā e hoʻi mai ana ka lehua ma ka ʻōlelo Pelekane, regardless poa ka ʻōlelo i ʻōlelo ʻia. ʻO ka ʻōlelo ʻana o nā OpenAI SDKs
ʻo ia me 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);
Nā mea i hoʻokona ʻia
Hoʻololi i ka ʻōlelo i nā vector no ke ʻimi ʻana, ke hui ʻana me ke ʻano like, a me ka hoʻopau ʻana i ka ʻaoʻao like. E neʻe ana nā māhele ma luna o Cloudflare a e hoʻohana i ka loaʻa maʻamau.
POST https://nymbot.ai/api/v1/embeddings — pono i kahi API key, a i ʻole he kālā Lightning ma kēlā me kēia petuke.
| Māhele | ʻOlelo | Pono | Kāʻano |
|---|---|---|---|
model | lele | ʻAe | He māhele kumu mai nā GET /api/v1/models?type=embedding. |
input | lele ʻana a i ʻole papa lele ʻana o nā lele | ʻAe | Ka ʻōlelo e hoʻokemena ai, hiki i nā huaʻōlelo ʻole ka ʻole o ka 100. ʻAʻole loaʻa nā papa token (token_input_unsupported). Pāpā kikoʻio ʻoia a pau e kūpono ai i ka māhele o ka>: context_length, helu ʻia e like me nā ʻehā byte he ʻehā i kēlā ʻemi hōʻike. |
encoding_format | lele | ʻAʻole | float (ka mea kapa ʻia ʻia) a base64 (nā pūlea 32-bit little-endian). |
dimensions | helu pololei | ʻAʻole | Ka nui o ke model ponoʻī, a i ʻole no kahi model me supported_dimensions ʻole kekahi o ia; ua pōkole ʻia a ʻo ia pū hou ʻia ka vector. ʻAʻole ʻia kekahi mea ʻē aʻe. |
| Mẫu kailā | Nā Waiwai Nui | Ka Papaʻohona |
|---|---|---|
@cf/baai/bge-m3 | 1024, nā ʻōlelo he nui | 8,192 mau ʻōlelo hōʻike |
@cf/qwen/qwen3-embedding-0.6b | 1024, nā ʻōlelo he nui | 8,192 mau ʻōlelo hōʻike |
@cf/baai/bge-large-en-v1.5 | 1024, ʻEoʻeolelo | 512 mau ʻōlelo |
@cf/baai/bge-base-en-v1.5 | 768, ʻŌlelo Pelekane | 512 mau ʻōlelo |
@cf/baai/bge-small-en-v1.5 | 384, ʻŌlelo Pelekāne | 512 mau ʻōlelo |
ʻO ka papa inoa o nā kumu hoʻohālikelike ka puna puna o ka ʻike no ka mea i loaʻa ana a me kā lākou kumuhana; ʻo Google's EmbeddingGemma, me nā vektora pōkole inā ʻia, he mea e hōʻike ʻia ana ma ia lā pū ʻia inā loaʻa ka kumuhana ma ka puke inoa. Ke nānā ʻia nā embeddings ma o nā token i hōʻea ʻia, a ʻo ka nui ʻana o 0.05-credit ka mea e kū nei no kēlāme kēia kōkua, ʻae, ʻaʻole no kēlāmeia mea i hōʻea ʻia, no laila ʻo ka hui ʻana i nā leo he nui i loko o ka mea hoʻohana ʻekahi ka mea i uʻi loa ma mua o ka hoʻouna ʻana iā lākou i kēlāmeia kōkua.
A'ohe mea pane
{
"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 }
}
| Kālele | ʻAeʻe? |
|---|---|
400 | ʻAʻole he mea hoʻokomo a he mea ʻole; nā papa token (token_input_unsupported); nui aʻe i ka 100 mau mea hoʻokomo (too_many_inputs); he mea hoʻolele lōʻihi ma mua o ka mea e loaʻa ana i ke kumu hoʻohana (input_too_long); he nui a i ʻole hiki ke hāʻawi ʻia e ka mōʻkā (unsupported_dimensions). |
402 | Heiaia ka loaʻa i ka mea maʻamau he haʻahaʻa loa. ʻAʻole mau hoʻohana ʻia e nā embedding ka loaʻa Pro. |
404 | ʻAʻole ia ʻano ʻelele embedding. |
502 | Ua hāʻule ka māhele. ʻAʻole i uku ʻia kekahi mea. |
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);