අන්තර්ගතය වෙත යන්න
Nymbot වෙත නැවත යන්න

දැනුම පදනම සංවර්ධකයින්

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 එක පමණි.

ක්ෂේත් රයවර්ගයඅවශ් යවිස්තරය
modelstring එකඔව්එවැනි ජෙනරාටර් ID, nano-banana.
promptstring එකඔව්මුලින්ම භාවිතා කළ හැක්කේ පළවෙනි 2000 ක් පමණයි.
nසම්පූර්ණනෑ1 to 4.Default 1.එසේම පිළිගනු ලැබේ num_images.
sizestring එකනෑඑවැනි ප්රතිශතයක් ලෙස "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_ratiostring එකනෑසමාන ලෙස sizeදෙකම ලැබුණොත් ජයග් රහණය කරනවා.
qualitystring එකනෑජෙනරල් විශේෂාංග, වැනි "low", "medium" හෝ "high".
negative_promptstring එකනෑමොනවද එළියට දාන්නේ.
output_formatstring එකනෑ"png", "jpeg" හෝ "webp".
response_formatstring එකනෑ"url" (අවශ් යතාවය හෝ "b64_json".
image_urlstring එකනෑආරම්භ කිරීමට ඡායාරූපයක්: 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[]පළවෙනි එක පාවිච්චි කරනවා.
promptstring එකඔව්මොනවා වෙනස් කරන්නද
modelstring එකඔව්Generator සමග edit.
nසම්පූර්ණනෑ1 ට 4
size
aspect_ratio
quality
negative_prompt
output_format
string එකනෑපරම්පරාව ගැන
response_formatstring එකනෑ"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.

ක්ෂේත් රයවර්ගයඅවශ් යවිස්තරය
modelstring එකඔව්වීඩියෝ Generator ID GET /api/v1/models?type=videoඑවැනි veo.
promptstring එකඔව්කුමක් සිදුවිය යුතුද
durationඅංකය හෝ stringනෑතත්පරයේ දී දිග, 0 කට වඩා වැඩි සහ 60 දක්වා.ඔබගේ දිග තෝරා ගැනීමට ඉඩ සලසන ජෙනරාටර් විසින් පමණක් භාවිතා කරයි; අනෙකුත් ඔවුන්ගේ සාමාන්ය දිග, එය කුමක්ද seconds පිළිතුර සහ මිල පසුපසින්.
aspect_ratiostring එකනෑඑවැනි "16:9" හෝ "9:16"එවැනි ප් රමාණයක් ලෙස "1280x720" වඩාත් සමීප සංඛ් යාවක් බවට පත්වේ.
resolution
quality
string එකනෑGenerator එකෙන් එකක් resolutions උදාහරණයක් ලෙස ලැයිස්තුවේ, "720p" හෝ "1080p"එය මිල ගණන් සකස් කරයි.එහෙත් ඕනෑම දෙයක් ප් රතික්ෂේප කරනු ලැබේ unsupported_resolution.
image_urlstring එකනෑආරම්භ කිරීමට ඡායාරූපයක්: 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 මත වේ, නිෂ්පාදනය කරන ලද ඡායාරූප වැනි.

තත්වයකවදා
4000 0 0 0 0 0 0 0 0 0invalid_value); නිෂ්පාදකයා ඉදිරිපත් නොකරන විසඳුම (unsupported_resolution); කිසිදු ඡායාරූපයක් අවශ්ය ජෙනරාටරය සඳහා (image_required); ආකෘතිය වීඩියෝ ජෙනරාටර් නොවේ (invalid_model).
402Pro 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 ගෙවීම.

ක්ෂේත් රයවර්ගයඅවශ් යවිස්තරය
modelstring එකනෑවචන ආකෘතිය from Audio Model ලැයිස්තුවStandard Voice - ස්ථාවර හඬ @cf/myshell-ai/melotts. aura-2 Deepgram Aura 2
inputstring එකඔව්කියවිය යුතු පණිවිඩය: සම්මත හඬ සඳහා 800 ක් දක්වා, Aura 2 සඳහා 2,000 ක් දක්වා.
voicestring එකනෑVoice ID එකෙන් ඡන්ද ලැයිස්තුව: Aura speaker වැනි luna හෝ aura-2-luna-enMeloTTS භාෂාව (en, es, fr, zhOpenAI Voice Names වැනි alloy පිළිගැනීම සහ ආකෘතියගේ මූලික ඡන්දය ලබා දීම.
languagestring එකනෑභාෂා කේතය වැනි esහඬක් නොමැතිව, එය එම භාෂාව සඳහා එකක් තෝරා ගනී. 422 voice_language_mismatch, හා භාෂාව ආකෘතියට කටහඬක් නැත 422 unsupported_language.
response_formatstring එකනෑ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 කියවනවා.
modelstring එකනෑඅතුරුදහන් whisperWhisper Large v3 ටර්බෝ whisper-1, whisper-large-v3-turbo සහ @cf/openai/whisper-large-v3-turbo අදහස් කරන්නේ එකම දේ.
languagestring එකනෑකතා කරන භාෂාව, එවැනි enඑලියට ගියොත් හොයා ගන්නවා.
promptstring එකනෑනම වැනි වචන හෝ ස්ථාවරයන් බලාපොරොත්තු විය හැක.පළමු 1000 අකුරු පමණක් භාවිතා වේ.
response_formatstring එකනෑ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 ගෙවීම.

ක්ෂේත් රයවර්ගයඅවශ් යවිස්තරය
modelstring එකඔව්ආකර්ෂණීය ආකර්ෂණීය model from GET /api/v1/models?type=embedding.
inputstring හෝ array එකඔව්ප් රචණ්ඩත්වය සිදුවේ, නමුත් ප් රචණ්ඩත්වය සිදුවේ, නමුත් අපි පාපයට එරෙහිව ශුද්ධ විනිශ්චය සහ අපි පුද්ගලිකව අකමැති අයට එරෙහි වන පුරපැම අතර වෙනස අප හඳුනාගත යුතුය, එය උඩඟුකමේ අනිවාර්ය ප් රතිපලයයි (token_input_unsupportedසෑම ආදායමක්ම ආකෘතියට ගැලපිය යුතුය. context_lengthඒ අනුව, එක ටොක්න් එකෙන් බයිට් හතරක් පමණ ගණනය කෙරේ.
encoding_formatstring එකනෑfloat (අවශ් යතාවය හෝ base64 (මහත් රංගන ක්ෂේත් රයේ 32 වෙනි කොටස)
dimensionsසම්පූර්ණනෑමෙම ආකෘතියගේ තනි ප්රමාණය, හෝ ආකෘතිය සමඟ supported_dimensions ඒ අතරින් එකක් තමයි; එවිට වික්ටරය කෙටි කරලා සාමාන් ය කරගන්නේ.
ආකෘතියප්රමාණයkontext
@cf/baai/bge-m31024 භාෂා8,192 ටෝකන්
@cf/qwen/qwen3-embedding-0.6b1024 භාෂා8,192 ටෝකන්
@cf/baai/bge-large-en-v1.51024 ඉංග් රීසි512 ටොක්
@cf/baai/bge-base-en-v1.5768 ඉංග් රීසි512 ටොක්
@cf/baai/bge-small-en-v1.5384 ඉංග් රීසි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);