Ба мундариҷа гузаред
Баргаштан ба Nymbot

Пойгоҳи дониш Таҳиягарон

Тасвирҳо, аудио ва эмбеддингҳо

Генераторҳо аз барнома ва блокҳои сохтӣ барои ҷустуҷӯ: аксҳо, видео, нутқ, транскриптсия ва эмбеддингҳо, ки ҳар кадоми онҳо барои ҳар як истифода аз маблағи шумо ҳисоб карда мешаванд.

Тасвирҳоро тавлид кардан

Аз рӯи дастур аз як то чор расм месозад ва пас аз омода шудан онҳоро бармегардонад. Ин маҷмӯи генералторҳои ҳамон аст, ки ?image дар замима.

POST https://nymbot.ai/api/v1/images/generations — ба калиди API ниёз дорад, ё пардохти Lightning барои ҳар як дархост.

ID-ҳо аз ... меоянд GET /api/v1/models?type=imageГенератори стандартӣ, @cf/black-forest-labs/flux-1-schnell, барои ҳар як акс 5 кредити стандартиро (50 sats) мегирад. Ҳар як генератори дигар кредитҳои Pro-ро бо нархи худаш, бо ҳаққи маъмулӣ ва маржа мегирад, тавре ки дар иллоият. n арзиши аксҳо n дар ҳамон миқдор зиёдтар. Майдоние, ки генератор намегирад, ба ҷои рад шудан, партофта мешавад; генератори стандарт танҳо аз prompt истифода мебарад.

МайдонНавъЛозим астТавсиф
modelсатрБалеID-и генератор, ба мисли nano-banana.
promptсатрБалеЧӣ кашам. Танҳо аввалин 2,000 аломат истифода мешаванд.
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сатрНеСурати аввал: як https:// линки на камтар аз 4,096 а荷сим, ки дар он номи корбар ё гузарошӣ набошад, ё а data:image/…;base64 URL (PNG, JPEG, WebP ё GIF; на SVG). Танҳо барои генераторҳо бо edit; аз ҷониби онҳое, ки талаб мекунанд requires_image_url.

resolution истифода намешавад: ҳар як генератор андозаи худро месозад. Бо url, ҳар як акс ба хости Blossom-и оммавӣ бор карда мешавад ва шумо истиноди онро мегиред (танҳо чанд генератор худи истинодро медиҳанд, ки он интиқол дода мешавад). Ҳар касе, ки истинодро дорад, метавонад онро кушояд ва он дигар наметавонад аз кор шиносад карда шавад; бубинед API чӣ метавонад бубинад. Бо b64_json акс дар ҷавоб бармегардад ва ҳеҷ гоҳ боргузорӣ намешавад. Аксе, ки ҳамчун ... фиристода шудааст data: URL дар image_url оё ба ҳамон таври санҷида мешавад, ки як таҳрир ва аввал ба Blossom боргузорӣ мешавад, то генератор тавонад онро гирад; агар дархост бепардохт ноком шавад, он дубора нест карда мешавад.

Агар баъзе аз n аксҳо хато мешаванд, шумо танҳо ҳамонҳоеро мегиред, ки кор карданд, танҳо барои онҳо ҳақ пардохт карда мешавад (плюс ҳамао None, ки провайдер сарфи назар аз хатогӣ ҳисоб кардааст), ва 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 мебошад, бинобар ин SDK-ҳои OpenAI 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 МБ зиёд аст (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"));

Видео

Видео дақиқаҳо мегирад, бинобар ин он дар замина иҷро мешавад. Шумо онро мефиристед, фавран ID мегиред ва дар бораи ID то вақте ки он омода мешавад, мепурсед. Ҳар як генератори видео баланси Pro-ро сарф мекунад.

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" ба наздиктарин нисбат табдил меёбад.
resolution
quality
сатрНеЯке аз генераторҳо resolutions дар рӯйхати моделҳо, ба монанди "720p" ё "1080p"Он нархро муайян мекунад. Ҳар чизе, ки дигар аст, рад карда мешавад бо unsupported_resolution.
image_urlсатрНеСурати аввал: як https:// пайваст ё а data:image/… URL, ки аввал ба хости ҷаҳонии Blossom бор карда мешавад. Аз ҷониби генераторҳо талаб карда мешавад, ки бо requires_image_url.

Нарх ҳангоми пешниҳод кардан аз генератор, дароҷаи сифат ва дарозӣ муайян мешавад, бинобар ин он ба доираи баланси Pro-и шумо ҳамон вақте, ки иҷрокунанда корро қабул мекунад, ҳисоб карда мешавад ва чунин нишон дода мешавад cost, estimated_cost ва nymbotАгар иҷрокунанда аз кор даст кашад, ҳ nothing напулонад. Агар баъдтар рендеринг нобаромад кунад ё клипи тайёр нигоҳ дошта нашуд ва иҷрокунанда барои он ҳисоб накунад, маблағ як бор ба таври худкор баргардонида мешавад. Рендеринге, ки пас аз як соат ҳанӯз идома дорад, қатъ карда мешавад ва маблағи он боқӣ мемонад, зеро иҷрокунанда рендерингро пас аз қабулаш ҳисоб мекунад. Истирдоди маблағ кредитҳоро бармегардонад, аммо шумораи сарфкунии калидро коҳиш намедиҳад.

Ҷавоб (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Баланси Pro наметавонад видеоро фаро гирад.
404Чунин генератор вуҷуд надорад (model_not_found), ё корҳо бо ин ID барои номи шумо мавҷуд нест, ё аз 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);

Матн ба сухан

Матнро баланд мехонад ва худи файли аудиоро баргардонад, на истинод (link)-ро. Ин нуқтаи андозаи (endpoint) суханронии OpenAI аст, бинобар ин audio.speech.create дар SDK-ҳои OpenAI кор мекунад.

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сатрНеID-и овоз аз Рӯйхати овозҳо: якSP-и Aura мисли luna (ё aura-2-luna-en), ё забони MeloTTS (en, es, fr, zh). Номҳои овози OpenAI чунин: 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 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()));

