База знања Развијачи
Слике, аудио и уграђења
Генератори из апликације и грађевински блокови за претрагу: слике, видео, говор, транскрипцију и уграђивање, сваки рачунат по употреби из вашег биланса.
Ова страница је машински преведена ради практичности. Енглески оригинал је верзија која се примењује.
генерисање слика
Направља једну до четири слике из поруке и враћа их када су завршени. ?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 [email protected] \
-F prompt="Make it a snowy evening"
Python
import base64, os
from openai import OpenAI
client = OpenAI(base_url="https://nymbot.ai/api/v1", api_key=os.environ["NYMBOT_API_KEY"])
with open("photo.png", "rb") as f:
result = client.images.edit(model="nano-banana", image=f, prompt="Make it a snowy evening")
with open("edited.png", "wb") as out:
out.write(base64.b64decode(result.data[0].b64_json))
JavaScript
import fs from "node:fs";
import { writeFile } from "node:fs/promises";
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://nymbot.ai/api/v1", apiKey: process.env.NYMBOT_API_KEY });
const result = await client.images.edit({
model: "nano-banana",
image: fs.createReadStream("photo.png"),
prompt: "Make it a snowy evening",
});
await writeFile("edited.png", Buffer.from(result.data[0].b64_json, "base64"));
Видео
Видео траје неколико минута, тако да ради у позадини. Пошаљите га, одмах добијете идентификатор и питајте о идентификатору док се не заврши.
POST https://nymbot.ai/api/v1/videos — потребан је API кључ, или 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. |
За ВАВ, ВебМ, МП4 и Огг датотеке, дужина се чита из датотеке пре него што се нешто покрене, тако да је снимање више од 30 минута одбијено унапред (са 3 секунде). Дужина ВАВ датотеке долази од његове стопе узорка, канала и величине узорка. Дужина других формата, као што је МП3, не може се прочитати унапред, тако да су ограничени величином: на најнижем битном стопи Нимбот претпоставља, 8 кбпс, 30 минута је 1.8 МБ, а већа датотека у таквом формату је одбијена са 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 [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 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 [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
Претвара текст у векторе за претрагу, кластерисање и дедупликацију. Модели се покрећу на Цлоудфларе-у и троше стандардни баланс.
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);