सामग्री पर जाओ
निम्बॉट पर बापस जाओ

ज्ञान आधार डेवलपर्स

छवियां, ऑडियो ते एम्बेडिंग

ऐप दे जनरेटर, ते खोज आस्तै निर्माण खंडः तस्वीर, वीडियो, भाशन, प्रतिलेखन ते एम्बेडिंग, हर इक बिल तुंʼदे बकाया कोला प्रति उपयोग।

छवियां त्यार कीता जा "रदा ऐ

इक प्रॉम्प्ट थमां इक शा चार चित्र त्यार करदा ऐ ते पूरा होने पर उʼनें गी बापस मोड़दा ऐ। एह् जेनरेटरें दा नेहा गै सैट्ट ऐ जिʼयां ओह् करदे न। ?image ऐप च।

POST https://nymbot.ai/api/v1/images/generations — गी इक API key चाहिदी ऐ, या हर इक रिक्वेस्ट पर इक लाइटनिंग पेमेंट.

आई. डी. कि'यां थमां आई दी ऐ GET /api/v1/models?type=imageमानक जनरेटर, @cf/black-forest-labs/flux-1-schnell, दी कीमत इक सपाट 5 मानक क्रेडिट (50 सैट्स) इक तस्वीर ऐ। हर इक होर जनरेटर अपनी कीमत पर प्रो क्रेडिट खर्च करदा ऐ, सधारण फीस ते मार्जिन दे कन्नै, जिʼयां के ऐप. n चित्रें दी लागत n गुणा मता। इक खेतर जेह्ड़ा इक जनरेटर नेईं लैंदा, इन्कार करने दे बजाए छोड़ी दित्ता जंदा ऐ; मानक जनरेटर छड़ा प्रॉम्प्ट दा इस्तेमाल करदा ऐ।

खेतराकिसमाजरूरीविवरण
modelस्ट्रिंगहांइक जनरेटर आई. डी., जिʼयां जे nano-banana.
promptस्ट्रिंगहांकेह् ड्रा करना ऐ। छड़ा पैह्लें 2,000 वर्णें दा इस्तेमाल कीता जंदा ऐ।
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:// अधिकतम 4,096 अक्षरां दा लिंक, जित्ते च कोई यूजर नेम या पासवर्ड न होवे, या ऐ data:image/…;base64 यू. आर. एल. (पी. ऐन्न. जी., जे. पी. ई. जी., वेब. पी. जां जी. आई. ऐफ्फ.; ऐस्स. वी. जी. नेईं)। छड़ा उ'नें जनरेटरें आस्तै जिं'दे च edit; उंʼदे लेई लाजमी ऐ जिंʼदे कन्नै requires_image_url.

resolution इस्तेमाल नी कीता जांदा: हर जनरेटर अपना साइज बणांदा ऐ। कन्नै urlहर इक तस्वीर गी सार्वजनक ब्लॉसम होस्ट पर अपलोड कीता जंदा ऐ ते तुसें गी एह्दे लिंक गी हासल होंदा ऐ (किश जनरेटर छड़ा अपना इक लिंक बापस दिंदे न, जेह्ड़ा पास कीता जंदा ऐ)। लिंक आह्ला कोई बी व्यक्ति इसगी खोली सकदा ऐ ते इसगी परतियै खʼल्ल नेईं कीता जाई सकदा ऐ; दस्सो API कीआं देख सकदा ऐकन्नै। b64_json तस्वीर प्रतिक्रिया च बापस आई जंदी ऐ ते कदें बी अपलोड नेईं कीती जंदी ऐ। इक तस्वीर दे रूप च भेजी जंदी ऐ data: URL इन 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 दा एडिट एंडपॉइंट ऐ, इसो OpenAI SDKs' images.edit एह् जिʼयां ऐ उʼयां गै कम्म करदा ऐ। छड़ा प्रो जनरेटर दे कन्नै edit मॉडल लिस्ट च एह्नु स्वीकार करो।

POST https://nymbot.ai/api/v1/images/edits — गी इक API key चाहिदी ऐ, या हर इक रिक्वेस्ट पर इक लाइटनिंग पेमेंटशरीर ऐ है multipart/form-data32 एमबी तक्कर।

खेतराकिसमाजरूरीविवरण
imageफाइलहांएडिट करने लेई तस्वीर: PNG, JPEG, WebP या GIF, 20 MB तक। एथ्ें स्वीकार कीती जांदी ऐ: image[]पैह्लें दा इस्तेमाल कीता जंदा ऐ।
promptस्ट्रिंगहांकेह् बदलना ऐ।
modelस्ट्रिंगहांकन्नै इक जनरेटर edit.
nपूर्णांकनेईं।1 कोला 4 तक्कर।
size
aspect_ratio
quality
negative_prompt
output_format
स्ट्रिंगनेईं।जद जेनरेशन दी गल्ल ऐ।
response_formatस्ट्रिंगनेईं।"b64_json" (एह् डिफाल्ट ऐ) जां "url".