Моделҳои аудио ва садоҳо

Ду рӯйхати оммавӣ барои интихоби модели суханронӣ ва овоз, ё модели транскриптсия. Дар он ҷо 41 гӯяндаи англисии Aura 2 ва чор забони MeloTTS мавҷуд аст.

GET https://nymbot.ai/api/v1/audio/models — калид лозим нест.

GET https://nymbot.ai/api/v1/audio/voices?language=en — калид лозим нест.

МайдонНавъЛозим астТавсиф
languageсатр (дархост)НеТанҳо овозҳо барои ин забон.
modelсатр (дархост)НеТанҳо овозҳо барои ин модел.

Ҷавоб (овозҳо)

{
  "object": "list",
  "data": [
    { "id": "luna", "name": "Luna", "provider": "deepgram", "model_id": "aura-2", "models": ["aura-2"], "language": "en", "description": "Aura 2 English voice", "gender": "female", "preview_url": null },
    { "id": "en", "name": "MeloTTS English", "provider": "myshell", "model_id": "@cf/myshell-ai/melotts", "models": ["@cf/myshell-ai/melotts", "melotts"], "language": "en", "description": "English (MeloTTS)", "gender": null, "preview_url": null }
  ]
}

Рӯйхати моделҳо ҷавобҳоро медиҳанд {"object": "list", "data": {"tts": […], "stt": […]}}Ҳар як модели суханронӣ мувозинати худро, нархро медиҳад, max_input_chars, response_formats, languages ва default_voice; модели транскрипсия лақабҳои онро медиҳад, max_file_bytes, max_seconds, форматҳо ва нарх барои як дақиқа.

cURL

curl https://nymbot.ai/api/v1/audio/models
curl "https://nymbot.ai/api/v1/audio/voices?language=en"

Python

import requests

print(requests.get("https://nymbot.ai/api/v1/audio/models").json())
for voice in requests.get("https://nymbot.ai/api/v1/audio/voices", params={"language": "en"}).json()["data"]:
    print(voice["id"], voice["model_id"])

JavaScript

console.log(await (await fetch("https://nymbot.ai/api/v1/audio/models")).json());
const voices = await (await fetch("https://nymbot.ai/api/v1/audio/voices?language=en")).json();
for (const v of voices.data) console.log(v.id, v.model_id);

Суханронӣ ба матн

Бо ёрии Whisper сабтҳоро ба матн табдил медиҳад. Ин нуқтаи терминалӣ барои транскрипсияи OpenAI мебошад, бинобар ин 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 мехонад. MP3 ва дигар форматҳое, ки давомашро пешакӣ имконな ки намешавад, ба 1.8 МБ маҳдуд мешаванд.
modelсатрНеАсосӣ whisper, ки Whisper Large v3 Turbo мебошад. whisper-1, whisper-large-v3-turbo ва @cf/openai/whisper-large-v3-turbo маънои якхела доранд.
languageсатрНеЗабони гуфторӣ, ба монанди enАгар берун монда шавад, муайян карда мешавад.
promptсатрНеКалимаҳо ё имлоҳое, ки интизор мешавед, масалан, номҳо. Танҳо 1000 ҳарфҳои аввал истифода мешаванд.
response_formatсатрНеjson (стандартӣ), text, srt, vtt ё verbose_json.

