Pitani ku zomwe zili
Kubwerera ku Nymbot

Maziko a chidziwitso Opanga mapulogalamu

Zithunzi, mawu ndi embeddings

Zomangira zomwe zilipo m'pulogalamu, komanso zinthu zomangira kufufuza: zithunzi, vidiyo, mawu, kulemba mawu m'mabuku komanso embeddings, chilichonse chimawonongedwa malinga ndi kagwiritsidwe kake kuchokera m'mbalansi yanu.

Kupanga zithunzi

Imapanga zithunzi zisanu mpaka zinayi kuchokera pa malingaliro ndipo zimazibweza mutatha. Ndi mndandanda womwe uli ndi opanga ofanana ndi ?image m'pulogalamu ya app.

POST https://nymbot.ai/api/v1/images/generations — akufunika API key, kapena malipiro a Lightning pa pempho lililonse.

Ma ID amachokera ku GET /api/v1/models?type=image. Generator yozama, @cf/black-forest-labs/flux-1-schnell, imadula makrediti 5 a standard (50 sats) pa chithunzi chilichonse. Generator ina iliyonse imagwiritsa ntchito makrediti a Pro pa mtengo wake, pamodzi ndi chiwerengero ndi phindu la nthawi zonse, monga mwa pulogalamu. n Mtengo wa zithunzi n nthawi zambiri. Msika womwe generator sakupeza umangofutidwa m'malo mwa kukana; generator yozama imagwiritsa ntchito chidziwitso chokha.

TsikaLembaZofunikaMafotokozedwe
modeltsitsiIndeNambala ya generator, monga nano-banana.
prompttsitsiIndeChodzi kudziwerenga. Muthenga woyamba wa alavidu 2,000 okha ndimowomwe amagwiritsidwa ntchito.
nchiwerengero chachindunjiAyi1 mpaka 4. Choyamba 1. Komanso zimalandiridwa ngati num_images.
sizetsitsiAyiChimodzi mwa mbali zomwe zimasonyeza kotala ndi mbali monga "16:9", kapena kukula kwa OpenAI monga "1792x1024", chomwe chimakhala chomwe chili pafupi kwambiri ndi 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 21:9, 5:4 ndi 4:5. "auto" imasiya kwa generator.
aspect_ratiotsitsiAyiZofanana ndi size, ndipo amapambana ngati onse awiri atumizidwa.
qualitytsitsiAyiZogwiritsidwa ntchito pa generator monga, "low", "medium" kapena "high".
negative_prompttsitsiAyiZoyenera kupezeka osati kuphatikiza.
output_formattsitsiAyi"png", "jpeg" kapena "webp".
response_formattsitsiAyi"url" (zoyambira) kapena "b64_json".
image_urltsitsiAyiChithunzi choyambira: an https:// link yopanda zambiri za 4,096 characters yopanda dzina la munthu kapena password mwa iye, kapena a data:image/…;base64 URL (PNG, JPEG, WebP kapena GIF; osati SVG). Ndiku chabe kwa makhitchini omwe ali ndi edit; yofunika ndi iwo amene ali ndi requires_image_url.

resolution sikusagwiritsidwa ntchito: generator iliyonse imapanga kukula kwake. Ndi url, chithunzi chilichonse chimakwera pa Blossom host yozindikirika ndipo mumapatsidwa link yake (ma generators ochepa okha amapereka link yawo, yomwe imaperekedwa). Aliyense ali ndi link akhoza kuitsegula ndipo sikutha kutsekedwa pambuyo pake; onani API ingathe kuona chiyaniNdi b64_json chithunzi chimabwerera m'mayankho ndipo sichikwera nkomwe. Chithunzi chatumizidwa ngati a data: URL mu image_url kodi zimachezekedwa mmodzi m’modzi monga an konza ndipo ndikumakidwa ku Blossom koyamba kuti generator ikhoza kupeza; imafotokozedwa kachiwiri ngati pempholi lili lofooka osamaonedwa.

Ngati zina mwa n zithunzi zikuphuka, mumalandira zomwe zachita bwino, mumatengedwa ndalama za zozo (pamodzi ndi zina zomwe wopereka ndakatulitsa ngakhale zinasinthika), ndipo nymbot.failed amauzira mmene ali angati omwe alibe. Ngati zonse zitalepha, pempholi limabwerera 502.

