Msingi wa maarifa Watengenezaji
Picha, sauti na ufungaji
Watengenezaji kutoka kwa programu, na viungo vya kujenga kwa ajili ya utafutaji: picha, video, hotuba, transcription na kuingizwa, kila moja kulipwa kwa matumizi kutoka kwa kiwango chako.
Ukurasa huu umetafsiriwa kwa mashine kwa urahisi. Toleo la asili la Kiingereza ndilo linalotumika.
Kuunda picha
Kuanza kucheza katika TopSlotSite , kufuata 4 hatua rahisi kujiandikisha, kufuata 4 hatua rahisi kujiandikisha. ?image kwa ajili ya app.
POST https://nymbot.ai/api/v1/images/generations unahitaji kifungo cha API, au Malipo ya Lightning kwa ombi.
Idadi ya kuja kutoka GET /api/v1/models?type=imageKwa mfano, Generator ya kawaida,
@cf/black-forest-labs/flux-1-schnell, gharama mfupi 5 viwango vya mikopo (50 sats) picha. Kila jenereta nyingine hutumia mikopo Pro kwa bei yake mwenyewe, na ada ya kawaida na margin, kama katika App ya. n Picha ya gharama
n Jengo ambalo jenereta haina kuchukua hutolewa badala ya kukataliwa; jenereta ya kawaida hutumia mwongozo tu.
| Uwanja wa | aina ya | Mahitaji ya | Maelezo ya |
|---|---|---|---|
model | String ya | Ndiyo | Id ya Generator, kama vile nano-banana. |
prompt | String ya | Ndiyo | Nini cha kuchora. tu wahusika wa kwanza wa 2,000 hutumiwa. |
n | Uwepo wa | Hakuna | 1 hadi 4. default 1. pia kukubalika kama num_images. |
size | String ya | Hakuna | Mtazamo wa kiwango kama vile "16:9"au kwa kiwango cha juu kama vile "1792x1024", ambayo inakuwa karibu zaidi na 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 21:9, 5:4 na 4:5. "auto" Kuweka kwenye jenereta. |
aspect_ratio | String ya | Hakuna | Vivyo hivyo kama sizena kushinda ikiwa wote wawili ni kuwasilishwa. |
quality | String ya | Hakuna | Generator maalum, kama vile "low", "medium" au "high". |
negative_prompt | String ya | Hakuna | Nini cha kuacha nje. |
output_format | String ya | Hakuna | "png", "jpeg" au "webp". |
response_format | String ya | Hakuna | "url" (Ujumbe wa dharura) au "b64_json". |
image_url | String ya | Hakuna | Kuanzisha mlinzi juu ya: A https:// kiungo cha zaidi ya wahusika 4,096 bila jina la mtumiaji au password ndani yake, au data:image/…;base64 URL (PNG, JPEG, WebP au GIF; sio SVG). editNa kwa wale wanaotaka requires_image_url. |
resolution si kutumika: kila jenereta hufanya ukubwa wake mwenyewe. url, kila picha inasambazwa kwenye mwenyeji wa umma wa Blossom na unapata kiungo chake (watu wachache tu hutoa kiungo wao wenyewe, ambayo inatumwa). mtu yeyote na kiungo kinaweza kufungua na haiwezi kuchukuliwa tena; angalia Vitu vyote ambavyo moto unaweza kuonapamoja na
b64_json picha inakuja tena katika majibu na kamwe si uploaded. picha iliyotumwa kama data: URL ya image_url inachukuliwa kwa njia sawa na
Edit ya na kupakia kwa Blossom kwanza ili jenereta inaweza kupokea; ni kufutwa tena ikiwa ombi haifai kufutwa.
Ikiwa baadhi ya n picha kushindwa, unapata wale ambao walifanya kazi, ni malipo tu kwa wale (plus yoyote mtoa huduma akaunti licha ya kushindwa), na nymbot.failed inaonyesha ni wangapi wamepotea. Ikiwa wote hawajatofautiana, ombi 502.
Majibu ya
{
"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 }
}
| Hali ya | Wakati wa |
|---|---|
400 | si ya haraka; n 1 kwa 4 (invalid_value(Hii ni kwa kiasi kikubwa sana)invalid_size(Kwa mfano wa picha)invalid_image, invalid_image_url); mfano unaoishi lakini sio generator ya picha (invalid_model); picha kwa ajili ya jenereta ambayo haiwezi kuhariri (edit_unsupported); hakuna picha kwa mtu ambaye anahitaji (image_required). |
402 | Malipo hayawezi kufunika kila picha iliyotakiwa. |
404 | Hakuna mfano kwa jina hilo (model_not_found). |
502 | Mchakato wa kuondoa umaskini (upstream_errorHakuna kitu kinachohitajika isipokuwa mtoa huduma amehesabiwa kwa jaribio; kisha makosa yamefanywa. charged_sats. |
503 | Picha haiwezi kuhifadhiwa kwa sasa (media_hosting_unavailable). b64_json bado hufanya kazi. |
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);
Uhariri wa picha
Mabadiliko ya picha unayochapisha, kufuatia mwito. Hii ni hatua ya mwisho ya uhariri wa OpenAI, hivyo SDKs za OpenAI ' images.edit inafanya kazi kama ifuatavyo. tu Pro generators na edit katika orodha ya mifano itakubali.
POST https://nymbot.ai/api/v1/images/edits unahitaji kifungo cha API, au Malipo ya Lightning kwa ombiMwili huu ni multipart/form-dataUrefu wa 32 MB.
| Uwanja wa | aina ya | Mahitaji ya | Maelezo ya |
|---|---|---|---|
image | Faili ya | Ndiyo | Picha ya kuhariri: PNG, JPEG, WebP au GIF, hadi 20 MB. image[]ya kwanza inatumika. |
prompt | String ya | Ndiyo | Nini cha kubadilisha. |
model | String ya | Ndiyo | Jenereta kwa ajili ya edit. |
n | Uwepo wa | Hakuna | 1 kwa 4. |
sizeaspect_ratioqualitynegative_promptoutput_format | String ya | Hakuna | kwa ajili ya kizazi. |
response_format | String ya | Hakuna | "b64_json" (Ujumbe huu unapatikana hapa) au "url". |
Picha unayochapisha inachukuliwa kuwa PNG, JPEG, WebP au GIF iliyoundwa vizuri, imewasilishwa kama aina yake halisi, na imewekwa kwenye mwenyeji wa umma wa Blossom, kwa sababu wazalishaji huchukua input yao kwa kiungo. Tazama kama umma. Ikiwa uhariri unashindwa na hakuna kitu kinachohesabiwa, nakala iliyohudhuria inachukuliwa tena. Jibu lina sura sawa na kwa kuzalisha. Bei ni bei ya wazalishaji, ambayo kwa baadhi ya wazalishaji ina malipo ya picha ya kuingia.
Majibu ya
{
"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 }
}
| Hali ya | Wakati wa |
|---|---|
400 | Hakuna picha au prompt, faili ambayo sio picha (invalid_image) au jenereta ambayo haiwezi kuhariri (edit_unsupported). |
413 | Picha hii ni ya juu ya 20 MB (file_too_large), au ombi nzima zaidi ya 32 MB. |
503 | Picha hii haiwezi kuhifadhiwa kwa sasa (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"));
Video ya
Video inachukua dakika, hivyo inafanya kazi katika background. Unawasilisha, unapata id mara moja, na kuuliza kuhusu id mpaka umefanyika. Kila mtengenezaji wa video huchukua kiwango cha Pro.
POST https://nymbot.ai/api/v1/videos unahitaji kifungo cha API, au Malipo ya Lightning kwa ombiya kurudi 202.
| Uwanja wa | aina ya | Mahitaji ya | Maelezo ya |
|---|---|---|---|
model | String ya | Ndiyo | Jenereta ya video ya ID kutoka GET /api/v1/models?type=videoKwa mfano kama veo. |
prompt | String ya | Ndiyo | Nini kinapaswa kutokea. |
duration | Nambari ya string | Hakuna | Urefu katika sekunde, zaidi ya 0 na hadi 60. Kutumika tu na wazalishaji ambao kuruhusu kuchagua urefu; wengine kufanya urefu wao wa kawaida, ambayo ni nini seconds katika majibu na bei inayofuata. |
aspect_ratio | String ya | Hakuna | kama vile "16:9" au "9:16"kwa ukubwa kama vile "1280x720" itakuwa ni kiwango cha karibu zaidi. |
resolutionquality | String ya | Hakuna | Moja ya jenereta resolutions katika orodha ya mifano, kama vile "720p" au "1080p"Hiyo inaweka bei. Kila kitu kingine ni kukataliwa na unsupported_resolution. |
image_url | String ya | Hakuna | Kuanzisha mlinzi juu ya: A https:// Link ya A data:image/… URL, ambayo inasambazwa kwenye mwenyeji wa umma wa Blossom kwanza. Inahitajika na wazalishaji na requires_image_url. |
Bei ni imara wakati wewe kuwasilisha, kutoka kwa jenereta, ufumbuzi na urefu, hivyo inahesabiwa kutoka kwa mfuko wako wa Pro mara tu mtoa huduma inakubali kazi, na kuonyeshwa kama
cost, estimated_cost na nymbotIkiwa mtoa huduma hajakataa kazi, hakuna kitu kinachohesabiwa. Ikiwa rendering baadaye haifai, au clip iliyofanywa haiwezi kuhifadhiwa na mtoa huduma haikubali malipo kwa ajili yake, malipo yanarejeshwa mara moja, moja kwa moja. rendering ambayo bado inaendelea baada ya saa moja huacha, na inahifadhi malipo yake, kwa sababu mtoa huduma inahifadhi render mara baada ya kukubali.
Maoni yako (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 Kuanza kama in_progressau ya completed Pamoja na video iliyochapishwa katika data Baada ya kurejeshwa, jenereta inaweza kurejeshwa.
Kuangalia kwenye video
GET https://nymbot.ai/api/v1/videos/{id} - inahitaji kifungo kinachohusiana na nym ambayo iliwasilisha.
Anajibu kwa 202 Wakati video hii inafanywa na 200 mara moja imekamilika au imeshindwa. kuuliza kila 5 hadi sekunde 10. Kila udhibiti huuliza mtoa huduma mara moja na kujibu mara moja; haina kusubiri kwa video. Kazi inachukuliwa kwa masaa ya 24 baada ya kuwasilishwa.
GET /api/v1/videos kutaja kazi za mwisho za 50 za kichwa kama
{"object": "list", "data": […]}.
Majibu ya (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 ya in_progress, completed au failedKazi ya kushindwa hufanya kazi error ({"code": "generation_failed", "message": …}Ikiwa ni kwa ajili ya malipo, cost ya 0 na nymbot Ongeza
refunded_credits na refunded_satsVideo iliyopangwa ni kwenye mwenyeji wa umma wa Blossom, kama picha zilizoundwa.
| Hali ya | Wakati wa |
|---|---|
400 | Hakuna muda wa haraka; muda wa nje 0 hadi 60 (invalid_value); ufumbuzi ambayo generator haina kutoa (unsupported_resolution); hakuna picha kwa jenereta ambayo inahitaji moja (image_required); mfano ambao sio generator ya video (invalid_model). |
402 | Uwiano wa Pro hauwezi kufunika video. |
404 | Hakuna muundo wa mzunguko (model_not_found(Hakuna mtu ambaye ameshangazwa kwamba mlipuko mwengine utakuja baada ya miaka 24 au zaidi)video_not_found). |
429 | Ujumbe wako tayari una video 10 za kurekodi (video_jobs_limitAngalia juu yao na kuwasilisha zaidi mara moja mmoja huishia. |
502 | Jenereta alikataa kazi. Hakuna kitu kinachohesabiwa isipokuwa mtoa huduma amehesabiwa kwa hilo. |
503 | Video haiwezi kuwasilishwa au kuhifadhi kwa sasa (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);
Maelezo ya hotuba
Anasoma maandishi kwa sauti kubwa na kurudi faili ya sauti yenyewe, sio kiungo. audio.speech.create katika SDKs OpenAI kazi.
POST https://nymbot.ai/api/v1/audio/speech unahitaji kifungo cha API, au Malipo ya Lightning kwa ombi.
| Uwanja wa | aina ya | Mahitaji ya | Maelezo ya |
|---|---|---|---|
model | String ya | Hakuna | Mfano wa hotuba kutoka Orodha ya mifano ya audioKiwango cha chini: sauti ya kawaida, @cf/myshell-ai/melotts. aura-2 Maelezo ya Deepgram Aura 2 |
input | String ya | Ndiyo | Maneno ya kusoma: hadi wahusika 800 kwa sauti ya kawaida, 2,000 kwa Aura 2. |
voice | String ya | Hakuna | Id ya sauti kutoka Orodha ya sauti: Msemaji wa Aura kama vile luna (au ya aura-2-luna-enKwa mfano, katika lugha ya kifalme (en, es, fr, zhJina la sauti kama vile alloy ni kukubalika na kutoa sauti ya default ya mfano. |
language | String ya | Hakuna | Mfumo wa lugha kama vile esBila sauti, inachagua moja kwa lugha hiyo. sauti ambayo inazungumzia lugha nyingine 422 voice_language_mismatch, na lugha ambayo mfano hauna sauti kwa 422 unsupported_language. |
response_format | String ya | Hakuna | Sauti ya kawaida ya kurudi mp3 Aura 2 ya kurudi mp3 (Huu ni uharibifu wa opus, aac, flac, wav au pcm. |
speed | Idadi ya | Hakuna | ya kukubalika na kupuuza. |
sauti ya kiwango kina gharama ya moja kwa moja 3 mikopo ya kiwango (30 sats) kwa ombi, kama katika programu. Aura 2 ni Pro, gharama kwa wahusika unavyowasilisha. mwili wa majibu ni sauti, na
Content-TypeGharama ni katika X-Nymbot-Cost-Sats Ikiwa mfano wa hotuba haujakamilika, hakuna kitu kinachohesabiwa.
Majibu ya
HTTP/1.1 200 OK
Content-Type: audio/mpeg
X-Nymbot-Cost-Sats: 4.2
X-Nymbot-Balance-Sats: 41055.6
(audio bytes)
| Hali ya | Wakati wa |
|---|---|
400 | Hakuna kuingia; kuingia juu ya mipaka ya mfano (input_too_long); muundo ambayo mfano hauwezi kuzalisha (unsupported_response_format); sauti isiyojulikana (invalid_voice); mfano ambao sio mfano wa hotuba (invalid_model). |
422 | Sauti haiwezi kuzungumza lugha iliyotolewa, au mfano hauna sauti kwa ajili yake. |
502 | Mfano wa hotuba haukufanikiwa. hakuna kitu kinachohitajika. |
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()));
Mifano ya sauti na sauti
Ode kwa nguruwe, sanamu ya kuvutia ya mita ya 10 ya kuruka kwa uhuru ilikuwa kwenye kuonyesha, wakati video na hotuba zilionyeshwa kwenye skrini mbili ndani ya jicho la Tume ya EU na majengo ya Baraza la EU.
GET https://nymbot.ai/api/v1/audio/models Hakuna kichwa inahitajika.
GET https://nymbot.ai/api/v1/audio/voices?language=en Hakuna kichwa inahitajika.
| Uwanja wa | aina ya | Mahitaji ya | Maelezo ya |
|---|---|---|---|
language | Maelezo ya Query (Query) | Hakuna | sauti tu kwa lugha hii. |
model | Maelezo ya Query (Query) | Hakuna | Sauti tu kwa ajili ya mfano huu. |
Ujumbe wa Neno (Voti)
{
"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 }
]
}
Orodha ya majibu {"object": "list", "data": {"tts": […], "stt": […]}}Kila mfano wa hotuba hutoa usawa wake, bei, max_input_chars,
response_formats, languages na default_voiceMstari wa chini: Roho inawakilisha thamani yake. max_file_bytes, max_seconds, viwango na bei kwa dakika.
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);
Maneno kwa maandishi
Inabadilisha rekodi katika maandishi na Whisper. Hii ni mwisho wa transcription ya OpenAI, hivyo
audio.transcriptions.create kazi ya kazi.
POST https://nymbot.ai/api/v1/audio/transcriptions unahitaji kifungo cha API, au Malipo ya Lightning kwa ombiMwili huu ni multipart/form-data.
| Uwanja wa | aina ya | Mahitaji ya | Maelezo ya |
|---|---|---|---|
file | Faili ya | Ndiyo | Kurekodi, kutoka 256 bytes hadi 25 MB na hadi dakika 30: WAV, WebM, MP4 au M4A, Ogg au Opus, MP3 na muundo mwingine Whisper kusoma. |
model | String ya | Hakuna | Udhaifu wa whisperHii ni kwa ajili ya Whisper Large v3 Turbo. whisper-1, whisper-large-v3-turbo na @cf/openai/whisper-large-v3-turbo maana yake ni sawa. |
language | String ya | Hakuna | Lugha ya kuzungumza, kama vile enimewasilishwa ikiwa imewasilishwa. |
prompt | String ya | Hakuna | Maneno au maandishi ya kutarajia, kama vile majina. tu wahusika wa kwanza 1000 hutumiwa. |
response_format | String ya | Hakuna | json (Huu ni uharibifu wa text, srt, vtt au verbose_json. |
Kwa WAV, WebM, MP4 na Ogg faili urefu ni kusoma kutoka kwa faili kabla ya kitu chochote kuendesha, hivyo rekodi zaidi ya dakika 30 ni kukataliwa mbele (na 3 sekunde ya neema). urefu wa faili ya WAV hutokana na kiwango cha sampuli yake, njia na ukubwa wa sampuli. urefu wa muundo mwingine, kama vile MP3, haiwezi kusoma mbele, hivyo wao ni mdogo kwa ukubwa: kwa kiwango cha chini bitrate Nymbot inachukua, 8 kbps, dakika 30 ni 1.8 MB, na faili kubwa katika muundo huu ni kukataliwa na 413
audio_too_long Kutoa rekodi za muda mrefu kama vile WAV, WebM, MP4 au Ogg. Ikiwa Whisper kisha taarifa zaidi ya dakika 30, ombi litafutwa na
413 audio_too_long, na tangu Whisper alifanya kazi, dakika 30 zinahesabiwa.
Wewe kulipa kwa urefu wa sauti, karibu hadi sekunde: muda mrefu zaidi kusoma kutoka kwa faili, urefu Whisper ripoti, na kidogo ukubwa wa faili inaruhusu, kwa bei ya kila dakika ya Whisper na ada ya kawaida na margin, na angalau 0.05 credit ombi. 402 inatoa kile kilichohitajika kwa kila usawa. Katika programu, kutafsiri ujumbe wa sauti inaweza kuwa bure; kwenye API inachukuliwa daima. Ikiwa Whisper haifai, hakuna kitu kinachukuliwa.
Majibu ya
{
"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 kurejesha maandishi ya wazi, srt na vtt kurudi kwa subtitles, na
verbose_json huongeza lugha, muda na vipengele vya wakati. Kwa wale watatu ambao sio JSON, gharama ni katika kichwa.
| Hali ya | Wakati wa |
|---|---|
400 | Hakuna faili, faili ambayo haiwezi kutumika audio (invalid_audio(Hakuna mtu anayeweza kusoma au kusoma makala hii kwa njia ya mtandao wa Facebook)invalid_model). |
402 | Hata uwiano hauwezi kufunika. |
413 | Faili ya juu zaidi ya 25 MB (file_too_large(Hakuna mtu anayeweza kusoma habari hii kwa muda mrefu zaidi ya miaka mitatu au hata zaidi ya miezi mitatu.)audio_too_long). |
502 | Msisemi Shaykh Rabiy ́ ni Imaam wa Jarh wat-Ta ́diyl. |
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);
Tafsiri ya lugha kwa Kiingereza
POST https://nymbot.ai/api/v1/audio/translations unahitaji kifungo cha API, au Malipo ya Lightning kwa ombiMwili huu ni multipart/form-data.
kama ilivyoelezwa katika kifungu hiki, pamoja na maeneo mengine ya language, mipaka na bei, lakini maandiko yanarejea kwa Kiingereza bila kujali lugha iliyoongozwa. 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);
Uingizaji
Inabadilisha maandishi kwa vektor kwa ajili ya utafutaji, clustering na deduplication. Mifano huendeshwa kwenye Cloudflare na hutumia kiwango cha kiwango cha kiwango.
POST https://nymbot.ai/api/v1/embeddings unahitaji kifungo cha API, au Malipo ya Lightning kwa ombi.
| Uwanja wa | aina ya | Mahitaji ya | Maelezo ya |
|---|---|---|---|
model | String ya | Ndiyo | Mfano wa kuunganisha kutoka GET /api/v1/models?type=embedding. |
input | Maelezo ya string au array ya string | Ndiyo | Mifano ya Mifano ya Mifano ya Mifano ya Mifano ya Mifano (token_input_unsupportedKila kipengele kinapaswa kufanana na mfano wa context_lengthKwa mfano, inachukua takribani majira ya joto nne. |
encoding_format | String ya | Hakuna | float (Ujumbe wa dharura) au base64 (Picha hii inachukuliwa kwa ukubwa wa 32). |
dimensions | Uwepo wa | Hakuna | ukubwa wa mfano wake mwenyewe, au kwa mfano na supported_dimensions Moja ya hayo; vector ni kisha kupunguzwa na normalized. Kila kitu kingine ni kukataliwa. |
| Mfano wa | Viwango vya | Mtazamo wa |
|---|---|---|
@cf/baai/bge-m3 | 1024 katika lugha nyingi | 8192 Maelezo ya |
@cf/qwen/qwen3-embedding-0.6b | 1024 katika lugha nyingi | 8192 Maelezo ya |
@cf/baai/bge-large-en-v1.5 | 1024 kwa Kiingereza | 512 kwa ajili ya |
@cf/baai/bge-base-en-v1.5 | 768 kwa Kiingereza | 512 kwa ajili ya |
@cf/baai/bge-small-en-v1.5 | 384 kwa Kiingereza | 512 kwa ajili ya |
Orodha ya mifano ni chanzo cha ukweli ambao ni inapatikana na gharama gani; Google's EmbeddingGemma, na vektor mfupi juu ya ombi, inaonekana huko pia wakati orodha ina bei kwa ajili yake.
Majibu ya
{
"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 }
}
| Hali ya | Wakati wa |
|---|---|
400 | Hakuna kuingia au tupu moja; token array (token_input_unsupported); zaidi ya 100 inputs (too_many_inputs); kuingia kwa muda mrefu kuliko mfano inachukua (input_too_long); kiwango ambacho mfano hauwezi kutoa (unsupported_dimensions). |
402 | Kiwango cha kiwango cha kiwango cha kiwango cha kiwango cha kiwango cha kiwango cha kiwango cha kiwango cha kiwango cha kiwango cha kiwango cha kiwango cha kiwango cha kiwango cha kiwango cha kiwango cha kiwango cha kiwango cha kiwango cha kiwango cha kiwango cha kiwango cha kiwango cha ubora. |
404 | Hakuna muundo wa kuingia kwa jina hilo. |
502 | Mfano haukuwa na faida. hakuna malipo. |
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);