Ruka hadi yaliyomo
Kurudi kwa Nymbot

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.

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 waaina yaMahitaji yaMaelezo ya
modelString yaNdiyoId ya Generator, kama vile nano-banana.
promptString yaNdiyoNini cha kuchora. tu wahusika wa kwanza wa 2,000 hutumiwa.
nUwepo waHakuna1 hadi 4. default 1. pia kukubalika kama num_images.
sizeString yaHakunaMtazamo 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_ratioString yaHakunaVivyo hivyo kama sizena kushinda ikiwa wote wawili ni kuwasilishwa.
qualityString yaHakunaGenerator maalum, kama vile "low", "medium" au "high".
negative_promptString yaHakunaNini cha kuacha nje.
output_formatString yaHakuna"png", "jpeg" au "webp".
response_formatString yaHakuna"url" (Ujumbe wa dharura) au "b64_json".
image_urlString yaHakunaKuanzisha 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 yaWakati wa
400si 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).
402Malipo hayawezi kufunika kila picha iliyotakiwa.
404Hakuna mfano kwa jina hilo (model_not_found).
502Mchakato wa kuondoa umaskini (upstream_errorHakuna kitu kinachohitajika isipokuwa mtoa huduma amehesabiwa kwa jaribio; kisha makosa yamefanywa. charged_sats.
503Picha 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 waaina yaMahitaji yaMaelezo ya
imageFaili yaNdiyoPicha ya kuhariri: PNG, JPEG, WebP au GIF, hadi 20 MB. image[]ya kwanza inatumika.
promptString yaNdiyoNini cha kubadilisha.
modelString yaNdiyoJenereta kwa ajili ya edit.
nUwepo waHakuna1 kwa 4.
size
aspect_ratio
quality
negative_prompt
output_format
String yaHakunakwa ajili ya kizazi.
response_formatString yaHakuna"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 yaWakati wa
400Hakuna picha au prompt, faili ambayo sio picha (invalid_image) au jenereta ambayo haiwezi kuhariri (edit_unsupported).
413Picha hii ni ya juu ya 20 MB (file_too_large), au ombi nzima zaidi ya 32 MB.
503Picha 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 waaina yaMahitaji yaMaelezo ya
modelString yaNdiyoJenereta ya video ya ID kutoka GET /api/v1/models?type=videoKwa mfano kama veo.
promptString yaNdiyoNini kinapaswa kutokea.
durationNambari ya stringHakunaUrefu 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_ratioString yaHakunakama vile "16:9" au "9:16"kwa ukubwa kama vile "1280x720" itakuwa ni kiwango cha karibu zaidi.
resolution
quality
String yaHakunaMoja ya jenereta resolutions katika orodha ya mifano, kama vile "720p" au "1080p"Hiyo inaweka bei. Kila kitu kingine ni kukataliwa na unsupported_resolution.
image_urlString yaHakunaKuanzisha 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 yaWakati wa
400Hakuna 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).
402Uwiano wa Pro hauwezi kufunika video.
404Hakuna muundo wa mzunguko (model_not_found(Hakuna mtu ambaye ameshangazwa kwamba mlipuko mwengine utakuja baada ya miaka 24 au zaidi)video_not_found).
429Ujumbe wako tayari una video 10 za kurekodi (video_jobs_limitAngalia juu yao na kuwasilisha zaidi mara moja mmoja huishia.
502Jenereta alikataa kazi. Hakuna kitu kinachohesabiwa isipokuwa mtoa huduma amehesabiwa kwa hilo.
503Video 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 waaina yaMahitaji yaMaelezo ya
modelString yaHakunaMfano wa hotuba kutoka Orodha ya mifano ya audioKiwango cha chini: sauti ya kawaida, @cf/myshell-ai/melotts. aura-2 Maelezo ya Deepgram Aura 2
inputString yaNdiyoManeno ya kusoma: hadi wahusika 800 kwa sauti ya kawaida, 2,000 kwa Aura 2.
voiceString yaHakunaId 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.
languageString yaHakunaMfumo 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_formatString yaHakunaSauti ya kawaida ya kurudi mp3 Aura 2 ya kurudi mp3 (Huu ni uharibifu wa opus, aac, flac, wav au pcm.
speedIdadi yaHakunaya 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 yaWakati wa
400Hakuna 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).
422Sauti haiwezi kuzungumza lugha iliyotolewa, au mfano hauna sauti kwa ajili yake.
502Mfano 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 waaina yaMahitaji yaMaelezo ya
languageMaelezo ya Query (Query)Hakunasauti tu kwa lugha hii.
modelMaelezo ya Query (Query)HakunaSauti 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 waaina yaMahitaji yaMaelezo ya
fileFaili yaNdiyoKurekodi, kutoka 256 bytes hadi 25 MB na hadi dakika 30: WAV, WebM, MP4 au M4A, Ogg au Opus, MP3 na muundo mwingine Whisper kusoma.
modelString yaHakunaUdhaifu 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.
languageString yaHakunaLugha ya kuzungumza, kama vile enimewasilishwa ikiwa imewasilishwa.
promptString yaHakunaManeno au maandishi ya kutarajia, kama vile majina. tu wahusika wa kwanza 1000 hutumiwa.
response_formatString yaHakunajson (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 yaWakati wa
400Hakuna faili, faili ambayo haiwezi kutumika audio (invalid_audio(Hakuna mtu anayeweza kusoma au kusoma makala hii kwa njia ya mtandao wa Facebook)invalid_model).
402Hata uwiano hauwezi kufunika.
413Faili 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).
502Msisemi 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 waaina yaMahitaji yaMaelezo ya
modelString yaNdiyoMfano wa kuunganisha kutoka GET /api/v1/models?type=embedding.
inputMaelezo ya string au array ya stringNdiyoMifano 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_formatString yaHakunafloat (Ujumbe wa dharura) au base64 (Picha hii inachukuliwa kwa ukubwa wa 32).
dimensionsUwepo waHakunaukubwa 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 waViwango vyaMtazamo wa
@cf/baai/bge-m31024 katika lugha nyingi8192 Maelezo ya
@cf/qwen/qwen3-embedding-0.6b1024 katika lugha nyingi8192 Maelezo ya
@cf/baai/bge-large-en-v1.51024 kwa Kiingereza512 kwa ajili ya
@cf/baai/bge-base-en-v1.5768 kwa Kiingereza512 kwa ajili ya
@cf/baai/bge-small-en-v1.5384 kwa Kiingereza512 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 yaWakati wa
400Hakuna 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).
402Kiwango 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.
404Hakuna muundo wa kuingia kwa jina hilo.
502Mfano 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);