तुंʼदे आसेआ अपलोड कीती जाने आह्ली तस्वीर गी इक अच्छी चाल्ली कन्नै बनी दी पी. ऐन्न. जी., जे. पी. ई. जी., वेब. पी. जां जी. आई. ऐफ्फ. दे रूप च जांचेआ जंदा ऐ, जिस्सी एह्दे असली किसम दे रूप च भेजेआ जंदा ऐ, ते इक सार्वजनक ब्लॉसम होस्ट पर पाई दित्ता जंदा ऐ, की जे जनरेटर लिंक राहें अपने इनपुट हासल करदे न। इसगी सार्वजनक मनदे न। जेकर संपादन असफल होंदा ऐ ते किश बी चार्ज नेईं कीता जंदा ऐ, तां होस्ट कीती गेई प्रति परतियै हटाई दित्ती जंदी ऐ। प्रतिक्रिया दा आकार पीढ़ी आस्तै बराबर होंदा ऐ। कीमत जेनरेटर दी कीमत ऐ, जेह्दे च किश जनरेटरें आस्तै इनपुट तस्वीर आस्तै शुल्क शामल होंदा ऐ।

प्रतिक्रिया

{
  "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 — गी इक API key चाहिदी ऐ, या हर इक रिक्वेस्ट पर इक लाइटनिंग पेमेंटबापस। 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/… यू. आर. एल., जिस्सी पैह्लें सार्वजनक ब्लॉसम मेजबान पर अपलोड कीता जंदा ऐ। जेनरेटरें आसेआ लाजमी requires_image_url.

जद्दे तुस सबमिट करदे ओ, जेनेरेटर, रेज़ोल्यूशन अते लेंथ हुंदे ही कीमत फिक्स हो जांदी ऐ, इसली जद्दे प्रोवाइडर काम कुबूल करदा ऐ, ओत्थे ही तुंदे Pro बैलेंस तों पैसे कट जांदे ऐ, अते एदे लग्गी ऐ 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), या उस ID कन्नै थौड़ा कोई काम नय थौड़ा तुआडे nym कन्नै, या ए 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 — गी इक API key चाहिदी ऐ, या हर इक रिक्वेस्ट पर इक लाइटनिंग पेमेंट.

खेतराकिसमाजरूरीविवरण
modelस्ट्रिंगनेईं।इक भाशन माडल ऑडियो माडलें दी सूचीडिफ़ॉल्टः मानक अवाज, @cf/myshell-ai/melotts. aura-2 दीपग्राम औरा 2 ऐ।
inputस्ट्रिंगहांपढ़ने आस्तै पाठः मानक अवाज आस्तै 800 वर्णें तक्कर, औरा 2 आस्तै 2,000।
voiceस्ट्रिंगनेईं।थमां इक अवाज आई. डी. अवाजें दी सूची: इक ऑरा स्पीकर जियां कि luna (जां aura-2-luna-en), जां इक मेलोटीटीऐस्स भाशा (en, es, fr, zh). ओपनएआई अवाज दे नांऽ जिʼयां जे alloy स्वीकार कीते जंदे न ते माडल दी मूल अवाज दिंदे न।
languageस्ट्रिंगनेईं।इक भाशा कोड जिʼयां जे esअवाज दे बगैर, एह् उस भाशा आस्तै इक गी चुनदी ऐ। इक अवाज जेह्ड़ी दूई भाशा बोलदी ऐ ओह् बापस आई जंदी ऐ। 422 voice_language_mismatch, ते इक भाशा जिस आस्तै माडल दी कोई अवाज नेईं ऐ 422 unsupported_language.
response_formatस्ट्रिंगनेईं।मानक आवाज वापस आउंदी ऐ mp3 छड़ा। ऑरा 2 बापस आई। mp3 (डिफाल्ट), opus, aac, flac, wav जां pcm.
speedगिनतरीनेईं।मंजूर ते नज़रअंदाज़ कीता गेआ।

मानक आवाज़ इक रिक्वेस्ट ते सीधा 3 मानक क्रेडिट (30 sats) खर्च होंदी ऐ, जियां ऐप च है। Aura 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);

पाठ पर भाशन

Whisper दे कन्नै इक रिकॉर्डिंग गी टेक्स्ट च बदलिए। ए OpenAI दा transcription endpoint ऐ, इसाले audio.transcriptions.create कम्म करदा ऐ।

POST https://nymbot.ai/api/v1/audio/transcriptions — गी इक API key चाहिदी ऐ, या हर इक रिक्वेस्ट पर इक लाइटनिंग पेमेंटशरीर ऐ है multipart/form-data.

खेतराकिसमाजरूरीविवरण
fileफाइलहांरिकार्डिंग, 256 बाइट्स कोला 25 एमबी तक्कर ते 30 मिंट तक्करः डब्ल्यूएवी, वेबएम, एमपी4 जां एम4ए, ओग जां ओपस, एमपी3 ते होर दुए प्रारूप व्हिस्पर पढ़दे न। एमपी3 ते होर दुए प्रारूप जिंʼदी लंबाई गी अग्गें नेईं पढ़ेआ जाई सकदा, ओह् 1.8 एमबी तक्कर सीमत न।
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.

