सामग्रीं प्रति गच्छन्तु
निम्बोट् प्रति निवर्त्यताम्।

ज्ञानाधारः विकासकाः।

चित्राणि, श्रव्यानि तथा एम्बेडिङ्ग्स्

आप्-तः जनरेटर्, तथा अन्वेषणस्य बिल्डिङ्ग् ब्लाक्स्-चित्राणि, वीडियो, स्पीच्, ट्रान्स्क्रिप्शन्, एम्बेडिङ्ग्स् च, भवतः शेषात् प्रत्येकस्य प्रति-उपयोगस्य बिल् भवति।

चित्राणि जनयति

प्राम्प्ट् इत्यतः एकं वा चतुर्णां चित्राणि निर्माति, समाप्ते सति तान् प्रत्यर्पयति। एषः एव जनरेटर्-समूहः अस्ति यथा ?image एप मध्ये।

POST https://nymbot.ai/api/v1/images/generations - एकं ए. पि. ऐ. की अपेक्षितम्, अथवा प्रति-अनुरोधः विद्युत्-शोधनं करोतु।.

ऐ. डि. इत्येतेभ्यः आगच्छन्ति। GET /api/v1/models?type=imageमानक-जनित्रः, @cf/black-forest-labs/flux-1-schnell, इत्यस्य मूल्यं प्रतिचित्रं 5 मानक-क्रेडिट्स् (50 स्याट्स्) इति भवति। प्रत्येकं जनरेटर् स्वमूल्येन प्रो-क्रेडिट्स् व्ययति, सामान्यशुल्केन मार्जिन् इत्यनेन च सह, यथा एप इति।. n चित्राणां मूल्यं n गुणितं यावत्। एकं क्षेत्रं यत् जनरेटर् न स्वीकरोति तत् निराकृतं न भूत्वा निक्षिप्तं भवति, मानक-जनरेटर् केवलं प्राम्प्ट् इत्यस्य उपयोगं करोति।

क्षेत्रम्।प्रकारःआवश्यकम्वर्णनम्
modelस्त्रिङ्ग्आम्‌जनरेटर् ऐ. डि., यथा nano-banana.
promptस्त्रिङ्ग्आम्‌किं चित्रयेत्। केवलं प्रथमानि 2000 अक्षराणि एव उपयुज्यन्ते।
nपूर्णांकःन।1 तः 4 पर्यन्तं। पूर्वनिर्धारितः 1। यथा स्वीकृतः अपि। num_images.
sizeस्त्रिङ्ग्न।दृश्य-अनुपातः यथा - "16:9", अथवा ओपन्-ए. ऐ. आकारः यथा "1792x1024", यत् 1:1,16:9,9:16,4:3,3:4,3:2,2:3,21:9,5:4 तथा 4:5 इत्यस्य समीपस्थं भवति। "auto" तत् जनरेटर्-मध्ये स्थापयतु।
aspect_ratioस्त्रिङ्ग्न।यथा समानम्। size, च यदि द्वौ अपि प्रेषितौ स्तः तर्हि जयति।
qualityस्त्रिङ्ग्न।जनित्रविशेषः, यथा "low", "medium" अथवा "high".
negative_promptस्त्रिङ्ग्न।किं त्यक्तव्यम्।
output_formatस्त्रिङ्ग्न।"png", "jpeg" अथवा "webp".
response_formatस्त्रिङ्ग्न।"url" (पूर्वनिर्धारितं) अथवा "b64_json".
image_urlस्त्रिङ्ग्न।आरभ्यमानं चित्रम्-अ https:// अधिकतम ४,०९६ वर्णानां लिङ्कम् यस्मिन् किमपि उपयोक्तृनाम वा पासवर्ड् न अस्ति, अथवा एतद्... data:image/…;base64 यू. आर्. एल्. (पी. एन्. जी., जे. पी. ई. जी., वेब् पी. अथवा जी. ऐ. एफ़्.; न तु एस्. वी. जी.)। केवलं योजितानां जनरेटर् इत्येतेषां कृते एव। editतेषाम् अपेक्षिताः। requires_image_url.

