የእውቀት መሠረት ልማት
ፎቶዎች, ኦዲዮ እና Embeddings
የ መተግበሪያ ከ ጄኔሬተርዎች, እና የሽያጭ ለመፍጠር መዋቅርዎች: ፎቶዎች, ቪዲዮዎች, ቪዲዮዎች, transcriptions እና embeddings, እያንዳንዱ እያንዳንዱ እያንዳንዱ አጠቃቀም ከባድዎ ላይ ይሸፍናል.
ይህ ገጽ ለምቾት በማሽን የተተረጎመ ነው። የእንግሊዝኛው ኦሪጅናል የሚመለከተው ስሪት ነው።
ፎቶዎችን ለመፍጠር
ከ 1 እስከ 4 ፎቶዎች ከ እባክዎን ያውቃሉ እና መጨረሻው ጊዜ ያውቃሉ. ?image በ app ውስጥ.
POST https://nymbot.ai/api/v1/images/generations — አንድ API ቁልፍ ያስፈልጋል, ወይም እባክዎ ላይ Lightning ክፍያ.
መኖሪያ ቤት From GET /api/v1/models?type=imageአንድ መደበኛ Generator,
@cf/black-forest-labs/flux-1-schnellአንድ የ 5 መደበኛ ክሬዲት (50 ክፍሎች) አንድ ፎቶ ዋጋ ነው. ሁሉም ሌሎች ጄኔሬተር የ Pro ክሬዲት በግል ዋጋ ላይ ይሸፍናል, እንደ በአጠቃላይ ክፍያ እና መጋቢት ጋር, የ APP. n ፎቶዎች ዋጋ
n አንድ የጄኔሬተር አጠቃቀም አይችልም አንድ መስኮት ከባድ ነው; መደበኛ የጄኔሬተር ብቻ ይጠቀማል.
| ፎቶ | ዓይነት | ፍላጎት | ዝርዝር |
|---|---|---|---|
model | የ String | አዎ | አንድ Generator ID, እንደ nano-banana. |
prompt | የ String | አዎ | ምን ይታያል? ብቻ የመጀመሪያው 2,000 የክፍያዎች ይጠቀማሉ. |
n | መኖሪያ ቤት | ምንም | 1 ወደ 4 የፈጣን 1. በተጨማሪም እንደ ተስማሚ num_images. |
size | የ String | ምንም | እንደ እንደ እንደ እንደ እንደ እንደ እንደ እንደ "16:9"ወይም እንደ እንደ እንደ እንደ እንደ እንደ "1792x1024"በ 1 ኛ, 16:9, 9:16, 4 ኛ, 3 ኛ, 3 ኛ, 2 ኛ, 21 ኛ, 9 ኛ, 4 ኛ, 4 ኛ እና 4 ኛ ጋር ይመጣል. "auto" የጄኔሬተር ላይ ያውቃል. |
aspect_ratio | የ String | ምንም | ተመሳሳይ sizeአንዳንዶቹም ይሰጣሉ. |
quality | የ String | ምንም | የጄኔሬተር-ተኮር, እንደ "low", "medium" ወይም "high". |
negative_prompt | የ String | ምንም | ምን አግኝቷል. |
output_format | የ String | ምንም | "png", "jpeg" ወይም "webp". |
response_format | የ String | ምንም | "url" (አንድ ጊዜ) ወይም "b64_json". |
image_url | የ String | ምንም | አንድ ፎቶ ይጀምራል: አንድ https:// ከ 4,096 የኮምፒውተር ስም ወይም የኮምፒውተር ስም ወይም የኮምፒውተር የኮምፒውተር ስም ወይም የኮምፒውተር data:image/…;base64 URL (PNG, JPEG, WebP ወይም GIF; SVG አይሆንም) ብቻ ከ editየሚፈልጉት ሰዎች requires_image_url. |
resolution እያንዳንዱ ጄኔሬተር እያንዳንዱ መጠን ያደርጋል. urlእያንዳንዱ ፎቶ በ Blossom አጠቃቀም ላይ ያውቃል እና የእርስዎን አገናኝ ማግኘት ይችላሉ (እያንዳንዱ ጄኔሬተር ብቻ የእርስዎን አገናኝ ይሰጣል, ይህም ይሰጣል). አግኝቷል አግኝቷልጋር
b64_json ፎቶው መልስ ውስጥ ተንቀሳቃሽ ነው እና ምንም ጊዜ ያውቃል. አንድ ፎቶ እንደ data: URL ውስጥ image_url ተመሳሳይ መንገድ መቆጣጠር ነው
አግኙን እና በመጀመሪያ ወደ 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); አንድ ሞዴል ነው, ነገር ግን አንድ ምስል Generator አይደለም (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 SDK’s’ መጨረሻ ደረጃ ነው, ስለዚህ የ OpenAI SDKs’ images.edit ተስማሚ ነው, ነገር ግን በይነገጽ ጋር edit የፕሮጀክቶች ዝርዝር ውስጥ እባክዎ ያግኙ.
POST https://nymbot.ai/api/v1/images/edits — አንድ API ቁልፍ ያስፈልጋል, ወይም እባክዎ ላይ Lightning ክፍያየካርቦን ነው multipart/form-dataእስከ 32 ሜባ.
| ፎቶ | ዓይነት | ፍላጎት | ዝርዝር |
|---|---|---|---|
image | ፋይል | አዎ | መተግበሪያ ፎቶ: PNG, JPEG, WebP ወይም GIF, እስከ 20 ሜባ. image[]የመጀመሪያው ሰው ይጠቀማል. |
prompt | የ String | አዎ | ምን ይወዳል. |
model | የ String | አዎ | አንድ Generator ጋር edit. |
n | መኖሪያ ቤት | ምንም | 1 ወደ 4. |
sizeaspect_ratioqualitynegative_promptoutput_format | የ String | ምንም | አጠቃቀም አጠቃቀም |
response_format | የ String | ምንም | "b64_json" (የተግበሪያው እዚህ ላይ) ወይም "url". |
በ PNG, JPEG, WebP ወይም GIF ላይ የተመሠረተ ፎቶዎን የተመሠረተ የ PNG, JPEG, GIF ወይም GIF ፎቶዎን ያካትታሉ, በ Blossom host ላይ ይመዝገቡ, ምክንያቱም ጄኔሬተርዎች በይነገጽ ላይ የእርስዎን መተግበሪያዎችን ያግኙ ፡፡ ይህ በይነገጽ ላይ የተመሠረተ ፎቶዎን ያካትታሉ ፡፡ በይነገጽ ላይ የተመሠረተ ፎቶዎን በይነገጽ ላይ የተመሠረተ ፎቶዎን በይነገጽ ላይ የተመሠረተ ፎቶዎን ያካትታሉ ፡፡
መልስ
{
"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"));
ቪዲዮ
አንድ ቪዲዮ ደቂቃዎች ይወስዳል, ስለዚህ በባህር ላይ ይሰራል. እርስዎ እርስዎ ያቀርባል, በቀላሉ አንድ ID ያገኛሉ, እና እርስዎ መጀመር ድረስ የ ID ማግኘት ይፈልጋሉ. ሁሉም ቪዲዮ ጄኔሬተር የፕሮ ቫልዛን ይጠቀማል.
POST https://nymbot.ai/api/v1/videos — አንድ API ቁልፍ ያስፈልጋል, ወይም እባክዎ ላይ Lightning ክፍያተንቀሳቃሽ 202.
| ፎቶ | ዓይነት | ፍላጎት | ዝርዝር |
|---|---|---|---|
model | የ String | አዎ | የቪዲዮ Generator ID GET /api/v1/models?type=videoእንደ እንደ veo. |
prompt | የ String | አዎ | ምን ይሆናል. |
duration | ቁጥር ወይም string | ምንም | ርዝመት ሰከንዶች ውስጥ, ከ 0 እና እስከ 60 ይጠቀማል. ብቻ የጄኔሬተርዎች በመጠቀም እርስዎ ርዝመት ለመምረጥ ይቻላል; ሌሎች ሰዎች የፈጠራ ርዝመት ያደርጋሉ, ይህም ምን ነው seconds መልስ እና ዋጋ የሚከተሉት. |
aspect_ratio | የ String | ምንም | እንደ "16:9" ወይም "9:16"አንድ መጠን እንደ "1280x720" ይበልጥ ትክክለኛ ነው. |
resolutionquality | የ String | ምንም | አንድ የጄኔሬተር resolutions እንደ ምሳሌ ውስጥ, እንደ "720p" ወይም "1080p"ይህ ዋጋ ያደርጋል. ሁሉም ነገር ከባድ ነው. unsupported_resolution. |
image_url | የ String | ምንም | አንድ ፎቶ ይጀምራል: አንድ https:// ያግኙን A data:image/… URL, በመጀመሪያ አንድ የግል Blossom ሆስቶፕ ላይ ያውቃል. በ generators ጋር ያስፈልጋል 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 ሰከንዶች በኋላ እባክዎን ይጠይቃል. እያንዳንዱ ቁጥጥር እባክዎን አንድ ጊዜ እባክዎን እና እባክዎን እባክዎን እባክዎን እባክዎን እባክዎን እባክዎን እባክዎን እባክዎን እባክዎን እባክዎን እባክዎን እባክዎን.
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የመጨረሻው ቪዲዮ በ Blossom አጠቃቀም ላይ ነው, እንደ የተፈጥሮ ፎቶዎች.
| ሁኔታ | ጊዜ |
|---|---|
400 | 0 0 0 0 0 0 0 0 0 0 0 0 0invalid_value); የጄኔሬተር አቅርቦት አይችልም (unsupported_resolution); አንድ አጠቃቀም አጠቃቀም አጠቃቀም አጠቃቀም አጠቃቀም (image_required); አንድ ሞዴል የቪዲዮ ጄኔሬተር አይደለም (invalid_model). |
402 | የ Pro Balance ቪዲዮን መቁረጥ አይችልም. |
404 | አጠቃቀም አጠቃቀም (model_not_found), ወይም ከ 24 ሰዓታት በላይ ከሁለት ሰዓታት በላይ ከሁለት ሰዓታት በላይ ከሁለት ሰዓታት በላይ ከሁለት ሰዓታት በፊት (video_not_found). |
429 | የእርስዎን Nym already has 10 videos 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);
ጽሑፍ በይነገጽ
የኮምፒውተር የኮምፒውተር የኮምፒውተር የኮምፒውተር የኮምፒውተር የኮምፒውተር የኮምፒውተር የኮምፒውተር የኮምፒውተር የኮምፒውተር የኮምፒውተር የኮምፒውተር የኮምፒውተር audio.speech.create በ OpenAI SDKs ውስጥ ይሰራል.
POST https://nymbot.ai/api/v1/audio/speech — አንድ API ቁልፍ ያስፈልጋል, ወይም እባክዎ ላይ Lightning ክፍያ.
| ፎቶ | ዓይነት | ፍላጎት | ዝርዝር |
|---|---|---|---|
model | የ String | ምንም | ምልክት ሞዴል ከ የኦዲዮ ሞዴሎች ዝርዝርአጠቃቀም: መደበኛ ስሜት, @cf/myshell-ai/melotts. aura-2 የ Deepgram Aura 2. |
input | የ String | አዎ | ጽሑፍ ይመልከቱ: ከ 800 ሰራተኞች ለ መደበኛ ድምጽ, 2,000 ለ Aura 2. |
voice | የ String | ምንም | የ Voice ID ከ ዝርዝሮችየ Aura Speaker እንደ luna ወይም aura-2-luna-en(እንዴታዎች በይነገጽ መለያዎች)en, es, fr, zh). OpenAI የሙዚቃ ስም እንደ alloy ያውቃሉ እና ሞዴል አግኝቷል. |
language | የ String | ምንም | አንድ ቋንቋ ኮድ እንደ esአንድ ስሜት አይደለም, ይህ ስሜት አንድ ስሜት ነው. አንድ ስሜት አንድ ሌሎች ስሜት ይመልከቱ. 422 voice_language_mismatch, እና አንድ ቋንቋ ለ ሞዴል ምንም ድምጽ አላቸው 422 unsupported_language. |
response_format | የ String | ምንም | መደበኛ ድምፆች ተንቀሳቃሽ mp3 የ Aura 2 ተንቀሳቃሽ mp3 (እውነተኛ አግኝቷል) opus, aac, flac, wav ወይም pcm. |
speed | ቁጥር | ምንም | አጠቃቀም እና አጠቃቀም. |
በ 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()));
የኦዲዮ ሞዴሎች እና ድምፆች
የሙዚቃ ሞዴል እና የሙዚቃ ሞዴል ወይም የሙዚቃ ሞዴል ለመምረጥ ሁለት የግል ዝርዝሮች አሉ 41 Aura 2 የአንግሊዝኛ እና አራት MeloTTS ቋንቋዎች.
GET https://nymbot.ai/api/v1/audio/models ምንም ቁልፍ አያስፈልግም.
GET https://nymbot.ai/api/v1/audio/voices?language=en ምንም ቁልፍ አያስፈልግም.
| ፎቶ | ዓይነት | ፍላጎት | ዝርዝር |
|---|---|---|---|
language | አግኙን (Query) | ምንም | ይህ ቋንቋ ብቻ ነው. |
model | አግኙን (Query) | ምንም | ይህ ሞዴል ብቻ ነው. |
ግምገማዎች (ወደ)
{
"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);
ጽሑፍ ወደ ጽሑፍ
ይህ የ OpenAI transcription endpoint ነው.
audio.transcriptions.create ሥራ ነው.
POST https://nymbot.ai/api/v1/audio/transcriptions — አንድ API ቁልፍ ያስፈልጋል, ወይም እባክዎ ላይ Lightning ክፍያየካርቦን ነው multipart/form-data.
| ፎቶ | ዓይነት | ፍላጎት | ዝርዝር |
|---|---|---|---|
file | ፋይል | አዎ | ከ 256 ቢት እስከ 25 ሜባ እና እስከ 30 ደቂቃዎች: WAV, WebM, MP4 ወይም M4A, Ogg ወይም Opus, MP3 እና ሌሎች ቅርጸትዎች ይወዳሉ. |
model | የ String | ምንም | አግኙን whisperበ V3 Turbo ውስጥ ይጠቀማል. whisper-1, whisper-large-v3-turbo እና @cf/openai/whisper-large-v3-turbo ተመሳሳይ ነገር ነው. |
language | የ String | ምንም | አጠቃላይ ቋንቋዎች, እንደ enአግኝቷል ከሆነ ውጭ. |
prompt | የ String | ምንም | ምልክቶች እንደ ምልክቶች እንደ ምልክቶች እና ምልክቶች እንደ ምልክቶች እና ምልክቶች እንደ ምልክቶች እንደ ምልክቶች እና ምልክቶች እንደ ምልክቶች እና ምልክቶች እንደ ምልክቶች እና ምልክቶች እንደ ምልክቶች እና ምልክቶች እንደ ምልክቶች እና ምልክቶች ይጠቀማሉ. |
response_format | የ String | ምንም | json (እውነተኛ አግኝቷል) text, srt, vtt ወይም verbose_json. |
ለ WAV, WebM, MP4 እና Ogg ፋይሎች, ርዝመት ማንኛውም ነገር መጀመር በፊት ፋይሎች ውስጥ ያውቃል, ስለዚህ ከ 30 ደቂቃዎች በላይ መጫወት ከባድ ላይ (የ 3 ሰከንዶች 'እናንተ ጋር) ይመዝገቡ. የ WAV ፋይሎች ርዝመት የእርስዎን ሞዴል ፍጥነት, ቻይናዎች እና ሞዴል መጠን ነው. የ MP3 እንደ ሌሎች ፋይሎች ርዝመት ከባድ ላይ ይመዝገቡ አይችልም, ስለዚህ እነርሱ መጠን ላይ የተጠበቁ ናቸው: በ最低 bitrate Nymbot አግኝቷል, 8 kbps, 30 ደቂቃዎች ነው 1.8 ሜባ, እና አንድ ትልቅ ፋይሎች በዚህ ቅርጸት ጋር ይመዝገቡ 413
audio_too_long በ WAV, WebM, MP4 ወይም Ogg እንደ ረጅም ትዕዛዞችን ይደውሉ. If Whisper then reports more than 30 minutes anyway, the request is rejected with
413 audio_too_longከ 30 ደቂቃዎች በኋላ, ከ 30 ደቂቃዎች ይጫወታል.
እርስዎ የኦዲዮ ርዝመት, ወደ ሁለተኛ ድረስ ይቀበላሉ: የ ፋይሎች ከ ይቀበላሉ ርዝመት, የ Whisper ወረቀት ርዝመት, እና የ ፋይሎች መጠን ይቀበላሉ, በ Whisper per-minute ዋጋ ጋር መደበኛ ክፍያ እና መጋቢት ጋር, እና ቢያንስ 0.05 ክሬዲት ትዕዛዞች. ይህ ከ መደበኛ ክፍያ ከክፍል ይሸፍናል, እና ከ Pro ሌሎች; 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 ከ 3 ሰከንዶች ውስጥ ከ 3 ሰከንዶች ውስጥ ከ 3 ሰከንዶች ውስጥ ከ 3 ሰከንዶች ውስጥ ከ 3 ሰከንዶች ውስጥ ከ 3 ሰከንዶች ውስጥ ከ 3 ሰከንዶች ውስጥ ከ 3 ሰከንዶች ውስጥ ከ 3 ሰከንዶች ውስጥ ከ 3 ሰከንዶች ውስጥ ከ 3 ሰከንዶች ውስጥ ከ 3 ሰከንዶች ውስጥ ከ 3 ሰከንዶች ውስጥ ከ 3 ሰከንዶች ውስጥ ከ 3 ሰከንዶች ውስጥ ከ 3 ሰከንዶች ውስጥ ከ 3 ሰከንዶች ውስጥ ከ 3 ሰከንዶች ውስጥ ከ 3 ሰከንዶች ውስጥ ከ 3 ሰከንዶች ውስጥ ከ 3 ሰከንዶች ውስጥ ከ 3 ሰከንዶች ውስጥ ከ 3 ሰከንዶች ውስጥ ነው.
| ሁኔታ | ጊዜ |
|---|---|
400 | የኮምፒውተር የኮምፒውተር አጠቃቀም (invalid_audio(በአንድ ሞዴል ወይም ሞዴል የሚታወቀው ነገር ወይም ሞዴል የሚታወቀው ነገር አይደለም)invalid_model). |
402 | እርግጠኛ አይደለም, እርግጠኛ አይደለም. |
413 | ከ 25 ሜባ (file_too_large(በአንድ አጠቃላይ አጠቃላይ አጠቃላይ አጠቃላይ አጠቃላይ አጠቃላይ አጠቃላይ አጠቃላይ አጠቃላይ አጠቃላይ አጠቃላይ አጠቃላይ አጠቃላይ አጠቃላይ አጠቃላይ አጠቃላይ አጠቃላይ አጠቃላይ አጠቃላይ አጠቃላይ አጠቃላይ አጠቃላይ አጠቃላይ አጠቃላይ አጠቃላይ አጠቃላይ አጠቃላይ አጠቃላይ አጠቃላይ አጠቃላይ አጠቃላይ አጠቃላይ አጠቃላይ አጠቃላይ አጠቃላይ አጠቃላይ አጠቃላይ)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.
ተመሳሳይ እንደ transcription, ጋር ተመሳሳይ ገጾች ከ 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);
አግኙን
በ Cloudflare ላይ የሚሰራ ሞዴሎች እና መደበኛ ቅርጸት ይጠቀማሉ.
POST https://nymbot.ai/api/v1/embeddings — አንድ API ቁልፍ ያስፈልጋል, ወይም እባክዎ ላይ Lightning ክፍያ.
| ፎቶ | ዓይነት | ፍላጎት | ዝርዝር |
|---|---|---|---|
model | የ String | አዎ | አንድ ሞዴል ከ GET /api/v1/models?type=embedding. |
input | አጠቃቀም / Array of Strings | አዎ | የፕላስቲክ መሣሪያዎች, የፕላስቲክ መሣሪያዎች እና የፕላስቲክ መሣሪያዎች, የፕላስቲክ መሣሪያዎች እና የፕላስቲክ መሣሪያዎች (token_input_unsupportedእያንዳንዱ ውሂብ ሞዴል ጋር ተስማሚ መሆን አለበት context_lengthከባድ ከባድ ከባድ ከባድ ከባድ ከባድ ከባድ ከባድ ከባድ ከባድ ከባድ ነው. |
encoding_format | የ String | ምንም | float (አንድ ጊዜ) ወይም base64 (የ 32-bit floats አግኝቷል) |
dimensions | መኖሪያ ቤት | ምንም | የእርስዎ ሞዴል መጠን, ወይም አንድ ሞዴል ጋር supported_dimensions ከዚያም የቪክቶር ይቀላቀሉ እና ይቀላቀሉ. ሁሉም ነገር ይቀላቀሉ. |
| ሞዴል | መጠን | ተጽዕኖ |
|---|---|---|
@cf/baai/bge-m3 | 1024 ብዙ ቋንቋዎች | 8192 ፎቶዎች |
@cf/qwen/qwen3-embedding-0.6b | 1024 ብዙ ቋንቋዎች | 8192 ፎቶዎች |
@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 መለያዎች |
የ ሞዴሎች ዝርዝር በእያንዳንዱ መተግበሪያዎች የተሻለ ነው እና እነርሱ ምን ዋጋ ነው; የ Google 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 | የቴክኒካዊ ጥንካሬ መጠን በጣም ዝቅተኛ ነው. የቴክኒካዊ ጥንካሬ መጠን ምንም ጊዜ ይጠቀማል. |
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);