
Naginas concordanzas. Emprova “video”, “FLUX” u “webhooks”.
Chargiar models…
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/rm/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"
}
}
Cloma il model Nano Banana Pro Edit (nano-banana-pro/edit) tras la Doitong API. Documentaziun per agents: https://doitong.com/rm/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"
}
Sche il status da la resposta è "queued" u "running", fa polling GET https://vit.doitong.com/api/v1/requests/REQUEST_ID?wait=20 fin ch'el è "succeeded"; las datotecas èn en outputs[].url. POST https://vit.doitong.com/api/v1/quote/nano-banana-pro/edit cun il medem body returna il pretsch exact avant l'execuziun.
Questa dumonda: $0,15 150 credits API Lantschar sin questa pagina
Tia nova clav API. Quest vegn mussada mo ussa ed è gia en il code ed en il champ da la clav API sutvart. Mantegna ella secreta: na la metta mai en code che vegn exequì en in navigatur.
PromptFaithfully restore this image with high fidelity to modern photograph quality, in full color, upscale to 4K
Ils controls vegnan generads dal schema dal model. Il code e il pretsch s'actualiseschan durant che ti als midas.
/run/nano-banana-pro/edit?wait=20
calculaziun → $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
}
}
}
Tia clav resta en quest browser: ella vegn tramessa mo al Doitong API e memorisada (localStorage) mo sch'ella scheccas Tiar a memoria. Obtegnair ina clav API
Il modus d'ediziun da Nano Banana Pro: dat in u plirs maletgs e descriva la midada, sco remplazzar in fund, fusiunar ina persuna ed in product en ina scena, midar il stil u reparar text sin in placat. El mantegna identitads e detagls stabels durant las ediziuns. Output en 1K, 2K u 4K en mintga proporziun usitada, web a basa opziunal, fin a quatter resultats per dumonda.
Invia u il num canonic u il num nativ, betg omaduas. Nums canonics
promptobligatori
num_imagesopziunal
num_outputs
seedopziunal
aspect_ratioopziunal
output_formatopziunal
safety_toleranceopziunal
image_urlsobligatori
images
system_promptopziunal
resolutionopziunal
limit_generationsopziunal
enable_web_searchopziunal
Ils parameters da datotecas acceptan ina URL publica https://, ina URI data: fin a 10 MB u il file_url d'ina chargiada. Datotecas
{
"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"
}
}
Per agents AI: questa pagina sco Markdown è disponibla sut https://doitong.com/rm/developers/models/nano-banana-pro/edit.md. Tut ils models e las guidas: https://doitong.com/developers/llms.txt