Поддерживаемые MIME-типы и форматы
Nano Banana Pro API принимает следующие форматы изображений:
# Поддерживаемые MIME-типы
SUPPORTED_MIME_TYPES = [
"image/png", # PNG - лучше для скриншотов, графики
"image/jpeg", # JPEG/JPG - оптимально для фотографий
"image/webp", # WebP - современный формат с хорошим сжатием
"image/heic", # HEIC - формат Apple (iPhone/iPad)
"image/heif" # HEIF - расширенная версия HEIC
]
Какой формат выбрать?
| Формат | Когда использовать | Степень сжатия |
|---|---|---|
| JPEG | Фотографии, реалистичные изображения | Высокая (lossy) |
| PNG | Скриншоты, текст, прозрачность | Средняя (lossless) |
| WebP | Универсальный — фото + графика | Очень высокая |
| HEIC/HEIF | Экспорт с iPhone/iPad | Высокая |
Совет: Если у вас PNG размером 10MB с фотографией, конвертируйте в JPEG quality=85 — получите ~2-3MB без видимой потери качества.
Требования к соотношению сторон
API поддерживает 10 стандартных соотношений сторон:

Таблица соотношений сторон
| Соотношение | Ориентация | Типичное использование |
|---|---|---|
| 1:1 | Квадрат | Instagram посты, аватарки |
| 3:2 | Ландшафт | Классическая фотография, DSLR |
| 2:3 | Портрет | Портретная фотография |
| 4:3 | Ландшафт | Старые мониторы, iPad |
| 3:4 | Портрет | Вертикальные фото |
| 16:9 | Ландшафт | Full HD, YouTube, презентации |
| 9:16 | Портрет | TikTok, Instagram Stories, смартфон |
| 21:9 | Ультрашироко | Кинематографический формат |
| 9:21 | Портрет | Вертикальный ультра |
| Другие | Произвольно | Может быть обрезано API |
Практический совет: Перед загрузкой проверьте соотношение сторон командой:
from PIL import Image
img = Image.open("your_image.jpg")
width, height = img.size
aspect_ratio = width / height
print(f"Размер: {width}x{height}")
print(f"Соотношение сторон: {aspect_ratio:.2f}")
# Проверка на близость к стандартным
standard_ratios = {
"1:1": 1.0,
"3:2": 1.5,
"4:3": 1.33,
"16:9": 1.78,
"21:9": 2.33
}
for name, ratio in standard_ratios.items():
if abs(aspect_ratio - ratio) < 0.05: # допуск 5%
print(f"✓ Подходит под {name}")
break
Решения для изображений, превышающих лимит
Когда ваше изображение весит больше 7MB, есть 3 проверенных способа сжатия:
Способ 1: Python + Pillow (программное сжатие)
from PIL import Image
import os
def compress_image_for_nano_banana(input_path, output_path, max_size_mb=7):
"""
Сжимает изображение до указанного размера в MB
Args:
input_path: путь к исходному файлу
output_path: путь для сохранения
max_size_mb: максимальный размер в мегабайтах
"""
img = Image.open(input_path)
# Конвертируем RGBA в RGB (если есть прозрачность)
if img.mode == 'RGBA':
background = Image.new('RGB', img.size, (255, 255, 255))
background.paste(img, mask=img.split()[3])
img = background
# Пробуем разные уровни качества
quality = 95
max_size_bytes = max_size_mb * 1024 * 1024
while quality > 20:
img.save(output_path, 'JPEG', quality=quality, optimize=True)
file_size = os.path.getsize(output_path)
print(f"Качество {quality}: размер {file_size / 1024 / 1024:.2f} MB")
if file_size <= max_size_bytes:
print(f"✓ Успешно сжато до {file_size / 1024 / 1024:.2f} MB")
return True
quality -= 5
# Если не получилось - уменьшаем разрешение
print("⚠ Качество недостаточно, уменьшаем разрешение...")
img.thumbnail((img.width // 2, img.height // 2), Image.Resampling.LANCZOS)
img.save(output_path, 'JPEG', quality=85, optimize=True)
final_size = os.path.getsize(output_path)
print(f"✓ Итоговый размер: {final_size / 1024 / 1024:.2f} MB")
return True
# Использование
compress_image_for_nano_banana(
"large_photo.png", # 15MB PNG
"compressed.jpg", # ~3MB JPEG
max_size_mb=7
)
Преимущества:
- Полный контроль над процессом
- Можно автоматизировать для пакетной обработки
- Работает без интернета
Когда использовать: В production-приложениях, когда нужна автоматизация.
Способ 2: Онлайн-инструменты (быстрое решение)
Для разовых задач удобны онлайн-сервисы:
-
TinyPNG (https://tinypng.com/)
- Умное сжатие PNG/JPEG
- Сохраняет визуальное качество
- До 5MB бесплатно
-
Squoosh (https://squoosh.app/)
- От команды Google Chrome
- Работает оффлайн (PWA)
- Поддержка WebP, AVIF
-
Compressor.io (https://compressor.io/)
- Сжатие до 90% без потери качества
- Поддержка JPEG, PNG, GIF, SVG
Пример процесса:
1. Откройте TinyPNG
2. Перетащите ваш 12MB PNG файл
3. Получите сжатый файл ~3MB (потеря качества <5%)
4. Проверьте размер перед загрузкой в API
Способ 3: Командная строка (для продвинутых)
ImageMagick (универсальный)
# Установка (macOS)
brew install imagemagick
# Сжатие JPEG с качеством 85
convert input.jpg -quality 85 output.jpg
# Изменение размера до 2048px по длинной стороне
convert input.jpg -resize 2048x2048\> output.jpg
# Конвертация PNG → JPEG + сжатие
convert input.png -quality 80 output.jpg
# Проверка размера файла
ls -lh output.jpg
FFmpeg (для изображений из видео)
# Установка
brew install ffmpeg
# Извлечение кадра из видео + сжатие
ffmpeg -i video.mp4 -ss 00:00:05 -vframes 1 -q:v 5 frame.jpg
# -q:v 5 = качество (2-31, меньше = лучше)
cwebp (конвертация в WebP)
# Установка
brew install webp
# Конвертация в WebP с качеством 80
cwebp -q 80 input.jpg -o output.webp
# Потери качества (lossy) + изменение размера
cwebp -resize 1920 1080 input.jpg -o output.webp
Практический workflow: обработка изображений перед API
Вот готовый скрипт для обработки любых изображений:
import os
from PIL import Image
import base64
class NanoBananaImageProcessor:
MAX_SIZE_MB = 7
SUPPORTED_FORMATS = ['JPEG', 'PNG', 'WEBP']
def __init__(self, image_path):
self.image_path = image_path
self.image = Image.open(image_path)
self.original_size = os.path.getsize(image_path)
def get_file_size_mb(self, path=None):
"""Получить размер файла в MB"""
target = path or self.image_path
return os.path.getsize(target) / 1024 / 1024
def check_aspect_ratio(self):
"""Проверка соотношения сторон"""
width, height = self.image.size
ratio = width / height
valid_ratios = {
"1:1": (0.95, 1.05),
"3:2": (1.45, 1.55),
"2:3": (0.65, 0.70),
"4:3": (1.30, 1.37),
"3:4": (0.73, 0.77),
"16:9": (1.75, 1.80),
"9:16": (0.55, 0.58),
"21:9": (2.30, 2.37),
"9:21": (0.42, 0.44)
}
for name, (min_r, max_r) in valid_ratios.items():
if min_r <= ratio <= max_r:
return True, name
return False, f"Нестандартное ({ratio:.2f})"
def compress_and_prepare(self, output_path):
"""Основная функция подготовки"""
print(f"📁 Исходный файл: {self.get_file_size_mb():.2f} MB")
# Проверка соотношения сторон
is_valid, ratio_name = self.check_aspect_ratio()
if is_valid:
print(f"✓ Соотношение сторон: {ratio_name}")
else:
print(f"⚠ Предупреждение: {ratio_name}")
# Конвертация RGBA → RGB
if self.image.mode in ('RGBA', 'LA', 'P'):
print("🔄 Конвертация в RGB...")
background = Image.new('RGB', self.image.size, (255, 255, 255))
if self.image.mode == 'P':
self.image = self.image.convert('RGBA')
background.paste(self.image, mask=self.image.split()[-1] if 'A' in self.image.mode else None)
self.image = background
# Сжатие
quality = 95
while quality > 20:
self.image.save(output_path, 'JPEG', quality=quality, optimize=True)
size_mb = self.get_file_size_mb(output_path)
if size_mb <= self.MAX_SIZE_MB:
print(f"✓ Сжато: {size_mb:.2f} MB (качество {quality})")
return output_path
quality -= 10
# Если не помогло - уменьшаем разрешение
print("⚠ Уменьшение разрешения...")
self.image.thumbnail(
(self.image.width // 2, self.image.height // 2),
Image.Resampling.LANCZOS
)
self.image.save(output_path, 'JPEG', quality=85, optimize=True)
print(f"✓ Итоговый размер: {self.get_file_size_mb(output_path):.2f} MB")
return output_path
def to_base64(self, image_path):
"""Конвертация в Base64 для API"""
with open(image_path, 'rb') as f:
return base64.b64encode(f.read()).decode('utf-8')
# Использование
processor = NanoBananaImageProcessor("my_large_photo.png")
compressed_path = processor.compress_and_prepare("output.jpg")
base64_image = processor.to_base64(compressed_path)
print(f"\n📤 Готово к отправке в Nano Banana Pro API!")
print(f"Base64 длина: {len(base64_image)} символов")
Вывод скрипта:
📁 Исходный файл: 12.45 MB
✓ Соотношение сторон: 16:9
🔄 Конвертация в RGB...
✓ Сжато: 4.23 MB (качество 75)
📤 Готово к отправке в Nano Banana Pro API!
Base64 длина: 5627384 символов
Частые ошибки и их решение
Ошибка: "Image size exceeds 7MB limit"
Причина: Файл слишком большой даже после Base64-кодирования.
Решение:
# До отправки проверяйте размер
import os
file_size_mb = os.path.getsize("image.jpg") / 1024 / 1024
if file_size_mb > 7:
print(f"❌ Файл {file_size_mb:.2f} MB превышает лимит")
# Используйте compress_image_for_nano_banana()
Ошибка: "Unsupported aspect ratio"
Причина: Соотношение сторон не входит в список поддерживаемых.
Решение:
from PIL import Image
def crop_to_16_9(input_path, output_path):
"""Обрезка до 16:9"""
img = Image.open(input_path)
width, height = img.size
target_ratio = 16 / 9
current_ratio = width / height
if current_ratio > target_ratio:
# Слишком широко - обрезаем по ширине
new_width = int(height * target_ratio)
left = (width - new_width) // 2
img = img.crop((left, 0, left + new_width, height))
else:
# Слишком высоко - обрезаем по высоте
new_height = int(width / target_ratio)
top = (height - new_height) // 2
img = img.crop((0, top, width, top + new_height))
img.save(output_path)
print(f"✓ Обрезано до 16:9: {img.size}")
crop_to_16_9("weird_ratio.jpg", "fixed_16_9.jpg")
Ошибка: "Invalid MIME type"
Причина: Формат файла не поддерживается (например, BMP, TIFF).
Решение:
from PIL import Image
def convert_to_supported_format(input_path, output_path="converted.jpg"):
"""Конвертация в поддерживаемый формат"""
img = Image.open(input_path)
# Конвертация в RGB если необходимо
if img.mode != 'RGB':
img = img.convert('RGB')
img.save(output_path, 'JPEG', quality=90)
print(f"✓ Конвертировано в JPEG: {output_path}")
return output_path
# BMP → JPEG
convert_to_supported_format("screenshot.bmp", "screenshot.jpg")
Полный пример отправки в API
Объединим всё вместе — готовый код для работы с Nano Banana Pro:
import base64
import requests
from PIL import Image
import os
class NanoBananaProClient:
def __init__(self, api_key):
self.api_key = api_key
self.base_url = "https://api.example.com/v1" # замените на реальный URL
def prepare_image(self, image_path, max_size_mb=7):
"""Подготовка изображения для API"""
# Проверка размера
size_mb = os.path.getsize(image_path) / 1024 / 1024
if size_mb > max_size_mb:
print(f"⚠ Файл {size_mb:.2f} MB превышает лимит, сжимаем...")
compressed_path = image_path.replace('.', '_compressed.')
img = Image.open(image_path)
if img.mode == 'RGBA':
img = img.convert('RGB')
quality = 90
while quality > 30:
img.save(compressed_path, 'JPEG', quality=quality, optimize=True)
new_size = os.path.getsize(compressed_path) / 1024 / 1024
if new_size <= max_size_mb:
print(f"✓ Сжато до {new_size:.2f} MB")
image_path = compressed_path
break
quality -= 10
# Конвертация в Base64
with open(image_path, 'rb') as f:
image_data = base64.b64encode(f.read()).decode('utf-8')
# Определение MIME-типа
ext = image_path.lower().split('.')[-1]
mime_map = {
'jpg': 'image/jpeg',
'jpeg': 'image/jpeg',
'png': 'image/png',
'webp': 'image/webp',
'heic': 'image/heic'
}
mime_type = mime_map.get(ext, 'image/jpeg')
return {
"mime_type": mime_type,
"data": image_data
}
def generate_image_edit(self, image_path, prompt):
"""Отправка запроса на редактирование изображения"""
image_data = self.prepare_image(image_path)
payload = {
"model": "gemini-3-pro-image-preview",
"prompt": prompt,
"image": {
"mime_type": image_data["mime_type"],
"data": image_data["data"]
}
}
headers = {
"Authorization": f"Bearer {self.api_key}",
"Content-Type": "application/json"
}
response = requests.post(
f"{self.base_url}/generate",
json=payload,
headers=headers
)
if response.status_code == 200:
print("✓ Запрос успешно выполнен!")
return response.json()
else:
print(f"❌ Ошибка: {response.status_code}")
print(response.text)
return None
# Использование
client = NanoBananaProClient(api_key="ваш_api_ключ")
result = client.generate_image_edit(
image_path="my_photo.jpg",
prompt="Сделать изображение в стиле акварели"
)
if result:
print("Результат:", result)
Заключение: чек-лист перед отправкой
Перед каждым API-вызовом проверьте:
- Размер файла ≤ 7MB (для inline-данных) или ≤ 30MB (для Cloud Storage)
- Формат: PNG, JPEG, WebP,
Поддерживаемые форматы изображений в Nano Banana Pro API
Вот таблица с MIME-типами и форматами, которые поддерживает Nano Banana Pro:
| MIME-тип | Расширение файла | Статус поддержки | Примечания |
|---|---|---|---|
image/png |
.png | Поддерживается | Рекомендуется, сжатие без потерь |
image/jpeg |
.jpg, .jpeg | Поддерживается | Рекомендуется, малый размер |
image/webp |
.webp | Поддерживается | Высокая степень сжатия |
image/heic |
.heic | Поддерживается | Нативный формат iPhone |
image/heif |
.heif | Поддерживается | Эффективный формат изображений |
image/gif |
.gif | Не поддерживается | Требуется конвертация |
image/bmp |
.bmp | Не поддерживается | Требуется конвертация |
image/tiff |
.tiff | Не поддерживается | Требуется конвертация |
Оптимизация совместимости формата JPEG на платформе APIYI
Стоит отметить, что платформа APIYI apiyi.com провела дополнительную оптимизацию совместимости для формата JPEG. Некоторые старые JPEG-файлы могут вызывать проблемы распознавания при прямом обращении к Google API, но при использовании APIYI в качестве прокси эти проблемы совместимости решаются автоматически.
🎯 Рекомендации по формату: для повседневного использования рекомендуем JPEG или WebP — они имеют малый размер и хорошую совместимость. PNG подходит для сценариев, где нужен прозрачный фон. При обращении к Nano Banana Pro через APIYI apiyi.com вы получите улучшенную поддержку совместимости форматов.
Поддерживаемые соотношения сторон в Nano Banana Pro API
Nano Banana Pro поддерживает широкий выбор соотношений сторон для различных сценариев использования:
| Соотношение | Назначение | Типичное разрешение |
|---|---|---|
| 1:1 | Аватары в соцсетях, товарные фото | 1024×1024, 2048×2048 |
| 3:2 | Стандартное соотношение фото | 1536×1024 |
| 2:3 | Вертикальные фото | 1024×1536 |
| 3:4 | Вертикальные посты в соцсетях | 1536×2048 |
| 4:3 | Традиционное соотношение мониторов | 2048×1536 |
| 4:5 | Рекомендовано для Instagram | 1638×2048 |
| 5:4 | Для крупноформатной печати | 2048×1638 |
| 9:16 | Вертикальное видео для смартфонов | 1152×2048 |
| 16:9 | Горизонтальное видео/презентации | 2048×1152 |
| 21:9 | Сверхширокий экран/кинотеатр | 2688×1152 |

Решение проблемы превышения лимита размера изображений в Nano Banana Pro API
Когда размер вашего изображения превышает 7 МБ, вот 3 рекомендуемых решения:
Вариант 1: Сжатие через Python (рекомендуется)
Используйте библиотеку Pillow для интеллектуального сжатия с автоматическим уменьшением размера до 7 МБ:
from PIL import Image
import io
def compress_image_for_nano_banana(image_path: str, max_size_mb: float = 7.0) -> bytes:
"""
压缩图片到 Nano Banana Pro API 限制以下
Args:
image_path: 原图路径
max_size_mb: 最大文件大小(MB),默认7MB
Returns:
压缩后的图片字节数据
"""
max_size_bytes = max_size_mb * 1024 * 1024
with Image.open(image_path) as img:
# 转换为 RGB(处理 RGBA 透明图)
if img.mode in ('RGBA', 'P'):
img = img.convert('RGB')
# 先尝试直接保存
buffer = io.BytesIO()
img.save(buffer, format='JPEG', quality=95)
if buffer.tell() <= max_size_bytes:
return buffer.getvalue()
# 逐步降低质量直到满足大小限制
for quality in range(90, 10, -5):
buffer = io.BytesIO()
img.save(buffer, format='JPEG', quality=quality)
if buffer.tell() <= max_size_bytes:
print(f"压缩成功: quality={quality}, size={buffer.tell()/1024/1024:.2f}MB")
return buffer.getvalue()
# 如果质量压缩不够,同时缩小尺寸
scale = 0.9
while scale > 0.3:
new_size = (int(img.width * scale), int(img.height * scale))
resized = img.resize(new_size, Image.LANCZOS)
buffer = io.BytesIO()
resized.save(buffer, format='JPEG', quality=85)
if buffer.tell() <= max_size_bytes:
print(f"压缩成功: scale={scale:.1f}, size={buffer.tell()/1024/1024:.2f}MB")
return buffer.getvalue()
scale -= 0.1
raise ValueError("无法将图片压缩到 7MB 以下")
# 使用示例
compressed_data = compress_image_for_nano_banana("large_image.png")
Посмотреть полный код API-запроса (со сжатием и загрузкой)
import requests
import base64
from PIL import Image
import io
from typing import Dict, Any
def compress_image_for_nano_banana(image_path: str, max_size_mb: float = 7.0) -> bytes:
"""压缩图片到指定大小"""
max_size_bytes = max_size_mb * 1024 * 1024
with Image.open(image_path) as img:
if img.mode in ('RGBA', 'P'):
img = img.convert('RGB')
# 尝试不同质量级别
for quality in range(95, 10, -5):
buffer = io.BytesIO()
img.save(buffer, format='JPEG', quality=quality)
if buffer.tell() <= max_size_bytes:
return buffer.getvalue()
# 缩小尺寸
scale = 0.8
while scale > 0.3:
new_size = (int(img.width * scale), int(img.height * scale))
resized = img.resize(new_size, Image.LANCZOS)
buffer = io.BytesIO()
resized.save(buffer, format='JPEG', quality=80)
if buffer.tell() <= max_size_bytes:
return buffer.getvalue()
scale -= 0.1
raise ValueError("无法压缩到 7MB 以下")
def edit_image_with_nano_banana(
image_path: str,
prompt: str,
api_key: str = "YOUR_API_KEY",
base_url: str = "https://vip.apiyi.com/v1"
) -> Dict[str, Any]:
"""
使用 Nano Banana Pro 编辑图片
Args:
image_path: 原图路径
prompt: 编辑指令
api_key: API 密钥
base_url: API 基础地址
Returns:
API 响应结果
"""
# 检查并压缩图片
import os
file_size = os.path.getsize(image_path)
if file_size > 7 * 1024 * 1024:
print(f"原图 {file_size/1024/1024:.2f}MB 超过 7MB 限制,开始压缩...")
image_data = compress_image_for_nano_banana(image_path)
else:
with open(image_path, 'rb') as f:
image_data = f.read()
# Base64 编码
image_base64 = base64.b64encode(image_data).decode('utf-8')
# 调用 API
response = requests.post(
f"{base_url}/images/edits",
json={
"model": "gemini-3-pro-image-preview",
"image": image_base64,
"prompt": prompt
},
headers={
"Authorization": f"Bearer {api_key}",
"Content-Type": "application/json"
},
timeout=(30, 600) # 连接超时30秒,读取超时600秒
)
return response.json()
# 使用示例
if __name__ == "__main__":
result = edit_image_with_nano_banana(
image_path="my_photo.jpg",
prompt="将背景改为海边日落"
)
print(result)
Вариант 2: Онлайн-сервисы для сжатия
Если не хотите писать код, можете воспользоваться онлайн-инструментами:
- TinyPNG: tinypng.com — умное сжатие PNG/JPEG
- Squoosh: squoosh.app — открытый инструмент от Google для сжатия изображений
- iLoveIMG: iloveimg.com — поддерживает пакетное сжатие
Вариант 3: Консольные инструменты
Используйте ImageMagick для быстрого сжатия:
# 压缩到指定大小(约 7MB)
convert input.png -quality 85 -define jpeg:extent=7MB output.jpg
# 同时调整尺寸和质量
convert input.png -resize 4096x4096\> -quality 80 output.jpg
Совет: Попробуйте Nano Banana Pro через платформу APIYI (apiyi.com) — там есть бесплатный тестовый лимит, удобно проверить, нормально ли обрабатываются сжатые изображения.
Частые ошибки Nano Banana Pro API и их решение
| Сообщение об ошибке | Причина | Решение |
|---|---|---|
File size exceeds limit |
Размер одного изображения превышает 7 МБ | Используйте описанные выше методы сжатия |
Unsupported MIME type |
Неподдерживаемый формат (например, GIF/BMP) | Конвертируйте в PNG/JPEG/WebP |
Invalid image format |
Изображение повреждено или имеет нестандартный формат | Пересохраните или конвертируйте формат |
Too many images |
Превышен лимит в 14 изображений | Разбейте на несколько запросов |
Часто задаваемые вопросы
Q1: Лимит в 7MB относится к оригинальному изображению или к Base64-кодировке?
Лимит в 7MB применяется к размеру исходного файла, а не к размеру после Base64-кодирования. Base64-кодирование увеличивает данные примерно на 33%, поэтому оригинальное изображение в 7MB после кодирования будет весить около 9.3MB. API проверяет исходный размер после декодирования.
Q2: Почему моё изображение в 5MB всё равно не загружается?
Возможные причины:
- Неподдерживаемый формат изображения (например, GIF, BMP, TIFF)
- Повреждённый файл изображения
- Общий размер запроса превышает 20MB (при загрузке нескольких изображений)
Рекомендуем сначала конвертировать в формат JPEG, а затем протестировать через APIYI apiyi.com.
Q3: Как загрузить изображение в 30MB через Cloud Storage?
- Загрузите изображение в Google Cloud Storage
- Получите ссылку
gs://на изображение - Используйте эту ссылку в API-запросе вместо Base64-данных
- Этот способ поддерживает изображения размером до 30MB
Обратите внимание: это требует дополнительной настройки аккаунта Google Cloud. В большинстве случаев проще сжать изображение до 7MB.
Резюме
Ключевые моменты ограничений для изображений в Nano Banana Pro (gemini-3-pro-image-preview) API:
- Лимит на одно изображение — 7MB: жёсткое ограничение для встроенных данных или загрузки через консоль, Cloud Storage позволяет до 30MB
- Поддержка 5 форматов: PNG, JPEG, WebP, HEIC, HEIF — GIF/BMP/TIFF не поддерживаются
- 10 соотношений сторон: от 1:1 до 21:9, охватывающие все основные сценарии использования
- Решения при превышении лимита: сжатие через Python, онлайн-инструменты или утилиты командной строки
Разобравшись с этими ограничениями, вы сможете эффективнее использовать Nano Banana Pro для редактирования и генерации изображений.
Рекомендуем протестировать Nano Banana Pro через APIYI apiyi.com — платформа предлагает бесплатную квоту и оптимизированную совместимость с форматом JPEG, стоимость обработки одного изображения всего $0.05.
📚 Справочные материалы
⚠️ О формате ссылок: Все внешние ссылки даны в формате
Название: domain.com— удобно копировать, но нельзя кликнуть. Так мы сохраняем SEO-вес нашего сайта.
-
Документация Google Gemini API по работе с изображениями: официальные спецификации для входных изображений
- Ссылка:
ai.google.dev/gemini-api/docs/image-understanding - Описание: здесь найдёте всё про MIME-типы и ограничения по размеру
- Ссылка:
-
Требования к входным файлам Firebase AI Logic: подробная информация о спецификациях файлов
- Ссылка:
firebase.google.com/docs/ai-logic/input-file-requirements - Описание: полный список поддерживаемых форматов и их ограничений
- Ссылка:
-
Документация библиотеки Pillow: официальная документация по обработке изображений на Python
- Ссылка:
pillow.readthedocs.io - Описание: лучший ресурс для изучения сжатия и конвертации изображений
- Ссылка:
Автор: команда разработчиков
Обсудим технологии: пишите в комментариях, больше материалов ищите в техническом сообществе APIYI apiyi.com