डब्ल्यूएवी, वेबएम, एमपी4 ते ओग फाइलें आस्तै किश बी चलने थमां पैह्लें फाइल थमां लंबाई पढ़ी जंदी ऐ, इस करियै 30 मिंट कोला मते रिकार्डिंग गी पैह्लें नांह् करी दित्ती जंदी ऐ (3 सैकेंड्स दे ग्रेस दे कन्नै)। इक डब्ल्यूएवी फाइल दी लंबाई एह्दे नमूने दर, चैनलें ते नमूने दे आकार थमां होंदी ऐ। होर दुए प्रारूपें दी लंबाई, जिʼयां के एमपी3, गी पैह्लें नेईं पढ़ेआ जाई सकदा, इस करियै ओह् आकार द्वारा सीमत नः सभनें शा घट्ट बिट दर पर निम्बॉट मनदा ऐ, 8 के. बी. पी. ऐस्स., 30 मिंट 1.8 एमबी ऐ, ते इस चाल्ली दे प्रारूप च इक बड्डी फाइल दे कन्नै नांह् करी दित्ती जंदी ऐ। 413 audio_too_long कुसै बी चीज दे चलने शा पैह्लें। डब्ल्यू. ए. वी., वेब. एम., एम. पी. 4 जां ओ. जी. जी. दे रूप च लंबी रिकार्डिंग भेजो। जेकर व्हिस्पर 30 मिंट कोला मते समें तक्कर रिपोर्ट करदा ऐ, तां विनती गी इन्कार करी दित्ता जंदा ऐ। 413 audio_too_long, ते चूंकि व्हिस्पर चलिया गेआ, 30 मिनट दा चार्ज लागिया ऐ।

तुस ऑडियो दी लंबाई आस्तै भुगतान करदे ओ, जेह्ड़ा दुए तक्कर गोल कीता जंदा ऐः फाइल थमां पढ़ी जाने आह्ली लंबाई दी सभनें शा बड्डी लंबाई, व्हिस्पर रिपोर्ट दी लंबाई, ते घट्ट कोला घट्ट फाइल दा आकार इजाज़त दिंदा ऐ, व्हिस्पर दी प्रति मिंट कीमत पर सधारण फीस ते मार्जिन दे कन्नै, ते घट्ट कोला घट्ट 0.05 इक विनती गी श्रेय देओ। इसगी मानक बकाया थमां भुगतान कीता जंदा ऐ जिसलै ओह् होल्ड गी कवर करी सकदा ऐ, ते नेईं तां प्रो थमां; इक 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 भाषा, अवधि ते समय पर आधारित खंड जोड़दा ऐ। उनी तीनें दे लई जेह्ड़े 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 — गी इक API key चाहिदी ऐ, या हर इक रिक्वेस्ट पर इक लाइटनिंग पेमेंटशरीर ऐ है 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 — गी इक API key चाहिदी ऐ, या हर इक रिक्वेस्ट पर इक लाइटनिंग पेमेंट.

खेतराकिसमाजरूरीविवरण
modelस्ट्रिंगहांथमां इक एम्बेडिंग माडल GET /api/v1/models?type=embedding.
inputस्ट्रिंग जां स्ट्रिंग दी सरणीहांएम्बेड करने आस्तै पाठ, 100 गैर-खाली स्ट्रिंग्स तक्कर। टोकन ऐरे गी मना करी दित्ता जंदा ऐ (token_input_unsupported)। हर इक इनपुट माडल दे अनुरूप होना चाहिदा। context_length, इक टोकन च तकरीबन चार बाइट्स दे रूप च गिनेआ जंदा ऐ।
encoding_formatस्ट्रिंगनेईं।float (डिफाल्ट) जां base64 (लिटिल-एंडियन 32-बिट फ्लोट्स)।
dimensionsपूर्णांकनेईं।माडल दा अपना आकार, जां माडल आस्तै supported_dimensions उंʼदे चा इक; वेक्टर गी फ्ही लौह्का कीता जंदा ऐ ते सधारण कीता जंदा ऐ। होर किश बी मना करी दित्ता जंदा ऐ।
मॉडलमाप (Dimensions)संदर्भ
@cf/baai/bge-m31024, केईं भाशां8, 192 टोकन
@cf/qwen/qwen3-embedding-0.6b1024, केईं भाशां8, 192 टोकन
@cf/baai/bge-large-en-v1.51024, अंग्रेज़ी५१२ टोकन
@cf/baai/bge-base-en-v1.5768, अंग्रेज़ी५१२ टोकन
@cf/baai/bge-small-en-v1.5384, अंग्रेज़ी५१२ टोकन

माडल सूची सचाई दा स्रोत ऐ जेह्दे लेई उपलब्ध न ते उंʼदी कीमत केह् ऐ; गूगल दी एम्बेडिंगगेमा, विनती पर लौह्के वैक्टर दे कन्नै, उसलै बी लब्भेदी ऐ जिसलै कैटलॉग दी कीमत होंदी ऐ। एम्बेडिंग्स गी प्रति इनपुट टोकन पर मीटर कीता जंदा ऐ, ते 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);