
Ei osumia. Kokeile hakusanoja ”video”, ”FLUX” tai ”webhooks”.
Ladataan malleja…
nano-banana-pro/edit
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://vit.doitong.com/api/v1/run/nano-banana-pro/edit?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "Faithfully restore this image with high fidelity to modern photograph quality, in full color, upscale to 4K",
"images": [
"https://content.doitong.com/dev-api/2026/10/21/req_tlhvxyf27ektm9ozuzozz5fn/0-1h3kLymYuP3n6Z-kAnWa8_Nh4eqcOs.png"
],
"resolution": "1K"
}'
# Still "queued" or "running"? Poll with the id from the response:
curl "https://vit.doitong.com/api/v1/requests/REQUEST_ID?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY"
const API = "https://vit.doitong.com/api/v1";
const headers = {
"Authorization": "Bearer " + process.env.DOITONG_API_KEY,
"Content-Type": "application/json",
};
// Run the model; wait up to 20 s for the finished result in the same call
let res = await fetch(API + "/run/nano-banana-pro/edit?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"prompt": "Faithfully restore this image with high fidelity to modern photograph quality, in full color, upscale to 4K",
"images": [
"https://content.doitong.com/dev-api/2026/10/21/req_tlhvxyf27ektm9ozuzozz5fn/0-1h3kLymYuP3n6Z-kAnWa8_Nh4eqcOs.png"
],
"resolution": "1K"
}),
});
let request = await res.json();
if (!res.ok) throw new Error(request.error.code + ": " + request.error.message);
// Not finished yet: long-poll until it is
while (request.status === "queued" || request.status === "running") {
res = await fetch(API + "/requests/" + request.id + "?wait=20", { headers });
request = await res.json();
}
if (request.status !== "succeeded") throw new Error(JSON.stringify(request.error));
console.log(request.outputs.map((o) => o.url), request.cost.credits + " API credits ($" + request.cost.usd + ")");
import os
import requests
API = "https://vit.doitong.com/api/v1"
headers = {"Authorization": "Bearer " + os.environ["DOITONG_API_KEY"]}
payload = {
"prompt": "Faithfully restore this image with high fidelity to modern photograph quality, in full color, upscale to 4K",
"images": [
"https://content.doitong.com/dev-api/2026/10/21/req_tlhvxyf27ektm9ozuzozz5fn/0-1h3kLymYuP3n6Z-kAnWa8_Nh4eqcOs.png",
],
"resolution": "1K",
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/nano-banana-pro/edit", params={"wait": 20}, json=payload, headers=headers)
request = r.json()
if not r.ok:
raise RuntimeError(request["error"]["code"] + ": " + request["error"]["message"])
# Not finished yet: long-poll until it is
while request["status"] in ("queued", "running"):
request = requests.get(API + "/requests/" + request["id"], params={"wait": 20}, headers=headers).json()
if request["status"] != "succeeded":
raise RuntimeError(request["error"])
print([o["url"] for o in request["outputs"]], request["cost"]["credits"], "API credits", "$" + request["cost"]["usd"])
# 1. Connect once (Claude Code; Cursor, VS Code, Claude Desktop: https://doitong.com/fi/developers/docs/mcp)
claude mcp add --transport http doitong-models https://vit.doitong.com/api/v1/mcp \
--header "Authorization: Bearer $DOITONG_API_KEY"
# 2. Your agent calls the "run" tool with:
{
"model_id": "nano-banana-pro/edit",
"input": {
"prompt": "Faithfully restore this image with high fidelity to modern photograph quality, in full color, upscale to 4K",
"images": [
"https://content.doitong.com/dev-api/2026/10/21/req_tlhvxyf27ektm9ozuzozz5fn/0-1h3kLymYuP3n6Z-kAnWa8_Nh4eqcOs.png"
],
"resolution": "1K"
}
}
Kutsu mallia Nano Banana Pro Edit (nano-banana-pro/edit) Doitong API:n kautta. Dokumentaatio agenteille: https://doitong.com/fi/developers/models/nano-banana-pro/edit.md
POST https://vit.doitong.com/api/v1/run/nano-banana-pro/edit?wait=20
Authorization: Bearer $DOITONG_API_KEY
Content-Type: application/json
{
"prompt": "Faithfully restore this image with high fidelity to modern photograph quality, in full color, upscale to 4K",
"images": [
"https://content.doitong.com/dev-api/2026/10/21/req_tlhvxyf27ektm9ozuzozz5fn/0-1h3kLymYuP3n6Z-kAnWa8_Nh4eqcOs.png"
],
"resolution": "1K"
}
Jos vastauksen tila on "queued" tai "running", kysy GET https://vit.doitong.com/api/v1/requests/REQUEST_ID?wait=20 uudelleen, kunnes tila on "succeeded"; tiedostot ovat kohteessa outputs[].url. POST https://vit.doitong.com/api/v1/quote/nano-banana-pro/edit samalla rungolla palauttaa tarkan hinnan ennen suorittamista.
Tämä pyyntö: 0,15 $ 150 API-krediittiä Suorita tällä sivulla
Uusi API-avaimesi. Se näytetään vain nyt, ja se on jo koodissa ja alla olevassa API-avainkentässä. Pidä se salassa: älä koskaan lisää sitä selaimessa suoritettavaan koodiin.
KehoteFaithfully restore this image with high fidelity to modern photograph quality, in full color, upscale to 4K
Säätimet luodaan mallin skeemasta. Koodi ja hinta päivittyvät, kun muutat arvoja.
/run/nano-banana-pro/edit?wait=20
hinta → 0,15 $
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://vit.doitong.com/api/v1/run/nano-banana-pro/edit?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "Faithfully restore this image with high fidelity to modern photograph quality, in full color, upscale to 4K",
"images": [
"https://content.doitong.com/dev-api/2026/10/21/req_tlhvxyf27ektm9ozuzozz5fn/0-1h3kLymYuP3n6Z-kAnWa8_Nh4eqcOs.png"
],
"resolution": "1K"
}'
# Still "queued" or "running"? Poll with the id from the response:
curl "https://vit.doitong.com/api/v1/requests/REQUEST_ID?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY"
const API = "https://vit.doitong.com/api/v1";
const headers = {
"Authorization": "Bearer " + process.env.DOITONG_API_KEY,
"Content-Type": "application/json",
};
// Run the model; wait up to 20 s for the finished result in the same call
let res = await fetch(API + "/run/nano-banana-pro/edit?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"prompt": "Faithfully restore this image with high fidelity to modern photograph quality, in full color, upscale to 4K",
"images": [
"https://content.doitong.com/dev-api/2026/10/21/req_tlhvxyf27ektm9ozuzozz5fn/0-1h3kLymYuP3n6Z-kAnWa8_Nh4eqcOs.png"
],
"resolution": "1K"
}),
});
let request = await res.json();
if (!res.ok) throw new Error(request.error.code + ": " + request.error.message);
// Not finished yet: long-poll until it is
while (request.status === "queued" || request.status === "running") {
res = await fetch(API + "/requests/" + request.id + "?wait=20", { headers });
request = await res.json();
}
if (request.status !== "succeeded") throw new Error(JSON.stringify(request.error));
console.log(request.outputs.map((o) => o.url), request.cost.credits + " API credits ($" + request.cost.usd + ")");
import os
import requests
API = "https://vit.doitong.com/api/v1"
headers = {"Authorization": "Bearer " + os.environ["DOITONG_API_KEY"]}
payload = {
"prompt": "Faithfully restore this image with high fidelity to modern photograph quality, in full color, upscale to 4K",
"images": [
"https://content.doitong.com/dev-api/2026/10/21/req_tlhvxyf27ektm9ozuzozz5fn/0-1h3kLymYuP3n6Z-kAnWa8_Nh4eqcOs.png",
],
"resolution": "1K",
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/nano-banana-pro/edit", params={"wait": 20}, json=payload, headers=headers)
request = r.json()
if not r.ok:
raise RuntimeError(request["error"]["code"] + ": " + request["error"]["message"])
# Not finished yet: long-poll until it is
while request["status"] in ("queued", "running"):
request = requests.get(API + "/requests/" + request["id"], params={"wait": 20}, headers=headers).json()
if request["status"] != "succeeded":
raise RuntimeError(request["error"])
print([o["url"] for o in request["outputs"]], request["cost"]["credits"], "API credits", "$" + request["cost"]["usd"])
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "run",
"arguments": {
"model_id": "nano-banana-pro/edit",
"input": {
"prompt": "Faithfully restore this image with high fidelity to modern photograph quality, in full color, upscale to 4K",
"images": [
"https://content.doitong.com/dev-api/2026/10/21/req_tlhvxyf27ektm9ozuzozz5fn/0-1h3kLymYuP3n6Z-kAnWa8_Nh4eqcOs.png"
],
"resolution": "1K"
},
"wait_seconds": 20
}
}
}
Avaimesi säilyy tässä selaimessa: se lähetetään vain Doitong APIlle ja tallennetaan localStorageen vain, jos valitset Muista. Hanki API-avain
Nano Banana Pron muokkaustila: anna yksi tai useampi kuva ja kuvaile muutos, kuten taustan vaihtaminen, henkilön ja tuotteen yhdistäminen samaan kohtaukseen, tyylin muuttaminen tai kyltin tekstin korjaaminen. Se säilyttää identiteetit ja yksityiskohdat vakaina muokkausten välillä. Tulostarkkuus on 1K, 2K tai 4K millä tahansa yleisellä kuvasuhteella, valinnainen verkkotietojen käyttö, enintään neljä tulosta pyyntöä kohden.
Lähetä joko kanoninen nimi tai natiivi nimi, älä molempia. Kanoniset nimet
promptpakollinen
num_imagesvalinnainen
num_outputs
seedvalinnainen
aspect_ratiovalinnainen
output_formatvalinnainen
safety_tolerancevalinnainen
image_urlspakollinen
images
system_promptvalinnainen
resolutionvalinnainen
limit_generationsvalinnainen
enable_web_searchvalinnainen
Tiedostoparametrit hyväksyvät julkisen https://-URL:n, enintään 10 MB:n data:-URI:n tai lähetyksen file_url-arvon. Tiedostot
{
"id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
"object": "request",
"model": "nano-banana-pro/edit",
"status": "succeeded",
"created_at": "2026-10-20T12:00:00Z",
"started_at": "2026-10-20T12:00:02Z",
"completed_at": "2026-10-20T12:00:09Z",
"queue_position": null,
"cost": {
"credits": 150,
"usd": "0.15",
"charged": 150,
"refunded": 0
},
"input": {
"prompt": "Put this white sneaker on a sunlit marble pedestal in a minimalist gallery, keep the shoe exactly as it is",
"images": [
"https://content.doitong.com/images/showcase/v3/gen_sneaker_ad.jpg"
],
"resolution": "1K"
},
"output": {
"images": [
{
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
"content_type": "image/jpeg",
"file_name": "0-output.jpeg",
"file_size": 1843200,
"width": 1024,
"height": 768
}
],
"description": "string"
},
"outputs": [
{
"type": "image",
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
"content_type": "image/jpeg",
"file_size": 1843200,
"width": 1024,
"height": 768,
"stored": true
}
],
"error": null,
"metrics": {
"inference_seconds": 6.8
},
"urls": {
"self": "https://vit.doitong.com/api/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t",
"cancel": "https://vit.doitong.com/api/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t/cancel"
}
}
Tekoälyagenteille: tämän sivun Markdown-muoto on osoitteessa https://doitong.com/fi/developers/models/nano-banana-pro/edit.md. Kaikki mallit ja oppaat: https://doitong.com/developers/llms.txt