Yankho

{
  "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 }
}
MkhalidweLiti
400Palibe malangizo; n kunja 1 mpaka 4 (invalid_value); kukula koipa (invalid_size) kapena chithunzi (invalid_image, invalid_image_url); kachidindo kamene kali koma si kapangidwe ka chithunzi (invalid_model); chithunzi cha generator yomwe sitingathe kusintha (edit_unsupported); palibe chithunzi cha yemwe akufunika (image_required).
402Masiye akalephera kuphatikiza zithunzi zonse zomwe zapemphedwa.
404Palibe mtundu womwe ali ndi dzina limenelo (model_not_found).
502Makina opangitsa magetsi afika pamasiko (upstream_error). Palibe ndalama zomwe zimachotsedwa kupatula ngati wopereka ntchito wapempha malipiro chifukwa cha mayeserowo; kenako cholakwikacho chili charged_sats.
503Zithunzi sizingatheke kusungidwa panopa (media_hosting_unavailable). b64_json ikuyendabe.

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

Kukonza zithunzi

Amasintha chithunzi chomwe mwapakwiza, kutsatira malangizo. Ichi ndi edit endpoint ya OpenAI, choncho SDK za OpenAI images.edit amagwira ntchito monga zilipo. Zolinga ndi ma generator a Pro okha ndi edit mu ndandanda wa model landirani izo.

POST https://nymbot.ai/api/v1/images/edits — akufunika API key, kapena malipiro a Lightning pa pempho lililonseThupi ndi multipart/form-data, mpaka 32 MB.

TsikaLembaZofunikaMafotokozedwe
imagefayiloIndeChithunzi choti sikidire: PNG, JPEG, WebP kapena GIF, mpaka 20 MB. Zidzinso kulandiridwa ngati image[]; yoyamba imagwiritsidwa ntchito.
prompttsitsiIndeChoyenera kusintha.
modeltsitsiIndeMakina opangitsa magetsi ali ndi edit.
nchiwerengero chachindunjiAyi1 mpaka 4.
size
aspect_ratio
quality
negative_prompt
output_format
tsitsiAyiPa nkhani ya kupanga.
response_formattsitsiAyi"b64_json" (ndicho chomwe chilipo poyamba pano) kapena "url".

Chithunzi chomwe mukuphulitsa chimakayidwa kuti chikhale PNG, JPEG, WebP kapena GIF yolembedwa bwino, yatumidwa ngati mtundu wake weniweni, ndipo iyidwa pa hositi ya Blossom yodziwika bwino, chifukwa makina opangira amatenga zinthu zawo kudzera pa link. Chikuchitini ngati chinthu cha anthu onse. Ngati kusintha sikugwira ntchito ndipo palibe chinthu chomwe chaperekedwa, chithunzi chomwe chinali pa hositi chimafufutidwanso. Mayankho ali ndi mtundu ofanana ndi amene amagwiritsidwa ntchito popanga zinthu. Mtengo ndi mtengo wa makina opangira, womwe kwa zina mwa makina amaperekapo mtengo wa chithunzi chomwe chagwiritsidwa ntchito.

Yankho

