ਗਿਆਨ ਅਧਾਰ ਡਿਵੈਲਪਰ
ਚਿੱਤਰ, ਆਡੀਓ ਅਤੇ ਇੰਬੈਡਿੰਗ
ਐਪਲੀਕੇਸ਼ਨ ਦੇ ਜੇਨਰੇਟਰ, ਅਤੇ ਖੋਜ ਲਈ ਬਿਲਡਿੰਗ ਬਲਾਕ: ਚਿੱਤਰ, ਵੀਡੀਓ, ਕਾਪੀਰਾਈਟ, transcription ਅਤੇ embeddings, ਹਰ ਇੱਕ ਆਪਣੇ ਬਿਲਡਿੰਗ ਤੱਕ ਵਰਤਣ ਲਈ ਫੀਚਰ ਕੀਤਾ ਗਿਆ ਹੈ.
ਇਹ ਪੰਨਾ ਸਹੂਲਤ ਲਈ ਮਸ਼ੀਨ ਦੁਆਰਾ ਅਨੁਵਾਦ ਕੀਤਾ ਗਿਆ ਹੈ। ਅੰਗਰੇਜ਼ੀ ਮੂਲ ਉਹ ਸੰਸਕਰਣ ਹੈ ਜੋ ਲਾਗੂ ਹੁੰਦਾ ਹੈ।
ਚਿੱਤਰ ਬਣਾਓ
ਇੱਕ ਪ੍ਰੋਂਪਟ ਤੋਂ ਇੱਕ ਤੋਂ ਚਾਰ ਤਸਵੀਰਾਂ ਬਣਾਉਂਦਾ ਹੈ ਅਤੇ ਜਦੋਂ ਉਹ ਪੂਰੀਆਂ ਹੋ ਜਾਂਦੀਆਂ ਹਨ ਤਾਂ ਉਹਨਾਂ ਨੂੰ ਵਾਪਸ ਕਰ ਦਿੰਦਾ ਹੈ। ਇਹ ਜਨਰੇਟਰਾਂ ਦਾ ਇੱਕੋ ਸਮੂਹ ਹੈ ?image ਐਪ ਵਿੱਚ.
POST https://nymbot.ai/api/v1/images/generations - ਇੱਕ API key ਦੀ ਲੋੜ ਹੈ, ਜ ਚਾਨਣ ਦੀ ਭੁਗਤਾਨ.
ਆਈ. ਡੀ. ਕਿੱਥੋਂ ਆਉਂਦੀ ਹੈ GET /api/v1/models?type=imageਮਿਆਰੀ ਜੇਨਰੇਟਰ,
@cf/black-forest-labs/flux-1-schnell, ਇੱਕ ਫਲੈਟ 5 ਮਿਆਰੀ ਕ੍ਰੈਡਿਟ (50 sats) ਇੱਕ ਚਿੱਤਰ ਦੀ ਕੀਮਤ ਹੈ. ਹਰ ਹੋਰ ਜੇਨਰੇਟਰ ਆਪਣੇ ਆਪ ਹੀ ਕੀਮਤ 'ਤੇ ਪ੍ਰੋ ਕ੍ਰੈਡਿਟ ਭੁਗਤਾਨ ਕਰਦਾ ਹੈ, ਆਮ ਫੀਸ ਅਤੇ ਮਾਰਗ ਦੇ ਨਾਲ, ਦੇ ਤੌਰ ਤੇ ਐਪ. n ਤਸਵੀਰਾਂ ਦੀ ਕੀਮਤ
n ਗੁਣਾ ਵੱਧ। ਇੱਕ ਫੀਲਡ ਜੋ ਇੱਕ ਜਨਰੇਟਰ ਨਹੀਂ ਲੈਂਦਾ, ਨੂੰ ਇਨਕਾਰ ਕਰਨ ਦੀ ਬਜਾਏ ਛੱਡ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ; ਸਟੈਂਡਰਡ ਜਨਰੇਟਰ ਸਿਰਫ ਪ੍ਰੋਂਪਟ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ।
| ਫੀਲਡ | ਕਿਸਮ | ਦੀ ਲੋੜ | ਚਿੱਤਰ |
|---|---|---|---|
model | ਸਟੀਲ | ਹਾਂ | ਇੱਕ ਜਨਰੇਟਰ ਆਈ. ਡੀ., ਜਿਵੇਂ ਕਿ nano-banana. |
prompt | ਸਟੀਲ | ਹਾਂ | ਕੀ ਖਿੱਚਣਾ ਹੈ। ਸਿਰਫ਼ ਪਹਿਲੇ 2,000 ਅੱਖਰ ਵਰਤੇ ਜਾਂਦੇ ਹਨ। |
n | ਨਿੱਜੀ | ਕੋਈ | 1 ਤੋਂ 4. ਡਿਫਾਲਟ 1. ਦੇ ਰੂਪ ਵਿੱਚ ਵੀ ਸਵੀਕਾਰ ਕੀਤਾ ਜਾਂਦਾ ਹੈ num_images. |
size | ਸਟੀਲ | ਕੋਈ | ਅੰਗਰੇਜ਼ੀ ਦੇ ਅੰਗਰੇਜ਼ੀ "16:9", ਜਾਂ ਇੱਕ ਓਪਨਏਆਈ ਅਕਾਰ ਜਿਵੇਂ ਕਿ "1792x1024", ਜੋ 1:1,16:9,9:16,4:3,3:4,3:2,2:3,21:9,5:4 ਅਤੇ 4:5 ਦੇ ਸਭ ਤੋਂ ਨੇਡ਼ੇ ਹੋ ਜਾਂਦਾ ਹੈ। "auto" ਇਹ ਜੇਨਰੇਟਰ ਨੂੰ ਛੱਡੋ. |
aspect_ratio | ਸਟੀਲ | ਕੋਈ | ਇੱਕੋ ਜਿਹੀ ਗੱਲ। size, ਅਤੇ ਜੇ ਦੋਵਾਂ ਨੂੰ ਭੇਜਿਆ ਜਾਂਦਾ ਹੈ ਤਾਂ ਜਿੱਤ ਜਾਂਦਾ ਹੈ। |
quality | ਸਟੀਲ | ਕੋਈ | ਜੇਨਰੇਟਰ-ਸpecific, ਅਜਿਹੇ "low", "medium" ਜਾਂ "high". |
negative_prompt | ਸਟੀਲ | ਕੋਈ | ਕੀ ਛੱਡਣਾ ਹੈ। |
output_format | ਸਟੀਲ | ਕੋਈ | "png", "jpeg" ਜਾਂ "webp". |
response_format | ਸਟੀਲ | ਕੋਈ | "url" (ਉਦਾਹਰਨ ਲਈ) or "b64_json". |
image_url | ਸਟੀਲ | ਕੋਈ | ਇੱਕ ਚਿੱਤਰ ਤੱਕ ਸ਼ੁਰੂ ਕਰਨ ਲਈ: a https:// ਵੱਧ ਤੋਂ ਵੱਧ 4,096 ਅੱਖਰਾਂ ਦਾ ਲਿੰਕ ਜਿਸ ਵਿੱਚ ਕੋਈ ਉਪਭੋਗਤਾ ਨਾਮ ਜਾਂ ਪਾਸਵਰਡ ਨਹੀਂ ਹੈ, ਜਾਂ data:image/…;base64 ਯੂ. ਆਰ. ਐੱਲ. (ਪੀ. ਐੱਨ. ਜੀ., ਜੇ. ਪੀ. ਈ. ਜੀ., ਵੈੱਬ. ਪੀ. ਜਾਂ ਜੀ. ਆਈ. ਐੱਫ.; ਐੱਸ. ਵੀ. ਜੀ. ਨਹੀਂ)। ਸਿਰਫ਼ ਜਨਰੇਟਰਾਂ ਲਈ edit; ਉਹਨਾਂ ਦੁਆਰਾ ਲੋਡ਼ੀਂਦਾ ਹੈ ਜਿਨ੍ਹਾਂ ਨਾਲ requires_image_url. |
resolution ਵਰਤਿਆ ਜਾ ਰਿਹਾ ਹੈ: ਹਰ ਜੇਨਰੇਟਰ ਆਪਣੇ ਹਿੱਸੇ ਦਾ ਆਕਾਰ ਬਣਾ ਦਿੰਦਾ ਹੈ. url, ਹਰ ਚਿੱਤਰ ਇੱਕ ਪ੍ਰਾਈਵੇਟ ਬਲਾਸਮ ਹੋਸਟ 'ਤੇ ਡਾਊਨਲੋਡ ਕੀਤਾ ਗਿਆ ਹੈ ਅਤੇ ਤੁਹਾਨੂੰ ਇਸ ਨੂੰ ਲਿੰਕ ਪ੍ਰਾਪਤ ਕਰੇਗਾ (ਕੁਨਿਆਰੀ ਜੇਨਰੇਟਰ ਨੂੰ ਸਿਰਫ ਆਪਣੇ ਆਪ ਨੂੰ ਇੱਕ ਲਿੰਕ ਛੱਡਦਾ ਹੈ, ਜੋ ਕਿ ਅੱਪਡੇਟ ਕੀਤਾ ਗਿਆ ਹੈ). ਲਿੰਕ ਦੇ ਨਾਲ ਕਿਸੇ ਵੀ ਵਿਅਕਤੀ ਨੂੰ ਇਸ ਨੂੰ ਬੰਦ ਕਰ ਸਕਦਾ ਹੈ ਅਤੇ ਇਸ ਨੂੰ ਅੱਪਡੇਟ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ; ਵੇਖੋ ਫਾਇਬਰਗਲਾਸ ਕੀ ਕਰ ਸਕਦਾ ਹੈਨਾਲ
b64_json ਚਿੱਤਰ ਜਵਾਬ ਵਿੱਚ ਵਾਪਸ ਆਉਂਦਾ ਹੈ ਅਤੇ ਕੋਈ ਵੀ ਵਾਰ ਆਉਟਪੁੱਟ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ. data: URL ਅੰਦਰ image_url ਕਾਪੀਰਾਈਟ © 2018 ਟੈਟੂ ਕਲਾ ਦੇ ਵਿਚਾਰ
EDIT ਅਤੇ ਪਹਿਲਾਂ ਬਲੌਸਮ ਉੱਤੇ ਅੱਪਲੋਡ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਤਾਂ ਜੋ ਜਨਰੇਟਰ ਇਸ ਨੂੰ ਪ੍ਰਾਪਤ ਕਰ ਸਕੇ; ਜੇ ਬੇਨਤੀ ਬਿਨਾਂ ਬਿੱਲ ਕੀਤੇ ਅਸਫਲ ਰਹਿੰਦੀ ਹੈ ਤਾਂ ਇਸ ਨੂੰ ਦੁਬਾਰਾ ਮਿਟਾ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ।
ਜੇ ਤੁਹਾਡੇ ਲਈ ਕੁਝ n ਚਿੱਤਰ ਅਸਫਲ ਹੋ ਜਾਂਦੇ ਹਨ, ਤੁਹਾਨੂੰ ਉਹ ਮਿਲਦੇ ਹਨ ਜੋ ਕੰਮ ਕਰਦੇ ਹਨ, ਸਿਰਫ ਉਹਨਾਂ ਲਈ ਚਾਰਜ ਕੀਤੇ ਜਾਂਦੇ ਹਨ (ਨਾਲ ਹੀ ਕੋਈ ਵੀ ਪ੍ਰਦਾਤਾ ਅਸਫਲ ਹੋਣ ਦੇ ਬਾਵਜੂਦ ਬਿਲ ਦਿੰਦਾ ਹੈ), ਅਤੇ nymbot.failed ਇਹ ਦੱਸਦੀ ਹੈ ਕਿ ਕਿੰਨੇ ਲਾਪਤਾ ਹਨ। ਜੇ ਸਾਰੇ ਅਸਫਲ ਰਹਿੰਦੇ ਹਨ, ਤਾਂ ਬੇਨਤੀ ਵਾਪਸ ਆ ਜਾਂਦੀ ਹੈ। 502.
ਜਵਾਬ
{
"created": 1790726400,
"model": "nano-banana",
"cost": 0.2126,
"data": [
{
"url": "https://blossom.example/5c0e4b7d3a91f2e8...c4.png",
"content_type": "image/png"
}
],
"nymbot": { "balance": "pro", "charged_credits": 1.817, "charged_sats": 181.7, "balance_credits": 410.608, "balance_sats": 41060.8 }
}
| ਸਥਿਤੀ | ਕਦਮ |
|---|---|
400 | ਨੈੱਟਵਰਕ n 1 ਤੋਂ 4 ਤੋਂ ਬਾਹਰ (invalid_value); ਇੱਕ ਖਰਾਬ ਅਕਾਰ (invalid_size) ਜ ਚਿੱਤਰ (invalid_image, invalid_image_url); ਇੱਕ ਮਾਡਲ ਜੋ ਮੌਜੂਦ ਹੈ ਪਰ ਇੱਕ ਚਿੱਤਰ ਜਨਰੇਟਰ ਨਹੀਂ ਹੈ (invalid_model); ਇੱਕ ਚਿੱਤਰ ਲਈ ਇੱਕ ਜੇਨਰੇਟਰ ਲਈ, ਜੋ ਕਿ edit ਨਾ ਕਰ ਸਕਦਾ ਹੈ (edit_unsupported); ਉਸ ਲਈ ਕੋਈ ਤਸਵੀਰ ਨਹੀਂ ਜਿਸ ਨੂੰ ਇਸ ਦੀ ਜ਼ਰੂਰਤ ਹੈ (image_required). |
402 | ਬਿਲਡਿੰਗ ਦੇ ਹਰ ਫੋਟੋ ਦੀ ਪੇਸ਼ਕਸ਼ ਕਰ ਸਕਦਾ ਹੈ. |
404 | ਨੈੱਟਵਰਕ ਨੈੱਟਵਰਕmodel_not_found). |
502 | ਕਾਪੀਰਾਈਟ © 2018 ਟੈਟੂ ਕਲਾ ਦੇ ਵਿਚਾਰupstream_error). ਕੁਝ ਵੀ ਚਾਰਜ ਨਹੀਂ ਕੀਤਾ ਜਾਂਦਾ ਜਦੋਂ ਤੱਕ ਪ੍ਰਦਾਤਾ ਨੇ ਕੋਸ਼ਿਸ਼ ਲਈ ਬਿੱਲ ਨਹੀਂ ਦਿੱਤਾ; ਫਿਰ ਗਲਤੀ ਹੈ charged_sats. |
503 | ਚਿੱਤਰ ਇਸ ਵੇਲੇ ਹੋਸਟ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ (media_hosting_unavailable). b64_json ਕੰਮ ਕਰਨ ਲਈ. |
cURL
curl https://nymbot.ai/api/v1/images/generations \
-H "Authorization: Bearer $NYMBOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "nano-banana",
"prompt": "A lighthouse at dusk, oil painting",
"size": "16:9"
}'
Python
import os
import requests
res = requests.post(
"https://nymbot.ai/api/v1/images/generations",
headers={"Authorization": "Bearer " + os.environ["NYMBOT_API_KEY"]},
json={"model": "nano-banana", "prompt": "A lighthouse at dusk, oil painting", "size": "16:9"},
)
res.raise_for_status()
print(res.json()["data"][0]["url"])
JavaScript
const res = await fetch("https://nymbot.ai/api/v1/images/generations", {
method: "POST",
headers: {
"Authorization": "Bearer " + process.env.NYMBOT_API_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify({ model: "nano-banana", prompt: "A lighthouse at dusk, oil painting", size: "16:9" }),
});
const body = await res.json();
console.log(body.data[0].url);
ਚਿੱਤਰਾਂ ਦਾ ਸੰਪਾਦਨ
ਤੁਹਾਡੇ ਵੱਲੋਂ ਅਪਲੋਡ ਕੀਤੀ ਗਈ ਤਸਵੀਰ ਨੂੰ ਬਦਲਦਾ ਹੈ, ਇੱਕ ਪ੍ਰੋਂਪਟ ਤੋਂ ਬਾਅਦ। ਇਹ ਓਪਨਏਆਈ ਦਾ ਸੰਪਾਦਨ ਅੰਤਮ ਬਿੰਦੂ ਹੈ, ਇਸ ਲਈ ਓਪਨਏਆਈ ਐਸਡੀਕੇ ' images.edit ਕੰਮ ਕਰਦਾ ਹੈ, ਜੋ ਕਿ ਹੈ. ਸਿਰਫ Pro ਜੇਨਰੇਟਰ ਨਾਲ edit ਮਾਡਲ ਦੀ ਲੜੀ 'ਤੇ ਇਸ ਨੂੰ ਪ੍ਰਾਪਤ ਕਰੋ.
POST https://nymbot.ai/api/v1/images/edits - ਇੱਕ API key ਦੀ ਲੋੜ ਹੈ, ਜ ਚਾਨਣ ਦੀ ਭੁਗਤਾਨਸਰੀਰ ਨੂੰ multipart/form-data32 MB ਤੋਂ ਵੱਧ
| ਫੀਲਡ | ਕਿਸਮ | ਦੀ ਲੋੜ | ਚਿੱਤਰ |
|---|---|---|---|
image | ਫਾਈਲ | ਹਾਂ | ਡਾਊਨਲੋਡ ਕਰਨ ਲਈ ਚਿੱਤਰ: PNG, JPEG, WebP ਜ GIF, ਵੱਧ 20 MB. image[]ਪਹਿਲਾ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। |
prompt | ਸਟੀਲ | ਹਾਂ | ਕੀ ਬਦਲਣਾ ਹੈ। |
model | ਸਟੀਲ | ਹਾਂ | ਇੱਕ ਜੇਨਰੇਟਰ ਨਾਲ edit. |
n | ਨਿੱਜੀ | ਕੋਈ | 1 ਤੋਂ 4 |
sizeaspect_ratioqualitynegative_promptoutput_format | ਸਟੀਲ | ਕੋਈ | ਕਿਰਪਾ ਕਰਕੇ |
response_format | ਸਟੀਲ | ਕੋਈ | "b64_json" (ਉਦਾਹਰਨ ਲਈ ਇੱਥੇ) ਜ "url". |
ਤੁਹਾਡੇ ਦੁਆਰਾ ਅੱਪਲੋਡ ਕੀਤੀ ਗਈ ਤਸਵੀਰ ਨੂੰ ਇੱਕ ਚੰਗੀ ਤਰ੍ਹਾਂ ਤਿਆਰ ਕੀਤੀ ਹੋਈ ਪੀ. ਐੱਨ. ਜੀ., ਜੇ. ਪੀ. ਈ. ਜੀ., ਵੈੱਬ. ਪੀ. ਜਾਂ ਜੀ. ਆਈ. ਐੱਫ. ਵਜੋਂ ਚੈੱਕ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਜਿਸ ਨੂੰ ਇਸ ਦੀ ਅਸਲ ਕਿਸਮ ਵਜੋਂ ਭੇਜਿਆ ਜਾਂਦਾ ਹੈ, ਅਤੇ ਇੱਕ ਜਨਤਕ ਬਲੌਸਮ ਹੋਸਟ'ਤੇ ਪਾ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ, ਕਿਉਂਕਿ ਜਨਰੇਟਰ ਲਿੰਕ ਦੁਆਰਾ ਆਪਣੀ ਇਨਪੁਟ ਪ੍ਰਾਪਤ ਕਰਦੇ ਹਨ। ਇਸ ਨੂੰ ਜਨਤਕ ਮੰਨੋ। ਜੇ ਸੰਪਾਦਨ ਅਸਫਲ ਹੋ ਜਾਂਦਾ ਹੈ ਅਤੇ ਕੁਝ ਵੀ ਚਾਰਜ ਨਹੀਂ ਕੀਤਾ ਜਾਂਦਾ, ਤਾਂ ਹੋਸਟ ਕੀਤੀ ਕਾਪੀ ਨੂੰ ਦੁਬਾਰਾ ਮਿਟਾ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। ਜਵਾਬ ਦਾ ਆਕਾਰ ਪੀਡ਼੍ਹੀ ਲਈ ਉਹੀ ਹੁੰਦਾ ਹੈ। ਕੀਮਤ ਜਨਰੇਟਰ ਦੀ ਕੀਮਤ ਹੈ, ਜਿਸ ਵਿੱਚ ਕੁਝ ਜਨਰੇਟਰਾਂ ਲਈ ਇੰਪੁੱਟ ਤਸਵੀਰ ਲਈ ਇੱਕ ਚਾਰਜ ਸ਼ਾਮਲ ਹੁੰਦਾ ਹੈ।
ਜਵਾਬ
{
"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 ਨਾ ਕਰ ਸਕਦਾ ਹੈ (edit_unsupported). |
413 | ਚਿੱਤਰ ਵੱਧ 20 MB (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"));
ਵੀਡੀਓ
ਇੱਕ ਵੀਡੀਓ ਵਿੱਚ ਮਿੰਟ ਲੱਗਦੇ ਹਨ, ਇਸ ਲਈ ਇਹ ਪਿਛੋਕਡ਼ ਵਿੱਚ ਚਲਦਾ ਹੈ। ਤੁਸੀਂ ਇਸ ਨੂੰ ਜਮ੍ਹਾਂ ਕਰਦੇ ਹੋ, ਤੁਰੰਤ ਇੱਕ ਆਈ. ਡੀ. ਪ੍ਰਾਪਤ ਕਰਦੇ ਹੋ, ਅਤੇ ਆਈ. ਡੀ. ਬਾਰੇ ਪੁੱਛੋ ਜਦੋਂ ਤੱਕ ਇਹ ਪੂਰਾ ਨਹੀਂ ਹੋ ਜਾਂਦਾ। ਹਰ ਵੀਡੀਓ ਜਨਰੇਟਰ ਪ੍ਰੋ ਬਕਾਇਆ ਖਰਚ ਕਰਦਾ ਹੈ।
POST https://nymbot.ai/api/v1/videos - ਇੱਕ API key ਦੀ ਲੋੜ ਹੈ, ਜ ਚਾਨਣ ਦੀ ਭੁਗਤਾਨ. ਵਾਪਸੀਆਂ 202.
| ਫੀਲਡ | ਕਿਸਮ | ਦੀ ਲੋੜ | ਚਿੱਤਰ |
|---|---|---|---|
model | ਸਟੀਲ | ਹਾਂ | ਤੋਂ ਇੱਕ ਵੀਡੀਓ ਜਨਰੇਟਰ ਆਈ. ਡੀ. GET /api/v1/models?type=videoਅਜਿਹੇ veo. |
prompt | ਸਟੀਲ | ਹਾਂ | ਕੀ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ। |
duration | ਨੰਬਰ ਜਾਂ ਸਤਰ | ਕੋਈ | ਸਕਿੰਟਾਂ ਵਿੱਚ ਲੰਬਾਈ, 0 ਤੋਂ ਵੱਧ ਅਤੇ 60 ਤੱਕ। ਸਿਰਫ ਉਹਨਾਂ ਜਨਰੇਟਰਾਂ ਦੁਆਰਾ ਵਰਤੀ ਜਾਂਦੀ ਹੈ ਜੋ ਤੁਹਾਨੂੰ ਲੰਬਾਈ ਦੀ ਚੋਣ ਕਰਨ ਦਿੰਦੇ ਹਨ; ਦੂਸਰੇ ਆਪਣੀ ਆਮ ਲੰਬਾਈ ਬਣਾਉਂਦੇ ਹਨ, ਜੋ ਕਿ ਹੈ seconds ਜਵਾਬ ਵਿੱਚ ਅਤੇ ਕੀਮਤ ਦੀ ਪਾਲਣਾ ਕਰੋ. |
aspect_ratio | ਸਟੀਲ | ਕੋਈ | ਜਿਵੇਂ ਕਿ "16:9" ਜਾਂ "9:16"ਇੱਕ ਅਕਾਰ ਜਿਵੇਂ ਕਿ "1280x720" ਸਭ ਤੋਂ ਨਜ਼ਦੀਕੀ ਅਨੁਪਾਤ ਬਣ ਜਾਂਦਾ ਹੈ। |
resolutionquality | ਸਟੀਲ | ਕੋਈ | ਜਨਰੇਟਰਾਂ ਵਿੱਚੋਂ ਇੱਕ resolutions ਮਾਡਲ ਦੀ ਲੜੀ 'ਤੇ, ਅਜਿਹੇ "720p" ਜਾਂ "1080p". ਇਹ ਕੀਮਤ ਨੂੰ ਸਥਾਪਤ ਕਰਦਾ ਹੈ. ਹੋਰ ਕਿਸੇ ਵੀ ਨਾਲ ਰਜਿਸਟਰ ਕੀਤਾ ਗਿਆ ਹੈ unsupported_resolution. |
image_url | ਸਟੀਲ | ਕੋਈ | ਇੱਕ ਚਿੱਤਰ ਤੱਕ ਸ਼ੁਰੂ ਕਰਨ ਲਈ: a https:// ਲਿੰਕ ਜਾਂ ਇੱਕ data:image/… URL, ਜੋ ਕਿ ਪਹਿਲੀ ਇੱਕ ਪ੍ਰਾਈਵੇਟ Blossom ਹੋਸਟ 'ਤੇ ਆਉਟਪੁੱਟ ਕੀਤਾ ਗਿਆ ਹੈ. requires_image_url. |
ਕੀਮਤ ਫਿਕਸ ਕੀਤਾ ਗਿਆ ਹੈ, ਜਦ ਤੁਹਾਨੂੰ ਪੋਸਟ ਕੀਤਾ ਗਿਆ ਹੈ, ਜੇਨਰੇਟਰ, ਹੱਲ ਅਤੇ ਲੰਬਾਈ, ਇਸ ਲਈ ਇਸ ਨੂੰ ਆਪਣੇ ਪ੍ਰੋ ਬਿਲਡਿੰਗ ਤੱਕ ਲਾਗੂ ਕੀਤਾ ਗਿਆ ਹੈ, ਜਦ ਕਿ ਸਪਲਾਇਰ ਕੰਮ ਨੂੰ स्वीकार ਕਰੇਗਾ, ਅਤੇ ਇਸ ਲਈ ਤਿਆਰ ਕੀਤਾ ਗਿਆ ਹੈ
cost, estimated_cost ਅਤੇ nymbotਜੇ ਪ੍ਰਾਜੈਕਟਰ ਕੰਮ ਨੂੰ ਰਜਿਸਟਰ ਕਰਦਾ ਹੈ, ਤਾਂ ਕੋਈ ਵੀ ਰਜਿਸਟਰ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ. ਜੇ ਪ੍ਰਾਜੈਕਟ ਦੇ ਬਾਅਦ ਰਜਿਸਟਰ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ, ਜਾਂ ਕਲੀਪ ਨੂੰ ਰਜਿਸਟਰ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ ਅਤੇ ਪ੍ਰਾਜੈਕਟਰ ਇਸ ਲਈ ਫੀਚਰ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ, ਤਾਂ ਫੀਚਰ ਇੱਕ ਵਾਰ, ਆਟੋਮੈਟਿਕ ਤੌਰ ਤੇ ਰਜਿਸਟਰ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ. ਇੱਕ ਰਜਿਸਟਰ, ਜੋ ਇੱਕ ਘੰਟੇ ਦੇ ਬਾਅਦ ਵੀ ਜਾ ਰਿਹਾ ਹੈ, ਨੂੰ ਰਜਿਸਟਰ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ, ਅਤੇ ਇਸ ਨੂੰ ਰਜਿਸਟਰ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ, ਕਿਉਕਿ ਪ੍ਰਾਜੈਕਟਰ ਇੱਕ ਰਜਿਸਟਰ ਪ੍ਰਾਪਤ ਕਰੇਗਾ. ਇੱਕ ਰਜਿਸਟਰ ਰਜਿਸਟਰ ਕ੍ਰੈਡਿਟ ਨੂੰ ਰਜਿਸਟਰ ਕਰਦਾ ਹੈ ਪਰ ਕ੍ਰੈਡਿਟ ਦੀ ਭੁਗਤਾਨ ਕੰਟਰੋਲ
ਜਵਾਬ (202)
{
"id": "vid_3e9a51c07b2f4d86e0a1c4f2",
"object": "video",
"model": "veo",
"status": "in_progress",
"created": 1790726400,
"seconds": 8,
"resolution": "1080p",
"estimated_cost": 3.18,
"expires_at": 1790812800,
"cost": 3.18,
"nymbot": { "balance": "pro", "charged_credits": 31.8, "charged_sats": 3180, "balance_credits": 378.808, "balance_sats": 37880.8 }
}
status ਇਸ ਤਰ੍ਹਾਂ ਸ਼ੁਰੂ ਹੁੰਦਾ ਹੈ in_progressਜ completed ਪਹਿਲਾਂ ਤੋਂ ਹੀ ਵੀਡੀਓ ਦੇ ਨਾਲ data ਜਦੋਂ ਜਨਰੇਟਰ ਨੇ ਇਸ ਨੂੰ ਤੁਰੰਤ ਵਾਪਸ ਕਰ ਦਿੱਤਾ।
ਇੱਕ ਵੀਡੀਓ'ਤੇ ਚੈੱਕ ਕਰ ਰਿਹਾ ਹੈ
GET https://nymbot.ai/api/v1/videos/{id} - ਇੱਕ ਕੂਕੀਜ਼ ਦੀ ਲੋੜ ਹੈ ਜੋ ਇਸ ਨੂੰ ਪੋਸਟ ਕੀਤਾ ਗਿਆ ਸੀ. ਇੱਕ ਕੂਕੀਜ਼ ਜੋ ਇਸ ਦੇ ਕੂਕੀਜ਼ ਨੂੰ ਪ੍ਰਾਪਤ ਕੀਤਾ ਗਿਆ ਹੈ, ਪਰ ਇਹ ਵੀ ਚੈੱਕ ਕਰ ਸਕਦਾ ਹੈ.
ਇਹ ਜਵਾਬ ਦਿੰਦਾ ਹੈ 202 ਵੀਡੀਓ ਬਣਾਇਆ ਜਾ ਰਿਹਾ ਹੈ ਅਤੇ 200 ਇੱਕ ਵਾਰ ਇਸ ਨੂੰ ਪੂਰਾ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ, ਜਾਂ ਇਸ ਨੂੰ ਤਬਦੀਲ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ. ਹਰ 5 ਤੋਂ 10 ਸਕਿੰਟਾਂ ਲਈ ਸਵਾਲ ਕਰੋ. ਹਰ ਚੈਕ ਇੱਕ ਵਾਰ ਸਪਲਾਇਰ ਨੂੰ ਸਵਾਲ ਕਰਦਾ ਹੈ ਅਤੇ ਇੱਕ ਵਾਰ ਜਵਾਬ ਕਰਦਾ ਹੈ; ਇਸ ਨੂੰ ਵੀਡੀਓ ਲਈ ਕੋਈ ਵੀ ਤਜਰਬਾ ਨਹੀਂ ਕਰਦੀ ਹੈ. ਇੱਕ ਕੰਮ ਨੂੰ ਪੋਸਟ ਕੀਤਾ ਗਿਆਨ ਤੋਂ ਬਾਅਦ 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ਮੁਕੰਮਲ ਵੀਡੀਓ ਇੱਕ ਜਨਤਕ ਬਲੌਸਮ ਹੋਸਟ ਉੱਤੇ ਹੈ, ਜਿਵੇਂ ਕਿ ਤਿਆਰ ਕੀਤੀਆਂ ਤਸਵੀਰਾਂ।
| ਸਥਿਤੀ | ਕਦਮ |
|---|---|
400 | ਕੋਈ ਤਬਦੀਲੀ ਨਹੀਂ; ਇੱਕ ਲੰਬਾਈ 0 ਤੋਂ 60 ਤੱਕ (invalid_value); ਇੱਕ ਵਿਲੱਖਣ ਜੈੱਟਵਰਕ ਦੀ ਪੇਸ਼ਕਸ਼ ਕਰਦਾ ਹੈ (unsupported_resolution); ਇੱਕ ਜੇਨਰੇਟਰ ਲਈ ਕੋਈ ਚਿੱਤਰ ਹੈ, ਜੋ ਕਿ ਇੱਕ ਦੀ ਲੋੜ ਹੈ (image_required); ਇੱਕ ਮਾਡਲ, ਜੋ ਕਿ ਇੱਕ ਵੀਡੀਓ ਜੇਨਰੇਟਰ ਨਹੀਂ ਹੈ (invalid_model). |
402 | ਪ੍ਰੋ ਸੰਤੁਲਨ ਵੀਡੀਓ ਨੂੰ ਕਵਰ ਨਹੀਂ ਕਰ ਸਕਦਾ। |
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);
ਕਾਪੀਰਾਈਟ © 2018
ਟੈਕਸਟ ਨੂੰ ਉੱਚੀ ਆਵਾਜ਼ ਵਿੱਚ ਪਡ਼੍ਹਦਾ ਹੈ ਅਤੇ ਆਡੀਓ ਫਾਈਲ ਨੂੰ ਵਾਪਸ ਕਰਦਾ ਹੈ, ਨਾ ਕਿ ਇੱਕ ਲਿੰਕ। ਇਹ ਓਪਨਏਆਈ ਦਾ ਭਾਸ਼ਣ ਅੰਤਮ ਬਿੰਦੂ ਹੈ, ਇਸ ਲਈ audio.speech.create ਓਪਨਏਆਈ ਐਸਡੀਕੇ ਵਿੱਚ ਕੰਮ ਕਰਦਾ ਹੈ।
POST https://nymbot.ai/api/v1/audio/speech - ਇੱਕ API key ਦੀ ਲੋੜ ਹੈ, ਜ ਚਾਨਣ ਦੀ ਭੁਗਤਾਨ.
| ਫੀਲਡ | ਕਿਸਮ | ਦੀ ਲੋੜ | ਚਿੱਤਰ |
|---|---|---|---|
model | ਸਟੀਲ | ਕੋਈ | ਤੋਂ ਇੱਕ ਭਾਸ਼ਣ ਮਾਡਲ ਆਡੀਓ ਮਾਡਲਾਂ ਦੀ ਸੂਚੀਡਿਫਾਲਟਃ ਸਟੈਂਡਰਡ ਅਵਾਜ਼, @cf/myshell-ai/melotts. aura-2 Deepgram Aura 2 ਦੇ ਵਿਚਾਰ |
input | ਸਟੀਲ | ਹਾਂ | ਪਡ਼੍ਹਨ ਲਈ ਟੈਕਸਟਃ ਸਟੈਂਡਰਡ ਅਵਾਜ਼ ਲਈ 800 ਅੱਖਰਾਂ ਤੱਕ, ਔਰਾ 2 ਲਈ 2,000। |
voice | ਸਟੀਲ | ਕੋਈ | ਤੋਂ ਇੱਕ ਅਵਾਜ਼ ਆਈ. ਡੀ. ਕਾਪੀਰਾਈਟ © 2018: ਇੱਕ ਔਰਾ ਸਪੀਕਰ ਜਿਵੇਂ ਕਿ luna (ਅਤੇ aura-2-luna-en), ਜਾਂ ਇੱਕ ਮੇਲੋਟੀਐਸ ਭਾਸ਼ਾ (en, es, fr, zh). ਓਪਨਏਆਈ ਆਵਾਜ਼ ਦੇ ਨਾਮ ਜਿਵੇਂ ਕਿ alloy ਸਵੀਕਾਰ ਕੀਤੇ ਜਾਂਦੇ ਹਨ ਅਤੇ ਮਾਡਲ ਦੀ ਡਿਫਾਲਟ ਆਵਾਜ਼ ਦਿੰਦੇ ਹਨ। |
language | ਸਟੀਲ | ਕੋਈ | ਇੱਕ ਭਾਸ਼ਾ ਕੋਡ ਦੇ ਤੌਰ ਤੇ esਆਵਾਜ਼ ਤੋਂ ਬਿਨਾਂ, ਇਹ ਉਸ ਭਾਸ਼ਾ ਲਈ ਇੱਕ ਦੀ ਚੋਣ ਕਰਦਾ ਹੈ। ਇੱਕ ਆਵਾਜ਼ ਜੋ ਦੂਜੀ ਭਾਸ਼ਾ ਬੋਲਦੀ ਹੈ ਵਾਪਸ ਆ ਜਾਂਦੀ ਹੈ। 422 voice_language_mismatch, ਅਤੇ ਇੱਕ ਭਾਸ਼ਾ, ਜੋ ਕਿ ਮਾਡਲ ਲਈ ਕੋਈ ਸਵਾਗਤ ਨਹੀਂ ਹੈ 422 unsupported_language. |
response_format | ਸਟੀਲ | ਕੋਈ | ਮਿਆਰੀ ਆਵਾਜ਼ ਵਾਪਸ ਆਉਂਦੀ ਹੈ mp3 ਸਿਰਫ਼। ਔਰਾ 2 ਵਾਪਸ ਆਉਂਦੀ ਹੈ mp3 (ਉਦਾਹਰਨ ਲਈ) opus, aac, flac, wav ਜਾਂ pcm. |
speed | ਨੰਬਰ | ਕੋਈ | ਪੋਸਟ ਕੀਤਾ ਅਤੇ ਨੈੱਟਵਰਕ ਕੀਤਾ. |
ਸਟੈਂਡਰਡ ਅਵਾਜ਼ ਦੀ ਕੀਮਤ ਇੱਕ ਫਲੈਟ 3 ਸਟੈਂਡਰਡ ਕ੍ਰੈਡਿਟ (30 ਸੈਟਸ) ਹੈ, ਜਿਵੇਂ ਕਿ ਐਪ ਵਿੱਚ ਹੈ। ਔਰਾ 2 ਪ੍ਰੋ ਹੈ, ਜਿਸ ਦੀ ਕੀਮਤ ਤੁਹਾਡੇ ਦੁਆਰਾ ਭੇਜੇ ਗਏ ਅੱਖਰਾਂ ਦੁਆਰਾ ਹੈ। ਪ੍ਰਤੀਕਿਰਿਆ ਬਾਡੀ ਆਡੀਓ ਹੈ, ਜਿਸ ਵਿੱਚ ਇੱਕ ਮੇਲ ਹੈ।
Content-Type; ਕੀਮਤ ਵਿੱਚ ਹੈ X-Nymbot-Cost-Sats ਐਪਲੀਕੇਸ਼ਨ: If the speech model fails, nothing is charged.
ਜਵਾਬ
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()));
ਆਡੀਓ ਮਾਡਲ ਅਤੇ ਹਵਾ
ਚੈੱਕ ਮਾਡਲ ਅਤੇ ਰਸੋਈ ਦੀ ਚੋਣ ਕਰਨ ਲਈ ਦੋ ਪ੍ਰਸਿੱਧ ਲਿੰਕ, ਜਾਂ ਇੱਕ transcription ਮਾਡਲ. There are 41 Aura 2 English speakers and four MeloTTS languages.
GET https://nymbot.ai/api/v1/audio/models - ਕੋਈ ਕੁੰਜੀ ਦੀ ਲੋਡ਼ ਨਹੀਂ ਹੈ।
GET https://nymbot.ai/api/v1/audio/voices?language=en - ਕੋਈ ਕੁੰਜੀ ਦੀ ਲੋਡ਼ ਨਹੀਂ ਹੈ।
| ਫੀਲਡ | ਕਿਸਮ | ਦੀ ਲੋੜ | ਚਿੱਤਰ |
|---|---|---|---|
language | ਕ੍ਰੈਡਿਟ (Query) | ਕੋਈ | ਸਿਰਫ਼ ਇਸ ਭਾਸ਼ਾ ਲਈ ਆਵਾਜ਼ਾਂ। |
model | ਕ੍ਰੈਡਿਟ (Query) | ਕੋਈ | ਇਹ ਮਾਡਲ ਲਈ ਸਿਰਫ ਸਵਾਲ ਹਨ. |
ਕਾਪੀਰਾਈਟ © 2018 ਟੈਟੂ ਕਲਾ ਦੇ ਵਿਚਾਰ
{
"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);
ਕਾਪੀਰਾਈਟ © 2018
ਕਾਪੀਰਾਈਟ © 2018 ਟੈਟੂ ਕਾਪੀਰਾਈਟ © 2018 ਟੈਟੂ ਕਾਪੀਰਾਈਟ © 2018 ਟੈਟੂ ਕਾਪੀਰਾਈਟ © 2018 ਟੈਟੂ ਕਾਪੀਰਾਈਟ © 2018 ਟੈਟੂ ਕਾਪੀਰਾਈਟ © 2018 ਟੈਟੂ ਕਾਪੀਰਾਈਟ © 2018 ਟੈਟੂ ਕਾਪੀਰਾਈਟ © 2018 ਟੈਟੂ ਕਾਪੀਰਾਈਟ © 2018 ਟੈਟੂ ਕਾਪੀਰਾਈਟ © 2018 ਟੈਟੂ ਕਾਪੀਰਾਈਟ © 2018 ਟੈਟੂ ਕਾਪੀਰਾਈਟ © 2018 ਟੈਟੂ ਕਾਪੀਰਾਈਟ © 2018 ਟੈਟੂ ਕਾਪੀਰਾਈਟ © 2018 ਟੈਟੂ ਕਾਪੀ
audio.transcriptions.create ਕਾਰੋਬਾਰ
POST https://nymbot.ai/api/v1/audio/transcriptions - ਇੱਕ API key ਦੀ ਲੋੜ ਹੈ, ਜ ਚਾਨਣ ਦੀ ਭੁਗਤਾਨਸਰੀਰ ਨੂੰ multipart/form-data.
| ਫੀਲਡ | ਕਿਸਮ | ਦੀ ਲੋੜ | ਚਿੱਤਰ |
|---|---|---|---|
file | ਫਾਈਲ | ਹਾਂ | ਰਿਕਾਰਡਿੰਗ, 256 ਬਾਈਟਾਂ ਤੋਂ 25 ਐੱਮ. ਬੀ. ਤੱਕ ਅਤੇ 30 ਮਿੰਟ ਤੱਕਃ ਡਬਲਿਊ. ਏ. ਵੀ., ਵੈੱਬ. ਐੱਮ., ਐੱਮ. ਪੀ. 4 ਜਾਂ ਐੱਮ. 4ਏ, ਓਗ ਜਾਂ ਓਪਸ, ਐੱਮ. ਪੀ. 3 ਅਤੇ ਹੋਰ ਫਾਰਮੈਟ ਵਿਸਪਰ ਰੀਡਸ. ਐੱਮ. ਪੀ. 3 ਅਤੇ ਹੋਰ ਫਾਰਮੈਟ ਜਿਨ੍ਹਾਂ ਦੀ ਲੰਬਾਈ ਨੂੰ ਅੱਗੇ ਨਹੀਂ ਪਡ਼੍ਹਿਆ ਜਾ ਸਕਦਾ, ਉਹ 1.8 ਐੱਮ. ਬੀ. ਤੱਕ ਸੀਮਤ ਹਨ। |
model | ਸਟੀਲ | ਕੋਈ | ਡਿਫਾਲਟ whisper, ਜੋ ਕਿ Whisper Large v3 Turbo ਹੈ. whisper-1, whisper-large-v3-turbo ਅਤੇ @cf/openai/whisper-large-v3-turbo ਮਤਲਬ ਇੱਕੋ ਹੈ। |
language | ਸਟੀਲ | ਕੋਈ | ਕਾਪੀਰਾਈਟ © 2018 ਟੈਟੂ ਕਲਾ ਦੇ ਵਿਚਾਰ enਪੋਸਟ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ, ਜੇ. |
prompt | ਸਟੀਲ | ਕੋਈ | ਕਾਪੀਰਾਈਟ © 2018 ਕਾਪੀਰਾਈਟ © 2018 ਟੈਟੂ ਕਲਾ ਦੇ ਵਿਚਾਰ |
response_format | ਸਟੀਲ | ਕੋਈ | json (ਉਦਾਹਰਨ ਲਈ) text, srt, vtt ਜਾਂ verbose_json. |
ਡਬਲਯੂ. ਏ. ਵੀ., ਵੈੱਬ. ਐੱਮ., ਐੱਮ. ਪੀ. 4 ਅਤੇ ਓ. ਜੀ. ਜੀ. ਫਾਈਲਾਂ ਲਈ ਕੁਝ ਵੀ ਚੱਲਣ ਤੋਂ ਪਹਿਲਾਂ ਫਾਈਲ ਦੀ ਲੰਬਾਈ ਨੂੰ ਪਡ਼੍ਹਿਆ ਜਾਂਦਾ ਹੈ, ਇਸ ਲਈ 30 ਮਿੰਟ ਤੋਂ ਵੱਧ ਦੀ ਰਿਕਾਰਡਿੰਗ ਨੂੰ ਅੱਗੇ (3 ਸਕਿੰਟ ਦੀ ਗ੍ਰੇਸ ਨਾਲ) ਇਨਕਾਰ ਕਰ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। ਇੱਕ ਡਬਲਯੂ. ਏ. ਵੀ. ਫਾਈਲ ਦੀ ਲੰਬਾਈ ਇਸ ਦੇ ਸੈਂਪਲ ਰੇਟ, ਚੈਨਲਾਂ ਅਤੇ ਸੈਂਪਲ ਸਾਈਜ਼ ਤੋਂ ਆਉਂਦੀ ਹੈ। ਹੋਰ ਫਾਰਮੈਟਾਂ ਦੀ ਲੰਬਾਈ, ਜਿਵੇਂ ਕਿ ਐੱਮ. ਪੀ. 3, ਨੂੰ ਅੱਗੇ ਨਹੀਂ ਪਡ਼੍ਹਿਆ ਜਾ ਸਕਦਾ, ਇਸ ਲਈ ਉਹ ਅਕਾਰ ਦੁਆਰਾ ਸੀਮਤ ਹਨਃ ਸਭ ਤੋਂ ਘੱਟ ਬਿਟਰੇਟ'ਤੇ ਨਿੰਬੋਟ ਮੰਨਦਾ ਹੈ, 8 ਕੇ. ਬੀ. ਪੀ. ਐੱਸ., 30 ਮਿੰਟ 1.8 ਐੱਮ. ਬੀ. ਹੈ, ਅਤੇ ਅਜਿਹੇ ਫਾਰਮੈਟ ਵਿੱਚ ਇੱਕ ਵੱਡੀ ਫਾਈਲ ਨਾਲ ਇਨਕਾਰ ਕਰ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। 413
audio_too_long ਕਿਸੇ ਵੀ ਚੀਜ਼ ਦੇ ਚੱਲਣ ਤੋਂ ਪਹਿਲਾਂ। ਡਬਲਯੂ. ਏ. ਵੀ., ਵੈਬ. ਐੱਮ., ਐੱਮ. ਪੀ. 4 ਜਾਂ ਓ. ਜੀ. ਜੀ. ਦੇ ਰੂਪ ਵਿੱਚ ਲੰਬੀਆਂ ਰਿਕਾਰਡਿੰਗਾਂ ਭੇਜੋ। ਜੇ ਵਿਸਪਰ ਫਿਰ 30 ਮਿੰਟ ਤੋਂ ਵੱਧ ਦੀ ਰਿਪੋਰਟ ਦਿੰਦਾ ਹੈ, ਤਾਂ ਬੇਨਤੀ ਨਾਲ ਇਨਕਾਰ ਕਰ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ।
413 audio_too_long, ਅਤੇ ਕਿਉਕਿ Whisper ਚਲਾਇਆ ਗਿਆ ਹੈ, 30 ਮਿੰਟ ਚਾਰਜ ਕੀਤਾ ਗਿਆ ਹੈ.
ਤੁਹਾਨੂੰ ਆਡੀਓ ਦੀ ਲੰਬਾਈ ਲਈ ਭੁਗਤਾਨ ਕਰ ਰਹੇ ਹਨ, ਦੂਜੇ ਨੂੰ ਅੱਗੇ: ਫਾਇਲ ਤੋਂ ਲੰਬਾਈ ਦੀ ਲੰਬਾਈ ਦੇ ਸਭ ਤੋਂ ਲੰਬਾਈ, ਫਾਇਲ ਦੀ ਲੰਬਾਈ Whisper ਰਿਪੋਰਟ, ਅਤੇ ਫਾਇਲ ਦੇ ਆਕਾਰ ਦੇ ਘੱਟੋ-ਘੱਟ ਸਹਾਇਕ ਹੈ, Whisper ਦੀ ਮਿੰਟ ਪ੍ਰੀ-ਮਿੰਟ ਦੀ ਕੀਮਤ ਦੇ ਨਾਲ ਆਮ ਫੀਸ ਅਤੇ ਮਿੰਟ ਦੇ ਨਾਲ, ਅਤੇ ਘੱਟੋ-ਘੱਟ 0.05 ਕ੍ਰੈਡਿਟ ਇੱਕ ਰਜਿਸਟਰ. ਇਸ ਨੂੰ ਇੱਕ ਮਿਆਰੀ ਬਿਲਡਿੰਗ ਤੱਕ ਭੁਗਤਾਨ ਕੀਤਾ ਗਿਆ ਹੈ, ਜਦ ਕਿ ਇਸ ਨੂੰ ਕਵਰ ਕਰ ਸਕਦਾ ਹੈ, ਅਤੇ Pro ਤੋਂ ਹੋਰ; 402 ਇਹ ਦੱਸਦਾ ਹੈ ਕਿ ਹਰੇਕ ਬਕਾਇਆ ਦੀ ਕੀ ਲੋਡ਼ ਹੋਵੇਗੀ। ਐਪ ਵਿੱਚ, ਇੱਕ ਵੌਇਸ ਸੰਦੇਸ਼ ਨੂੰ ਟ੍ਰਾਂਸਕ੍ਰਿਪਟ ਕਰਨਾ ਮੁਫ਼ਤ ਹੋ ਸਕਦਾ ਹੈ; ਏਪੀਆਈ ਉੱਤੇ ਇਹ ਹਮੇਸ਼ਾ ਚਾਰਜ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। ਜੇ ਵਿਸਪਰ ਫੇਲ ਹੁੰਦਾ ਹੈ, ਤਾਂ ਕੁਝ ਵੀ ਚਾਰਜ ਨਹੀਂ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।
ਜਵਾਬ
{
"text": "Your invoice has been paid.",
"usage": { "type": "duration", "seconds": 3 },
"nymbot": { "balance": "standard", "charged_credits": 0.05, "charged_sats": 0.5, "balance_credits": 120.35, "balance_sats": 1203.5 }
}
text ਕਾਪੀਰਾਈਟ © 2018 ਟੈਟੂ ਕਲਾ ਦੇ ਵਿਚਾਰ srt ਅਤੇ vtt ਡਾਊਨਲੋਡ Subtitles
verbose_json ਭਾਸ਼ਾ, ਮਿਆਦ ਅਤੇ ਸਮਾਂਬੱਧ ਹਿੱਸੇ ਜੋਡ਼ਦਾ ਹੈ। ਤਿੰਨਾਂ ਲਈ ਜੋ ਜੇ. ਐੱਸ. ਓ. ਐੱਨ. ਨਹੀਂ ਹਨ, ਲਾਗਤ ਸਿਰਲੇਖ ਵਿੱਚ ਹੈ।
| ਸਥਿਤੀ | ਕਦਮ |
|---|---|
400 | ਕੋਈ ਫਾਇਲ, ਕੋਈ ਉਪਲੱਬਧ ਆਡੀਓ ਫਾਇਲ (invalid_audio), ਇੱਕ ਖਾਸ ਫਾਰਮੈਟ, ਜਾਂ ਇੱਕ ਮਾਡਲ ਜੋ ਇੱਕ transcription ਮਾਡਲ ਨਹੀਂ ਹੈ (invalid_model). |
402 | ਬਿਲਕੁਲ ਇਸ ਨੂੰ ਕਵਰ ਨਾ ਕਰ ਸਕਦਾ ਹੈ. |
413 | ਫਾਈਲ 25 ਐੱਮ. ਬੀ. ਤੋਂ ਵੱਧ ਹੈ (file_too_large) ਜਾਂ 30 ਮਿੰਟ ਤੋਂ ਵੱਧ ਦੀ ਰਿਕਾਰਡਿੰਗ, ਜਾਂ, ਇੱਕ ਫਾਰਮੈਟ ਵਿੱਚ ਜਿਸ ਦੀ ਲੰਬਾਈ ਨੂੰ ਅੱਗੇ ਨਹੀਂ ਪਡ਼੍ਹਿਆ ਜਾ ਸਕਦਾ, 1.8 ਐੱਮ. ਬੀ. ਤੋਂ ਵੱਧ (audio_too_long). |
502 | ਵਿਸਪਰ ਆਡੀਓ ਦੀ ਪ੍ਰਕਿਰਿਆ ਨਹੀਂ ਕਰ ਸਕਿਆ। ਕੁਝ ਵੀ ਚਾਰਜ ਨਹੀਂ ਕੀਤਾ ਗਿਆ ਹੈ। |
cURL
curl https://nymbot.ai/api/v1/audio/transcriptions \
-H "Authorization: Bearer $NYMBOT_API_KEY" \
-F [email protected] \
-F model=whisper \
-F response_format=json
Python
import os
from openai import OpenAI
client = OpenAI(base_url="https://nymbot.ai/api/v1", api_key=os.environ["NYMBOT_API_KEY"])
with open("memo.m4a", "rb") as f:
transcript = client.audio.transcriptions.create(model="whisper", file=f)
print(transcript.text)
JavaScript
import fs from "node:fs";
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://nymbot.ai/api/v1", apiKey: process.env.NYMBOT_API_KEY });
const transcript = await client.audio.transcriptions.create({
model: "whisper",
file: fs.createReadStream("memo.m4a"),
});
console.log(transcript.text);
ਐਪਲੀਕੇਸ਼ਨ
POST https://nymbot.ai/api/v1/audio/translations - ਇੱਕ API key ਦੀ ਲੋੜ ਹੈ, ਜ ਚਾਨਣ ਦੀ ਭੁਗਤਾਨਸਰੀਰ ਨੂੰ multipart/form-data.
ਟ੍ਰਾਂਸਕ੍ਰਿਪਸ਼ਨ ਵਾਂਗ ਹੀ, ਇਹਨਾਂ ਤੋਂ ਇਲਾਵਾ ਇੱਕੋ ਜਿਹੇ ਖੇਤਰਾਂ ਦੇ ਨਾਲ languageਸਾਡੇ ਉਤਪਾਦ ਜ pricelist ਬਾਰੇ ਪੁੱਛ-ਗਿੱਛ ਲਈ, ਸਾਡੇ ਲਈ ਆਪਣੇ ਈ-ਮੇਲ ਨੂੰ ਛੱਡ, ਕਿਰਪਾ ਕਰਕੇ ਹੈ ਅਤੇ ਸਾਨੂੰ ਸੰਪਰਕ ਵਿੱਚ 24 ਘੰਟੇ ਦੇ ਅੰਦਰ-ਅੰਦਰ ਹੋ ਜਾਵੇਗਾ. 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);
ਬਿਲਡਿੰਗ
ਖੋਜ, ਕਲੱਸਟਰਿੰਗ ਅਤੇ ਡਿਡੁਪਲੀਕੇਸ਼ਨ ਲਈ ਟੈਕਸਟ ਨੂੰ ਵੈਕਟਰਾਂ ਵਿੱਚ ਬਦਲਦਾ ਹੈ। ਮਾਡਲ ਕਲਾਉਡਫਲੇਅਰ ਉੱਤੇ ਚਲਦੇ ਹਨ ਅਤੇ ਸਟੈਂਡਰਡ ਬੈਲੇਂਸ ਖਰਚ ਕਰਦੇ ਹਨ।
POST https://nymbot.ai/api/v1/embeddings - ਇੱਕ API key ਦੀ ਲੋੜ ਹੈ, ਜ ਚਾਨਣ ਦੀ ਭੁਗਤਾਨ.
| ਫੀਲਡ | ਕਿਸਮ | ਦੀ ਲੋੜ | ਚਿੱਤਰ |
|---|---|---|---|
model | ਸਟੀਲ | ਹਾਂ | ਤੋਂ ਇੱਕ ਇੰਬੈਡਿੰਗ ਮਾਡਲ GET /api/v1/models?type=embedding. |
input | String ਜ Array | ਹਾਂ | ਕਾਪੀਰਾਈਟ © 2018 ਟੈਟੂ ਕਲਾ ਦੇ ਵਿਚਾਰtoken_input_unsupported) ਹਰ ਇੰਪੁੱਟ ਮਾਡਲ ਦੇ ਨਾਲ ਸੰਪਰਕ ਕਰਨ ਦੀ ਲੋੜ ਹੈ context_length, ਇੱਕ ਟੋਕਨ ਵਿੱਚ ਲਗਭਗ ਚਾਰ ਬਾਈਟਾਂ ਦੇ ਰੂਪ ਵਿੱਚ ਗਿਣਿਆ ਜਾਂਦਾ ਹੈ। |
encoding_format | ਸਟੀਲ | ਕੋਈ | float (ਉਦਾਹਰਨ ਲਈ) or base64 (ਲਿਟਲ-ਐਂਡੀਅਨ 32-ਬਿੱਟ ਫਲੋਟਸ)। |
dimensions | ਨਿੱਜੀ | ਕੋਈ | ਮਾਡਲ ਦਾ ਆਪਣਾ ਆਕਾਰ, ਜਾਂ ਨਾਲ ਇੱਕ ਮਾਡਲ ਲਈ supported_dimensions ਉਹਨਾਂ ਵਿੱਚੋਂ ਇੱਕ; ਵੈਕਟਰ ਨੂੰ ਫਿਰ ਛੋਟਾ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਅਤੇ ਸਧਾਰਣ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। ਹੋਰ ਕੁਝ ਵੀ ਇਨਕਾਰ ਕਰ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। |
| ਮਾਡਲ | ਮਾਪ | ਪ੍ਰਸੰਗ |
|---|---|---|
@cf/baai/bge-m3 | 1024, ਬਹੁਤ ਸਾਰੀਆਂ ਭਾਸ਼ਾਵਾਂ | 8, 192 ਟੋਕਨ |
@cf/qwen/qwen3-embedding-0.6b | 1024, ਬਹੁਤ ਸਾਰੀਆਂ ਭਾਸ਼ਾਵਾਂ | 8, 192 ਟੋਕਨ |
@cf/baai/bge-large-en-v1.5 | 1024 ਅੰਗਰੇਜ਼ੀ | 512 ਟਿਕਨ |
@cf/baai/bge-base-en-v1.5 | 768, ਅੰਗਰੇਜ਼ੀ | 512 ਟਿਕਨ |
@cf/baai/bge-small-en-v1.5 | 384, ਅੰਗਰੇਜ਼ੀ | 512 ਟਿਕਨ |
ਮਾਡਲਾਂ ਦੀ ਸੂਚੀ ਸੱਚਾਈ ਦਾ ਸਰੋਤ ਹੈ ਜਿਸ ਲਈ ਉਪਲਬਧ ਹਨ ਅਤੇ ਉਹਨਾਂ ਦੀ ਕੀਮਤ ਕੀ ਹੈ; ਗੂਗਲ ਦਾ ਐਂਬੈਡਿੰਗਗੇਮਾ, ਬੇਨਤੀ'ਤੇ ਛੋਟੇ ਵੈਕਟਰਾਂ ਦੇ ਨਾਲ, ਉੱਥੇ ਵੀ ਦਿਖਾਈ ਦਿੰਦਾ ਹੈ ਜਦੋਂ ਕੈਟਾਲਾਗ ਦੀ ਕੀਮਤ ਹੁੰਦੀ ਹੈ। ਐਂਬੈਡਿੰਗ ਪ੍ਰਤੀ ਇੰਪੁੱਟ ਟੋਕਨ'ਤੇ ਮੀਟਰ ਕੀਤੇ ਜਾਂਦੇ ਹਨ, ਅਤੇ 0.05-credit ਘੱਟੋ ਘੱਟ ਹਰੇਕ ਬੇਨਤੀ'ਤੇ ਲਾਗੂ ਹੁੰਦਾ ਹੈ, ਹਰੇਕ ਇੰਪੁੱਟ'ਤੇ ਨਹੀਂ, ਇਸ ਲਈ ਇੱਕ ਬੇਨਤੀ ਵਿੱਚ ਬਹੁਤ ਸਾਰੇ ਟੈਕਸਟ ਨੂੰ ਬੈਚ ਕਰਨਾ ਉਹਨਾਂ ਨੂੰ ਇੱਕ ਵਾਰ ਵਿੱਚ ਇੱਕ ਭੇਜਣ ਨਾਲੋਂ ਬਹੁਤ ਸਸਤਾ ਹੁੰਦਾ ਹੈ।
ਜਵਾਬ
{
"object": "list",
"data": [
{ "object": "embedding", "index": 0, "embedding": [0.0213, -0.0487, 0.0112] }
],
"model": "@cf/baai/bge-m3",
"usage": { "prompt_tokens": 9, "total_tokens": 9 },
"nymbot": { "balance": "standard", "charged_credits": 0.05, "charged_sats": 0.5, "balance_credits": 1204.35, "balance_sats": 12043.5 }
}
| ਸਥਿਤੀ | ਕਦਮ |
|---|---|
400 | ਨੈੱਟਵਰਕ ਨੈੱਟਵਰਕ ਨੈੱਟਵਰਕ ਨੈੱਟਵਰਕtoken_input_unsupported); ਵੱਧ 100 ਇੰਪੁੱਟ (too_many_inputs); ਇੱਕ ਇੰਪੁੱਟ ਲੰਬਾਈ ਹੈ, ਜੋ ਕਿ ਮਾਡਲ ਦੀ ਲੋੜ ਹੈ (input_too_long); ਇੱਕ ਅਕਾਰ ਮਾਡਲ ਨਹੀਂ ਦੇ ਸਕਦਾ (unsupported_dimensions). |
402 | ਸਟੈਂਡਰਡ ਸੰਤੁਲਨ ਬਹੁਤ ਘੱਟ ਹੈ। ਐਂਬੈਡਿੰਗਜ਼ ਕਦੇ ਵੀ ਪ੍ਰੋ ਸੰਤੁਲਨ ਦੀ ਵਰਤੋਂ ਨਹੀਂ ਕਰਦੇ। |
404 | ਉਸ ਨਾਮ ਦਾ ਕੋਈ ਇੰਬੈਡਿੰਗ ਮਾਡਲ ਨਹੀਂ ਹੈ। |
502 | ਮਾਡਲ ਫੇਲ੍ਹ ਹੋ ਗਿਆ ਹੈ। ਕੁੱਝ ਵੀ ਚਾਰਜ ਨਹੀਂ ਕੀਤਾ ਗਿਆ ਹੈ। |
cURL
curl https://nymbot.ai/api/v1/embeddings \
-H "Authorization: Bearer $NYMBOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "@cf/baai/bge-m3", "input": ["Lightning invoices expire.", "Invoices on Lightning have a time limit."]}'
Python
import os
from openai import OpenAI
client = OpenAI(base_url="https://nymbot.ai/api/v1", api_key=os.environ["NYMBOT_API_KEY"])
result = client.embeddings.create(
model="@cf/baai/bge-m3",
input=["Lightning invoices expire.", "Invoices on Lightning have a time limit."],
)
print(len(result.data), len(result.data[0].embedding))
JavaScript
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://nymbot.ai/api/v1", apiKey: process.env.NYMBOT_API_KEY });
const result = await client.embeddings.create({
model: "@cf/baai/bge-m3",
input: ["Lightning invoices expire.", "Invoices on Lightning have a time limit."],
});
console.log(result.data.length, result.data[0].embedding.length);