Bażi ta 'għarfien Żviluppaturi
Imaġni, awdjo u embeddings
Il-ġeneraturi mill-app, u l-blokki tal-bini għar-riċerkra: ir-ritratti, vidjo, diskors, transkrizzjoni u embeddings, kull wieħ iċċajta għal kull użu mill-bażi tal-flus tiegħek.
Din il-paġna hija tradotta bil-magni għall-konvenjenza. L-oriġinal bl-Ingliż huwa l-verżjoni li tapplika.
Ġenerazzjoni ta' immaġni
Jfassal minn wieħed għal erba' ritratti minn prompt u jirritornawhom meta jkollu’. Huwa l-istess sett ta' generatori bħal ?image fl-app.
POST https://nymbot.ai/api/v1/images/generations — għandu bżonn chiave API, jew Pagament Lightning għal kull talba.
L-IDs jiġu minn GET /api/v1/models?type=imageIl-ġeneratur standard,
@cf/black-forest-labs/flux-1-schnell, jikkostja 5 krediċi standard (50 sats)
għal kull ritratt. Kull ġeneratur ieħor juża krediċi Pro bi l-prezz tiegħu stess, b'dak il-ħarfien tas-sħab u l-margini, bħal f' l-app. n prezzu tal-istampaġni
n ħafna aktar. Kamp li generator ma jieħudx jiġi mħassar minn qabel li jirrifuta;
il-generator standard juża biss il-prompt.
| Kamp | Tip | Meħtieġ | Deskrizzjoni |
|---|---|---|---|
model | String | Iva | Id ta' ġeneratur, bħal nano-banana. |
prompt | String | Iva | X'għandek tpinna. L-ewwel 2,000 tal-karatteri biss huma użati. |
n | integer | Le | 1 għal 4. Defawlt 1. Aċċettat ukoll bħala num_images. |
size | String | Le | Rapport tal-aspett bħal "16:9", jew dimensione OpenAI bħal "1792x1024", li ssir l-aktar qrib ta' 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 21:9, 5:4 u 4:5. "auto" it-tifel jħallih lill-ġeneratur. |
aspect_ratio | String | Le | L-istess bħu size, u jirbaħ jekk ittielem ittielem jiġu mibgħutina. |
quality | String | Le | Speċifiku għall-ġeneratur, bħal "low", "medium" jew "high". |
negative_prompt | String | Le | X'għandek tħalli barra. |
output_format | String | Le | "png", "jpeg" jew "webp". |
response_format | String | Le | "url" (id-default) jew "b64_json". |
image_url | String | Le | Ritrat biex nibdew minnu: waħda https:// link ta' massimum ta' 4,096 karakteri mingħajr username jew password fih, jew a data:image/…;base64 URL (PNG, JPEG, WebP jew GIF; mhux SVG). Skeletu biss għal ġeneraturi b' edit; meħtieġ minn dawk li għandhom requires_image_url. |
resolution ma jintużax: kull ġeneratur jagħmel id-daqs tiegħu stess. B' url,
kull ritratt jiġittajta fuq host pubbliku ta' Blossom u tikseb il-link tiegħu (ch few generators only
hand back a link of their own, which is passed on). Kulħadd li għandu l-link jista' jiftaħu u
ma jistax jitneħħa mill-ġdid; xoffi x'tista' tara l-API. Ma'
b64_json it-ritra tidħolli mill-ġeww fir-rispons u qatt ma tiġittajata. Ritra
imkejla bħala data: URL f' image_url jiġi ċċekkjat l-istess mod kif wieħed
edit u uploaded għal Blossom l-ewwel biex il-generator ikun jista' jiġibha;
tiddeleta mill-ġdid jekk it-talba tinstena bla billing.
Jekk xi wħud mill- n ir-ritratti jfajlu, tirċievi dawk li marru wtew, tiġi ċċarġjat biss għal
dawk (plu xejn li l-fornitur iċċarġja nonostante l-ħnub), u nymbot.failed jgħid kemm
għandhom jinqasṣu. Jekk kollha jfajlu, it-talba tirritorna 502.
Rispons
{
"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 | Meta |
|---|---|
400 | L-ebda promt; n barra mill-1 għal 4 (invalid_value); dimensione ħżina (invalid_size) jew ritratt (invalid_image, invalid_image_url); mudell li jinsab iżda mhuwiex generator ta' imgħajja (invalid_model); ritratt għal ġeneratur li ma jistax jagħmel editjoni (edit_unsupported); l-ebda ritratt għal wieħed li għandu bżonnha (image_required). |
402 | Il-bażi ma tista'x cover kull ritratt maqtub. |
404 | Nefih mudell b'dak isem (model_not_found). |
502 | Il-ġeneratur falla (upstream_error). Xejn ma jiġi ċċarġat imma jekk il-fornitur ikun iċċarġa għall-attentat; biċċa kollox l-error għandu charged_sats. |
503 | Immaġni ma jistgħux jiġu stajtati bħalissa (media_hosting_unavailable). b64_json pered imexxoli xorta. |
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);
Editjar tal-immaġni
Jbiddel ritratt li tniżżel, segwuendo prompt. Dan huwa l-endpoint tal-edit ta' OpenAI, għalhekk l-SDKs ta' OpenAI images.edit taħdem kif hija. Chaffi biss generator Pro b' edit fil-
lista tal-modelli aċċettah.
POST https://nymbot.ai/api/v1/images/edits — għandu bżonn chiave API, jew Pagament Lightning għal kull talbaIl-ġisem huwa multipart/form-data, sa 32 MB.
| Kamp | Tip | Meħtieġ | Deskrizzjoni |
|---|---|---|---|
image | fajl | Iva | Ir-ritratt li trid tuża: PNG, JPEG, WebP jew GIF, sal mass ta' 20 MB. Aċċettat ukoll bħala image[]; l-ewwel wieħed huwa użat. |
prompt | String | Iva | X'għandek tibdel. |
model | String | Iva | Ġeneratur b' edit. |
n | integer | Le | 1 għal 4. |
sizeaspect_ratioqualitynegative_promptoutput_format | String | Le | Peress li dwar il-ġenerazzjoni. |
response_format | String | Le | "b64_json" (id-default hawn) jew "url". |
Ir-ritratt li tniżżel jiġi verifikat biex ikun PNG, JPEG, WebP jew GIF imsemmiġa tajjeb, imkejjel bħala tip veru tiegħu, u meqjus fuq host pubbliku ta' Blossom, għax il-ġeneraturi jġibbu l-input tagħhom permezz ta' link. Trattuh bħala pubbliku. Jekk il-modifika tfajalt u xejn ma jiġi ċċarġat, il-kopja immeqgħa tiddeleta mill-ġdid. Ir-rispons għandu l-istess forma bħal għall-ġenerazzjoni. Il-prezz huwa l-prezz tal-ġeneratur, li għal xi ġeneraturi jinkludi ċ-ċarġ għall-ritratt tal-input.
Rispons
{
"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 | Meta |
|---|---|
400 | L-ebda immaġni jew prompt, fju tal-li mhux ritratt (invalid_image), jew ġeneratur li ma jistax edita (edit_unsupported). |
413 | L-istampa hija fuq ta' 20 MB (file_too_large), jew ir-reqwistjoni kollha aktar minn 32 MB. |
503 | L-istampa ma tista'x toħhost issa (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"));
Vidjow
Video jieħu minuti, għalhekk jippassaw fil-background. Int issibtu, tieħu ID mill-eżatt u tistenna dwar l-ID sakemm jkun lest. Kull generator ta' video jnaqqas il-bażi Pro.
POST https://nymbot.ai/api/v1/videos — għandu bżonn chiave API, jew Pagament Lightning għal kull talba. Ritirovs 202.
| Kamp | Tip | Meħtieġ | Deskrizzjoni |
|---|---|---|---|
model | String | Iva | Id ta' generator ta' vidjow minn GET /api/v1/models?type=video, bħal veo. |
prompt | String | Iva | X'għandu jiġri. |
duration | numru jew string | Le | Ħafna sekondi, aktar minn 0 u sal 60. Tuża biss minn generators li jħalluk tagħżel il-ġentura; l-oħra jagħmlu l-ġentura tipika tagħhom, li hija x'hekk seconds fir-risposta u l-prezz jinttieħu. |
aspect_ratio | String | Le | Bħal "16:9" jew "9:16"; daqs bħal "1280x720" isir ir-rapport ilmestri. |
resolutionquality | String | Le | Wieħed mill-ġeneraturijiet ta' resolutions fil-lista tal-mudelli, bħal "720p" jew "1080p"Huwa jiddestina l-prezz. Kewl xi ħaġa oħra huwa rfidut b' unsupported_resolution. |
image_url | String | Le | Ritrat biex nibdew minnu: waħda https:// link jew a data:image/… URL, li huwatt uploaded għal host pubbliku ta' Blossom l-ewwel. Meħtieġ minn generatori b' requires_image_url. |
Il-prezz huwa fiss meta sottometti, mill-ġeneratur, ir-resoluzzjoni u t-tul, għalhekk huwa
miċċarġjat mill-bilanċ Pro tiegħek mallinmax il-fornitur aċċetta l-impjieg, u jappara bħala
cost, estimated_cost u nymbotJekk il-fornitur jirrifuta
il-xogħol, xejn ma jiġi ċċarġat. Jekk il-render tard jfajjar, jew il-clip lest ma jistax jiġi maħżun
u l-fornitur ma ħallasx għalih, il-ċarġ jiġi rrifundat darba waħda, awtomatikament. Render li
għadu qed jiġri wara siegħa jiġi waħħdu, u jżomm il-ċarġ tiegħu, għaliex il-fornitur iċċarġa
render malli j接受u. Refund irażżel l-krediti imma ma jnaqqasx il-kont ta' spese tal-key.
Risposta (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 ibda bħala in_progress, jew completed bil-vidjow
diġà fiha data meta l-ġeneratur irritorna lura mill-ewwel.
Checking fuq videw |
GET https://nymbot.ai/api/v1/videos/{id} — jeħtieġ klavijiet li jappartajnu lill-nym li submitsih. Klavijiet li laqgħu l-limitu tagħhom għad għandhom il-possibilità li jċċekkjaw.
Huwa jwieġeb 202 waqt li l-vidjow qed jiġi magħmul u 200 malli jkun
mittemt jew jfajja. Is'al kull 5 għal 10 secondi. Kull check jista' l-fornitur darba waħda u jwieġeb
immedjatament; qatt ma jistenna l-vidjow. Il-jazb huwa żomm għal 24 sigħat wara li kien ġie ssibmit.
GET /api/v1/videos jipplista l-aħħar 50 xogħol tal-key bħala
{"object": "list", "data": […]}.
Rispons (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 huwa in_progress, completed jew failed. A
impennjatijiet ta' xogħl jġibu miegħu error ({"code": "generation_failed", "message": …});
jekk kienet ġie rritornat, cost hu 0 u nymbot żidi
refunded_credits u refunded_satsIl-vidjow lest è huwa fuq host pubbliku ta'
Blossom, bħal ritratti generati.
| Status | Meta |
|---|---|
400 | L-ebda prompt; durata barra mill-0 għal 60 (invalid_value); resoluzzjoni li l-ġeneratur ma joffrix (unsupported_resolution); l-ebda ritratt għal generator li għandu bżonn wieħed (image_required); mudell li mhux ġeneratur ta' videw (invalid_model). |
402 | Il-balanċ Pro ma jistax ikopri l-vidjow. |
404 | Ma hemmx tali generator (model_not_found), jew l-ebda xogħol b'dik il-ID għal n-nym tiegħek, jew huwa aktar minn 24 sigħat ilu (video_not_found). |
429 | In-nim ewlija tiegħek għalih wisemm għandha 10 vidjuri li qed jiġu renderjati (video_jobs_limit). Iċċekkja'hom u ibgħat aktar malli wieħed jintemm. |
502 | Il-ġeneratur irrifjuta l-impjieg. Xejn ma jiġi ċċarġat sakemm il-fornitur ma jibbiljaċċih. |
503 | Il-vidjows ma jistgħu jinstegħu jew jinżammu bħalissa (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);
Test għal leħen
Qara t-test bilqelb u jirritorna l-fajl tal-awdyo stess, mhux link. Huwa l-endpoint tal-isem ta' OpenAI,
għalhekk audio.speech.create f'OpenAI SDKs taħdem.
POST https://nymbot.ai/api/v1/audio/speech — għandu bżonn chiave API, jew Pagament Lightning għal kull talba.
| Kamp | Tip | Meħtieġ | Deskrizzjoni |
|---|---|---|---|
model | String | Le | Modell ta' diskors minn il-lista tal-modelli tal-awdjo. Default: l-għawd standard, @cf/myshell-ai/melotts. aura-2 jiżda Deepgram Aura 2. |
input | String | Iva | It-test li jitqara: sa 800 karakteri għax-xejn tal-leħen standard, 2,000 għal Aura 2. |
voice | String | Le | ID tal-leħen minn lista tal-vuċi: speaker Aura bħal luna (jew aura-2-luna-en), jew lingwa MeloTTS (en, es, fr, zh). Naming tal-leħen ta' OpenAI bħal alloy jiġu aċċettati u jagħtu l-leħen tal-modell default. |
language | String | Le | Kodiċi lingwa bħal esMingħajr leħen, huwa jagħżel wieħed għal dik il-lingwa. Leħen li jitkellem lingwa oħra jirritorna 422 voice_language_mismatch, u lingwa li l-mudell m'għandux leħ għaliha 422 unsupported_language. |
response_format | String | Le | Il-leħen standard jirritorna mp3 biss. Aura 2 jirritorna mp3 (id-default), opus, aac, flac, wav jew pcm. |
speed | numru | Le | Aċċettat u miftuħ. |
Il-leħen standard jikkostja 3 krediti standard fissi (30 sats) għal kull talba, kif fil-app. Aura 2
huwa Pro, ipprezzat skont il-karatteri li tibgħat. Il-body tal-rispons huwa l-awdyo, b'wieħed li jaqbel
Content-Type; il-kost huwa fil- X-Nymbot-Cost-Sats header. Jekk il-mudell tal-diskors ma jaħtammx b'suċċess, ma jiġi miżżied xejn.
Rispons
HTTP/1.1 200 OK
Content-Type: audio/mpeg
X-Nymbot-Cost-Sats: 4.2
X-Nymbot-Balance-Sats: 41055.6
(audio bytes)
| Status | Meta |
|---|---|
400 | L-ebda input; l-input qájetx lura mill-limitu tal-mudell (input_too_long); format li l-mudell ma jistax jipproduċi (unsupported_response_format); leħen mhux magħruf (invalid_voice); mudell li mhuwiex mudell ta' diskors (invalid_model). |
422 | Il-leħen ma jitkellem il-lingwa mogħtija, jew il-mudell m'għandu l-ebda leħen għaliha. |
502 | Il-mudell tal-diskorsx falla. Xejn ma ġie miċċargedjat. |
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 tal-awdjo u vuċi
Żewġ listi pubbliċi għall-għażla ta' mudell tal-iswu u leħen, jew mudell ta' transkrizzjoni. Hemm 41 leħen tal-Ingliż ta' Aura 2 u erba' lingwi MeloTTS.
GET https://nymbot.ai/api/v1/audio/models — m'hemmx bżonn klavijiet.
GET https://nymbot.ai/api/v1/audio/voices?language=en — m'hemmx bżonn klavijiet.
| Kamp | Tip | Meħtieġ | Deskrizzjoni |
|---|---|---|---|
language | string (query) | Le | Chawt biss għal din il-lingwa. |
model | string (query) | Le | Vuċijiet biss għal dan il-mudell. |
Risposta (vuċi)
{
"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 }
]
}
Il-lista tal-modelli twieġiws {"object": "list", "data": {"tts": […], "stt": […]}}Mhux kull mudell tal-diskors jagħti l-ibbankanza tiegħu, il-prezz, max_input_chars,
response_formats, languages u default_voice; il-
mudell tat-transkrizzjoni jagħti l-alias tiegħu, max_file_bytes, max_seconds,
formati u prezz għal kull minuta.
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);
Diskurz għal tekst
J turning ta' reġistrazzjoni f'test b'Whisper. Dan huwa l-endpoint ta' transkrizzjoni ta' OpenAI, għalhekk
audio.transcriptions.create taħdem.
POST https://nymbot.ai/api/v1/audio/transcriptions — għandu bżonn chiave API, jew Pagament Lightning għal kull talbaIl-ġisem huwa multipart/form-data.
| Kamp | Tip | Meħtieġ | Deskrizzjoni |
|---|---|---|---|
file | fajl | Iva | Ir-recording, mill-256 bytes għal 25 MB u salta' 30 minuti: WAV, WebM, MP4 jew M4A, Ogg jew Opus, MP3 u l-formati l-oħra li Whisper jaqra. MP3 u formati oħra li t-tul tagħhom ma jistax jitqara minn qabel huma limitati għal 1.8 MB. |
model | String | Le | Default whisper, li huwa Whisper Large v3 Turbo. whisper-1, whisper-large-v3-turbo u @cf/openai/whisper-large-v3-turbo għandhom l-istess mezz. |
language | String | Le | Il-lingwa mitqella, bħal en. Iddeċċinat jekk ma jintreżax. |
prompt | String | Le | Kelimes jew ittieħa li tista' taspettat, bħal ismi. Doċċi l-ewwel 1,000 karakteri biss huma użati. |
response_format | String | Le | json (id-default), text, srt, vtt jew verbose_json. |
Għal fajl ta' WAV, WebM, MP4 u Ogg, it-tul jitqara mill-fajl qabel ma jiġri xejn, għalhekk
reġistrazzjoni li tavvada l-ħin ta' 30 minuti tiġi rifiċuta minnewnt flura (b'3 sekondi ta' grazja). It-tul ta' fajl WAV jiġi
mill-rate tal-kampjun, l-kanaali u s- 사이즈 tal-kampjun. It-tul ta' formati oħra, bħal MP3, ma jistax
jitqara minnewnt, għalhekk huma limitati mid-daqs: fuq l-akbar bitrate li Nymbot ipoġġi, 8 kbps,
30 minuti huma 1.8 MB, u fajl akbar f'dak il-format jiġi rifiċut b' 413
audio_too_long qabel ma xejn jiġri. Ibgħat rekorrdings itwal bħala WAV, WebM, MP4 jew Ogg.
Jekk Whisper jirrapporta aktar minn 30 minuti għalxxejn, id-digjkas jiġiwaqqaf b'
413 audio_too_long, u billi Whisper kien għamel, 30 minuti huma
mħasba.
Tħallas għat-tul tal-awdyo, ipprovukat għall-sekund ta'𝑘ompletament: it-tulu l-aktar twil li jitqara
mill-fajl, it-tulu li rrapportera Whisper, u l-inqas li s-sajża tal-fajl tippermetti, bi l-prezz ta' Whisper għal kull minuta
bil-ħlas tas-servizz u l-margini komuni, u mill-inqas 0.05 kredi għal kull talba. Huwa mħallas mill-
bażi standard meta dak setgħu jikoveri l-ħlas, u mill-Pro otherwise; a 402 jagħti x'għandu xorta kull
bilanċ ikoll bżonn. Fl-app, it-transkrizzjoni ta' messaggio tal-leħen tista' tkun gratis; fuq l-API dejjem
tiġi ċċarġjata. Jekk Whisper jfajjel, xejn ma jiġi ċċarġjat.
Rispons
{
"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 jirritorna teskt sempliċi, srt u vtt return subtitoli, u
verbose_json jżid il-lingwa, id-durata u s-segmenti b'ħin. Għat-tliet li mhumiex JSON, il-kost huwa fil-headers.
| Status | Meta |
|---|---|
400 | L-ebda fajl, fajl mingħajr awdjo li jista' jintuża (invalid_audio), format mhux magħruf, jew mudell li mhuwiex mudell ta' transkrizzjoni (invalid_model). |
402 | L-ebda wieħen mill-bilanċ ma jistgħu jikopruha. |
413 | Il-fajl huwa fuq 25 MB (file_too_large) jew ir-recording ta' aktar minn 30 minuti, jew, f'format li l-ġenb tiegħu ma jistax jitqara minn idea, aktar minn 1.8 MB (audio_too_long). |
502 | Whisper ma setgħach jipproċessa l-awdjew. Xejn ma ġie ċċarġat. |
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);
It-traduzzjoni tal-diskors għall-Ingliż
POST https://nymbot.ai/api/v1/audio/translations — għandu bżonn chiave API, jew Pagament Lightning għal kull talbaIl-ġisem huwa multipart/form-data.
L-istess bħall-transkrizzjoni, b'l-istess kampi ħlief language, limiti u
prezz, iżda t-test jerġa' jiġi lura bil-Ingliż independenti mill-lingwa li kienet intqid. L-SDKs ta' OpenAI jċċempluhom
bil- 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
J बदलना it-test f'vektori għat-tfriżijiet, il-clustering u d-deduplikazzjoni. Il-modelli jiffurmaw fuq Cloudflare u jirreżervaw il-bażi tal-bilanċ standard.
POST https://nymbot.ai/api/v1/embeddings — għandu bżonn chiave API, jew Pagament Lightning għal kull talba.
| Kamp | Tip | Meħtieġ | Deskrizzjoni |
|---|---|---|---|
model | String | Iva | Mudell tal-embedding minn GET /api/v1/models?type=embedding. |
input | string jew array ta' strings | Iva | It-test li jinqasam, sal-għax 100 stringa mhux vojta. L-arrays ta' tokenijiet huma rfiduti (token_input_unsupported). Kull input għandu jaqbel fil-mudell tal- context_length, kontabbilti bħala madwar erba' bytes għal kull token. |
encoding_format | String | Le | float (id-default) jew base64 (floats ta' 32-bit little-endian). |
dimensions | integer | Le | Id-dażjun stess tal-mudell, jew għal mudell b' supported_dimensions wieħed minn dawk; il-vettur imbagħad inaqas u jiġi normalizzat. Kewlhebgħ ieħuż mill-oħra jiġi rifjutat. |
| Mudell | Dimensjonijiet | Kuntest |
|---|---|---|
@cf/baai/bge-m3 | 1024, ħafna lingwi | 8,192 tokens |
@cf/qwen/qwen3-embedding-0.6b | 1024, ħafna lingwi | 8,192 tokens |
@cf/baai/bge-large-en-v1.5 | 1024, Ingliż | 512 tokenijiet |
@cf/baai/bge-base-en-v1.5 | 768, Malti | 512 tokenijiet |
@cf/baai/bge-small-en-v1.5 | 384, Malti | 512 tokenijiet |
Il-lista tal-modelli hija s-sors tal-verità għal kemm hemm disponibbli u kemm jikostaw; EmbeddingGemma ta' Google, b'vektori qosrin fuq talba, tidher hemm ukoll meta l-katalogu jkollu prezz għaliha. L-embeddings jitkejjesu għal kull token tal-input, u l-minimun ta' 0.05-krediti japplika għal kull talba, mhux għal kull input, għalhekk il-grupp ta' testi ħafna f'talba waħda huwa ħafna aktar murah minn li tagħatlehom waħda wħieda.
Rispons
{
"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 | Meta |
|---|---|
400 | Nema input jew wieħed voj empty; token arrays (token_input_unsupported); aktar minn 100 input (too_many_inputs); input aktar twil minn quello li jieħu l-mudell (input_too_long); dimensione li l-mudell ma jistax jagħti (unsupported_dimensions). |
402 | Il-bilanċ standard huwa żgħir wisq. L-embeddings qatt ma jużaw il-bilanċ Pro. |
404 | M'hemmx mudell tal-embedding b'dak isem. |
502 | Il-mudell falla. Xejn ma ġie miċċarġjat. |
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);