දැනුම පදනම සංවර්ධකයින්
Image, Audio සහ Embeddings
යෙදුමෙන් ජෙනරාටර් සහ සෙවුම් සඳහා ගොඩනැගිලි: පින්තූර, වීඩියෝ, කතා, පරිවර්තනය සහ ඇතුළත් කිරීම්, සෑම එකක්ම ඔබගේ සංසන්දනයෙන් භාවිතය සඳහා ගෙවනු ලැබේ.
මෙම පිටුව පහසුව සඳහා යන්ත්ර පරිවර්තන කර ඇත. ඉංග්රීසි මුල් පිටපත අදාළ වන අනුවාදයයි.
පින්තූර නිර්මාණය කිරීම
හතරකට පින්තූරයක් හදාගෙන ඒවා සම්පූර්ණ කරන විට ඒවා ආපසු ලබා දෙයි. ?image app එකේ
POST https://nymbot.ai/api/v1/images/generations අවශ් ය වන්නේ API යතුරක් හෝ ඉල්ලුම අනුව Lightning ගෙවීම.
Ids ආවේ GET /api/v1/models?type=imageසාමාන් ය ජෙනරාටරය
@cf/black-forest-labs/flux-1-schnellපින්තූරයක් සඳහා 5 ස්ථාවර ක්රෙඩිට් (50 sats) වියදම් කරයි. සෑම අනෙකුත් ජෙනරාටර් Pro ක්රෙඩිට් ඔවුන්ගේම මිල දී, සාමාන්ය ගාස්තු හා ප්රමාණය සමග, App එක. n ඡායාරූප මිල
n Generator එකක් නොලැබෙන ක්ෂේත් රයක් ප් රතික් ෂේප වෙනුවට අඩු වේ; Standard Generator එක භාවිතා කරන්නේ prompt එක පමණි.
| ක්ෂේත් රය | වර්ගය | අවශ් ය | විස්තරය |
|---|---|---|---|
model | string එක | ඔව් | එවැනි ජෙනරාටර් ID, nano-banana. |
prompt | string එක | ඔව් | මුලින්ම භාවිතා කළ හැක්කේ පළවෙනි 2000 ක් පමණයි. |
n | සම්පූර්ණ | නෑ | 1 to 4.Default 1.එසේම පිළිගනු ලැබේ num_images. |
size | string එක | නෑ | එවැනි ප්රතිශතයක් ලෙස "16:9"එවැනි විවෘත ප් රමාණයක් හෝ "1792x1024"එනම් 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 21:9, 5:4 සහ 4:5 අතර වඩාත් සමීප වේ. "auto" ඒක generator එකට දාන්න. |
aspect_ratio | string එක | නෑ | සමාන ලෙස sizeදෙකම ලැබුණොත් ජයග් රහණය කරනවා. |
quality | string එක | නෑ | ජෙනරල් විශේෂාංග, වැනි "low", "medium" හෝ "high". |
negative_prompt | string එක | නෑ | මොනවද එළියට දාන්නේ. |
output_format | string එක | නෑ | "png", "jpeg" හෝ "webp". |
response_format | string එක | නෑ | "url" (අවශ් යතාවය හෝ "b64_json". |
image_url | string එක | නෑ | ආරම්භ කිරීමට ඡායාරූපයක්: A https:// ලින්ක් එකෙන් ලින්ක් එකෙන් ලින්ක් එකෙන් ලින්ක් එකෙන් ලින්ක් එකෙන් ලින්ක් එකෙන් ලින්ක් එකෙන් ලින්ක් එකෙන් ලින්ක් එකෙන් ලින්ක් එකෙන් ලින්ක් එකෙන් ලින්ක් එකෙන් ලින්ක් එකෙන් ලින්ක් එකෙන් ලින්ක් එකෙන් ලින්ක් එකෙන් ලින්ක් එකෙන් ලින්ක් එකෙන් ලින්ක් එකෙන් ලින්ක් එකෙන් ලින්ක් එකෙන් ලින්ක් එකෙන් ලින්ක් එකෙන් ලින්ක් එකෙන් ලින්ක් එකෙන් ලින්ක් එකෙන් ලින්ක් එකෙන් ලින්ක් එකෙන් ලින්ක් එකෙන් ලින්ක් එකෙන් ලින්ක් එකෙන් ලින්ක් එකෙන් ලින්ක් එකෙන් ලින්ක් එකෙන් ලින්ක් එකෙන් ලින්ක් එකෙන් ලින්ක් එකෙන් ලින්ක් එකෙන් ලින්ක් එකෙන් ලින්ක් data:image/…;base64 URL (PNG, JPEG, WebP හෝ GIF; SVG නොවේ). editඅවශ් ය අය සමඟ requires_image_url. |
resolution භාවිතා නොකරන්නේ: සෑම ජෙනරාටරයම තමන්ගේ ප්රමාණය කරයි. url, සෑම පින්තූරයක්ම පොදු Blossom ගබඩාවට උඩුගත කරනු ලැබේ, ඔබ එහි සබැඳිය ලබා ගනු ලැබේ (සමහර ජෙනරකයින් පමණක් ඔවුන්ගේම සබැඳිය ආපසු ලබා දෙයි, එය ඉදිරියට ගෙන එයි). API දකින දේසමග
b64_json පින්තූරය ප්රතිචාරයේ දී නැවත පැමිණෙන අතර කිසිවිටෙකත් upload නොකරනු ලැබේ.A picture sent as a data: URL එක image_url එය පරීක්ෂා කරන ආකාරය සමානයි
Edit මුලින්ම Blossom වෙත උඩුගත කරනු ලබන්නේ එබැවින් ජෙනරාටරය එය ලබා ගත හැකිය; ඉල්ලීම අසාර්ථක නම් එය නැවත ඉවත් කරනු ලැබේ.
සමහරුන්ගෙන් සමහරක් නම් n පින්තූර අසාර්ථක වනු ඇත, ඔබ වැඩ කරන අය ලබා ගත හැක, ඒ සඳහා පමණක් ගාස්තු ගෙවනු ලැබේ (පවුල් ඕනෑම සැපයුම්කරු අසාර්ථක වුවත් ගාස්තු ගෙවනු ලැබේ), සහ nymbot.failed අතුරුදන් වූ ගණන කීයක්දැයි පවසයි.ඔබ සියලු දෙනාම අසාර්ථක නම්, ඉල්ලීම ආපසු එයි 502.
පිළිතුර
{
"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 }
}
| තත්වය | කවදා |
|---|---|
400 | වේගවත් නැත n 1 සිට 4 දක්වා (invalid_value(සමහර විට අහිංසක ප් රමාණය)invalid_sizeඡායාරූපය (invalid_image, invalid_image_urlපින්තූරයක් ඇති නමුත් පින්තූරයක් නොවේ (invalid_model); සංස්කරණය කළ නොහැකි ජෙනරාටර් සඳහා ඡායාරූපයක් (edit_unsupported(එයට අවශ් ය කෙනෙකුට පින්තූරයක් නොමැත)image_required). |
402 | ඕනෑම ඡායාරූපයක් සඳහා අවශ් ය සෑම ඡායාරූපයක්ම ඇතුළත් කළ නොහැක. |
404 | එවැනි නමක් නොලැබේ (model_not_found). |
502 | එන්ජිම අසාර්ථක විය (upstream_errorඒ කාලෙට අලුත් දෙවිවරු නැති නිසා දෙවිවරු දුක් වෙනවා." charged_sats. |
503 | ඡායාරූප දැනට ගබඩා කළ නොහැක (media_hosting_unavailable). b64_json තවමත් වැඩ කරනවා |
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);
ඡායාරූප සංස්කරණය
ඔබ upload කරන පින්තූරයක් වෙනස් කරයි.This is OpenAI's edit endpoint, so the OpenAI SDKs' images.edit එය ක්රියා කරන ආකාරය. Only Pro generators with edit ලැයිස්තුවේ නම් එය පිළිගන්න.
POST https://nymbot.ai/api/v1/images/edits අවශ් ය වන්නේ API යතුරක් හෝ ඉල්ලුම අනුව Lightning ගෙවීමශරීරය යනු multipart/form-data32 MB දක්වා
| ක්ෂේත් රය | වර්ගය | අවශ් ය | විස්තරය |
|---|---|---|---|
image | ෆයිල් | ඔව් | සංස්කරණය කිරීමට ඡායාරූපය: PNG, JPEG, WebP හෝ GIF, 20 MB දක්වා. image[]පළවෙනි එක පාවිච්චි කරනවා. |
prompt | string එක | ඔව් | මොනවා වෙනස් කරන්නද |
model | string එක | ඔව් | Generator සමග edit. |
n | සම්පූර්ණ | නෑ | 1 ට 4 |
sizeaspect_ratioqualitynegative_promptoutput_format | string එක | නෑ | පරම්පරාව ගැන |
response_format | string එක | නෑ | "b64_json" (මෙතනින් බාගත කරමු) හෝ "url". |
ඔබ උඩුගත කරන ඡායාරූපය හොඳින් හැදෑරෙන PNG, JPEG, WebP හෝ GIF ලෙස පරීක්ෂා කරනු ලැබේ, එහි සැබෑ වර්ගය ලෙස එවනු ලැබේ, සහ ප්රකාශනීය Blossom හෝටලය මත තබා ගනු ලැබේ, හේතුවෙන් ජෙනරාටර් සබැඳි මගින් ඔවුන්ගේ ප්රවේශය ලබා ගනී. එය ප්රකාශනීය ලෙස සැලකිලිමත් වන්න. සංස්කරණය අසාර්ථක වන විට කිසිවක් ගාස්තු නොලැබේ නම්, hosted copy නැවත ඉවත් කරනු ලැබේ. ප්රතිචාරය ජෙනරාටර්ගේ මිල වේ, සමහර ජෙනරාටර් සඳහා ප්රවේශ ඡායාරූප සඳහා ගාස්තු ඇතුළත් වේ.
පිළිතුර
{
"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 }
}
| තත්වය | කවදා |
|---|---|
400 | පින්තූරයක් හෝ ප්රවේශයක් නොමැත, පින්තූරයක් නොවන ගොනුවක් (invalid_image) හෝ පරිවර්තනය කළ නොහැකි ජෙනරාටරය (edit_unsupported). |
413 | මෙම ඡායාරූපය 20 MB (file_too_large), හෝ මුළු ඉල්ලීම 32 MB ට වඩා වැඩි. |
503 | මෙම ඡායාරූපය දැනට ගබඩා කළ නොහැක (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"));
වීඩියෝ
වීඩියෝව විනාඩි ගත වේ, එබැවින් එය පසුබිම තුළ ක්රියා කරයි.ඔබ එය ඉදිරිපත් කරයි, වහාම ID ලබා ගන්න, සහ එය අවසන් වන තුරු ID ගැන ප්රශ්නය.
POST https://nymbot.ai/api/v1/videos අවශ් ය වන්නේ API යතුරක් හෝ ඉල්ලුම අනුව Lightning ගෙවීමආපසු 202.
| ක්ෂේත් රය | වර්ගය | අවශ් ය | විස්තරය |
|---|---|---|---|
model | string එක | ඔව් | වීඩියෝ Generator ID GET /api/v1/models?type=videoඑවැනි veo. |
prompt | string එක | ඔව් | කුමක් සිදුවිය යුතුද |
duration | අංකය හෝ string | නෑ | තත්පරයේ දී දිග, 0 කට වඩා වැඩි සහ 60 දක්වා.ඔබගේ දිග තෝරා ගැනීමට ඉඩ සලසන ජෙනරාටර් විසින් පමණක් භාවිතා කරයි; අනෙකුත් ඔවුන්ගේ සාමාන්ය දිග, එය කුමක්ද seconds පිළිතුර සහ මිල පසුපසින්. |
aspect_ratio | string එක | නෑ | එවැනි "16:9" හෝ "9:16"එවැනි ප් රමාණයක් ලෙස "1280x720" වඩාත් සමීප සංඛ් යාවක් බවට පත්වේ. |
resolutionquality | string එක | නෑ | Generator එකෙන් එකක් resolutions උදාහරණයක් ලෙස ලැයිස්තුවේ, "720p" හෝ "1080p"එය මිල ගණන් සකස් කරයි.එහෙත් ඕනෑම දෙයක් ප් රතික්ෂේප කරනු ලැබේ unsupported_resolution. |
image_url | string එක | නෑ | ආරම්භ කිරීමට ඡායාරූපයක්: A https:// සබැඳි හෝ A data:image/… URL, මුලින්ම පොදු Blossom host වෙත upload කරන ලදී.Required by generators with requires_image_url. |
මිල ඔබ ඉදිරිපත් කරන විට, ජෙනරාටර් සිට, resolutions සහ දිග, එබැවින්, එය සැපයුම්කරු රැකියාව පිළිගනු ලැබූ විට ඔබේ වෘත්තීය තත්වයෙන් ගෙවනු ලැබේ, සහ එය පෙන්වනු ලැබේ
cost, estimated_cost සහ nymbotසේවා සැපයුම්කරු රැකියාව ප් රතික්ෂේප කරන්නේ නම්, කිසිවක් ගාස්තු නොකරනු ලැබේ. පසුව rendering අසාර්ථක වූ විට, හෝ සම්පූර්ණ ක්ලිප් එක ගබඩා කළ නොහැකි අතර සේවා සැපයුම්කරු එය සඳහා ගාස්තු නොකරනු ලැබේ නම්, ගාස්තු එක් වරක්, ස්වයංක්රීයව ආපසු ගෙවනු ලැබේ. තවමත් පැයකට පසු ක්රියා කරන ලද rendering එක අවලංගු වන අතර, සැපයුම්කරු එය පිළිගන්නා විට render එක ගෙවනු ලැබේ.
ප් රතිචාරය (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 ආරම්භය as in_progressහෝ completed වීඩියෝව දැනටමත් data ජෙනරාටරය වහාම එය ආපසු ලබා දුන්නා.
වීඩියෝ එකක් බලන්න
GET https://nymbot.ai/api/v1/videos/{id} එය ඉදිරිපත් කර ඇති නයිම්ට අයිති යතුරක් අවශ් ය වේ.එය ලබාගත් යතුරක් තවමත් පරීක්ෂා කළ හැකිය.
එය පිළිතුරු 202 වීඩියෝව නිර්මාණය කරන අතර සහ 200 එය අවසන් වූ විට හෝ අසාර්ථක වී ඇත. සෑම තත්පර 5 සිට 10 දක්වා ප්රශ්නය. සෑම පරීක්ෂණයක්ම සැපයුම්කරුට එක් වරක් ප්රශ්නය කරයි සහ එක් වරක් පිළිතුරු දෙයි; එය වීඩියෝව සඳහා කවදාවත් බලා නැත.
GET /api/v1/videos Last 50 Jobs ලැයිස්තුගත කිරීම
{"object": "list", "data": […]}.
ප් රතිචාර (200)
{
"id": "vid_3e9a51c07b2f4d86e0a1c4f2",
"object": "video",
"model": "veo",
"status": "completed",
"created": 1790726400,
"seconds": 8,
"resolution": "1080p",
"estimated_cost": 3.18,
"expires_at": 1790812800,
"completed_at": 1790726590,
"data": { "url": "https://blossom.example/9b41d0c2e7a3f658...1e.mp4", "content_type": "video/mp4" },
"cost": 3.18,
"nymbot": { "balance": "pro", "charged_credits": 31.8, "charged_sats": 3180 }
}
status ද in_progress, completed හෝ failedඅසාර්ථක රැකියාවක් ගෙන යාම error ({"code": "generation_failed", "message": …}ආපසු ගෙවනු ලැබුවහොත්, cost 0 සහ nymbot අමතරව
refunded_credits සහ refunded_satsසම්පූර්ණ වීඩියෝව ප්රසිද්ධ Blossom host මත වේ, නිෂ්පාදනය කරන ලද ඡායාරූප වැනි.
| තත්වය | කවදා |
|---|---|
400 | 0 0 0 0 0 0 0 0 0 0invalid_value); නිෂ්පාදකයා ඉදිරිපත් නොකරන විසඳුම (unsupported_resolution); කිසිදු ඡායාරූපයක් අවශ්ය ජෙනරාටරය සඳහා (image_required); ආකෘතිය වීඩියෝ ජෙනරාටර් නොවේ (invalid_model). |
402 | Pro Balance වීඩියෝව සකස් නොකරයි. |
404 | එවැනි උපකරණයක් නැත (model_not_found(එහෙම නැතිනම් ඔබගේ ජංගම දුරකථන ජංගම දුරකථන ජංගම දුරකථන ජංගම දුරකථන ජංගම දුරකථන ජංගම දුරකථන ජංගම දුරකථන ජංගම දුරකථන ජංගම දුරකථන ජංගම දුරකථන ජංගම දුරකථන ජංගම දුරකථන ජංගම දුරකථන ජංගම දුරකථන ජංගම දුරකථන ජංගම දුරකථන ජංගම දුරකථන ජංගම දුරකථන ජංගම දුරකථන ජංගම දුරකථන ජංගම දුරකථන ජංගම දුරකථන ජංගම දුරකථන ජංගම දුරකථන ජංගම දුරකථන ජංගම දුරකථන ජංගම දුරකථන ජvideo_not_found). |
429 | ඔබගේ NIMM දැනටමත් 10 වීඩියෝ rendering ඇත (video_jobs_limit) ඔවුන් පරීක්ෂා කරන්න සහ එක් අවසන් වරක් තවත් ඉදිරිපත් කරන්න. |
502 | නිෂ්පාදකයා රැකියාව ප්රතික්ෂේප කර ඇත. කිසිවක් මිලදී ගත නොහැක, එය සැපයුම්කරු විසින් මිලදී ගත නොහැක. |
503 | වීඩියෝව දැනට ලබා ගත නොහැකි හෝ ගබඩා කළ නොහැක (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);
Text to කතාව
ශබ්ද කියවීම සහ සන්නිවේදන සබැඳියක් නොවේ, ශබ්ද ගොනුවම නැවත ලබා දෙයි.It is OpenAI's speech endpoint. audio.speech.create OpenAI SDKs ක්රියා කරයි.
POST https://nymbot.ai/api/v1/audio/speech අවශ් ය වන්නේ API යතුරක් හෝ ඉල්ලුම අනුව Lightning ගෙවීම.
| ක්ෂේත් රය | වර්ගය | අවශ් ය | විස්තරය |
|---|---|---|---|
model | string එක | නෑ | වචන ආකෘතිය from Audio Model ලැයිස්තුවStandard Voice - ස්ථාවර හඬ @cf/myshell-ai/melotts. aura-2 Deepgram Aura 2 |
input | string එක | ඔව් | කියවිය යුතු පණිවිඩය: සම්මත හඬ සඳහා 800 ක් දක්වා, Aura 2 සඳහා 2,000 ක් දක්වා. |
voice | string එක | නෑ | Voice ID එකෙන් ඡන්ද ලැයිස්තුව: Aura speaker වැනි luna හෝ aura-2-luna-enMeloTTS භාෂාව (en, es, fr, zhOpenAI Voice Names වැනි alloy පිළිගැනීම සහ ආකෘතියගේ මූලික ඡන්දය ලබා දීම. |
language | string එක | නෑ | භාෂා කේතය වැනි esහඬක් නොමැතිව, එය එම භාෂාව සඳහා එකක් තෝරා ගනී. 422 voice_language_mismatch, හා භාෂාව ආකෘතියට කටහඬක් නැත 422 unsupported_language. |
response_format | string එක | නෑ | Standard Voice ආපසු එයි mp3 Aura 2 ආපසු එයි mp3 (මරණින් මතු උදාවන) opus, aac, flac, wav හෝ pcm. |
speed | අංකය | නෑ | පිළිගත්තා සහ නොසලකා බැලුවා. |
ස්ථාවර කටයුතුවල ඉල්ලීමකට ස්ථාවර 3 ස්ථාවර ක්රෙඩිට් (30 sats) වියදම් කරයි.Aura 2 යනු Pro, ඔබ යැවීමට ඇති චරිත අනුව මිලදී ගනු ලැබේ. ප්රතිචාර ශරීරය, ගැලපෙන
Content-Type• වියදම ඇතුළත් වේ X-Nymbot-Cost-Sats ප් රචණ්ඩත්වය සිදුවේ, නමුත් අපි පාපයට එරෙහිව ශුද්ධ විනිශ්චය සහ අපි පුද්ගලිකව අකමැති අයට එරෙහි වන පුරපැම අතර වෙනස අප හඳුනාගත යුතුය, එය උඩඟුකමේ අනිවාර්ය ප් රතිපලයයි.
පිළිතුර
HTTP/1.1 200 OK
Content-Type: audio/mpeg
X-Nymbot-Cost-Sats: 4.2
X-Nymbot-Balance-Sats: 41055.6
(audio bytes)
| තත්වය | කවදා |
|---|---|
400 | ප්රතිඵල නොලැබේ; ප්රතිඵල නොලැබේ (input_too_long); ආකෘතිය නිෂ්පාදනය කළ නොහැකි ආකෘතිය (unsupported_response_formatනොදන්නා හඬක් (invalid_voice(එහෙම එකක් නොවෙන්න ඕනෙම වචනයක් නොවෙන්න)invalid_model). |
422 | කටහඬ ලබා දී ඇති භාෂාව කතා නොකරයි, හෝ ආකෘතියට එය සඳහා කටහඬක් නැත. |
502 | ප් රචණ්ඩත්වය අසාර්ථකයි - කිසිදු චෝදනා |
cURL
curl https://nymbot.ai/api/v1/audio/speech \
-H "Authorization: Bearer $NYMBOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "aura-2", "voice": "luna", "input": "Your invoice has been paid."}' \
--output speech.mp3
Python
import os
from openai import OpenAI
client = OpenAI(base_url="https://nymbot.ai/api/v1", api_key=os.environ["NYMBOT_API_KEY"])
audio = client.audio.speech.create(
model="aura-2",
voice="luna",
input="Your invoice has been paid.",
)
audio.write_to_file("speech.mp3")
JavaScript
import { writeFile } from "node:fs/promises";
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://nymbot.ai/api/v1", apiKey: process.env.NYMBOT_API_KEY });
const audio = await client.audio.speech.create({
model: "aura-2",
voice: "luna",
input: "Your invoice has been paid.",
});
await writeFile("speech.mp3", Buffer.from(await audio.arrayBuffer()));
Audio Model සහ Voice
විචාරය ආකෘතිය සහ හඬ තෝරා ගැනීම සඳහා ප්රකාශන ලැයිස්තුවක් දෙකක් හෝ පරිවර්තනය ආකෘතිය.Aura 2 ඉංග්රීසි කතාකරුවන් 41 ක් සහ MeloTTS භාෂා හතරක් ඇත.
GET https://nymbot.ai/api/v1/audio/models යතුර අවශ් ය නැහැ.
GET https://nymbot.ai/api/v1/audio/voices?language=en යතුර අවශ් ය නැහැ.
| ක්ෂේත් රය | වර්ගය | අවශ් ය | විස්තරය |
|---|---|---|---|
language | ප්රශ්නය (Query) | නෑ | මේ භාෂාව සඳහා හඬ පමණි. |
model | ප්රශ්නය (Query) | නෑ | මේ ආකෘතියට විතරක් හඬක්. |
ප් රතිචාර (Voices)
{
"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 }
]
}
Models ලැයිස්තුව පිළිතුරු {"object": "list", "data": {"tts": […], "stt": […]}}සෑම වචන ආකෘතියකටම එහි සංසන්දනය, මිල, max_input_chars,
response_formats, languages සහ default_voiceප් රචණ්ඩත්වය යනු එහි ආකෘති, max_file_bytes, max_secondsතත්පර ගණන සහ ගාස්තු
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);
කථාව Text
මේක OpenAI Transcription Endpoint එකක්.
audio.transcriptions.create වැඩ කරනවා
POST https://nymbot.ai/api/v1/audio/transcriptions අවශ් ය වන්නේ API යතුරක් හෝ ඉල්ලුම අනුව Lightning ගෙවීමශරීරය යනු multipart/form-data.
| ක්ෂේත් රය | වර්ගය | අවශ් ය | විස්තරය |
|---|---|---|---|
file | ෆයිල් | ඔව් | ලියාපදිංචි කිරීම, 256 බයිට් සිට 25 MB දක්වා සහ 30 විනාඩි දක්වා: WAV, WebM, MP4 හෝ M4A, Ogg හෝ Opus, MP3 සහ අනෙකුත් ආකෘති Whisper කියවනවා. |
model | string එක | නෑ | අතුරුදහන් whisperWhisper Large v3 ටර්බෝ whisper-1, whisper-large-v3-turbo සහ @cf/openai/whisper-large-v3-turbo අදහස් කරන්නේ එකම දේ. |
language | string එක | නෑ | කතා කරන භාෂාව, එවැනි enඑලියට ගියොත් හොයා ගන්නවා. |
prompt | string එක | නෑ | නම වැනි වචන හෝ ස්ථාවරයන් බලාපොරොත්තු විය හැක.පළමු 1000 අකුරු පමණක් භාවිතා වේ. |
response_format | string එක | නෑ | json (මරණින් මතු උදාවන) text, srt, vtt හෝ verbose_json. |
WAV, WebM, MP4 සහ Ogg ගොනු සඳහා, දිග යමක් ක්රියාත්මක කිරීමට පෙර ගොනු වලින් කියවනු ලැබේ, එබැවින් විනාඩි 30 කට වඩා වැඩි රචනය ප්රථමයෙන් ප්රතික්ෂේප කරනු ලැබේ (හරි තත්පර 3 කින්). WAV ගොනුවගේ දිග එහි උදාහරණ වේගය, චැනල් සහ උදාහරණ ප්රමාණය අනුව පැමිණේ. MP3 වැනි වෙනත් ආකෘතිවල දිග ප්රථමයෙන් කියවිය නොහැක, එබැවින් ඒවා ප්රමාණය අනුව සීමා කර ඇත: අඩුම bitrate මත Nymbot අනුමත කරයි, 8 kbps, 30 විනාඩි 1.8 MB වන අතර, එවැනි ආකෘතිවල විශාල ගොනුවක් ප්රතික්ෂේප කරනු ලැබේ. 413
audio_too_long ඕනෑම දෙයක් ක්රියාත්මක කිරීමට පෙර.WAV, WebM, MP4 හෝ Ogg වැනි දිගුකාලීන ලියාපදිංචිය යැවීම.එවිට Whisper විනාඩි 30 කට වැඩි කාලයක් වාර්තා කරන්නේ නම්, ඉල්ලීම ප් රතික්ෂේප කරනු ලැබේ.
413 audio_too_long, සහ Whisper ක්රියා කරන විට, 30 මිනිත්තු ගාස්තු වේ.
ඔබ ඇඩ්රොයිඩ් දිග සඳහා ගෙවනු ලැබේ, දෙවෙනි දක්වා සෘජුවම: ෆයිල් සිට කියවන දිග වැඩිම දිග, දිග Whisper වාර්තාව, සහ ෆයිල් ප්රමාණය අවසර, සාමාන්ය ගාස්තු සහ ප්රමාණය සමග Whisper සෑම මිනිත්තුවකම මිල දී, සහ අවම වශයෙන් 0.05 ක්රෙඩිට් ඉල්ලුම. 402 සෑම සීමාවකටම අවශ් ය දේ ලබා දෙයි. යෙදුම තුළ, කටයුතුවල පණිවිඩයක් පරිවර්තනය කිරීම නොමිලේ විය හැක; API හි එය සෑම විටම ගෙවනු ලැබේ. If Whisper fails, nothing is charged.
පිළිතුර
{
"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 නිවැරදි පෙළ නැවත ලබා දෙයි, srt සහ vtt නැවත Subtitles, සහ
verbose_json භාෂාව, කාලය සහ කාල සීමාව එකතු කරයි.JSON නොවන තුන්දෙනා සඳහා, වියදම මාතෘකාව තුළ ඇත.
| තත්වය | කවදා |
|---|---|
400 | කිසිදු ෆයිල් එකක්, කිසිදු භාවිතා කළ හැකි ඇඩ්රොයිඩ් (invalid_audioප් රචණ්ඩත්වය සිදුවේ, නමුත් අපි පාපයට එරෙහිව ශුද්ධ විනිශ්චය සහ අපි පුද්ගලිකව අකමැති අයට එරෙහි වන පුරපැම අතර වෙනස අප හඳුනාගත යුතුය, එය උඩඟුකමේ අනිවාර්ය ප් රතිපලයයි (invalid_model). |
402 | ඒවගේම ඒකාබද්ධයත් ඒවාට ගැලපෙන්නේ නැහැ. |
413 | පණිවුඩය 25 MB (file_too_largeප් රචණ්ඩත්වය සිදුවේ, නමුත් අපි පාපයට එරෙහිව ශුද්ධ විනිශ්චය සහ අපි පුද්ගලිකව අකමැති අයට එරෙහි වන පුරපැම අතර වෙනස අප හඳුනාගත යුතුය, එය උඩඟුකමේ අනිවාර්ය ප් රතිපලයයි (ගීතාවලිය 73: 6).audio_too_long). |
502 | ෆොන්සේකාට ඇඩ් එකක් දාන්න බැරි උනා.එහෙම වැඩක් නෑ. |
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);
ඉංග් රීසි භාෂාවට පරිවර්තනය කිරීම
POST https://nymbot.ai/api/v1/audio/translations අවශ් ය වන්නේ API යතුරක් හෝ ඉල්ලුම අනුව Lightning ගෙවීමශරීරය යනු multipart/form-data.
සමාන පරිවර්තනය, එකම ක්ෂේත්රයන් හැර language, සීමාවන් සහ මිල, නමුත් ලිපිය ඉංග් රීසි භාෂාවෙන් නැවත පැමිණේ.OpenAI SDKs එය සමඟ කතා කරයි 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);
ඇතුළත්
Search, clustering, and deduplication සඳහා වකවානුවලට පරිවර්තනය කරයි.The models run on Cloudflare and spend the standard balance.
POST https://nymbot.ai/api/v1/embeddings අවශ් ය වන්නේ API යතුරක් හෝ ඉල්ලුම අනුව Lightning ගෙවීම.
| ක්ෂේත් රය | වර්ගය | අවශ් ය | විස්තරය |
|---|---|---|---|
model | string එක | ඔව් | ආකර්ෂණීය ආකර්ෂණීය model from GET /api/v1/models?type=embedding. |
input | string හෝ array එක | ඔව් | ප් රචණ්ඩත්වය සිදුවේ, නමුත් ප් රචණ්ඩත්වය සිදුවේ, නමුත් අපි පාපයට එරෙහිව ශුද්ධ විනිශ්චය සහ අපි පුද්ගලිකව අකමැති අයට එරෙහි වන පුරපැම අතර වෙනස අප හඳුනාගත යුතුය, එය උඩඟුකමේ අනිවාර්ය ප් රතිපලයයි (token_input_unsupportedසෑම ආදායමක්ම ආකෘතියට ගැලපිය යුතුය. context_lengthඒ අනුව, එක ටොක්න් එකෙන් බයිට් හතරක් පමණ ගණනය කෙරේ. |
encoding_format | string එක | නෑ | float (අවශ් යතාවය හෝ base64 (මහත් රංගන ක්ෂේත් රයේ 32 වෙනි කොටස) |
dimensions | සම්පූර්ණ | නෑ | මෙම ආකෘතියගේ තනි ප්රමාණය, හෝ ආකෘතිය සමඟ supported_dimensions ඒ අතරින් එකක් තමයි; එවිට වික්ටරය කෙටි කරලා සාමාන් ය කරගන්නේ. |
| ආකෘතිය | ප්රමාණය | kontext |
|---|---|---|
@cf/baai/bge-m3 | 1024 භාෂා | 8,192 ටෝකන් |
@cf/qwen/qwen3-embedding-0.6b | 1024 භාෂා | 8,192 ටෝකන් |
@cf/baai/bge-large-en-v1.5 | 1024 ඉංග් රීසි | 512 ටොක් |
@cf/baai/bge-base-en-v1.5 | 768 ඉංග් රීසි | 512 ටොක් |
@cf/baai/bge-small-en-v1.5 | 384 ඉංග් රීසි | 512 ටොක් |
ආකෘති ලැයිස්තුව ලබා ගත හැකි බව සහ ඔවුන් වියදම් බව සත්ය ප්රවර්ගය වේ; ගූගල්ගේ EmbeddingGemma, ඉල්ලුම් මත කෙටි ප්රවර්ගයන් සහිතව, එහිදී එහි මිල ගණන් ඇත.
පිළිතුර
{
"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 }
}
| තත්වය | කවදා |
|---|---|
400 | කිසිදු ප්රවේශයක් හෝ හිස් එකක් නොමැත; ටෝකන් අර්ධ (token_input_unsupported); 100 කට වඩා වැඩි ආදායම් (too_many_inputs); ප්රමාණයෙන් වැඩි ප්රමාණයෙන් වැඩි ප්රවේශයක් (input_too_long); ආකෘතිය ලබා ගත නොහැකි ප්රමාණය (unsupported_dimensions). |
402 | ප් රමිතිය සම්මතය ඉතා අඩු ය.එල්බඩින් කවදාවත් Pro සම්මතය භාවිතා නොකරයි. |
404 | එවැනි නමක් සහිත ආකෘතියක් නොමැත. |
502 | අසාර්ථකයි.මොකවත් ගෙවන්නේ නෑ. |
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);