{
  "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 }
}
MkhalidweLiti
400Palibe chithunzi kapena chitsogozo, fayilo yomwe si chithunzi (invalid_image), kapena generator yomwe sitingathe kusintha (edit_unsupported).
413Chithunzi chili ndi kubwerekera koposa 20 MB (file_too_large), kapena pemphu lonse lapansi pa 32 MB.
503Chithunzi chosatheka kukhala pa intaneti panopa (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"));

Vidiyo

Vidiyo imatenga mphindi zingapo, choncho imayenda m'mbuyo. Mumapereka, mumalandira id nthawi yomweyo, ndipo mumafunsa za id imeneyo mpaka itamaliza. Generator ya vidiyo iliyonse imagwiritsa ntchito balance ya Pro.

POST https://nymbot.ai/api/v1/videos — akufunika API key, kapena malipiro a Lightning pa pempho lililonse. Kubwerera 202.

TsikaLembaZofunikaMafotokozedwe
modeltsitsiIndeMakina opanga vidiyo id kuchokera kwa GET /api/v1/models?type=video, monga veo.
prompttsitsiIndeChiyenera kuchitika?
durationchiwerengero kapena stringAyiNthawi m'ziwongolo, kupitirira 0 mpaka 60. Amagwiritsidwa ntchito ndi ma generator omwe amakulolani kusankha nthawi; ena amapanga nthawi yawo yozolowereka, yomwe ndi chiyani seconds mu yankho ndi mtengo uŵatsata.
aspect_ratiotsitsiAyiMonga kuti "16:9" kapena "9:16"; kukula kotsogola ngati "1280x720" amakhala chigawo chapafupi kwambiri.
resolution
quality
tsitsiAyiImodzi mwa za generator's resolutions mu mndandanda wa ma model, monga "720p" kapena "1080p". Imatsetsa mtengo. Chilichonse china chimakanidwa ndi unsupported_resolution.
image_urltsitsiAyiChithunzi choyambira: an https:// link kapena a data:image/… URL, yomwe imakwera pa Blossom host yopezeka kwa aliyense choyamba. Imafunika ndi makhina ogwiritsa ntchito ndithu requires_image_url.

Mtengo umakhazikitsidwa pamene mukutumiza, kuchokera ku generator, resolution ndi utali, choncho amachotsedwa pa balance yanu ya Pro nthawi yomwe mlandiri akalamulira ntchito, ndipo amasonyezeredwa ngati cost, estimated_cost ndi nymbotNgati opereka ntchito akana ntchitoyo, palibe ndalama zomwe zimachotsedwa. Ngati render ikalephera pambuyo pake, kapena vidiyo yomaliza yalephera kusungidwa ndipo opereka ntchito sanagulitse chifukwa chake, ndalama zimabwezeretsedwa kamodzi, modzautere. Render imene ikupitirira pambuyo pa yere imodzi imayimitsidwa, ndipo ndalama zake sizibabwezedwa, chifukwa opereka ntchito amagulitsa render nthawi yomweyo akalandira ntchitoyo. Kubwezeretsedwa kwa ndalama kumabweretsa ma credit koma sikuchotsa chiwerengero cha ndalama zomwe zagwiritsidwa ntchito pa keyyo.

Yankho (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 chimayamba ngati in_progress, kapena completed ndithu ndi vidiyo yomwe ili m'kati data pamene generator inabwerera nthawi yomweyo.

Kuyang'ana vidiyo

GET https://nymbot.ai/api/v1/videos/{id} — ikufunika kiyi yemwe amakhala wa nym yomwe inatumiza. Kiyi yomwe yafika pamapeto ake ikhoza kupitirizabe kuunika.

Imayankha 202 pamene vidiyo ikupangidwa ndipo 200 pomwe yatha kapena ikalephera. Funsa masikondi 5 mpaka 10 iliyonse. Kuyesa chilichonse kumafunsa opereka kamodzi ndipo kuyankha nthawi yomweyo; sizidikirira vidiyo. Ntchito imasungidwa kwa maola 24 mutapereka. GET /api/v1/videos lembetsani ntchito 50 zapasuku za kiyi ngati {"object": "list", "data": […]}.

Yankho (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 ili in_progress, completed kapena failed. A ntchito yofooka imabweretsa error ({"code": "generation_failed", "message": …}); ngati ndalama zidakweretsedwa, cost ndi 0 ndipo nymbot owonjezera refunded_credits ndi refunded_satsVideo yomaliza ili pa Blossom host yozikidwa poyera, monga zithunzi zomwe zapangidwa.

MkhalidweLiti
400Palibe chitsogozo; nthawi yomwe ili kunja kwa 0 mpaka 60 (invalid_value); chigamulidwe chomwe generator silichipereka (unsupported_resolution); palibe chithunzi cha generator yomwe ikufunika chimodzi (image_required); modeli yomwe si opangira vidiyo (invalid_model).
402Mphamvu ya Pro balance sitingathe kuphatikiza video.
404Palibe m'modzi wopangira (model_not_found), kapena palibe ntchito ndi id imeneyi kwa dzina lanu, kapena yatha kupitirira maola 24 (video_not_found).
429Dzina lanu kale lili ndi vidiyo 10 zomwe zikupangidwa (video_jobs_limit). Waonani mmene ali ndipo tumizani zina pamene imodzi itatha.
502Generator anakana ntchito. Palibe malipiro omwe amagwiritsidwa ntchito pokhapokha ngati wopereka ntchito watumiza mlandu.
503Mavidiyo sangathe kutumizidwa kapena kusungidwa panopa (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);

Kuwerenga mawu mofunda

Amalankhula mawu a m'ndakatulo ndipo amabweretsa mafayilo a mawu okha, osati link. Ndi OpenAI's speech endpoint, choncho audio.speech.create m'ma SDK a OpenAI amagwira ntchito.

POST https://nymbot.ai/api/v1/audio/speech — akufunika API key, kapena malipiro a Lightning pa pempho lililonse.

TsikaLembaZofunikaMafotokozedwe
modeltsitsiAyiModelu ya mawu kuchokera ku ndondomeko ya ma ma model a audio. Choyambira: mawu amene ali usualo, @cf/myshell-ai/melotts. aura-2 kodi Deepgram Aura 2 ndi?
inputtsitsiIndeMawu owerenga: mpaka alipo 800 kwa mawu a mtundu wa standard, 2,000 kwa Aura 2.
voicetsitsiAyiMawu ochokera ku ndandanda ya mawu: kapala wolemba Aura monga luna (kapena aura-2-luna-en), kapena chinenero cha MeloTTS (en, es, fr, zh). Maina a mawu a OpenAI monga alloy zimatengedwa ndipo zimapereka mawu a mtundu wa model yemwe ali m'mbali.
languagetsitsiAyiKodi kachidindo ka chinenero monga esPopanda mawu, imasankha mawu a chilankhulo chimenecho. Mawu omwe amayankhula chilankhulo china amabwerera 422 voice_language_mismatch, ndiponso chinenero chomwe chipangidwa chilibe mawu choyankhula nacho 422 unsupported_language.
response_formattsitsiAyiMawu amene amagwiritsidwa ntchito amabweranso mp3 okha. Aura 2 amabweretsa mp3 (zoyambira), opus, aac, flac, wav kapena pcm.
speedchiwerengeroAyiZavomerezedwa ndipo zanyalanyazidwa.

Mawu a mtsika amagwiritsa ntchito makrediti 3 otsika (30 sats) pa pempho lililonse, monga muli mu app. Aura 2 ndi Pro, ndipo mtengo wake umathandizidwa ndi ma character omwe mumatumiza. Badanja la yankho ndi mawu, ndi amene amagwirizana Content-Type; mtengo uli mu X-Nymbot-Cost-Sats header. Ngati model ya speech ikulephera, palibe chomwe chimachotsedwa.

Yankho

HTTP/1.1 200 OK
Content-Type: audio/mpeg
X-Nymbot-Cost-Sats: 4.2
X-Nymbot-Balance-Sats: 41055.6

(audio bytes)
MkhalidweLiti
400Palibe malemba; malemba ali kupitirira malire a model (input_too_long); ndendende yomwe model sitingathe kupanga (unsupported_response_format); mawu osamudziwika (invalid_voice); kafupikidwe kotala yomwe si kafupikidwe ka mawu (invalid_model).
422Mawu sakulankhula chinenero chomwe chaperekedwa, kapena modelulayo alibe mawu a chinenero chimenechi.
502Mawu a chipangizo choleza kapena kulankhula afika m'mavuto. Palibe chilichonse chomwe chaperekedwa.

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()));

Ma model a audio ndi mawu

Mndandanda waikhalidwe awiri oti musankhe njira yolankhula komanso mawu, kapena njira yolemba zomwe zimawerengedwa ngati 41 Ogwira ntchito a Aura 2 m'Chingerezi ndi zilankhulo zinayi za MeloTTS.

GET https://nymbot.ai/api/v1/audio/models — palibe kiyi ofunika.

GET https://nymbot.ai/api/v1/audio/voices?language=en — palibe kiyi ofunika.

TsikaLembaZofunikaMafotokozedwe
languagestring (kufunza)AyiMawu okha a chilankhulo ichi.
modelstring (kufunza)AyiMawu okha kwa mtundu uwu.

Mayankho (mawu)

{
  "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 }
  ]
}

