База знања Развијачи
Слике, аудио и уграђења
Генератори из апликације и грађевински блокови за претрагу: слике, видео, говор, транскрипцију и уграђивање, сваки рачунат по употреби из вашег биланса.
Ова страница је машински преведена ради практичности. Енглески оригинал је верзија која се примењује.
генерисање слика
Направља једну до четири слике из поруке и враћа их када су завршени. ?image U aplikaciji .
POST https://nymbot.ai/api/v1/images/generations — потребан је API кључ, или Lightning plaćanje po zahtevu.
Идс долазе из GET /api/v1/models?type=imageСтандардни генератор
@cf/black-forest-labs/flux-1-schnell, кошта равно 5 стандардних кредита (50 стопа) по слици. Сваки други генератор троши Про кредите по својој цени, уз уобичајену накнаду и маргину, као у Апп. n Слике коштају
n Поље које генератор не узима пада уместо одбијено; стандардни генератор користи само позив.
| Поље | Тип | Потребна | Опис |
|---|---|---|---|
model | String | Да | Генератор ИД, као што је nano-banana. |
prompt | String | Да | Шта да нацртате. само првих 2.000 карактера се користи. |
n | интегритет | Не | 1 до 4. Подразумевано 1. Такође прихваћено као num_images. |
size | String | Не | Однос аспекта као што је "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 | String | Не | Исто као sizeИ побеђује ако су оба послата. |
quality | String | Не | Генератор-специфични, као што су "low", "medium" или "high". |
negative_prompt | String | Не | Šta ostaviti napolje. |
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 ili GIF; ne SVG). editЗахтеви за оне са requires_image_url. |
resolution се не користи: сваки генератор прави своју величину. url, свака слика се учитава на јавни Блосом хост и добијате њен линк (неки генератори само враћају везу своју, која се преноси). Šta vatra može da vidiСа
b64_json слика се враћа у одговору и никада се не учитава. data: URL у image_url Проверава се на исти начин као и
Edit Прво се учитава у Блоссом тако да га генератор може преузети; поново се брише ако се захтев не наплати.
Ako neki od n слике не успеју, добијате оне који су радили, наплаћују се само за оне (плус било који провајдер рачунао упркос неуспеху), и nymbot.failed kaže koliko ih nedostaje. Ako svi ne uspeju, zahtev se vraća 502.
Odgovor
{
"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 Još uvek radi. |
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 кључ, или Lightning plaćanje po zahtevuТело је multipart/form-dataдо 32 МБ.
| Поље | Тип | Потребна | Опис |
|---|---|---|---|
image | датотеке | Да | Слика за уређивање: ПНГ, ЈПЕГ, ВебП или ГИФ, до 20 МБ. Такође прихваћен као image[]Први се користи. |
prompt | String | Да | Šta da promenim. |
model | String | Да | Генератор са edit. |
n | интегритет | Не | 1 до 4. |
sizeaspect_ratioqualitynegative_promptoutput_format | String | Не | Што се тиче генерације. |
response_format | String | Не | "b64_json" (подразумева се овде) или "url". |
Слика коју учитате се проверава да ли је добро формирана ПНГ, ЈПЕГ, ВебП или ГИФ, послата као његов прави тип, и стављена на јавни Блосом хост, јер генератори преузимају свој унос путем линка. Третирајте га као јавни. Ако уређивање не успе и ништа се не наплаћује, хостована копија се поново брише. Одговор има исти облик као и за генерацију. Цена је цена генератора, која за неке генераторе укључује накнаду за унос слике.
Odgovor
{
"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 image=@photo.png \
-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 кључ, или Lightning plaćanje po zahtevuПовратак 202.
| Поље | Тип | Потребна | Опис |
|---|---|---|---|
model | String | Да | ИД видео генератора од GET /api/v1/models?type=video, као што veo. |
prompt | String | Да | Šta bi trebalo da se desi. |
duration | Број или стринг | Не | Дужина у секунди, више од 0 и до 60. Користи се само од генератора који вам омогућавају да изаберете дужину; други чине своју уобичајену дужину, што је оно што seconds У одговору и цена следи. |
aspect_ratio | String | Не | као што "16:9" или "9:16"величина као што је "1280x720" постаје најближи однос. |
resolutionquality | String | Не | Један од генератора resolutions У списку модела, као што је "720p" или "1080p"Поставља цену.Све друго је одбијено unsupported_resolution. |
image_url | String | Не | Слика да почне са: а https:// линк или а data:image/… URL, који се прво учитава на јавни Blossom хост. 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 Video je već u data Генератор га је одмах вратио.
Проверите на видео
GET https://nymbot.ai/api/v1/videos/{id} — треба кључ који припада ниму који га је поднео. кључ који је достигао своју границу и даље може да провери.
Odgovoriće 202 Док је видео снимљен и 200 када је завршен или није успео. Питајте сваких 5 до 10 секунди. Свака провера пита провајдера једном и одмах одговара; никада не чека видео.
GET /api/v1/videos lista poslednjih 50 radnih mesta ključa kao
{"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 или failedNeuspešan posao nosi error ({"code": "generation_failed", "message": …}Ако је враћен, cost 0 и nymbot Додај
refunded_credits и refunded_satsЗавршени видео је на јавном Блосом хосту, као што су генерисане слике.
| статус | Када |
|---|---|
400 | Нема брзине; трајање ван 0 до 60 (invalid_value); резолуција која генератор не нуди (unsupported_resolution); нема слике за генератор који треба један (image_required); модел који није видео генератор (invalid_model). |
402 | Pro balans ne može da pokrije video. |
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);
Tekst za govor
Чита текст гласно и враћа саму аудио датотеку, а не линк. audio.speech.create u OpenAI SDKs funkcioniše.
POST https://nymbot.ai/api/v1/audio/speech — потребан је API кључ, или Lightning plaćanje po zahtevu.
| Поље | Тип | Потребна | Опис |
|---|---|---|---|
model | String | Не | Модел говора из Листа аудио моделаПодразумевано: Стандардни глас @cf/myshell-ai/melotts. aura-2 Деепграм Аура 2 |
input | String | Да | Текст за читање: до 800 знакова за стандардни глас, 2.000 за Аура 2. |
voice | String | Не | Гласовни ИД од Листа гласова: Аура говорник као што је luna (или aura-2-luna-en), или мелоаттс језик (en, es, fr, zhOpenAI гласова имена као што су alloy су прихваћени и дају подразумевани глас модела. |
language | String | Не | Језички код као што је esБез гласа, он бира један за тај језик. Глас који говори другим језиком враћа 422 voice_language_mismatch, и језик за који модел нема глас 422 unsupported_language. |
response_format | String | Не | Стандардни глас се враћа mp3 Аура 2 се враћа mp3 (Одлука о дефолту opus, aac, flac, wav или pcm. |
speed | Број | Не | Прихваћен и игнорисан. |
Стандардни глас кошта једноставан 3 стандардних кредита (30 sats) по захтеву, као у апликацији. Аура 2 је Про, цењен по знацима које шаљете. Тело одговора је аудио, са одговарајућим
Content-TypeЦена је у X-Nymbot-Cost-Sats Ако модел говора не успе, ништа се не наплаћује.
Odgovor
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 Nije potreban ključ.
GET https://nymbot.ai/api/v1/audio/voices?language=en Nije potreban ključ.
| Поље | Тип | Потребна | Опис |
|---|---|---|---|
language | String (потражња) | Не | Само гласови за овај језик. |
model | String (потражња) | Не | Само гласови за овај модел. |
Odgovori ( glasovi )
{
"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 radi se.
POST https://nymbot.ai/api/v1/audio/transcriptions — потребан је API кључ, или Lightning plaćanje po zahtevuТело је multipart/form-data.
| Поље | Тип | Потребна | Опис |
|---|---|---|---|
file | датотеке | Да | Снимање, од 256 бајтова до 25 МБ и до 30 минута: ВАВ, ВебМ, МП4 или М4А, Огг или Опус, МП3 и остали формати Виспер чита. |
model | String | Не | Недостаци whisper, који је Whisper Large v3 Turbo. whisper-1, whisper-large-v3-turbo и @cf/openai/whisper-large-v3-turbo znači isto. |
language | String | Не | Говорни језик, као што је enОткривено ако је напуштено. |
prompt | String | Не | Речи или правописа које можете очекивати, као што су имена. користи се само првих 1000 знакова. |
response_format | String | Не | json (Одлука о дефолту text, srt, vtt или verbose_json. |
For WAV, WebM, MP4 and Ogg files the length is read from the file before anything runs, so a
recording over 30 minutes is refused up front (with 3 seconds' grace). A WAV file's length comes
from its sample rate, channels and sample size. The length of other formats, such as MP3, cannot
be read up front, so they are limited by size: at the lowest bitrate Nymbot assumes, 8 kbps,
30 minutes is 1.8 MB, and a larger file in such a format is refused with 413
audio_too_long Пошаљите дуже снимке као што су ВАВ, ВебМ, МП4 или Огг. Ако Виспер онда извештава више од 30 минута у сваком случају, захтев се одбија са
413 audio_too_long, а пошто је Шпијун био покренут, 30 минута се наплаћује.
Плаћате за дужину звука, заобљене до секунде: што је дуже дужина прочитана из датотеке, дужина извештаја Виспер-а, и што мање величина датотеке дозвољава, по цени по минути Виспер-а са уобичајеном накнадом и маргином, и најмање 0.05 кредита на захтев. 402 даје оно што би свака равнотежа требала.У апликацији, транскрипција гласовне поруке може бити бесплатна; на АПИ-у се увек наплаћује.
Odgovor
{
"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 додаје језик, трајање и временске сегменте. За три која нису ЈСОН, трошкови су у насловима.
| статус | Када |
|---|---|
400 | Ниједна датотека, датотека без употребљивог аудио (invalid_audio), непознат формат, или модел који није транскриптни модел (invalid_model). |
402 | Ни равнотежа не може да га покрије. |
413 | Датотека је већа од 25 МБ (file_too_large) или снимак преко 30 минута, или, у формату чија дужина се не може прочитати испред, преко 1,8 МБ (audio_too_long). |
502 | Шпијун није могао да обради аудио. ништа се не наплаћује. |
cURL
curl https://nymbot.ai/api/v1/audio/transcriptions \
-H "Authorization: Bearer $NYMBOT_API_KEY" \
-F file=@memo.m4a \
-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 plaćanje po zahtevuТело је multipart/form-data.
Исто као и транскрипција, са истим пољима осим language, ограничења и цена, али текст се враћа на енглеском језику без обзира на језик који се говорио. audio.translations.create.
cURL
curl https://nymbot.ai/api/v1/audio/translations \
-H "Authorization: Bearer $NYMBOT_API_KEY" \
-F file=@nota.m4a \
-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
Претвара текст у векторе за претрагу, кластерисање и дедупликацију. Модели се покрећу на Цлоудфларе-у и троше стандардни баланс.
POST https://nymbot.ai/api/v1/embeddings — потребан је API кључ, или Lightning plaćanje po zahtevu.
| Поље | Тип | Потребна | Опис |
|---|---|---|---|
model | String | Да | Уграђени модел од GET /api/v1/models?type=embedding. |
input | String или Array of Strings (Стринг или низ строгова) | Да | Препоручује се узимање у обзир не више од 100 таблета (token_input_unsupported) Сваки унос мора одговарати моделу context_length, рачуна као око четири бајта по токену. |
encoding_format | String | Не | float (понекад је дефект) или base64 (мали 32-битни флоатс у малом дијелу) |
dimensions | интегритет | Не | величине самог модела, или за модел са supported_dimensions jedan od njih; vektor se zatim skraćuje i normalizuje.Sve ostalo je odbijeno. |
| Модел | Димензије | контекст |
|---|---|---|
@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 комада |
Листа модела је извор истине за које су доступне и шта коштају; Гоогле-ов ЕмбедингГемма, са краћим векторима на захтев, појављује се тамо и када каталог има цену за то.
Odgovor
{
"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);