resolution न उपयुज्यते-प्रत्येकं जनरेटर् स्वकीयः आकारं निर्माति। url, प्रत्येकं चित्रं सार्वजनिक-ब्लासम्-होस्ट्-मध्ये अप्लोड् भवति तथा च भवान् तस्य लिङ्क् प्राप्नुयात् (केचन जनरेटर्-विशेषाः केवलं स्वकीयां लिङ्क्-इत्येतं प्रत्यर्पयन्ति, यत् अग्रे प्रेष्यते)। लिङ्क्-युक्तः यः कश्चित् अपि तं उद्घाटयितुं शक्नोति अपि च तं पुनः न्यूनीकर्तुं न शक्नोति; पश्यतु। ए. पि. ऐ किम् द्रष्टुं शक्नोति?तेन सह। b64_json प्रतिक्रियारूपेण चित्रं पुनः आगच्छति, कदापि अपलोडितं न भवति। चित्रम् अ-रूपेण प्रेषितम्। data: यू. आर्. एल्. अत्र अस्ति। image_url यथा प्रकारेण परीक्षितः अस्ति सम्पादनं करोतु। एवं प्रथमं ब्लासम् इत्यत्र अप्लोड् कृतम् येन जनरेटर् तत् आनेतुं शक्नोति; यदि अनुरोधः अन्बिल् असफलः भवति तर्हि पुनः निष्कासितः भवति।

यदि केषुचित् 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);

चित्राणां सम्पादनं कुर्वन् अस्ति।

निर्देशानुसारं भवतः उपलोपितं चित्रं परिवर्तयति। एतत् OpenAI इत्यस्य edit endpoint अस्ति, अतः OpenAI SDKs' images.edit यथावत् कार्यं करोति। केवलं प्रो-जनरेटर् इत्येतैः सह एव कार्यं भवति। edit प्रतिरूपसूच्यां तत् स्वीकरोतु।

POST https://nymbot.ai/api/v1/images/edits - एकं ए. पि. ऐ. की अपेक्षितम्, अथवा प्रति-अनुरोधः विद्युत्-शोधनं करोतु।शरीरम् अस्ति। multipart/form-dataअधिकतम 32 एमबी।

क्षेत्रम्।प्रकारःआवश्यकम्वर्णनम्
imageअ檔ःआम्‌सम्पादनार्थं चित्रम्-पी. एन्. जी., जे. पी. ई. जी., वेब् पी. अथवा जी. ऐ. एफ़्., 20 एम्. बी. पर्यन्तं। image[]प्रथमस्य उपयोगः भवति।
promptस्त्रिङ्ग्आम्‌किं परिवर्तयेत्।
modelस्त्रिङ्ग्आम्‌जनित्रैः सह edit.
nपूर्णांकःन।१ तः ४।
size
aspect_ratio
quality
negative_prompt
output_format
स्त्रिङ्ग्न।उत्पत्तिविषये।
response_formatस्त्रिङ्ग्न।"b64_json" (अत्र पूर्वनिर्धारितम्) वा "url".

भवता उपलोष्टितं चित्रं सुसङ्गतं PNG, JPEG, WebP अथवा GIF इति रूपेण, तस्य वास्तविकरूपेण प्रेषितं, सार्वजनिकं Blossom host उपरि स्थाप्यते इति परीक्षितं भवति, यतः जनित्रणि (generators) स्वgetInput Link माध्यमेन प्राप्नुवन्ति। तस्मिन् सार्वजनिकरूपेण विचार्यताम्। यदि संपादनं विफलं भवति तथा च किमपि शुल्कं न भार्यते, तर्हि स्थापिता प्रतिलिपिः पुनः विलोप्यते। उत्तरस्य स्वरूपं सृजनस्य समानमेव भवति। मूल्यं जनित्रस्य मूल्यमेव भवति, यत् कतिपयजननित्रेषु निवेशितचित्रस्य शुल्कं अपि समाविष्टं भवितुम् अर्हति।

