Прескокнете до содржината
Враќање на Nymbot

База на знаење Развивачи

Слики, аудио и вградувања

Генераторите од апликацијата и градежните блокови за пребарување: слики, видео, говор, транскрипција и вградувања, секоја фактурирана по употреба од вашиот баланс.

Генерација на слики

Направува една до четири слики од повик и ги враќа кога ќе бидат завршени. ?image Во апликацијата

POST https://nymbot.ai/api/v1/images/generations потребен е API клуч, или Lightning плаќање по барање.

ИД доаѓаат од GET /api/v1/models?type=imageСтандардниот генератор @cf/black-forest-labs/flux-1-schnell, чини рамна 5 стандардни кредити (50 sats) една слика. Секој друг генератор троши Про кредити по своја цена, со вообичаената такса и маржа, како во Апликацијата. n Цената на сликите n Поле кое генераторот не го зема е фрлено наместо одбиено; стандардниот генератор го користи само повикот.

ПолетоТипПотребниОпис на
modelСтрингДаИдентификатор за генератор, како nano-banana.
promptСтрингДаШто да се нацрта. Само првите 2000 карактери се користат.
nинтегритетне1 до 4. Подрачливо 1. исто така се прифаќа како num_images.
sizeСтрингнеА аспект сооднос како "16:9", или OpenAI големина како што "1792x1024", која станува најблиска до 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 21:9, 5:4 и 4:5. "auto" Оставете го на генераторот.
aspect_ratioСтрингнеИстото како sizeИ победува ако и двајцата се испратени.
qualityСтрингнеГенератор-специфични, како што се "low", "medium" или "high".
negative_promptСтрингнеШто да се остави надвор.
output_formatСтрингне"png", "jpeg" или "webp".
response_formatСтрингне"url" (недостапни услови) или "b64_json".
image_urlСтрингнеФотографија за да започнете од: A 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); модел кој постои, но не е генератор на слики (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, па OpenAI SDKs' images.edit работи како што е. Само Pro генератори со edit во списокот на модели го прифаќаат.

POST https://nymbot.ai/api/v1/images/edits потребен е API клуч, или Lightning плаќање по барањеТелото е multipart/form-dataДо 32 МБ

ПолетоТипПотребниОпис на
imageфајлотДаСликата за уредување: PNG, JPEG, WebP или GIF, до 20 MB. image[]Првиот се користи.
promptСтрингДаШто да се промени.
modelСтрингДаГенератор со edit.
nинтегритетне1 на 4.
size
aspect_ratio
quality
negative_prompt
output_format
СтрингнеШто се однесува до генерацијата.
response_formatСтрингне"b64_json" (дефолтот е тука) или "url".

Сликата што ја испраќате е проверена за да биде добро формирана PNG, JPEG, WebP или GIF, испратена како вистински тип и поставена на јавен Blossom хост, бидејќи генераторите го земаат својот влез по линк. Третирајте го како јавен. Ако уредувањето не успее и ништо не се наплаќа, хостираната копија повторно се брише. Одговорот има иста форма како и за генерација. Цената е цената на генераторот, која за некои генератори вклучува надомест за влезната слика.

Одговор

{
  "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"));

Видеото

Видеото трае неколку минути, па работи во позадина. Го поднесувате, добивате идентификатор веднаш и прашувате за идентификаторот додека не се заврши.

POST https://nymbot.ai/api/v1/videos потребен е API клуч, или Lightning плаќање по барањеВраќање 202.

ПолетоТипПотребниОпис на
modelСтрингДаИдентификатор за видео генератор од GET /api/v1/models?type=videoКако што veo.
promptСтрингДаШто треба да се случи.
durationБрој или stringнеДолжина во секунди, повеќе од 0 и до 60. Користени само од генератори кои ви овозможуваат да изберете должина; другите ги прават своите вообичаени должина, што е она што seconds во одговорот и цената следи.
aspect_ratioСтрингнеКако "16:9" или "9:16"големина како што е "1280x720" станува најблискиот сооднос.
resolution
quality
СтрингнеЕден од генераторите resolutions во списокот на модели, како "720p" или "1080p"Тоа ја поставува цената.Сè друго е одбиено со unsupported_resolution.
image_urlСтрингнеФотографија за да започнете од: A 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 Видеото е веќе во data кога генераторот веднаш го врати.

Проверете на видео

GET https://nymbot.ai/api/v1/videos/{id} Потребен е клуч кој му припаѓа на ним кој го поднел.

Одговори 202 Додека видеото е направено и 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Неуспешна работа носи error ({"code": "generation_failed", "message": …}Ако е вратен, cost е 0 и nymbot Додатоци refunded_credits и refunded_satsЗавршеното видео е на јавен Blossom домаќин, како генерирани слики.

СтатусКога
400Нема брза; времетраењето надвор од 0 до 60 (invalid_value); резолуција која генераторот не нуди (unsupported_resolution); нема слика за генератор кој треба една (image_required); модел кој не е видео генератор (invalid_model).
402Про балансот не може да го покрие видеото.
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);

Текст на говорот

Чита текст гласно и ја враќа самата аудио датотека, а не линк. audio.speech.create во OpenAI SDKs работи.

POST https://nymbot.ai/api/v1/audio/speech потребен е API клуч, или Lightning плаќање по барање.

