መሰረት ፍልጠት ደቨሎፐራዊት (ኣልጋእ ስራሕ)
ምስሊታት፣ ድምጽታትን ኤምቤዲንግታትን
ካብቲ ኣፕሊኬሽን ዝመጹ እቶታት (generators)፣ ከምኡ እውን መሰረታዊ ኣካላት ንመደብ ምርምር (search)፦ ምስሊ፣ ቪድዮ፣ ንግግር፣ ትራንስክሪፕሽንን ኤምቤዲንግስን (embeddings)፣ እቶኦም ኩሎም ብመሰረት ቅጥዒታካ ካብቲ ተረፈ ገንዘብካ ይፍጸሙ።
እዚ ገጽ ንመመላእታ ብማሽን ዝተተርጎመ እዩ። እቲ ናይ እንግሊዝኛ ኦሪጅናል እቲ ዝምልከቶ ስሪት እዩ።
ምስልታት ምፍጣር
ካብ መእተዊ (prompt) ናብ ሓደ ክሳብ ኣርባ ምስሊ ይፍርእ፣ ምስ ተወድኡ ድማ ይመልስ። እዚ ተመሳሳሊ ስብስብ መፍጠሪታት እዩ፦ ?image ኣብቲ መተግበሪ።
POST https://nymbot.ai/api/v1/images/generations — API key የፈለገ፣ ወይ ቊ ኣብ መንገዲ Lightning ዝፍጸም ክፍሊት ብሓደ ናይ መሻሻሊ ሕቶ (request).
መታወቂያታት ካብ ኣበይ ይመጽኡ? GET /api/v1/models?type=image. መደበኛ ጀነሬተር፣
@cf/black-forest-labs/flux-1-schnell, ንሓንቲ ምስሊ 5 ስታንዳርድ ክሬዲትታት (50 sats) ብቋሚ ይኸል፡፡ ኩሎም ካልኦት ጀነሬተራት፣ ብመሰረት ልሙድ ክፍሊት (fee) ከመያእካነትን margin ንምንባርን፣ ብብክፋሎ ጸወታኦም ፕሮ ክሬዲትታት ይጥቀሙ፣ ከም... እቲ ኣፕሊኬሽን. n ታብሪዎቹ ዋጋ ክሳብ እዩ?
n ብዙ እትዮ። ሓደ ጀነሬተር ዘይቕበሎ ሓደ ዓቐን (field) ብምልዓል እኳ ዘይኮነስ ብምድር (dropped) እዩ፤ እቲ መደበኛ ጀነሬተር ድማ ነቲ መምርሒ (prompt) ጥራይ ይጥቀመሉ እዩ።
| መስክ | ጽሕፋት | ዝተሓለወ | መግለጺ |
|---|---|---|---|
model | መመዝገቢ ክልል | እወ | ከኣብነት ከም ናይ ጀነሬተር መለይነት (id) nano-banana. |
prompt | መመዝገቢ ክልል | እወ | ምንድይ ክሳል? እቶም ቀዳማይ 2,000 ፊደላት ጥራይ እዮም ዝጥቀሙ። |
n | መሓዋሪ ቁጽሪ | ኣይፋልን | ካብ 1 ክሳብ 4። ናይ መጀመርታ 1። ከምዚ እውን ይቕበል ኣሎ። num_images. |
size | መመዝገቢ ክልል | ኣይፋልን | ከኣብነት ከም ስርጭት መጠን (aspect ratio) ዝኣለዉ "16:9"፣ ወይ ድ Size OpenAI ከኣ ዝበሉ፡ "1792x1024"፣ እዚ ድማ ምስ 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 21:9, 5:4 ከበርተ ዝተባህለ እቶት ዝኾነ። "auto" ኣብቲ መሳርሒ (generator) ይሓደጎ። |
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 URL (PNG, JPEG, WebP ወይ ጽል ሰለ GIF; SVG ኣይኮነን)። ንዘለዎም ኣመንጪታትን ጥራይ edit; ብዘለዎም ሰባት ዝሓተተ requires_image_url. |
resolution ኣይጥቀመሉን እዩ፦ ነፍሲ ወከፍ መgenrator ናቱ መጠን ይፈጥር። ምስ url,
ነፍሲ ወከፍ ምስል ናብ ሕዝባዊ Blossom host ይስዕብ፡ ነዚ ድማ ሊንኩ ይሃብካ እዩ (ጥንታውያን መፍጠሪታት ጥቂት ጥራይ እዮም ርእስቶም ዝሃቡ ሊንክ ዝሓዙ፡ እዚ ድማ ይቕጽል)። ምስቲ ሊንክ ዝተኣሳሰር ዝኾነ ሰብ ክከፍቶ ይኽእል እዩ፡ ድማ ዳግመይ ክቕነስ ኣይከኣልን እዩ፤ ርአ እቲ API እንታይ ክርእዮ/ክርእያ ከይሉ ክትፈልጥ ትደሊ?ብ . ምስ
b64_json ታብሪቱ ኣብ መልሲኡ ተመለሰ፣ ፈጺሙ ድማ ኣይተላዓወን። ምስ ሓደ ተላእቲ ምስሊ 🖼️ data: URL ኣብ image_url ከኣንድ ንኣለ እዩ ዝጽረብ?
ኣስተኻኽሊ ከቅድሚ ናብ Blossom ተላእሂሉ ነቲ መሳርሒ (generator) ክረክቦ ንክኽእል፤ እቲ ሕቶ (request) እንተዘይተሳለጠ ድማ እንደገና ክቕነስ እዩ።
ከነዚኦምዶ ገለ ካብቲ 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 | መሰረታዊ መምርhi নাই፤ n ካብ 1 ክሳብ 4 ወጻኢ (invalid_value); ሓደ መጥፎ መጠን (invalid_size) ወይ ድumm (invalid_image, invalid_image_url); ዘሎ ግን ምስሊ ዘይፈጥር ሞዴል (invalid_model); ዘይመሓርሽ ንዘሎ መፍርዪ ምስሊ (edit_unsupported); ዘ chaussታ ዝፋተወሉ ዘይብሎ (image_required). |
402 | እቲ ተረፈ ገንዘብ ዝተሓተቱ ኩለን ምስልታት ክሸፍን ኣይኽእልን እዩ። |
404 | ብዛብhi ስም እዚ ዘሎ ሞዴል የለን (model_not_found). |
502 | እቲ ጀነሬተር ሰሪኡ ኣይተወሓጠን (upstream_error). እቲ ኣቕራቢ ንቲ 試ደሊኡ (attempt) ካብ ኣይተክፈል እንጂ፣ እንተተክሲሉ ድማ እቲ ጌጋ ኣለዉ። 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 ከኣመሓላፊነት (as it is) ይሰርሕ። ፕሮ ጀነሬተራት ጥራይ ምስ... edit ኣብቲ
ዝርዝር ሞዴል ተቐበሎ።
POST https://nymbot.ai/api/v1/images/edits — API key የፈለገ፣ ወይ ቊ ኣብ መንገዲ Lightning ዝፍጸም ክፍሊት ብሓደ ናይ መሻሻሊ ሕቶ (request)ኣካል እዩ። multipart/form-data፣ ክሳብ 32 MB።
| መስክ | ጽሕፋት | ዝተሓለወ | መግለጺ |
|---|---|---|---|
image | ፋይል | እወ | እቶም ክቕየሩ ዝግበሩ ምስልታት፦ PNG, JPEG, WebP ወይ GIF፣ ክሳብ 20 MB። ከምኡ እውን ተቐቢሉ ኣሎ፦ image[]; እቲ ቀዳማይ ይጥቀመሉ። |
prompt | መመዝገቢ ክልል | እወ | እንታይ ክቕየር? |
model | መመዝገቢ ክልል | እወ | መሳርሒ መፍጣሪ ምስቲ edit. |
n | መሓዋሪ ቁጽሪ | ኣይፋልን | ካብ 1 ክሳብ 4። |
sizeaspect_ratioqualitynegative_promptoutput_format | መመዝገቢ ክልል | ኣይፋልን | ብዛዕባ ምፍላጥ። |
response_format | መመዝገቢ ክልል | ኣይፋልን | "b64_json" (እዚ ኣብዚ ዘሎ መለኮታዊ) ወይ "url". |
ዝትሰድፈልካ ምስሊ፣ ብትክክለኛ ዓይነት PNG, JPEG, WebP ወይ GIF ከመኸሉ ዝተረጋግጸ፣ ከምኡ እውን ኣብ ዓብራዊ Blossom host ዘሎ ክኸውን ኣለዎ፣ ምኽንያቱ እቶም ተፍጠራታት (generators) ኣገባብኦም ብሊንክ ስለ ዝረኽቡ። ከም ዓብራዊ ነገር ኣተሓትቶ። እቲ ኣመሓሳስሪ (edit) እንተተሓናቐን ዝኾነ ክፍሊት እንተዘይተገብረን፣ እቲ ኣብ 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 MB ንላዕሊ እዩ (file_too_large), ወይ ከ 32 MB ን ዝላዓለወ ምሉእ ሕቶ። |
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"));
ቪድዮ
ቪድዮ ብዛመታት ደቂቃታት ይወስድ፣ ስለEt ከኡ ድማ ኣብ ድሕሪት ዓለም ይሰርሕ። ክትሰድዖ ከለኻ፣ ብቕጽበት መለየኽታ (id) ትረክብ፣ እቲ መለየኽታ ድማ ክፍጸም ክሳብ ዝምለዓ እዩ ክትሓትት ትኽእል ኢኻ። ኩሉ ናይ ቪድዮ መፍጠሪ Pro balance የውስኽ።
POST https://nymbot.ai/api/v1/videos — API key የፈለገ፣ ወይ ቊ ኣብ መንገዲ Lightning ዝፍጸም ክፍሊት ብሓደ ናይ መሻሻሊ ሕቶ (request). ይመልስ 202.
| መስክ | ጽሕፋት | ዝተሓለወ | መግለጺ |
|---|---|---|---|
model | መመዝገቢ ክልል | እወ | ቪድዮ መፍጠሪ ኣኢዲ ካብ GET /api/v1/models?type=video፣ ከኣብነት . . . ዝኣለዉ veo. |
prompt | መመዝገቢ ክልል | እወ | እንታይ ክትከውን ይግባ? |
duration | ቁጽሪ ወይ ጽሑፍ | ኣይፋልን | ብሰከንድ ዝተመሊአ ቁጽሪ፡ ካብ 0 ንላዕሊ ክሳብ 60። እዚ ዝተጠነባበቐ እዩ ንመድረኽቲ (generators) እቶም ቁጽሪ ንመጠን ክትመርጽ ዝፍቀዱ ጥራይ፤ እቶቶም ካልኦት ድማ ንመደበኛ መጠንቶም ይጥቀሙ፣ እቲ ድማ እንታይ እዩ? seconds ኣብቲ መልሲ ከምኡውን ዋጋኡ ከምኡ ይFollow ይግበር። |
aspect_ratio | መመዝገቢ ክልል | ኣይፋልን | ከኣብኡ፡ ንኣብነት፡ "16:9" ወይ "9:16"; ከከመሰሉ መጠንታት ዝበለ ጽላል "1280x720" ዝቅርተቱ ናይ ምጥማጥ መጠን ይኸውን። |
resolutionquality | መመዝገቢ ክልል | ኣይፋልን | ሓደ ካብቲ ጀነሬተርታትን resolutions ኣብ ዝርዝር ሞዴል፣ ከም፡ "720p" ወይ "1080p"ኣቕሪቡ እዩ ዋጋ ዝውስን። ካብኡ ወጻኢ ዝኾነ ነገር ብ... ክቐረብ ኣይኽእልን እዩ። unsupported_resolution. |
image_url | መመዝገቢ ክልል | ኣይፋልን | ትምምሕቲ ንምጅማር፦ ሓደ https:// ሊንክ ወይ ሓደ data:image/… ቅድም ናብ ሕዝባዊ Blossom host ዝተላዕከ URL። ብጅሁቲታትን ምስ ከሎም ዝሓትቱ። requires_image_url. |
ዋጋኡ ምስ ብትሰድድ ካብቲ ጀነሬተር፣ ጥራትን ርዝመትን ተመርኪዙ ዝወሰነ እዩ፣ ስለዚእ እቲ ሰራሕተኛ እቲ ስራሕ ምስ ተቐበሎ ካብ Pro መጠንካ ክትከፈል እዩ፣ ከምዚ ተገልሲኡ
cost, estimated_cost እና nymbotእቲ መቕረብ (provider) እቲ ስራሕ እንተኣልየ፣ ምንም ዓይነት ክፍሊት ኣይፍጸምን እዩ። ድሕሪኡ እቲ ሬንደር (render) እንተተሰናክፈአ፣ ወይ ድማ እቲ ዝተፍጸመ ክሊፕ ክቕመጥ እንተዘይብሉ፡ ከምኡ እውን እቲ መቕረብ ብዛዕባኡ እንተዘይሓሰበ፡ እቲ ክፍሊት ሓደ ግዜ ብዘይ ኣቓልቦ (automatically) ይቕርብ። ድሕሪ ሰዓት ገና ዝተሓደሰ ሬንደር ክስረር እንተኾይኑ፡ እቲ ክፍሊት ይቕጽል እዩ፣ ምኽንያቱ እቲ መቕረብ እቲ ሬንደር ምስ ተቐበሎ ክሓሰብ ስለ ዝኽእል እዩ። ምቕራብ (refund) ክሬዲትታት ይመልስ እኳ እንተኾነ፡ ቁጽጽር ወጻኢ (spend count) እቲ ቁልፊ (key) ድማ ኣይቕንስን እዩ።
ምላሽ (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፣ ወይ</h3> completed ብቪዲዮኡ
ደጊሙ ኣብ ውሽጢ ዘሎ data እቲ ጀነሬተር ብቕልጣፋ ምስ ዘመለሶ።
ቪድዮ ክትክታብ ኣሎ
GET https://nymbot.ai/api/v1/videos/{id} — ነቲ ዝሰደፈለዎ ኣስማዒት (nym) ዝተኸታተለት ቁልፊ የድሊ። ናይ መወዳእታ ወሰንኡ ዝተኳየሰ ቁልፊ ገና ክመረምር ይኽእል እዩ።
መልሲ ይህ እዩ 202 ቪድEO እያተመተ ከኣንደ 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. A
ዝተኸፍአ ስራሕ ይት l error ({"code": "generation_failed", "message": …});
መተሓሻ (refund) እንተተገብረዮ፣ cost 0ን ወይስ nymbot ተወሳኺታት
refunded_credits እና refunded_satsእተ finished ቪድዮ ኣብ ጥቕሚ ዝቐርብ
Blossom host ይርከብ፣ ከምቲ ዝተፈጥሩ ምስሊ።
| መገላጭታ | መዓስ |
|---|---|
400 | መጠይቕ የለን፤ ከዋን ካብ 0 ክሳብ 60 ንላዕሊ ወይ ንትሕቲ ዘሎ (invalid_value); እቲ ጀነሬተር ዘይቕርቦ ውጽኢት (unsupported_resolution); ዘሚያልእ ምስሊ ዘደገመሉ ጀነሬተር ኣይኮነን (image_required); ናይ ቪድዮ መፍጠሪ ዘይኮነ ሞዴል (invalid_model). |
402 | እቲ ፕሮ ባላንስ እቲ ቪድዮ ክኽደሎ ኣይኽእልን እዩ። |
404 | ከከኣታ እያለ ኣይተረኽበን (model_not_found), ወይ ድኹመ ስራሕ ብታንዛይ እዚ ኣረዳእነት ንስምካ ዘይተረኽበ፣ ወይ ድማ ካብ 24 ሰዓታት ንላዕሊ ዝሓለፈ (video_not_found). |
429 | ናይቲ ኣንተ ስም (nym) ድሮ 10 ቪድዮታት ክትወጽኡ (rendering) ይጸብቕ ኣለዉ (video_jobs_limit). ክትትል ግበሎም፣ እቲ ሓደ ምስ ወዳደቐ ድማ ዝያዳ ኣቕርቡ። |
502 | እቲ መሳርሒ ስራሕቲ ኣቢዩ ኣይAcceptቶን። ሰብዓዊ ኣገልግሎት ዘቕረብቲ ብዘይ ዝዓዘዞ፣ ዝኾነ ክፍሊት ኣይኽፈልን እዩ። |
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);
ካብ ጽሑፍ ናብ ድምጺ ዝቕይር
ጽሑፍ ብታሪኽ ኣንበብቲ ናብቲ ናይ ድምጺ ፋይል እቲ፣ ዘይኮነስ linkLabel። እዚ ናይ OpenAI speech endpoint እዩ፣ ስለዚ audio.speech.create ኣብ OpenAI SDKs ይሠርሕ።
POST https://nymbot.ai/api/v1/audio/speech — API key የፈለገ፣ ወይ ቊ ኣብ መንገዲ Lightning ዝፍጸም ክፍሊት ብሓደ ናይ መሻሻሊ ሕቶ (request).
| መስክ | ጽሕፋት | ዝተሓለወ | መግለጺ |
|---|---|---|---|
model | መመዝገቢ ክልል | ኣይፋልን | ካብ እዛ ዝመጸ ምስርሕ ናይ ስPitch ሞዴል ዝርዝር ሞዴል ድምጺ. መደበኛ፡ቲ መደበኛ ድምጺ፣ @cf/myshell-ai/melotts. aura-2 Deepgram Aura 2 . እዩ? |
input | መመዝገቢ ክልል | እወ | እቶም ክቕራቡ ዘለዉ ጽሑፋት፦ ንመደበኛ ድምጺ ክሳብ 800 ኣናፍስቲ፣ ንAura 2 ድማ ክሳብ 2,000 ኣናፍስቲ እዮም። |
voice | መመዝገቢ ክልል | ኣይፋልን | ካብ... ዝመጸ ድምጺ መለያ ዝርዝር ድምጺታት: ከኣብነት Aura ስፒከር luna (ወ] aura-2-luna-en), ወይ ድ ኩዕራ MeloTTS ቋንቋ (en, es, fr, zh). ስምታውፊታት ድምጺ OpenAI ከምቲኦብ፦ alloy ተቀብዮም ናይቲ ሞዴል መደብ ድምጺ ይህቡ። |
language | መመዝገቢ ክልል | ኣይፋልን | ከኣብነት፦ ኮድ ቋንቋ ከከመ Hold እዩ esከድምጺCV ውጭ፣ ንታንዛ ወይ ንታንዛ ትመረጽ። ካብኡ ንላዕሊ ኻብ ዝተፈላለየ ቋንቋ ዝዛረብ ድምጺ ይመለስ። 422 voice_language_mismatch, ከኡ ሞዴል ድምጺ ዘይብሉሉ ቋንቋን እውን እዩ 422 unsupported_language. |
response_format | መመዝገቢ ክልል | ኣይፋልን | እቲ መደበኛ ድምጺ ተመለሰ mp3 ብንጹህ። Aura 2 ይመልስ mp3 (እቲ መኖር ዝግጁ ዝኾነ) opus, aac, flac, wav ወይ pcm. |
speed | ቁጽሪ | ኣይፋልን | ተቀቢሉን ተለዓጊ። |
እቲ መደበኛ ድምጺ፡ ከምቲ ኣብ ኣፕliኬሽን ዘሎ፡ ንሓደ ሕቶ 3 መደበኛ ክሬዲት (30 sats) ይኸፍል። Aura 2
Pro እዩ፡ ዋጋኡ ድማ ብዘዘብካዮትንloምባላትን ኣብነት እዩ። እቲ መልሲ ድማ እቲ ድምጺ እዩ፣ ምስኡ ዝተኣሳሰር...
Content-Type; ወጻኢኡ ኣብ... እዩ X-Nymbot-Cost-Sats ርእስ። እቲ ናይ ድምጺ ሞዴል እንተተሓCC፣ ምንም ዝከፍል ኣይእላክን እዩ።
መልሲ
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 (Aura 2) እንግሊዝኛ ተናጋሪታት ከምኡውን ኣርባዕተ መሎቲቲኤስ (MeloTTS) ቋንቋታት ኣለዉ።
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 ይሰር Ah.
POST https://nymbot.ai/api/v1/audio/transcriptions — API key የፈለገ፣ ወይ ቊ ኣብ መንገዲ Lightning ዝፍጸም ክፍሊት ብሓደ ናይ መሻሻሊ ሕቶ (request)ኣካል እዩ። multipart/form-data.
| መስክ | ጽሕፋት | ዝተሓለወ | መግለጺ |
|---|---|---|---|
file | ፋይል | እወ | እቲ ቅጅብ፣ ካብ 256 ባይት ክሳብ 25 MB ከመቶ 30 ደቒቕ ክሳብ፡ WAV, WebM, MP4 ወይ M4A, Ogg ወይ Opus, MP3 ከምኡ እውን Whisper ዝቆርኣሎም ካልኦት ቅርጸታት። MP3 ከምኡ እውን ቅጥሚኦም ቅድሚ ምጅማር ክርአ ዘይክእል ካልኦት ቅርጸታት ናብ 1.8 MB ይሓደቡ። |
model | መመዝገቢ ክልል | ኣይፋልን | መደበኛ whisper፣ እቲ Whisper Large v3 Turbo ዝተባህለ እዩ። whisper-1, whisper-large-v3-turbo እና @cf/openai/whisper-large-v3-turbo ተመሳሳል እዩ። |
language | መመዝገቢ ክልል | ኣይፋልን | እቲ ዝተዛረበ ቋንቋ፣ ከም፡ enከባህሪ ወጻት እንተPi ክርኣ ይግበኣ። |
prompt | መመዝገቢ ክልል | ኣይፋልን | ከመሰል ስም ዝማ ዝኣብነት ክትጽበዩዎም ዝግበኣnum ቃላት ወይ ኣዘጻጻም . እቶም ቀዳማይ 1,000 ፊደላት ጥራይ እዮም ዝጥቀሙ። |
response_format | መመዝገቢ ክልል | ኣይፋልን | json (እቲ መኖር ዝግጁ ዝኾነ) text, srt, vtt ወይ verbose_json. |
ንፋይ WAV፣ WebM፣ MP4 ከምኡውን Ogg ፋይላት፡ ቅድሚ ዝኾነ ነገር ዕድሜኦም ካብቲ ፋይል ይቐራ bod, ስለዚ፡ ካብ 30 ደቓይቕ ንላዕሊ ዝኸውን መዝገብ ብቕድሚኡ ይልክዕ (ብ3 ሰከንድ ዕድል ተዋሂቡ)። ናይ WAV ፋይል ዕድሜ ካብቲ ናይ ሳምፕል ሬት (sample rate)፣ ቻናልታትን ናይ ሳምፕል መጠንን ይረክብ። ካብ MP3 ዝኣመሰሉ ካልኦት ቅርጸ-መልክዓት ዕድሜኦም ብቕድሚኡ ክቕራእ ስለዘይኽእል፡ ብመጠን ይወሰን: ብዝሓሸት ዝባህሪ (bitrate) ዝተሰላሰለ Nymbot ብኣነስተኛ ኣቀላጠፊ 8 kbps ይቕረብ ከሎ፡ 30 ደቓይቕ 1.8 MB እዩ፣ ከምኡውን ካብዚ ዝዓበየ ፋይል ኣብ ከምዚ ዝኣመሰለ ቅርጸ-መልክዕ ብዚሒብቶ ይልክዕ 413
audio_too_long ከዝነተ ሓደ ቅድሚ ምጅማሩ። ዝረጅም መዝገባት ከም WAV, WebM, MP4 ወይ Ogg ስደዱ።
ከምኡ ድማ Whisper ካብ 30 ደቓይቕ ንላዕሊ ከም ዘሎ እንተገለጸ፣ እቲ ሕቶ ብእዚ ይከለክል፦
413 audio_too_long, ከምኡውን Whisper ስለተሓዊሱ፣ ን30 ደቂቃ ተኸፍሊ ኣሎ።
ንኣድነት ድምጺ ብመሰረት እቲ ናብ ሰከንድ ዝዓበለ ቆጸራ ትኸፍል፦ ካብቲ ፋይል ዝተዓበየ ቆጸራ፣ እቲ Whisper ዝገልጾ ቆጸራ፣ ከምኡውን እቲ መጠን ፋይል ዝፍቅዶ ዝባዕድ ቆጸራ ካብዞም ሰለስተ እቶም ዝዓበዩ፣ ብሰረታ እቲ መደበኛ ክፍሊትን ትርፍን ብመሰረት እቲ ሓደ ተክታ Whisper ዘውትዎ ዋጋ፣ ከምኡውን ንሓደ ሕቶ 0.05 ክሬዲት ዝባዕድ። እቲ ክፍሊት ካብቲ መደበኛ ሚዛን ክኸፍል ከሎ ክኸፍል ይኽእል እዩ፣ እንተዘይኮን ግን ካብ Pro ክኸፍል እዩ፤ 402 እ Each balance እንታይ ከም ዝደልዮ ይገልጽ። ኣብቲ ኣፕ (app) ድምጺ ናብ ጽሑፍ ምቕያር (transcribing) ብነጻ ክኸውን ይኽእል እዩ፤ ኣብቲ API ግን ኩሉ ግዜ ክፍሊት ይኽፈል እዩ። Whisper እንተተሳዒሩ፣ ምንም ዓይነት ክፍሊት ኣይፍጸምን እዩ።
መልሲ
{
"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 ዘይኮኑት ንነቶም ሰለስተ፣ ወጻኢኦም ኣብቲ header ይርከብ።
| መገላጭታ | መዓስ |
|---|---|
400 | ፋይል የለን፣ ዝቅታ ዘይብ ዘይብ ዝተሓትተ ድምጺ ዘይብሉ ፋይል (invalid_audio), ዘይተፈልጠ ኣቀያዲ፣ ወይ ድማ ናይ ትራንስክሪፕሽን ሞዴል ዘይኮነ ሞዴል (invalid_model). |
402 | ክልቲኦም ተに残 ክትሸፍኖ ኣይክእሉን እዮም። |
413 | እቲ ፋይል ካብ 25 MB ንላዕሊ እዩ (file_too_large) ወይ ድምፂኡ ንላዕሊ ካብ 30 ደቓቕき ወይ፣ ቅጥሚ (format) ምስቲ ድሕሪት መደብ ንእርካብ ዘይክእል እንተኾይኑ፣ ንላዕሊ ካብ 1.8 MB (audio_too_long). |
502 | Whisper እቲ ድምጺ ክትመሓላለፋ ኣይከኣለትን። ምንም ክፍሊት ኣይተሓሰበን። |
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 የፈለገ፣ ወይ ቊ ኣብ መንገዲ Lightning ዝፍጸም ክፍሊት ብሓደ ናይ መሻሻሊ ሕቶ (request)ኣካል እዩ። multipart/form-data.
ከትራንስክሪፕሽን (transcription) ምስቲ ሓደ፣ ካብቲ ተወሳኺ እትዝልዎ ጥራይ ተመሳሳሊ Fields ኣለዎ። 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);
ኤምቤዲንግስ (Embeddings)
ጽሑፍ ንመደብ (vectors) የቕይር ንምድላይ፣ ንምእትታተምትን (clustering) ከምኡ እውን ንምጥራዝን (deduplication)። እታ ሞዴል ኣብ Cloudflare ትሰርሕ እያ ከምኡ እውን ነቲ መደበኛ ሚዛን ትጥቀም ኣለዋ።
POST https://nymbot.ai/api/v1/embeddings — API key የፈለገ፣ ወይ ቊ ኣብ መንገዲ Lightning ዝፍጸም ክፍሊት ብሓደ ናይ መሻሻሊ ሕቶ (request).
| መስክ | ጽሕፋት | ዝተሓለወ | መግለጺ |
|---|---|---|---|
model | መመዝገቢ ክልል | እወ | ኤምቤዲንግ ሞዴል ካብ GET /api/v1/models?type=embedding. |
input | ስትሪንግ ወይ ድንጋይ (array) ምት të ስትሪንጎታት | እወ | ዘተኣከለ ጽሑፍ፣ ክሳብ 100 ዘይባዶ ስትሪንግታት። Token arrayታት ክልክኡ እዮም (token_input_unsupported). ነፍሲ ወከፍ መግቢ ምስ Modellኡ ክሰማማዕ ኣላዚት ይግባእ context_length, ብግምት ኣርባዕ ባይት ንሓደ ቶክን ተቆጺሩ። |
encoding_format | መመዝገቢ ክልል | ኣይፋልን | float (ናይ መበገሲ) ወይ base64 (ሊትል-endian 32-bit ፍሎትስ)። |
dimensions | መሓዋሪ ቁጽሪ | ኣይፋልን | መጠኑ ራሱ፣ ወይ ከ... ዘይተዓዘዘ ሞዴል ን... supported_dimensions ካቶም ሓደ; ድሕሪኡ እቲ भेክተር (vector) ዝተሓጸረን ተሰልሚኡን ይግበራ። ዝኾነ ካልእ ነገር ክቐበል ኣይክፈልን እዩ። |
| ሞዴል | መጠንታት | መዐቀፍ |
|---|---|---|
@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 ቶከንታት |
ዝርዝር ሞዴላት ኣብ ሓደ ዝተሰረተ እቶት መረዳእታ ኮይኖም፡ ኣየናይ ሞዴላት ከም ዘለዉን ክሳብ ክንደይ ከም ዝኸፍሉን ዘርእዩ እዩ፤ Google's EmbeddingGemma፣ ምስ ተሓትቶ ሓጺር ቬክታራት (vectors) ምስ ከሎ፣ እቲ መዝገብ ዋጋ ምስ ሂቡኡ ኣብኡ ይርአ ኣሎ። Embeddings ብመሰረት ቁጽሪ Token እቶት ይወራረዱ፣ እቲ 0.05-credit ዝባህል ኣቐዲምቲ ድማ ንነዊሕ ዓሚል (request) እዩ ዝApply ዝግበር፣ ንነዊሕ ዓሚል ዘይኮነስ ንነፍሲ ወከፍ Input፤ ስለዚ ብዙሓት ጽሑፋት ኣብ ሓደ ዓሚል ብምእታው ምልኣኽ፡ ብሓደ ብሓደ ምልኣኽ ካብ ምግባር ብዙሕ ርካሽ እዩ።
መልሲ
{
"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); እቲ ሞዴል ዝቕበሎ ካብ ዝበለSE ዝረጅም ኣእጋራ (input_too_long); እቲ ሞዴል ክህብ ዘይኽእል መጠን (unsupported_dimensions). |
402 | እቶም መደበኛ መጠንታት (standard balance) ኣዝዮም ውርዲ እዮም። ኤምቤዲings (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);