Nano Banana Pro (Extra) — Image to Image / Edit
curl --request POST \
--url https://api.muvi.video/v1/jobs/submit \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "<string>",
"input": {
"prompt": "<string>",
"image_urls": [
{}
],
"aspect_ratio": "<string>",
"resolution": "<string>"
}
}
'import requests
url = "https://api.muvi.video/v1/jobs/submit"
payload = {
"model": "<string>",
"input": {
"prompt": "<string>",
"image_urls": [{}],
"aspect_ratio": "<string>",
"resolution": "<string>"
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
model: '<string>',
input: {
prompt: '<string>',
image_urls: [{}],
aspect_ratio: '<string>',
resolution: '<string>'
}
})
};
fetch('https://api.muvi.video/v1/jobs/submit', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"jobId": "<string>",
"status": "<string>",
"estimatedCompletionTime": "<string>",
"costMicroCents": 123
}Nano Banana Pro Extra
Nano Banana Pro (Extra) — Image to Image / Edit
Edit and transform images with multi-image prompts using Google’s Nano Banana Pro (Extra) model via PixelByte API
POST
/
v1
/
jobs
/
submit
Nano Banana Pro (Extra) — Image to Image / Edit
curl --request POST \
--url https://api.muvi.video/v1/jobs/submit \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "<string>",
"input": {
"prompt": "<string>",
"image_urls": [
{}
],
"aspect_ratio": "<string>",
"resolution": "<string>"
}
}
'import requests
url = "https://api.muvi.video/v1/jobs/submit"
payload = {
"model": "<string>",
"input": {
"prompt": "<string>",
"image_urls": [{}],
"aspect_ratio": "<string>",
"resolution": "<string>"
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
model: '<string>',
input: {
prompt: '<string>',
image_urls: [{}],
aspect_ratio: '<string>',
resolution: '<string>'
}
})
};
fetch('https://api.muvi.video/v1/jobs/submit', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"jobId": "<string>",
"status": "<string>",
"estimatedCompletionTime": "<string>",
"costMicroCents": 123
}Edit, transform, or compose images by providing one or more input images and a text prompt with Google’s Nano Banana Pro (Extra) model. Supports up to 4K resolution output.
| Property | Value |
|---|---|
| Provider | |
| Model | Nano Banana Pro (Extra) |
| Capability | Image to Image / Edit |
| Base Cost | 134,000 micro-cents/request ($0.134/request) |
| Processing Time | ~30 seconds |
Request Body
string
required
Model slug. Use
google/nano-banana-pro-extra/edit-image for image editing.object
required
Input parameters for image editing.
Hide properties
Hide properties
string
required
Text description of the desired edit or transformation.
array
required
Array of input image URLs to edit or compose. At least one image is required.
string
Output aspect ratio. Default:
9:16. Options: 9:16, 16:9, 1:1, 2:3, 3:2, 21:9, 3:4, 4:3, 4:5, 5:4.string
Output resolution. Default:
1k. Options: 1k, 2k, 4k. Affects pricing.string
HTTPS URL to receive a webhook notification when the job completes or fails.
Pricing
Base cost: 134,000 micro-cents per request ($0.134/request)finalCost = baseCost × resolution
| Factor | Option | Multiplier |
|---|---|---|
| Resolution | 1k | 1x |
2k | 1x | |
4k | 1.8x |
Default cost: 1k resolution = 134,000 × 1 = 134,000 micro-cents ($0.134)
Response
string
Unique identifier for the submitted job.
string
Initial job status. Always
"pending" on successful submission.string
ISO 8601 timestamp of the estimated completion time.
number
The cost of the job in micro-cents.
Code Examples
curl -X POST https://api.muvi.video/v1/jobs/submit \
-H "Authorization: Bearer $PIXELBYTE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "google/nano-banana-pro-extra/edit-image",
"input": {
"prompt": "Replace the background with a snowy forest at dusk",
"image_urls": ["https://example.com/image.jpg"],
"aspect_ratio": "16:9",
"resolution": "2k"
}
}'
import requests
response = requests.post(
"https://api.muvi.video/v1/jobs/submit",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
},
json={
"model": "google/nano-banana-pro-extra/edit-image",
"input": {
"prompt": "Replace the background with a snowy forest at dusk",
"image_urls": ["https://example.com/image.jpg"],
"aspect_ratio": "16:9",
"resolution": "2k"
}
}
)
data = response.json()
print(data)
const response = await fetch("https://api.muvi.video/v1/jobs/submit", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
},
body: JSON.stringify({
model: "google/nano-banana-pro-extra/edit-image",
input: {
prompt: "Replace the background with a snowy forest at dusk",
image_urls: ["https://example.com/image.jpg"],
aspect_ratio: "16:9",
resolution: "2k"
}
})
});
const data = await response.json();
console.log(data);