Ma model amalemba mayankho. {"object": "list", "data": {"tts": […], "stt": […]}}. Model iliyonse ya mawu imapereka balance yake, mtengo, max_input_chars, response_formats, languages ndi default_voice; pulani ya mawu imapereka mayina ake amene amagwiritsidwa ntchito, max_file_bytes, max_seconds, maonekedwe ndi mtengo pa mphindi imodzi.

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

Kusandutsa mawu kukhala zolemba

Imasandutsa kope la mawu kukhala uthenga wa m'mavesi pogwiritsa ntchito Whisper. Uwu ndi m'modzi mwa mapoint a OpenAI a kumasulira mawu, choncho audio.transcriptions.create ikugwira ntchito.

POST https://nymbot.ai/api/v1/audio/transcriptions — akufunika API key, kapena malipiro a Lightning pa pempho lililonseThupi ndi multipart/form-data.

TsikaLembaZofunikaMafotokozedwe
filefayiloIndeKujambula, kuchokera ku 256 bytes mpaka 25 MB ndipo mpaka mphindi 30: WAV, WebM, MP4 kapena M4A, Ogg kapena Opus, MP3 ndiponso ma fomu ena amene Whisper imawerenga. MP3 ndi ma fomu ena amene mtundu wawo sungathe kuwerengedwa poyamba ali ndi malire a 1.8 MB.
modeltsitsiAyiZomwe zili m'malo mwa zina whisper, yomwe ndi Whisper Large v3 Turbo. whisper-1, whisper-large-v3-turbo ndi @cf/openai/whisper-large-v3-turbo zimatanthauza chimodzimodzi.
languagetsitsiAyiChilankhulo chomwe chimayankhulidwa, monga enZimadziwika ngati zasiyidwa.
prompttsitsiAyiMawu kapena kalembedwe komwe mungayembekezere, monga maina. Aliyense amagwiritsidwa ntchito mipแรก 1,000 yokha.
response_formattsitsiAyijson (zoyambira), text, srt, vtt kapena verbose_json.

