Точное редактирование изображений на базе Google Gemini 3.0 Pro API с нативным выводом 2K/4K. Обеспечивает надежные локальные изменения и высокую стабильность по доступной цене за запрос.
Попробуйте сейчас AI генератор изображений
API Google Nano Banana Pro Edit (на базе модели Gemini 3.0 Pro Image) предоставляет разработчикам и творческим командам экономичное AI-редактирование изображений production-grade. Эта премиальная интеграция Gemini image editing API помогает превращать существующие визуалы в высокоразрешенные результаты до 4K через инструкции на естественном языке. Модель Gemini обеспечивает семантическое reasoning для сложных правок, а API дает стабильную интеграцию для масштабируемых workflows на Best Image AI.
Примечание Убедитесь, что ваши prompt соответствуют правилам безопасности Google. Если возникает ошибка, проверьте prompt на наличие ограниченного контента, скорректируйте его и повторите попытку.
// Step 1: Submit generation request
// width and height must be aspect-ratio integers such as 16 and 9,
// not pixel dimensions like 768 and 1280.
// Currently all width/height values are passed as ratio integers,
// and the backend does not support custom pixel dimensions for these fields.
const response = await fetch('https://api.flaq.ai/api/v1/image/task', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer YOUR_API_KEY'
},
body: JSON.stringify({
model_name: 'nano-banana-pro-edit',
prompt: 'Transform this image into a watercolor painting style',
width: 16, // Aspect-ratio value, not pixel width
height: 9, // Aspect-ratio value, not pixel height
resolution: '2k', // Supported values: '1k', '2k', '4k'
image_url_list: [
'https://example.com/image1.jpg',
'https://example.com/image2.jpg'
]
})
});
const { data } = await response.json();
const taskId = data.task_id;
// Step 2: Poll for results
const taskId = data.task_id;
const pollResult = async (taskId) => {
const res = await fetch(`https://api.flaq.ai/api/v1/image/${taskId}`, {
headers: { 'Authorization': 'Bearer YOUR_API_KEY' }
});
return res.json();
};
while (true) {
const pollResultData = await pollResult(taskId);
const status = pollResultData.data.task_status;
if (status === 'succeed') {
console.log(pollResultData.data.task_result.images[].);
;
}
(status === ) {
.(pollResultData..);
;
}
( (resolve, ));
}
# Step 1: Submit generation request
import requests
response = requests.post(
'https://api.flaq.ai/api/v1/image/task',
headers={
'Content-Type': 'application/json',
'Authorization': 'Bearer YOUR_API_KEY'
},
json={
'model_name': 'nano-banana-pro-edit',
'prompt': 'Transform this image into a watercolor painting style',
'width': 16, # Aspect-ratio value, not pixel width
'height': 9, # Aspect-ratio value, not pixel height
'resolution': '2k', # Supported values: '1k', '2k', '4k'
'image_url_list': [
'https://example.com/image1.jpg',
'https://example.com/image2.jpg'
]
}
)
result = response.json()
task_id = result['data']['task_id']
# Step 1: Submit generation request
curl -X POST https://api.flaq.ai/api/v1/image/task \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model_name": "nano-banana-pro-edit",
"prompt": "Transform this image into a watercolor painting style",
"width": 16,
"height": 9,
"resolution": "2k",
"image_url_list": [
"https://example.com/image1.jpg",
"https://example.com/image2.jpg"
]
}'
# Step 2: Poll for results
# Replace {task_id} with the task_id returned from the submit response
curl -X GET "https://api.flaq.ai/api/v1/image/{task_id}" \
-H "Authorization: Bearer YOUR_API_KEY"
# Step 2: Poll for results
task_id = response.json()['data']['task_id']
poll_url = f"https://api.flaq.ai/api/v1/image/{task_id}"
while True:
poll_result = requests.get(poll_url, headers={'Authorization': 'Bearer YOUR_API_KEY'}).json()
status = poll_result['data']['task_status']
if status == 'succeed':
print(poll_result['data']['task_result']['images'][0]['url'])
break
if status == 'failed':
print(poll_result['data']['task_status_msg'])
break
time.sleep(10)