प्रत्युत्तरं ददातु।

{
  "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 एम्. बी. तः अधिकम् अस्ति (file_too_large), अथवा सम्पूर्णः अनुरोधः 32 एम्. बी. तः अधिकः भवेत्।
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"));

वीडियो

एकं वीडियो निमेषान् स्वीकरोति, अतः तत् पृष्ठभूमौ चालयति। भवान् तत् समर्पयतु, तत्क्षणमेव ऐ. डि. प्राप्नुयात्, यावत् तत् न भवति तावत् ऐ. डि. विषये पृच्छतु। प्रत्येकं वीडियो-जनरेटर् प्रो-शेषं व्ययति।

POST https://nymbot.ai/api/v1/videos - एकं ए. पि. ऐ. की अपेक्षितम्, अथवा प्रति-अनुरोधः विद्युत्-शोधनं करोतु।प्रत्यागमनानि। 202.

क्षेत्रम्।प्रकारःआवश्यकम्वर्णनम्
modelस्त्रिङ्ग्आम्‌इत्यतः वीडियो-जनरेटर् ऐ. डि. अस्ति। GET /api/v1/models?type=videoयथा, यथा veo.
promptस्त्रिङ्ग्आम्‌किं भवितव्यं।
durationसंख्या वा स्ट्रिङ्ग्न।सेकेण्ड्-मध्ये दीर्घता, 0 तः अधिकम्, 60 पर्यन्तं च। केवलं जनरेटर्-द्वारा उपयुज्यते येन भवन्तः दीर्घतां चिन्वन्ति, अन्ये तु स्वस्य सामान्यदीर्घतां निर्मीयन्ते, यत् seconds प्रतिक्रियारूपेण मूल्येन च अनुवर्तते।
aspect_ratioस्त्रिङ्ग्न।यथा "16:9" अथवा "9:16"एकः आकारः यथा "1280x720" समीपस्थं अनुपातं भवति।
resolution
quality
स्त्रिङ्ग्न।उत्पादकस्य अन्यतरम् एकम् resolutions प्रतिमानसूच्यां, यथा "720p" अथवा "1080p"एतत् मूल्यं निर्धारयति। अन्यत् किमपि तेन सह अस्वीकृतं भवति। unsupported_resolution.
image_urlस्त्रिङ्ग्न।आरभ्यमानं चित्रम्-अ https:// लिङ्क् अथवा अ data:image/… URL, यत् प्रथमं सार्वजनिकं Blossom host उपरि अपलोडं कृतम्। यैः जनकेष्वपि आवश्यकम्। requires_image_url.

यदा भवान् जनरेटर्-द्वारा प्रस्तूयति तदा मूल्यं निश्चितं भवति, रिजोल्यूशन्, दीर्घता च, अतः प्रदातृः कार्यम् स्वीकृत्य यथाशीघ्रं भवतः प्रो-शेषं शुल्करूपेण स्वीकरोति, एवं दर्शितं भवति। cost, estimated_cost तथा nymbotयदि प्रदायकः कार्यम् निराकरोति तर्हि किमपि शुल्कं न विधितं भवति। यदि रेण्डर् पश्चात् विफलः भवति, अथवा समाप्तं क्लिप् सञ्चारं कर्तुं न शक्यते तथा च प्रदायकः तस्य कृते बिल् न दत्तवान्, शुल्कं स्वयमेव एकवारं प्रतिदानं भवति। एकघण्टायाः अनन्तरं अपि प्रचलितं रेण्डर् परित्यज्य शुल्कं धारयति, यतः प्रदायकः यदा रेण्डर् स्वीकरोति तदा बिल् करोति। प्रतिदानं क्रेडिट्स् प्रत्यर्पयति परन्तु की इत्यस्य व्ययगणनां न्यूनीकरणं न करोति।

उत्तरम् (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 यथा आरभते। in_progress, अथवा completed चलच्चित्रेण सह पूर्वमेव अन्तर्निहितम् data यदा जनित्रं तत् शीघ्रमेव प्रत्यनुदत्तम्।

चित्रपटस्य परीक्षणं करोमि

GET https://nymbot.ai/api/v1/videos/{id} - यत् निम् इत्यनेन समर्पितं तस्य की आवश्यकं भवति। एकं की यत् स्वस्य क्याप् इतीदं प्राप्तवती तथापि अन्वेष्टुं शक्नोति।

सः प्रत्युत्तरं ददति। 202 यदा वीडियो निर्मीयते तथा 200 एकवारं समाप्तं वा असफलम् अभवत् वा। प्रति 5 तः 10 क्षणेषु पृच्छतु। प्रत्येकं परीक्षणं प्रदायकं एकवारं पृच्छति, एकवारं उत्तरं च ददति; सः कदापि वीडियो इत्यस्य प्रतीक्षां न करोति। प्रस्तुतीकरणानन्तरं 24 घण्टाः यावत् कार्यम् रक्षितं भवति। GET /api/v1/videos की इत्यस्य अन्तिमानि 50 कार्यानि आवलीरूपेण सूचयतु। {"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समाप्तं वीडियो सार्वजनिक-ब्लासम्-होस्ट् इत्यत्र अस्ति, यथा निर्मितानि चित्राणि।

स्थितिः।कदा
400प्राम्प्ट् नास्ति; अवधिः 0 तः 60 पर्यन्तं बहिः अस्ति (invalid_value); एकं रिजोल्यूशन् जनरेटर् न प्रददाति (unsupported_resolution); जनरेटर् कृते चित्रं नास्ति यस्य आवश्यकता वर्तते (image_required); एकः प्रतिरूपः यः वीडियो-जनरेटर् नास्ति (invalid_model).
402प्रो-संतुलनं वीडियो आच्छादयितुं न शक्नोति।
404एतादृशं जनरेटर् नास्ति (model_not_found), अथवा भवतः एन्. ऐ. एम्. कृते तस्मिन् ऐ. डि. द्वारा कार्यं नास्ति, अथवा तत् 24 घण्टात् पुरातनम् अस्ति (video_not_found).
429भवतः एन्. ऐ. एम्. मध्ये पूर्वमेव 10 वीडियोगणानां प्रतिपादनम् अस्ति (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);

भाषणस्य पाठः

पाठं उच्चैः पठित्वा, श्रव्य-सञ्चिकाम् एव प्रत्यर्पयति, न तु लिङ्क्। एतत् ओपन्-ए. ऐ. इत्यस्य भाषण-अन्तिमबिन्दुः अस्ति, अतः। audio.speech.create ओपन्-ए. ऐ. मध्ये एस्. डी. के. इत्येते कार्यं कुर्वन्ति।

POST https://nymbot.ai/api/v1/audio/speech - एकं ए. पि. ऐ. की अपेक्षितम्, अथवा प्रति-अनुरोधः विद्युत्-शोधनं करोतु।.

क्षेत्रम्।प्रकारःआवश्यकम्वर्णनम्
modelस्त्रिङ्ग्न।भाषण प्रतिमान श्रव्य-प्रतिरूपाणां सूचीपूर्वनिर्धारितः-सामान्यः स्वरः, @cf/myshell-ai/melotts. aura-2 दीपग्राम् औरा 2 अस्ति।
inputस्त्रिङ्ग्आम्‌पठनीयपाठः-मानकस्वरस्य कृते 800 अक्षरपर्यन्तं, औरा 2 इत्यस्य कृते 2000।
voiceस्त्रिङ्ग्न।कस्यचित् स्वरस्य परिचयः ध्वन्याः सूचीः।एकः औरा-वक्तारः यथा luna (अथवा aura-2-luna-en), वा MeloTTS भाषा (en, es, fr, zh). OpenAI स्वरनामान्यः यथा alloy ते स्वीकृताः सन्ति तथा च प्रतिरूपस्य पूर्वनिर्धारितं स्वरं ददति।
languageस्त्रिङ्ग्न।भाषाकोडः यथा esस्वरं विना, तस्य भाषायाः कृते एकं चिन्वति। अन्यभाषां भाषमाणः स्वरः प्रत्यावर्तते। 422 voice_language_mismatch, च एका भाषा यस्याः प्रति मॉडलिना किमपि स्वरं नास्ति 422 unsupported_language.
response_formatस्त्रिङ्ग्न।सामान्यः स्वरः प्रत्यावर्तते। mp3 केवलम्। औरा 2 पुनः आगच्छति। mp3 (पूर्वानुमानितम्), opus, aac, flac, wav अथवा pcm.
speedसङ्ख्याः।न।स्वीकृतं उपेक्षितं च।

मानक-स्वरस्य मूल्यं प्रति-अनुरोधे समतलं 3 मानक-क्रेडिट्स् (30 स्याट्स्) भवति, यथा आप्-मध्ये अस्ति। औरा 2 प्रो अस्ति, यस्य मूल्यं भवतः प्रेषण-अक्षरैः निर्धारितं भवति। प्रतिक्रिया-मुख्यांशः श्रव्यः अस्ति, यस्य अनुरूपम् अस्ति। 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()));

ध्वनिमुद्रिकासु ध्वनिमुद्रिकासु च

भाषण-प्रतिरूपस्य, स्वरस्य, अथवा प्रतिलेखन-प्रतिरूपस्य च चयनार्थं द्वे सार्वजनिकसूची। अत्र 41 औरा-2 आङ्ग्लभाषिणः, चत्वारः मेलोटीटीएस-भाषाः च सन्ति।

GET https://nymbot.ai/api/v1/audio/models - की इत्यस्य आवश्यकता नास्ति।

GET https://nymbot.ai/api/v1/audio/voices?language=en - की इत्यस्य आवश्यकता नास्ति।

क्षेत्रम्।प्रकारःआवश्यकम्वर्णनम्
languageस्ट्रिङ्ग् (क्वेरी)न।केवलं अस्य भाषायाः कृते ध्वनयः।
modelस्ट्रिङ्ग् (क्वेरी)न।केवलं अस्य प्रतिरूपस्य कृते ध्वनयः।

प्रतिक्रिया (स्वर)

{
  "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 }
  ]
}

