
Geen overeenkomsten. Probeer “video”, “FLUX” of “webhooks”.
Modellen laden…
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/nl/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"
}
}
Roep het Nano Banana Pro Edit-model (nano-banana-pro/edit) aan via de Doitong API. Documentatie voor agents: https://doitong.com/nl/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"
}
Als de responsstatus "queued" of "running" is, poll dan GET https://vit.doitong.com/api/v1/requests/REQUEST_ID?wait=20 totdat deze "succeeded" is; de bestanden staan in outputs[].url. POST https://vit.doitong.com/api/v1/quote/nano-banana-pro/edit met dezelfde body retourneert de exacte prijs vóór de uitvoering.
Deze request: $ 0,15 150 API-tegoed Op deze pagina uitvoeren
Je nieuwe API-sleutel. Deze wordt alleen nu getoond en staat al in de code en in het onderstaande API-sleutelveld. Houd deze geheim: zet deze nooit in code die in een browser wordt uitgevoerd.
PromptFaithfully restore this image with high fidelity to modern photograph quality, in full color, upscale to 4K
Besturingselementen worden gegenereerd op basis van het modelschema. De code en de prijs worden bijgewerkt terwijl je ze wijzigt.
/run/nano-banana-pro/edit?wait=20
prijsopgave → $ 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
}
}
}
Je sleutel blijft in deze browser: hij wordt alleen naar de Doitong API verzonden en alleen in localStorage opgeslagen als je Onthouden aanvinkt. API-sleutel ophalen
De bewerkingsmodus van Nano Banana Pro: geef een of meer afbeeldingen en beschrijf de wijziging, zoals het vervangen van een achtergrond, het samenvoegen van een persoon en product in één scène, het wijzigen van de stijl of het herstellen van tekst op een bord. Het model behoudt identiteiten en details tijdens bewerkingen. Uitvoer in 1K, 2K of 4K met elke gebruikelijke beeldverhouding, optionele webverankering, maximaal vier resultaten per request.
Stuur de canonieke naam of de oorspronkelijke naam, niet beide. Canonieke namen
promptverplicht
num_imagesoptioneel
num_outputs
seedoptioneel
aspect_ratiooptioneel
output_formatoptioneel
safety_toleranceoptioneel
image_urlsverplicht
images
system_promptoptioneel
resolutionoptioneel
limit_generationsoptioneel
enable_web_searchoptioneel
Bestandsparameters accepteren een openbare https:// URL, een data: URI tot 10 MB of de file_url van een upload. Bestanden
{
"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"
}
}
Voor AI-agents: deze pagina als Markdown staat op https://doitong.com/nl/developers/models/nano-banana-pro/edit.md. Alle modellen en handleidingen: https://doitong.com/developers/llms.txt