
Ingen resultater. Prøv “video”, “FLUX” eller “webhooks”.
Indlæser modeller…
nano-banana-2/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-2/edit?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "Turn this photo into a 1:7 scale collectible figurine of the dog on a round clear acrylic base, standing on a tidy wooden desk with soft studio light; keep the dog'\''s pose, fur colors and expression.",
"images": [
"https://content.doitong.com/dev-api/2026/10/21/req_3yckkmcr3dayonfhigdeaiia/0-pz7p4ydjvjJmL__s7lK6p_L0WSl1GK.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-2/edit?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"prompt": "Turn this photo into a 1:7 scale collectible figurine of the dog on a round clear acrylic base, standing on a tidy wooden desk with soft studio light; keep the dog's pose, fur colors and expression.",
"images": [
"https://content.doitong.com/dev-api/2026/10/21/req_3yckkmcr3dayonfhigdeaiia/0-pz7p4ydjvjJmL__s7lK6p_L0WSl1GK.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": "Turn this photo into a 1:7 scale collectible figurine of the dog on a round clear acrylic base, standing on a tidy wooden desk with soft studio light; keep the dog's pose, fur colors and expression.",
"images": [
"https://content.doitong.com/dev-api/2026/10/21/req_3yckkmcr3dayonfhigdeaiia/0-pz7p4ydjvjJmL__s7lK6p_L0WSl1GK.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-2/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/da/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-2/edit",
"input": {
"prompt": "Turn this photo into a 1:7 scale collectible figurine of the dog on a round clear acrylic base, standing on a tidy wooden desk with soft studio light; keep the dog's pose, fur colors and expression.",
"images": [
"https://content.doitong.com/dev-api/2026/10/21/req_3yckkmcr3dayonfhigdeaiia/0-pz7p4ydjvjJmL__s7lK6p_L0WSl1GK.png"
],
"resolution": "1K"
}
}
Kald Nano Banana 2 Edit-modellen (nano-banana-2/edit) via Doitong API. Dokumentation til agenter: https://doitong.com/da/developers/models/nano-banana-2/edit.md
POST https://vit.doitong.com/api/v1/run/nano-banana-2/edit?wait=20
Authorization: Bearer $DOITONG_API_KEY
Content-Type: application/json
{
"prompt": "Turn this photo into a 1:7 scale collectible figurine of the dog on a round clear acrylic base, standing on a tidy wooden desk with soft studio light; keep the dog's pose, fur colors and expression.",
"images": [
"https://content.doitong.com/dev-api/2026/10/21/req_3yckkmcr3dayonfhigdeaiia/0-pz7p4ydjvjJmL__s7lK6p_L0WSl1GK.png"
],
"resolution": "1K"
}
Hvis svarstatus er "queued" eller "running", skal du forespørge GET https://vit.doitong.com/api/v1/requests/REQUEST_ID?wait=20 igen, indtil den er "succeeded"; filerne findes i outputs[].url. POST https://vit.doitong.com/api/v1/quote/nano-banana-2/edit med samme body returnerer den nøjagtige pris før kørslen.
Denne anmodning: 0,08 $ 80 API-kreditter Kør den på denne side
Din nye API-nøgle. Den vises kun nu og findes allerede i koden og i feltet til API-nøglen nedenfor. Hold den hemmelig: Anbring den aldrig i kode, der kører i en browser.
Kontrollerne genereres fra modellens skema. Koden og prisen opdateres, når du ændrer dem.
/run/nano-banana-2/edit?wait=20
pris → 0,08 $
# 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-2/edit?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "Turn this photo into a 1:7 scale collectible figurine of the dog on a round clear acrylic base, standing on a tidy wooden desk with soft studio light; keep the dog'\''s pose, fur colors and expression.",
"images": [
"https://content.doitong.com/dev-api/2026/10/21/req_3yckkmcr3dayonfhigdeaiia/0-pz7p4ydjvjJmL__s7lK6p_L0WSl1GK.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-2/edit?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"prompt": "Turn this photo into a 1:7 scale collectible figurine of the dog on a round clear acrylic base, standing on a tidy wooden desk with soft studio light; keep the dog's pose, fur colors and expression.",
"images": [
"https://content.doitong.com/dev-api/2026/10/21/req_3yckkmcr3dayonfhigdeaiia/0-pz7p4ydjvjJmL__s7lK6p_L0WSl1GK.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": "Turn this photo into a 1:7 scale collectible figurine of the dog on a round clear acrylic base, standing on a tidy wooden desk with soft studio light; keep the dog's pose, fur colors and expression.",
"images": [
"https://content.doitong.com/dev-api/2026/10/21/req_3yckkmcr3dayonfhigdeaiia/0-pz7p4ydjvjJmL__s7lK6p_L0WSl1GK.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-2/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-2/edit",
"input": {
"prompt": "Turn this photo into a 1:7 scale collectible figurine of the dog on a round clear acrylic base, standing on a tidy wooden desk with soft studio light; keep the dog's pose, fur colors and expression.",
"images": [
"https://content.doitong.com/dev-api/2026/10/21/req_3yckkmcr3dayonfhigdeaiia/0-pz7p4ydjvjJmL__s7lK6p_L0WSl1GK.png"
],
"resolution": "1K"
},
"wait_seconds": 20
}
}
}
Din nøgle forbliver i denne browser: Den sendes kun til Doitong API og gemmes kun i localStorage, hvis du markerer Husk. Hent en API-nøgle
Redigeringstilstanden i Nano Banana 2: send billeder og beskriv ændringen, eller spring billederne over og giv en video, en lydfil eller en PDF (hver på op til 15 MB) som kontekst til illustrationen. Output fra 0.5K til 4K med formatforhold fra 1:8 til 8:1, valgfri websøgning og høj tænkning samt op til fire resultater pr. anmodning.
Send enten det kanoniske navn eller det oprindelige navn, ikke begge. Kanoniske navne
promptpåkrævet
num_imagesvalgfri
num_outputs
seedvalgfri
aspect_ratiovalgfri
output_formatvalgfri
safety_tolerancevalgfri
image_urlsvalgfri
images
system_promptvalgfri
resolutionvalgfri
video_urlvalgfri
video
audio_urlvalgfri
audio
pdf_urlvalgfri
limit_generationsvalgfri
enable_web_searchvalgfri
thinking_levelvalgfri
Filparametre accepterer en offentlig https://-URL, en data:-URI på op til 10 MB eller file_url fra en upload. Filer
{
"id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
"object": "request",
"model": "nano-banana-2/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": 80,
"usd": "0.08",
"charged": 80,
"refunded": 0
},
"input": {
"prompt": "Turn this night street scene into a sunny morning, keep the sneaker and the puddle reflections",
"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"
}
}
Til AI-agenter: Denne side som Markdown findes på https://doitong.com/da/developers/models/nano-banana-2/edit.md. Alle modeller og vejledninger: https://doitong.com/developers/llms.txt