Kwa mafayilo a WAV, WebM, MP4 ndi Ogg, kuchuluka kwa nthawi kumawerengedwa kuchokera mu fayiloyo musanayambe chilichonse, choncho kujambula kwa miyezi isafike ya mphindi 30 kumakanidwa nthawi yomweyo (pongofunika sekunde 3 zosonyeza). Kuchuluka kwa nthawi kwa fayilo ya WAV kumachokera ku sample rate, malemba (channels), ndi kukula kwa sample. Kuchuluka kwa nthawi kwa ma format ena, monga MP3, sungathe kuwerengedwa nthawi yomweyo, choncho amaliтidwa ndi kukula kwake: pa bitrate yotsika kwambiri yomwe Nymbot amaganizira, 8 kbps, mphindi 30 ndi 1.8 MB, ndipo fayilo yaukulu m'monga imeneyi imakanidwa ndi 413 audio_too_long konsekon asanayambe chilichonse. Tumizani zojambula zamphamvu ngati WAV, WebM, MP4 kapena Ogg. Ngati Whisper ikusonyeza kupitirira mphindi 30, pempholi limakanidwa ndi 413 audio_too_long, ndipo chifukwa Whisper inagwira ntchito, mphindi 30 ndizo zolipiridwa.

Mumalipira malonda a mtundu wa mawu, kudzera pa nthawi yomwe iwo ali nayo, yomwe idzakhazikitsidwe pa sekondi: nthawi yayitali yomwe idzapezeke kuchokera m'fayilo, nthawi yomwe Whisper imapereka malipoti, komanso nthawi yochepa yomwe kukula kwa fayilo kulolera, pamtengo wa Whisper wa pa mphindi pamodzi ndi malipiro amene amakhazikika komanso phindu, komanso osachepera 0.05 credit pa pempho lililonse. Amalipira kuchokera pa balance yomwe ili ndi malipiro amene amagwira ntchito, komanso kuchokera pa Pro ngati sanathe; a 402 imanena zomwe mbali iliyonse idzafunikire. M'app, kumasulira uthenga wa mawu kungakhale kwaulere; pa API ndiye kuti pamakulipiridwa nthawi zonse. Ngati Whisper ikulephera, palibe chilichonse chomwe chimaperekedwa cholipiridwa.

Yankho

