నాలెడ్జ్ బేస్ డెవలపర్లు
చిత్రాలు, ఆడియో మరియు ఎంబెడ్డింగ్లు
అనువర్తనం నుండి జనరేటర్లు, మరియు శోధన కోసం బిల్డింగ్ బ్లాక్స్ః చిత్రాలు, వీడియో, ప్రసంగం, ట్రాన్స్క్రిప్షన్ మరియు ఎంబెడింగ్లు, మీ బ్యాలెన్స్ నుండి ప్రతి వినియోగానికి బిల్లు.
ఈ పేజీ సౌలభ్యం కోసం యంత్రంతో అనువదించబడింది. ఆంగ్ల అసలైనది వర్తించే సంస్కరణ.
చిత్రాలను రూపొందించడం
ఒక ప్రాంప్ట్ నుండి ఒకటి నుండి నాలుగు చిత్రాలను తయారు చేసి, అవి పూర్తయినప్పుడు తిరిగి పంపుతుంది. ఇది కూడా అదే
జనరేటర్ల సెట్ వంటిదే ?image యాప్లో.
POST https://nymbot.ai/api/v1/images/generations - ఒక API కీ అవసరం, లేదా అభ్యర్థనకు మెరుపు చెల్లింపు.
ఐడీలు ఇక్కడ నుండి వస్తాయి. 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,
ప్రతి చిత్రం పబ్లిక్ Blossom హోస్ట్కు అప్లోడ్ చేయబడుతుంది మరియు మీకు దాని లింక్ వస్తుంది (కొన్ని జనరేటర్లు మాత్రమే
తమ స్వంత లింక్ను తిరిగి ఇస్తాయి, అది పంపబడుతుంది). లింక్ ఉన్న ఎవరైనా దానిని తెరవవచ్చు మరియు దానిని
మళ్ళీ తొలగించలేరు; చూడండి 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);
చిత్రాలను సవరించడం
ప్రాంప్ట్ను అనుసరించి, మీరు అప్లోడ్ చేసిన చిత్రాన్ని మారుస్తుంది. ఇది ఓపెన్ఏఐ యొక్క ఎడిట్ ఎండ్ పాయింట్, కాబట్టి ఓపెన్ఏఐ ఎస్డికెలు ' images.edit ఉన్నట్లే పనిచేస్తుంది. ప్రో జనరేటర్లు మాత్రమే edit మోడల్ జాబితాలో దానిని అంగీకరించండి.
POST https://nymbot.ai/api/v1/images/edits - ఒక API కీ అవసరం, లేదా అభ్యర్థనకు మెరుపు చెల్లింపు. శరీరం అంటే multipart/form-data32 ఎంబీ వరకు ఉంటుంది.
| ఫీల్డ్ | రకం | అవసరమైనది | వివరణ |
|---|---|---|---|
image | ఫైలు | అవును | సవరించాల్సిన చిత్రంః పిఎన్జి, జెపిఇజి, వెబ్పి లేదా జిఐఎఫ్, 20 ఎంబి వరకు. image[]; మొదటిది ఉపయోగించబడుతుంది. |
prompt | స్ట్రింగ్ | అవును | ఏమి మార్చాలి. |
model | స్ట్రింగ్ | అవును | దీనితో కూడిన జనరేటర్ edit. |
n | పూర్ణాంకం | లేదు | 1 నుండి 4 వరకు. |
sizeaspect_ratioqualitynegative_promptoutput_format | స్ట్రింగ్ | లేదు | తరాల విషయానికి వస్తే. |
response_format | స్ట్రింగ్ | లేదు | "b64_json" (ఇక్కడ డిఫాల్ట్) లేదా "url". |
మీరు అప్లోడ్ చేసే చిత్రం సరైన PNG, JPEG, WebP లేదా GIF ఫార్మాట్లో ఉండాలి, దాని అసలు రకంతోనే పంపబడాలి మరియు పబ్లిక్ Blossom హోస్ట్పై ఉంచబడాలి, ఎందుకంటే జనరేటర్లు వాటి ఇన్పుట్ను లింక్ ద్వారా పొందుతాయి. దీనిని పబ్లిక్ అని భావించండి. ఒకవేళ ఎడిట్ విఫలమైతే మరియు ఎటువంటి రుసుము వసూలు చేయకపోతే, హోస్ట్ చేయబడిన కాపీ మళ్ళీ తొలగించబడుతుంది. దీనికి వచ్చే ప్రతిస్పందన జనరేషన్ లాగే ఉంటుంది. ధర అనేది జనరేటర్ ధర, కొన్ని జనరేటర్ల విషయంలో ఇందులో ఇన్పుట్ చిత్రం కోసం రుసుము కూడా కలిసి ఉంటుంది.
ప్రతిస్పందన
{
"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 ఎంబీ కంటే ఎక్కువ. |
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 కీ అవసరం, లేదా అభ్యర్థనకు మెరుపు చెల్లింపు. తిరుగుబాట్లు. 202.
| ఫీల్డ్ | రకం | అవసరమైనది | వివరణ |
|---|---|---|---|
model | స్ట్రింగ్ | అవును | వీడియో జనరేటర్ ఐడి నుండి GET /api/v1/models?type=video, ఉదాహరణకు veo. |
prompt | స్ట్రింగ్ | అవును | ఏం జరగాలి. |
duration | సంఖ్య లేదా స్ట్రింగ్ | లేదు | సెకన్లలో పొడవు, 0 కంటే ఎక్కువ మరియు 60 వరకు. మీరు పొడవును ఎంచుకోవడానికి అనుమతించే జనరేటర్ల ద్వారా మాత్రమే ఉపయోగించబడుతుంది; ఇతరులు వారి సాధారణ పొడవును చేస్తారు, అంటే seconds ప్రతిస్పందనలో మరియు ధర అనుసరిస్తుంది. |
aspect_ratio | స్ట్రింగ్ | లేదు | వంటి "16:9" లేదా "9:16"వంటి పరిమాణం "1280x720" సమీప నిష్పత్తి అవుతుంది. |
resolutionquality | స్ట్రింగ్ | లేదు | జనరేటర్ ఒకటి resolutions మోడల్ జాబితాలో, ఉదాహరణకు "720p" లేదా "1080p"ఇది ధరను నిర్ణయిస్తుంది. మరేదైనా తిరస్కరించబడుతుంది unsupported_resolution. |
image_url | స్ట్రింగ్ | లేదు | నుండి ప్రారంభించడానికి ఒక చిత్రంః ఒక https:// లింక్ లేదా a 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), లేదా మీ ఎన్ఐఎమ్ కోసం ఆ ఐడి ద్వారా ఉద్యోగం లేదు, లేదా అది 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 కీ అవసరం, లేదా అభ్యర్థనకు మెరుపు చెల్లింపు.
| ఫీల్డ్ | రకం | అవసరమైనది | వివరణ |
|---|---|---|---|
model | స్ట్రింగ్ | లేదు | నుండి ఒక ప్రసంగ నమూనా ఆడియో నమూనాల జాబితాడిఫాల్ట్ః ప్రామాణిక వాయిస్, @cf/myshell-ai/melotts. aura-2 దీప్గ్రామ్ ఆరా 2. |
input | స్ట్రింగ్ | అవును | చదవవలసిన వచనంః ప్రామాణిక స్వరానికి 800 అక్షరాల వరకు, ఆరా 2కి 2,000 వరకు. |
voice | స్ట్రింగ్ | లేదు | నుండి వాయిస్ ఐడి స్వరాల జాబితా: ఒక Aura స్పీకర్ వంటి luna (లేదా aura-2-luna-en), లేదా మెలోటిటిఎస్ భాష (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 - ఒక API కీ అవసరం, లేదా అభ్యర్థనకు మెరుపు చెల్లింపు. శరీరం అంటే 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. |
WAV, WebM, MP4 మరియు Ogg ఫైల్ల కోసం, ఏదీ ప్రారంభం కావడానికి ముందే ఫైల్ నుండి పొడవును చదువుతారు, కాబట్టి 30 నిమిషాల కంటే ఎక్కువ నిడివి గల రికార్డింగ్ను ముందే నిరాకరించబడుతుంది (3 సెకన్ల గ్రేస్ పీరియడ్తో). WAV ఫైల్ యొక్క పొడవు దాని శాంపిల్ రేట్, ఛానెల్లు మరియు శాంపిల్ పరిమాణం నుండి వస్తుంది. MP3 వంటి ఇతర ఫార్మాట్ల పొడవును ముందుగానే చదవలేము, కాబట్టి అవి పరిమాణం ద్వారా పరిమితం చేయబడతాయి: అత్యల్ప బిట్రేట్ 8 kbps అని Nymbot అనుకుంటే, 30 నిమిషాలు 1.8 MB అవుతుంది, మరియు అటువంటి ఫార్మాట్లో అంతకంటే పెద్ద ఫైల్ను నిరాకరించబడుతుంది 413
audio_too_long ఏదైనా రన్ అయ్యే ముందు. ఎక్కువ నిడివి గల రికార్డింగ్లను డబ్ల్యూఏవీ, వెబ్ఎం, ఎమ్పి4 లేదా ఓజీగా పంపండి. విస్పర్ 30 నిమిషాల కంటే ఎక్కువ సమయం అయినా రిపోర్ట్ చేస్తే, అభ్యర్థన తో తిరస్కరించబడుతుంది.
413 audio_too_long, మరియు విస్పర్ పరుగెత్తినందున, 30 నిమిషాలు ఛార్జ్ చేయబడతాయి.
మీరు ఆడియో నిడివికి చెల్లిస్తారు, ఇది సెకనుకు రౌండ్ అప్ చేయబడుతుంది: ఫైల్ నుండి చదివిన గరిష్ట నిడివి, Whisper నివేదించే నిడివి మరియు ఫైల్ పరిమాణం అనుమతించే కనిష్ట నిడివి, Whisper యొక్క ప్రతి నిమిషం ధరతో సాధారణ రుసుము మరియు మార్జిన్తో, మరియు ప్రతి అభ్యర్థనకు కనీసం 0.05 క్రెడిట్. అది ఆ Hold మొత్తాన్ని కవర్ చేయగలిగినప్పుడు స్టాండర్డ్ బ్యాలెన్స్ నుండి, లేని పక్షంలో Pro నుండి చెల్లించబడుతుంది; a 402 ప్రతి బ్యాలెన్స్ అవసరం ఏమిటో ఇస్తుంది. అనువర్తనంలో, వాయిస్ సందేశాన్ని లిప్యంతరీకరించడం ఉచితం కావచ్చు; APIలో ఇది ఎల్లప్పుడూ వసూలు చేయబడుతుంది. విస్పర్ విఫలమైతే, ఏమీ వసూలు చేయబడదు.
ప్రతిస్పందన
{
"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 MB కంటే ఎక్కువ (file_too_large) లేదా 30 నిమిషాలకు పైగా రికార్డింగ్, లేదా, దీని పొడవును ముందు చదవలేని ఫార్మాట్లో, 1.8 MB కంటే ఎక్కువ (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 కీ అవసరం, లేదా అభ్యర్థనకు మెరుపు చెల్లింపు. శరీరం అంటే 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 కీ అవసరం, లేదా అభ్యర్థనకు మెరుపు చెల్లింపు.
| ఫీల్డ్ | రకం | అవసరమైనది | వివరణ |
|---|---|---|---|
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-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 టోకెన్లు |
నమూనాల జాబితా అనేది అందుబాటులో ఉన్న నిజం యొక్క మూలం మరియు వాటి ధర ఎంత; గూగుల్ యొక్క ఎంబెడింగ్ జెమ్మా, అభ్యర్థనపై తక్కువ వెక్టర్లతో, కేటలాగ్కు ధర ఉన్నప్పుడు అక్కడ కూడా కనిపిస్తుంది. ఎంబెడింగ్లు ప్రతి ఇన్పుట్ టోకెన్కు మీటర్ చేయబడతాయి మరియు 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 | ప్రామాణిక బ్యాలెన్స్ చాలా తక్కువగా ఉంది. Embeddings ఎప్పుడూ 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);