ПолетоТипПотребниОпис на
modelСтрингнеМоделот на говорот од Листа на аудио моделиПодрачливост: Стандардниот глас @cf/myshell-ai/melotts. aura-2 Тоа е Deepgram Aura 2.
inputСтрингДаТекстот што треба да се прочита: до 800 знаци за стандардниот глас, 2.000 за Aura 2.
voiceСтрингнеИдентификатор за глас од Листа на гласови: аура говорник како luna (или на aura-2-luna-enНа пример, ако јазикот е мелатонин (en, es, fr, zhOpenAI гласовни имиња како alloy се прифатени и даваат стандарден глас на моделот.
languageСтрингнеКодот на јазикот како esБез глас, тој избира еден за тој јазик. 422 voice_language_mismatch, и јазик за кој моделот нема глас 422 unsupported_language.
response_formatСтрингнеСтандардниот глас се враќа mp3 Aura 2 се враќа mp3 на дефектот, opus, aac, flac, wav или pcm.
speedБројнеПрифатени и игнорирани.

Стандардниот глас чини рамно 3 стандардни кредити (30 sats) по барање, како во апликацијата. Aura 2 е Про, ценети според ликовите што ги испраќате. 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);

Говор во текст

Претвара запис во текст со Whisper. Ова е крајната точка за транскрипција на OpenAI, па audio.transcriptions.create Работи на.

POST https://nymbot.ai/api/v1/audio/transcriptions потребен е API клуч, или Lightning плаќање по барањеТелото е multipart/form-data.

ПолетоТипПотребниОпис на
fileфајлотДаЗапишувањето, од 256 бајтови до 25 MB и до 30 минути: WAV, WebM, MP4 или M4A, Ogg или Opus, MP3 и другите формати Whisper чита.
modelСтрингнедефект whisper, која е Whisper Large v3 Turbo. whisper-1, whisper-large-v3-turbo и @cf/openai/whisper-large-v3-turbo Значи истото.
languageСтрингнеГоворниот јазик, како што е enОткриено ако е напуштено.
promptСтрингнеЗборови или правопис да се очекува, како што се имиња. само првите 1.000 знаци се користат.
response_formatСтрингнеjson на дефектот, text, srt, vtt или verbose_json.

За WAV, WebM, MP4 и Ogg датотеки должината се чита од датотеката пред да се изврши нешто, така што снимањето повеќе од 30 минути е одбиено напред (со 3 секунди). должината на WAV датотеката доаѓа од неговата стапка на примерок, канали и големина на примерок. Должината на другите формати, како што е MP3, не може да се прочита напред, па тие се ограничени со големина: на најниската брзина на бит Nymbot претпоставува, 8 kbps, 30 минути е 1.8 MB, а поголема датотека во таков формат е одбиена со 413 audio_too_long Испратете подолги записи како WAV, WebM, MP4 или Ogg. Ако тогаш Whisper известува повеќе од 30 минути, барањето се одбива со 413 audio_too_long, и бидејќи шепотите се изврши, 30 минути се наплаќаат.

Вие плаќате за должината на аудио, заоблени до вториот: најдолгата должина прочитана од датотеката, должината Whisper извештаи, и најмалку големината на датотеката дозволува, по цена на минута Whisper со вообичаената такса и маржа, и најмалку 0.05 кредит барање. 402 Во апликацијата, транскрипцијата на гласовата порака може да биде бесплатна; на API секогаш се наплаќа.

Одговор

{
  "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, цената е во насловите.

СтатусКога
400Нема датотека, датотека без корисен аудио (invalid_audio, непознат формат, или модел кој не е транскриптен модел (invalid_model).
402Ни рамнотежата не може да го покрие тоа.
413Приказната е со големина од 25 MB (file_too_large(во форма која не може да се прочита во должина од предната страна, повеќе од 1,8 MB)audio_too_long).
502Whisper не може да го обработи аудиото. Ништо не е наплатено.

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.

Исто како транскрипција, со истите полиња освен 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);

Вградување

Претвара текст во вектори за пребарување, кластерирање и дедупликација. Моделите работат на Cloudflare и го трошат стандардниот баланс.

POST https://nymbot.ai/api/v1/embeddings потребен е API клуч, или Lightning плаќање по барање.

ПолетоТипПотребниОпис на
modelСтрингДаВграден модел од GET /api/v1/models?type=embedding.
inputСтруктура или низа на струциДаПостојат повеќе начини да се избегне појава на рак на белите дробови. (token_input_unsupportedСекој влез мора да одговара на моделот context_length, се брои како околу четири бајтови на токен.
encoding_formatСтрингнеfloat (недостапни услови) или base64 (малиот 32-битен дигитален дигитален дигитален дигитален дигитален дигитален дигитален дигитален дигитален дигитален дигитален дигитален дигитален дигитален дигитален дигитален дигитален дигитален дигитален дигитален дигитален дигитален дигитален дигитален дигитален дигитален дигитален дигитален дигитален дигитален дигитален дигитален дигитален дигитален дигитален дигитален дигитален дигитален дигитален дигитален дигитален дигитален дигитален дигитален дигитален дигитален дигитален диги
dimensionsинтегритетнесопствена големина на моделот, или за модел со supported_dimensions еден од нив; векторот потоа се скратува и нормализира.
МоделДимензииконтекст
@cf/baai/bge-m31024 многу јазици8,192 токени
@cf/qwen/qwen3-embedding-0.6b1024 многу јазици8,192 токени
@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's 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);