प्रतिरूपाणि उत्तरानि सूचयन्ति। {"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);

पाठं प्रति भाषणम्

ध्वनिमुद्रणं विस्पर् इत्यनेन सह पाठरूपेण परिवर्तयति। एतत् ओपन्-ए. ऐ. इत्यस्य प्रतिलेखनस्य अन्तिमबिन्दुः अस्ति, अतः audio.transcriptions.create कार्याणि।

POST https://nymbot.ai/api/v1/audio/transcriptions - एकं ए. पि. ऐ. की अपेक्षितम्, अथवा प्रति-अनुरोधः विद्युत्-शोधनं करोतु।शरीरम् अस्ति। multipart/form-data.

क्षेत्रम्।प्रकारःआवश्यकम्वर्णनम्
fileअ檔ःआम्‌ध्वनिमुद्रणम्, २५६ байट्स तः २५ MB पर्यन्तं तथा ३० मिनिटापर्यन्तम्: WAV, WebM, MP4 अथवा M4A, Ogg अथवा Opus, MP3 तथा अन्ये प्रारूपान् ये Whisper पठति। MP3 तथा अन्ये प्रारूपान् येषां लाघवं पूर्वमेव ज्ञातुं न शक्यते, तेषां सीमा १.८ MB अस्ति।
modelस्त्रिङ्ग्न।पूर्वनिर्धारितम् whisperव्हिस्पर् लार्ज् वी3 टर्बो इति अस्य नाम अस्ति। whisper-1, whisper-large-v3-turbo तथा @cf/openai/whisper-large-v3-turbo अर्थात् समानम्।
languageस्त्रिङ्ग्न।भाषायाम्, यथा - en. यदि परित्यक्तः तर्हि ज्ञातः।
promptस्त्रिङ्ग्न।अपेक्षितानि शब्दानि वा वर्तनीः, यथा नामानि। केवलं प्रथमानि 1,000 अक्षरानि एव उपयुज्यन्ते।
response_formatस्त्रिङ्ग्न।json (पूर्वानुमानितम्), text, srt, vtt अथवा verbose_json.

WAV, WebM, MP4 तथा Ogg फाइल्-सूचिकानां कृते किमपि प्रचलने पूर्वमेव तस्य दीर्घता फाइल्-तः पठ्यते, अतः त्रिंशत्-मिनिटानां अधिकं रेकॉर्डिंग अग्रिमरूपेण न स्वीक्रियते (त्रयः सेकेण्डस्य अनुग्रहः सह)। WAV फाइल्-स्य दीर्घता तस्य सॅम्पल-दरः, च्यानल-समूहः तथा सॅम्पल-आकारः इत्येतेभ्यः भवति। MP3 इत्यत्यादयः अन्येषां प्रारूपणानां दीर्घता अग्रिमरूपेण न पठितुं शक्यते, अतः ते आकारेण सीमितः भवन्ति: न्यूनतम-बिटरेट-मध्ये, यत् निम्बोत् (Nymbot) अङ्कयति, ८ kbps, तत्र त्रिंशत्-मिनिटानां आकारः १.८ MB भवति, तथा च एतादृश-प्रारूपेण बृहत्तः फाइल् अकारणात् न स्वीक्रियते... 413 audio_too_long किमपि प्रचलनात् पूर्वं। डब्ल्यू. ए. वी., वेब् एम्., एम्. पी. 4 अथवा ओ. जी. जी. इति रूपेण दीर्घतर-ध्वनिमुद्रणानि प्रेषयतु। यदि व्हिस्पर् ततः 30 निमेषात् अधिकं निवेदयति, अनुरोधः तेन सह निराकृतः भवति। 413 audio_too_long, अपि च विस्पर् धावितवान् इत्यतः 30 निमेषाः शुल्कं भवति।

भवान् ध्वनिमुद्रिकायाः दीर्घतायाः कृते धनं ददति, यत् द्वितीयपर्यन्तं पूर्णं भवति-सञ्चिकायाः पठितायाः दीर्घतमं, विस्पर्-प्रतिवेदनस्य दीर्घता, तथा च न्यूनातिन्यूनं सञ्चिकायाः आकारः अनुमन्यते, विस्पर्-इत्यस्य प्रति-निमेषमूल्ये सामान्यशुल्केन मार्जिन् इत्यनेन च सह, तथा च न्यूनातिन्यूनं 0.05 क्रेडिट्-अनुरोधः। एतत् मानक-शेषात् दीयते यदा तत् धारणं पूरयितुं शक्नोति, अन्यथा प्रो-तः; a 402 प्रत्येकं शेषं यत् आवश्यकं तत् ददति। आप्-मध्ये, ध्वनि-सन्देशस्य प्रतिलिपिः निःशुल्कः भवेत्; ए. पि. ऐ. मध्ये सर्वदा शुल्कं भवति। यदि विस्पर् विफलः भवति तर्हि किमपि शुल्कं न भवति।

प्रत्युत्तरं ददातु।

{
  "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 उपशीर्षकानि प्रत्यागच्छतु, तथा च verbose_json भाषा, अवधिः, समयोचितभागाः च योजयतु। ये त्रीणि जे. एस्. ओ. एन्. इत्येतानि न सन्ति तेषां मूल्यं शीर्षकेषु भवति।

स्थितिः।कदा
400न संचिका, न उपयोक्तुं योग्यं श्रव्यकं संचिका (invalid_audio), अज्ञातः प्रारूपः, अथवा प्रतिरूपः यः प्रतिलेखन-प्रतिरूपः नास्ति (invalid_model).
402न सन्तुलनं तत् आच्छादयितुं शक्नोति।
413संचिका 25 एम्. बी. तः अधिका अस्ति (file_too_large) अथवा 30 निमेषेभ्यः अधिकं ध्वनिमुद्रणं, अथवा, यस्य दीर्घता अग्रे पठितुं न शक्यते तस्मिन् स्वरूपे, 1.8 एम्. बी. तः अधिकं (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 - एकं ए. पि. ऐ. की अपेक्षितम्, अथवा प्रति-अनुरोधः विद्युत्-शोधनं करोतु।शरीरम् अस्ति। multipart/form-data.

प्रतिलेखनम् इव समानम्, भिन्नैः क्षेत्रैः सह समानम्। language, परिमितिः, मूल्यं च, परन्तु यत् भाषां भाष्यते तत् आङ्ग्लभाषायाम् पाठं पुनः आगच्छति। ओपन्-ए. ऐ. एस्. डी. के. इत्येते तेन सह आह्वयन्ति। 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);

अन्तर्निर्मिताः।

अन्वेषणं, क्लस्टरिङ्ग्, डिडुप्लिकेषन् च कर्तुं पाठं वेक्टर्-रूपेण परिवर्तयति। प्रतिरूपाणि क्लौड्फ्लेर् इत्यत्र चालयन्ति, मानक-शेषं च व्ययन्ति।

POST https://nymbot.ai/api/v1/embeddings - एकं ए. पि. ऐ. की अपेक्षितम्, अथवा प्रति-अनुरोधः विद्युत्-शोधनं करोतु।.

क्षेत्रम्।प्रकारःआवश्यकम्वर्णनम्
modelस्त्रिङ्ग्आम्‌अभिलिखितं प्रतिमानम् इत्यतः। GET /api/v1/models?type=embedding.
inputस्त्रिङ्ग् अथवा स्त्रिङ्ग्स् इत्यस्य अर्रेआम्‌इम्बेड् कर्तुम् आवश्यकं पाठं, 100 यावत् रिक्ततर-स्ट्रिङ्ग्स् यावत् भवति। टोकन्-आरेस् निराकृतानि भवन्ति (token_input_unsupported)। प्रत्येकं निवेशं प्रतिरूपस्य अनुरूपं भवेत्। context_length, प्रति टोकन् प्रायः चतुर्णां बैट्-रूपेण गण्यते।
encoding_formatस्त्रिङ्ग्न।float (पूर्वनिर्धारितं) अथवा base64 (लिटिल्-एण्डियन् 32-बिट् फ्लोट्स्)।
dimensionsपूर्णांकःन।प्रतिरूपस्य स्वकीयः आकारः, अथवा प्रतिरूपस्य कृते supported_dimensions तेषु एकः; ततः सदिशः लघुकृतः सामान्यीकृतः च भवति। अन्यत् किमपि निराकरोति।
प्रतिमानम्।परिमाणाणिप्रसंगः।
@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 टोकेन्स्

माडेल्स्-सूची सत्यस्य स्रोतः अस्ति यस्य कृते उपलभ्यन्ते, तेषां मूल्यं च कियत् भवति; गूगल्-संस्थायाः एम्बेडिङ्ग्-जेम्मा, अनुरोधे लघुतरेण वेक्टर्स्-युक्ता, तत्र अपि दृश्यते यदा सूचीपत्रे तस्य मूल्यं भवति। एम्बेडिङ्ग्स् प्रति-इन्पुट्-टोकन्-मध्ये मीटर् भवति, तथा च 0.05-credit न्यूनतमं प्रत्येकं अनुरोधे प्रयुज्यते, न तु प्रत्येकस्मिन् इन्पुट्-मध्ये, अतः एकस्मिन् अनुरोधे बहूनां पाठानां ब्याचिङ्ग्, एकवारं एकं प्रेषयितुं अपेक्षया बहु न्यूनं भवति।

प्रत्युत्तरं ददातु।

{
  "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मानक-संतुलनं अत्यन्तं न्यूनं भवति। अन्तर्निर्मितानि कदापि प्रो-संतुलनं न उपयुञ्जन्ते।
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);