База ведаў распрацоўшчыкі
Здымкі, аўдыё і ўбудовы
Генератары з прыкладу, і будынкі для пошуку: малюнкі, відэа, голас, транскрыпт і ўбудовы, кожны ўлічваецца на выкарыстанне з вашага балансу.
Для зручнасці гэтая старонка перакладзена машынай. Прымяняецца англійская арыгінал.
генерацыя малюнкаў
Усяго на пошту форуму паступіла больш за 350 заявак, і кожны ахвочы змог стаць удзельнікам форуму. ?image І ў App.
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) на малюнак. Кожны іншы генератар траціць Pro крэдыты па сваёй каштоўнасці, з звычайнай платай і маржы, як у Апп. n Фота коштуе
n У адсутнасць мужа Ева вярнулася да заняткаў музыкай і педагогікай.
| Поле | Тып | патрабавана | Опис |
|---|---|---|---|
model | Стрынг | так | Ідэнтыфікацыйны генератар, як nano-banana. |
prompt | Стрынг | так | Што рабіць? толькі першыя 2000 знакаў выкарыстоўваюцца. |
n | Інтэрнэт | Не | 1 да 4.Прывітанне 1.Таксама прымаецца як num_images. |
size | Стрынг | Не | У такіх аспектах як "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 | Стрынг | Не | Таксама як sizeІ выйграе, калі выйграюць оба. |
quality | Стрынг | Не | Спецыфічны генератар, як "low", "medium" або "high". |
negative_prompt | Стрынг | Не | Што можна пакінуць. |
output_format | Стрынг | Не | "png", "jpeg" або "webp". |
response_format | Стрынг | Не | "url" (Пасля перамогі) або "b64_json". |
image_url | Стрынг | Не | Пачынаецца з: А https:// Колькасць лікаў складае не больш за 4096 знакаў, у якіх няма імя карыстальніка або пароля. data:image/…;base64 URL (PNG, JPEG, WebP або GIF; не SVG). editЗапрашаем усіх, хто цікавіцца requires_image_url. |
resolution не выкарыстоўваецца: кожны генератар робіць свой уласны памер. url, кожная карціна загружаецца на публічны Blossom хост і вы атрымаеце яе спасылка (некалькі генератара толькі аддаюць спасылка сваёй, якая перадаецца). Што можа бачыць агоньЗ
b64_json Нават назвы некаторых мы не чулі, а калі і бачылі такія аўто, то толькі ў кіно. data: URL ў image_url Працаваць трэба так само, як і
Эды Папярэдні Тэкст Папярэдні Тэкст Папярэдні Тэкст Папярэдні Тэкст Папярэдні Тэкст Папярэдні Тэкст Папярэдні Тэкст Папярэдні Тэкст
Калі некаторыя з іх 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);
Рэдактаванне фота
Памятаеце, у казках Баба-Яга збірае вакол сябе жывых істот, каб даведацца пра незвычайнае жыццё. images.edit Працуе, як ён. толькі для генератараў з edit У залежнасці ад назвы прымаецца.
POST https://nymbot.ai/api/v1/images/edits — патрэбны ключ API, або Lightning плаціць за заяўкуІ тое, што цела multipart/form-dataУсяго 32 Мб.
| Поле | Тып | патрабавана | Опис |
|---|---|---|---|
image | Файлы | так | Фота для рэдагавання: PNG, JPEG, WebP або GIF, да 20 Мб. Таксама прымаецца як image[]Першая з іх выкарыстоўваецца. |
prompt | Стрынг | так | Што трэба змяніць. |
model | Стрынг | так | Генератар з edit. |
n | Інтэрнэт | Не | 1 з 4 |
sizeaspect_ratioqualitynegative_promptoutput_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 Мб (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 | Стрынг | так | Відэагенератар ID GET /api/v1/models?type=videoТакія як veo. |
prompt | Стрынг | так | Што трэба быць. |
duration | Колькасць або строк | Не | Даўжыня ў секундах, больш за 0 і да 60. Выкарыстоўваецца толькі генератарамі, якія дазваляюць вам выбраць даўжыню; іншыя робяць сваю звычайную даўжыню, гэта тое, што seconds Наступным крокам з'яўляецца выбар адпаведнага абсталявання для |
aspect_ratio | Стрынг | Не | Такія як "16:9" або "9:16"У такіх размерах, як "1280x720" Гэта найбліжэйшая частка. |
resolutionquality | Стрынг | Не | Адзін з генератараў resolutions У гэтай кнізе, як "720p" або "1080p"Ён задае ціну.Усё іншае адмовіцца з unsupported_resolution. |
image_url | Стрынг | Не | Пачынаецца з: А https:// Лінк або А data:image/… URL, які перш за ўсё загружаецца на публічны хост Blossom. requires_image_url. |
Кошт фіксаваны, калі вы падпісваеце, з генератара, вырашэння і даўжыню, так што ён налічваецца з вашага Pro балансу, як толькі пастаўшчык прымае працу, і паказаны як
cost, estimated_cost і nymbotКалі пастаўшчык адмаўляе работу, нічога не абмяжоўваецца. Калі рэнданс пазней не спрацуе, або канчатковы кліп не можа быць захоўваны і пастаўшчык не аплаціў за гэта, плацяць забор адразу, аўтаматычна. Рэнданс, які яшчэ ідзе пасля гадзіны, адмовіцца, і захавае сваю плату, таму што пастаўшчык аплачвае рэнданс, калі ён прымае яго.
Вынікі пошуку (202)
{
"id": "vid_3e9a51c07b2f4d86e0a1c4f2",
"object": "video",
"model": "veo",
"status": "in_progress",
"created": 1790726400,
"seconds": 8,
"resolution": "1080p",
"estimated_cost": 3.18,
"expires_at": 1790812800,
"cost": 3.18,
"nymbot": { "balance": "pro", "charged_credits": 31.8, "charged_sats": 3180, "balance_credits": 378.808, "balance_sats": 37880.8 }
}
status Пачынаецца як in_progressабо completed Наступным крокам з'яўляецца выбар адпаведнага абсталявання для data І адразу прыйшоў генератар.
Паглядзець на відэа
GET https://nymbot.ai/api/v1/videos/{id} — патрэбны ключ, які належаў нім, які падаў яго.
Ён адказвае 202 Зараз на сцены наносіцца абаронная плёнка, якая захавае іх 200 калі гэта завершана або няправільна. Запрашаць кожныя 5 да 10 секунд. Кожны чек запрашае пастаўшчыка раз і адказвае адразу; ён ніколі не чакае на відэа.
GET /api/v1/videos З тых часоў мінула 50 гадоў, як
{"object": "list", "data": […]}.
Практыкаванне (200)
{
"id": "vid_3e9a51c07b2f4d86e0a1c4f2",
"object": "video",
"model": "veo",
"status": "completed",
"created": 1790726400,
"seconds": 8,
"resolution": "1080p",
"estimated_cost": 3.18,
"expires_at": 1790812800,
"completed_at": 1790726590,
"data": { "url": "https://blossom.example/9b41d0c2e7a3f658...1e.mp4", "content_type": "video/mp4" },
"cost": 3.18,
"nymbot": { "balance": "pro", "charged_credits": 31.8, "charged_sats": 3180 }
}
status І in_progress, completed або failedНесправядлівая работа прыцягвае error ({"code": "generation_failed", "message": …}А калі б не было грошай, cost 0 і nymbot Додавайце
refunded_credits і refunded_satsЗавяршаны відэа знаходзіцца на публічным Blossom хост, як зробленыя фота.
| Статус | Калі |
|---|---|
400 | З тых часоў мінула 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 SDK працуе.
POST https://nymbot.ai/api/v1/audio/speech — патрэбны ключ API, або Lightning плаціць за заяўку.
| Поле | Тып | патрабавана | Опис |
|---|---|---|---|
model | Стрынг | Не | Мода на выказванне з Спіс аўтамабіляўСтандартны голас — стандартны голас @cf/myshell-ai/melotts. aura-2 Вынікі пошуку - Deepgram Aura 2 |
input | Стрынг | так | Тэкст, які трэба прачытаць: да 800 знакаў для стандартнага голасу, 2000 для Aura 2. |
voice | Стрынг | Не | Голас ID з Список голосовАгульны аўтар, такі як luna (або aura-2-luna-en), або мова MeloTTS (en, es, fr, zhOpenAI вокавыя імёны, такія як alloy Здадуць вас на працу на цагляны завод ці кукурузу лушчыць адправяць. |
language | Стрынг | Не | Языкавыя коды, як esБез голасу, ён выбірае адзін для гэтай мовы. Голас, які размаўляе на іншай мове, вяртаецца 422 voice_language_mismatchІ мова, на якой мадэль не мае голасу 422 unsupported_language. |
response_format | Стрынг | Не | Стандартны голос вяртаецца mp3 Арыгінал: Aura 2 Return mp3 (У тым жа выпадку, opus, aac, flac, wav або pcm. |
speed | нумар | Не | Зразумела і ігноруе. |
Стандартны голас каштуе плоскі 3 стандартныя крэдыты (30 sats) за запыт, як у прыкладзе. Aura 2 з'яўляецца Pro, працэнтаваны па знаках, якія вы адпраўляеце.
Content-TypeКошт — гэта ў X-Nymbot-Cost-Sats — Калі вы пакуль што нічога не скажаце, то нічога не скажаце.
адказ
HTTP/1.1 200 OK
Content-Type: audio/mpeg
X-Nymbot-Cost-Sats: 4.2
X-Nymbot-Balance-Sats: 41055.6
(audio bytes)
| Статус | Калі |
|---|---|
400 | Наступным крокам з'яўляецца выбар адпаведнага абсталявання дляinput_too_long); формат, які мадэль не можа вырабляць (unsupported_response_format); невядомы голос (invalid_voice); мадэль, якая не з'яўляецца мовай мовы (invalid_model). |
422 | Голас не размаўляе на дадзенай мове, або мадэль не мае голасу для гэтага. |
502 | Праўда, праўда, не было ніякай адказнасці. — Нічога не сказалі. |
cURL
curl https://nymbot.ai/api/v1/audio/speech \
-H "Authorization: Bearer $NYMBOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "aura-2", "voice": "luna", "input": "Your invoice has been paid."}' \
--output speech.mp3
Python
import os
from openai import OpenAI
client = OpenAI(base_url="https://nymbot.ai/api/v1", api_key=os.environ["NYMBOT_API_KEY"])
audio = client.audio.speech.create(
model="aura-2",
voice="luna",
input="Your invoice has been paid.",
)
audio.write_to_file("speech.mp3")
JavaScript
import { writeFile } from "node:fs/promises";
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://nymbot.ai/api/v1", apiKey: process.env.NYMBOT_API_KEY });
const audio = await client.audio.speech.create({
model: "aura-2",
voice: "luna",
input: "Your invoice has been paid.",
});
await writeFile("speech.mp3", Buffer.from(await audio.arrayBuffer()));
Звуковыя мадэлі і галасы
Два публічныя спісы для выбору мадэлі мовы і голасу, або мадэлі транскрипцыі.
GET https://nymbot.ai/api/v1/audio/models Ключа не патрэбны.
GET https://nymbot.ai/api/v1/audio/voices?language=en Ключа не патрэбны.
| Поле | Тып | патрабавана | Опис |
|---|---|---|---|
language | Сцягнуць (Query | Не | Толькі для гэтай мовы. |
model | Сцягнуць (Query | Не | Толькі для гэтай мадэлі. |
Глядзіце відэа (Voice)
{
"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 }
]
}
Вынікі пошуку - list of answers {"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 Працуе ў
POST https://nymbot.ai/api/v1/audio/transcriptions — патрэбны ключ API, або Lightning плаціць за заяўкуІ тое, што цела multipart/form-data.
| Поле | Тып | патрабавана | Опис |
|---|---|---|---|
file | Файлы | так | Запіс, ад 256 байт да 25 МБ і да 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 | Стрынг | Не | Словы або графікі, якія можна чакаць, такія як імёны. |
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 Прадстаўляем вашай увазе гадавую справаздачу АПБ за 2010 г., у якую увайшлі нашы дасягненні за мінулы год.
413 audio_too_longІ з таго часу, як Whisper не прайшоў, 30 хвілін зарэгістраваны.
Вы плаціце за даўжыню аўдыё, закругленыя да секунды: найбольшая даўжыню прачытаны з файла, даўжыню Whisper паведамленняў, і найменшы памер файла дазваляе, па Whisper за хвіліну цана з звычайнай платай і маржы, і не менш за 0.05 крэдыт на запыт. 402 Паводле інфармацыі, прадстаўленай камандай навуковых работнікаў, барацьба з інфекцыйнымі хваробамі штогод становіцца прычынай смерці тысяч людзей з усяго свету.
адказ
{
"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 | Дата правядзення Клас Назва алімпіяды Раздзелы (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 плаціць за заяўкуІ тое, што цела multipart/form-data.
Гэтая знаходка атрымала назву «Хлопчык з Турканы»[4]. 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);
Вяртанне
Пераклад паўстаў у межах праекту «Homines Urbani» Таварыства «Villa Decius», Кракаў.
POST https://nymbot.ai/api/v1/embeddings — патрэбны ключ API, або Lightning плаціць за заяўку.
| Поле | Тып | патрабавана | Опис |
|---|---|---|---|
model | Стрынг | так | Наступная Артыкул Модель з GET /api/v1/models?type=embedding. |
input | Стрынг або Array of Strings | так | Напрыклад, у выпадку адсутнасці падатковага абмежавання, падатковага абмежавання не абмежавана (token_input_unsupportedКожны ўклад мае адпавядаць мадэлі context_lengthЗ тых часоў мінула 4 гады. |
encoding_format | Стрынг | Не | float (Пасля перамогі) або base64 (Пасля перасылкі з 32 лютага) |
dimensions | Інтэрнэт | Не | для нацыянальнай лігі, адкарэктавана на supported_dimensions Усё, што вы чулі пра карысць пара раней - усяго толькі чуткі і павер'і. |
| Мадэль | Дыментарыі | Контекст |
|---|---|---|
@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, з меншымі вектарамі на пажаданні, з'яўляецца там таксама, калі каталог мае цэну для яго.
адказ
{
"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);