Барои файлҳои WAV, WebM, MP4 ва Ogg давомнокӣ пеш аз оғози ҳар гуна амалиёт аз файл хонда мешавад, бинобар ин сабтҳои зиёд аз 30 дақиқа пешакӣ рад карда мешаванд (бо 3 сония имтиёз). Давомнокии файли WAV аз частотаи намуна (sample rate), каналҳо ва ҳаҷми намуна гирифта мешавад. Давомнокии форматҳои дигар, ба монанди MP3, пешакӣ хонда намешавад, бинобар ин онҳо аз рӯи ҳаҷм маҳдуд мешаванд: дар пасттарини битрейте, ки Nymbot эҳтимол медиҳад, 8 kbps, 30 дақиқа 1.8 MB аст ва файли калонтар дар чунин формат рад карда мешавад бо 413 audio_too_long пеш аз он ки чизе иҷро шавад. Сабтҳои дарозтарро ҳамчун WAV, WebM, MP4 ё Ogg фиристед. Агар Whisper бо вуҷуди ин беш аз 30 дақиқа гузориш диҳад, дархост бо ин рад карда мешавад: 413 audio_too_long, ва азбаски Whisper кор кард, 30 дақиқа ҳақ гирифта мешавад.

Шумо барои давомнокии аудио пардохт мекунед, ки то сония ба болоянд карда шудааст: дарозтарин аз байни давомнокие, ки аз файл хонда шудааст, давомнокие, ки Whisper ҳисобот медиҳад, ва ҳадди ақали он чизе, ки ҳаҷми файл иҷозат медиҳад, бо нархи Whisper барои як дақиқа бо ҳазри маъмулӣ ва маржа, ва на камтар аз 0.05 кредит барои як дархост. Он аз тавозуни стандартӣ пардохт карда мешавад, вақте ки он метавонад маблағи уставдорӣро пӯшонад, ва дар ғайри ин ҳолат аз Pro; а 402 нишон медиҳад, ки ҳар як баланс ба чӣ ниёз дорад. Дар замима, навиштани паёми овозӣ метавонад ройгон бошад; дар API он ҳамеша пулакӣ аст. Агар Whisper хато кунад, ҳеҷ чиз пул намешавад.

Ҷавоб

{
  "text": "Your invoice has been paid.",
  "usage": { "type": "duration", "seconds": 3 },
  "nymbot": { "balance": "standard", "charged_credits": 0.05, "charged_sats": 0.5, "balance_credits": 120.35, "balance_sats": 1203.5 }
}

text матни оддиро баргардонида мешавад, srt ва vtt сар सब्тҳоро баргардонед, ва verbose_json забон, давомнокӣ ва сегментҳои вақтшуморро илова мекунад. Барои се тарсҳое, ки JSON нестанд, нарх дар сарлавҳаҳост.

ҲолатКай
400Файл нест, файл бе аудиои корбарӣ (invalid_audio), формати номаълум, ё модел, ки модели транскрипсия нест (invalid_model).
402Ҳарду бақия тавоноии пӯшонидани онро надоранд.
413Файл беш аз 25 МБ аст (file_too_large) ё сабт аз 30 дақиқа зиёд, ё дар форматие, ки давомнокиашро пешакӣ навишта намешавад, зиёда аз 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, маҳдудиятҳо ва нарх, аммо матн ба забони англисӣ баргардонида мешавад, новобаста ба он ки кадом забон истифода шудааст. SDK-ҳои OpenAI онро бо 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)

Матнро барои ҷустуҷӯ, кластеркунонӣ ва такрорпазирӣ ба векторҳо табдил медиҳад. Моделҳо дар Cloudflare иҷро шуда, маблағи стандартӣро сарф мекунанд.

POST https://nymbot.ai/api/v1/embeddings — ба калиди API ниёз дорад, ё пардохти Lightning барои ҳар як дархост.

МайдонНавъЛозим астТавсиф
modelсатрБалеМодели навбатпазир аз GET /api/v1/models?type=embedding.
inputсатр ё маҷмӯи сатрҳоБалеТексти барои ҷойгир кардан, то 100 сатрҳои ғайри холӣ. Массивҳои токен рад карда мешаванд (token_input_unsupported). Ҳар як воридӣ бояд ба модели... context_length, ки тақрибан чор байт ба ҳар токен ҳисоб мешавад.
encoding_formatсатрНеfloat (дифолтӣ) ё base64 (ададҳои ҳавлои 32-битаи little-endian).
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, бо векторҳои кӯтоҳтар бо дархост, низ дар он ҷо пайдо мешавад, вақте ки дар каталог нарх барои он мавҷуд бошад. Эмбеддингҳо (Embeddings) барои ҳар як токени воридотӣ ҳисоб карда мешаванд ва минимуми 0.05-кредит барои ҳар як дархост, на барои ҳар як воридот, татбиқ мегардад, бинобар ин гумрон кардани бисёр матнҳо дар як дархост хеле арзонтар аз фиристодани онҳо як-як аст.

Ҷавоб

{
  "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Баланси стандартӣ хеле паст аст. Embeddingҳо ҳеҷ гоҳ баланси Pro-ро истифода намебаранд.
404Модели қа embeds бо ин ном мавҷуд нест.
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);