{
  "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 amabweretsa mawu osayezereka, srt ndi vtt ndiruzani zolemba, ndipo verbose_json amaonjezera chinenero, nthawi ndi magawano okhazikika. Kwa atatu omwe sili JSON, mtengo uli m'maheader.

MkhalidweLiti
400Palibe fayilo, fayilo yopanda mawu ogwiritsidwa ntchito (invalid_audio), mawonekedwe omwe sanadziwikwe, kapena model yomwe si model yolemba mawu (invalid_model).
402Ndiwe kukhala ndi ndalama zochepa m'mbali zonse sizingathe kuthetsa izi.
413Fayiloli ili ndi kupitirira kwa 25 MB (file_too_large) kapena kasetu yemwe watenga mphindi zopitilira 30, kapena, munjira imene mtundu wake uli ndi utali womwe sungathe kuwerengedwa pasadakhale, kupitilira 1.8 MB (audio_too_long).
502Whisper sinatha kukonza audio. Paliponse chilipiridwa.

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

Kumasulira mawu kukhala Chingerezi

POST https://nymbot.ai/api/v1/audio/translations — akufunika API key, kapena malipiro a Lightning pa pempho lililonseThupi ndi multipart/form-data.

Zofanana ndi kulemba m’mavesi, ndi mabanja amodzi kupatula language, malire ndi mtengo, koma mawu amabweranso m'Chingerezi mosiyana ndi chilankhulo chilichonse chomwe chinaperekedwa. Ma OpenAI SDKs amati ndi 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);

Zolembedwa m'magulu

Imasandutsa mawu kukhala ma vector kuti athe kufufuza, kugwiritsa ntchito kumenya magulu, komanso kuononga zinthu zofanana. Ma model amagwira ntchito pa Cloudflare ndipo amagwiritsa ntchito ndalama za standard balance.

POST https://nymbot.ai/api/v1/embeddings — akufunika API key, kapena malipiro a Lightning pa pempho lililonse.

TsikaLembaZofunikaMafotokozedwe
modeltsitsiIndeModel ya embedding kuchokera ku GET /api/v1/models?type=embedding.
inputma字符串 kapena array ya ma字符串IndeLemba loti lofika m'mbali, mpaka mawu 100 osati awiri nulandu. Ma token arrays amakanidwa (token_input_unsupported). Malowa aliyense ayenera kukwaniritsa za context_length, yimayerekedwa ngati bayitiinayi pa token imodzi.
encoding_formattsitsiAyifloat (zoyambira) kapena base64 (little-endian 32-bit floats).
dimensionschiwerengero chachindunjiAyiKukula kwa model yomweyo, kapena kwa model yomwe ili ndi supported_dimensions imodzi mwa zimenezo; vector imeneyo amapindika ndipo imachotsapo zinthu zina kuti ikhale yoyenera. Chilichonse china chimakanidwa.
ChitsanzoMalingaliro a ukuluChidule cha nkhani
@cf/baai/bge-m31024, zilankhulo zambirima tokeni 8,192
@cf/qwen/qwen3-embedding-0.6b1024, zilankhulo zambirima tokeni 8,192
@cf/baai/bge-large-en-v1.51024, Chingerezima tokeni 512
@cf/baai/bge-base-en-v1.5768, Chingerezima tokeni 512
@cf/baai/bge-small-en-v1.5384, Chingerezima tokeni 512

Mndandanda wa mamodeli ndiye gwero lenileni la zomwe zilipo ndi mtengo wake; Google's EmbeddingGemma, yemwe ali ndi ma vector opita pang'ono pakapempha, akuonekanso apo pamene katalogi ili ndi mtengo wa iye. Ma embedding amaperekedwa malinga ndi chiwerengero cha token yemwe walowa, ndipo chinthu chochepa cha 0.05-credit chimagwira ntchito pa pempho lililonse, osati pa chinenero chilichonse, choncho kuphatikiza mafunso ambiri m'pempho limodzi kumapangitsa kuti zikhale zotsika mtengo kuposa kutumiza imodzi imodzi.

Yankho

{
  "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 }
}
MkhalidweLiti
400Palibe malemba kapena yemwe ali awombera; ma token arrays (token_input_unsupported); kuposa zinthu zolowetsedwa 100 (too_many_inputs); malongosolo owakulu kuposa amene model imatha (input_too_long); kukula komwe model ikulephera kupereka (unsupported_dimensions).
402Mlingo wa chizolowezi uli wotsika kwambiri. Embeddings sizimagwiritsa ntchito mlingo wa Pro.
404Palibe mtundu wa embedding model wotchedwa zimenezi.
502Modeliti inalephera. Palibe chomwe chawombolidwa.

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