ወደ ይዘቱ ይዝለሉ
ወደ Nymbot ተመልከት

የእውቀት መሠረት ልማት

ፎቶዎች, ኦዲዮ እና 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.
size
aspect_ratio
quality
negative_prompt
output_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" ይበልጥ ትክክለኛ ነው.
resolution
quality
የ 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 አጠቃቀም ላይ ነው, እንደ የተፈጥሮ ፎቶዎች.

ሁኔታጊዜ
4000 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-m31024 ብዙ ቋንቋዎች8192 ፎቶዎች
@cf/qwen/qwen3-embedding-0.6b1024 ብዙ ቋንቋዎች8192 ፎቶዎች
@cf/baai/bge-large-en-v1.51024 በንግሊዝኛ512 መለያዎች
@cf/baai/bge-base-en-v1.5768, የንግሊዝኛ512 መለያዎች
@cf/baai/bge-small-en-v1.5384 በንግሊዝኛ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);