OpenRouter Connector
Версия: 1.0.0
Дата: 2025-12-21
Коннектор к OpenRouter API с поддержкой 400+ моделей.
Возможности
| Компонент |
Описание |
Модели |
| TextGenerator |
Описания товаров, SEO, статьи |
Llama, GPT-4o, Claude |
| ImageGenerator |
Баннеры, фото, иллюстрации |
FLUX, DALL-E, SDXL |
| TextRewriter |
Рерайт, улучшение, адаптация |
Llama, GPT-4o-mini |
| Translator |
Перевод, локализация |
Llama, GPT-4o-mini |
| VisionAnalyzer |
Анализ изображений, OCR |
Gemini, GPT-4o |
| CodeGenerator |
Код, вёрстка, SQL |
Claude, GPT-4o |
Модели
Бесплатные (Free Tier)
| Модель |
Контекст |
Особенности |
| Llama 3.1 8B |
131K |
Лучшая бесплатная, tools, JSON |
| Gemma 2 9B |
8K |
Быстрая |
| Mistral 7B |
32K |
SEO, краткие тексты |
| Qwen 2.5 7B |
32K |
Многоязычная |
| Phi-3 Mini |
128K |
Большой контекст |
Платные (Цены за 1M токенов)
| Модель |
Input |
Output |
Особенности |
| GPT-4o Mini |
$0.15 |
$0.60 |
Лучшее соотношение цена/качество |
| Claude 3 Haiku |
$0.25 |
$1.25 |
Быстрый, дешёвый |
| Llama 3.1 70B |
$0.52 |
$0.75 |
Мощная открытая |
| Gemini Flash 1.5 |
$0.075 |
$0.30 |
Дешёвый vision, 1M контекст |
| GPT-4o |
$2.50 |
$10.00 |
Премиум |
| Claude 3.5 Sonnet |
$3.00 |
$15.00 |
Лучшее качество |
Изображения (Цена за изображение)
| Модель |
Цена |
Особенности |
| FLUX Schnell |
$0.003 |
Быстрый, дешёвый |
| FLUX 1.1 Pro |
$0.04 |
Лучшее качество |
| DALL-E 3 |
$0.04 |
Понимание промптов |
| SDXL |
$0.002 |
Стилизация |
Установка
# API ключ
export OPENROUTER_API_KEY="sk-or-v1-..."
# Зависимости
pip install requests
Использование
Базовый клиент
from system.elements.openrouter import OpenRouter
client = OpenRouter(api_key="sk-or-...")
# Простой запрос
response = client.complete("Привет!")
print(response.content)
# С параметрами
response = client.complete(
prompt="Опиши товар",
model="openai/gpt-4o-mini",
temperature=0.7,
max_tokens=500,
)
Генерация текста
from system.elements.openrouter import OpenRouter, TextGenerator
client = OpenRouter()
text = TextGenerator(client)
# Описание товара
result = text.product_description(
name="Батарея салютов Огненный дракон",
specs={"залпы": 100, "калибр": "30мм"},
style="selling", # selling, informative, premium
length="medium", # short, medium, long
)
print(result.text)
# SEO текст
result = text.seo_text(
keywords=["салюты СПб", "купить фейерверк"],
length="medium",
include_h2=True,
)
# Meta теги
tags = text.meta_tags(page_content="...")
# {"title": "...", "description": "...", "keywords": "..."}
# Статья
result = text.article(
topic="Как выбрать фейерверк",
outline=["Типы", "Калибры", "Безопасность"],
style="engaging",
)
Генерация изображений
from system.elements.openrouter import OpenRouter, ImageGenerator
client = OpenRouter()
images = ImageGenerator(client)
# Базовая генерация
result = images.generate(
prompt="Новогодний фейерверк над городом",
size="1024x1024",
)
result.save("firework.jpg")
# Баннер
result = images.banner(
text="Скидка 30%!",
style="festive", # modern, festive, minimal, luxury
size="1200x628",
)
# Фото товара
result = images.product_photo(
description="Батарея салютов 100 залпов",
background="studio", # studio, lifestyle, outdoor
lighting="soft",
)
# Для соцсетей
result = images.social_post(
content="Новогодняя распродажа",
platform="instagram",
mood="promotional",
)
Рерайт текста
from system.elements.openrouter import OpenRouter, TextRewriter
client = OpenRouter()
rewriter = TextRewriter(client)
# Рерайт
result = rewriter.rewrite(
text="Исходный текст...",
style="professional", # same, professional, casual, academic, marketing
)
# Улучшение
result = rewriter.improve(
text="Текст с ошибками",
aspects=["clarity", "grammar", "flow"],
)
# Адаптация под аудиторию
result = rewriter.adapt_audience(
text="Технический текст",
audience="beginners", # experts, beginners, youth, b2b, b2c
)
# Сокращение
result = rewriter.shorten(text, ratio=0.5)
# Расширение
result = rewriter.expand(text, ratio=2.0, add_examples=True)
Перевод
from system.elements.openrouter import OpenRouter, Translator
client = OpenRouter()
translator = Translator(client)
# Простой перевод
result = translator.translate(
text="Hello, world!",
target_lang="ru",
)
# Локализация
result = translator.localize(
text="Buy now!",
target_lang="ru",
context="e-commerce",
cultural_adaptation=True,
)
# Определение языка
lang = translator.detect_language("Привет!") # "ru"
# Перевод на несколько языков
translations = translator.multilingual(
text="Hello",
target_langs=["ru", "de", "fr"],
)
# {"ru": "Привет", "de": "Hallo", "fr": "Bonjour"}
Анализ изображений (Vision)
from system.elements.openrouter import OpenRouter, VisionAnalyzer
client = OpenRouter()
vision = VisionAnalyzer(client)
# Описание
result = vision.describe(
image="https://example.com/image.jpg",
detail_level="medium",
)
# Анализ товара
product = vision.analyze_product("https://...")
# {"name": "...", "category": "...", "specs": {...}}
# OCR
result = vision.extract_text(image_url, structured=True)
print(result.text_content)
# Обнаружение объектов
result = vision.detect_objects(image_url)
# Сравнение
diff = vision.compare(image1_url, image2_url)
# Alt-текст для SEO
alt = vision.generate_alt_text(image_url, context="e-commerce")
Генерация кода
from system.elements.openrouter import OpenRouter, CodeGenerator
client = OpenRouter()
code = CodeGenerator(client)
# HTML секция
result = code.html_section(
description="Карточка товара с ценой",
style="tailwind", # tailwind, bootstrap, vanilla
responsive=True,
)
# CSS
result = code.css_component(
description="Кнопка с анимацией",
approach="bem",
animations=True,
)
# JavaScript
result = code.javascript(
task="Валидация формы",
framework="vanilla", # vanilla, jquery, vue, react
)
# Python
result = code.python_script(
task="Парсер CSV файла",
style="functional",
include_types=True,
)
# SQL
result = code.sql_query(
task="Выбрать топ-10 товаров по продажам",
dialect="postgresql",
)
# Regex
result = code.regex(
pattern_description="Email адрес",
flavor="python",
)
# Рефакторинг
result = code.refactor(
code="...",
language="python",
goals=["readability", "simplify"],
)
# Объяснение кода
explanation = code.explain(code, language="python")
CLI
cd system/elements/openrouter
# Модели
python cli.py models
python cli.py models --free
python cli.py models --image
# Генерация текста
python cli.py text "Батарея салютов 100 залпов" --style selling
python cli.py seo "салюты СПб, фейерверк" --length medium
# Изображения
python cli.py image "Новогодний фейерверк"
python cli.py banner "Скидка 30%!" --style festive
# Рерайт
python cli.py rewrite "Текст" --style professional
# Перевод
python cli.py translate "Hello" --to ru
# Vision
python cli.py vision https://example.com/image.jpg
python cli.py vision image.jpg --ocr
# Код
python cli.py code "Валидация email" --lang python
# Баланс
python cli.py balance
python cli.py limits
Лимиты
| Уровень |
RPM |
RPD |
Условие |
| Free |
20 |
50 |
Новый аккаунт |
| Paid $10 |
60 |
1000 |
После $10 |
| Paid $100 |
200 |
10000 |
После $100 |
Рекомендации по выбору модели
| Задача |
Бюджет |
Модель |
| Описания товаров |
Free |
Llama 3.1 8B |
| Описания товаров |
Low |
GPT-4o Mini |
| Премиум контент |
High |
Claude 3.5 Sonnet |
| SEO тексты |
Free |
Llama 3.1 8B |
| Быстрые баннеры |
Low |
FLUX Schnell |
| Качественные баннеры |
Medium |
FLUX 1.1 Pro |
| Анализ изображений |
Low |
Gemini Flash 1.5 |
| Анализ изображений |
Medium |
GPT-4o Mini |
| Код |
Low |
Claude 3 Haiku |
| Сложный код |
High |
Claude 3.5 Sonnet |
Примеры стоимости
| Задача |
Модель |
Токены |
Стоимость |
| 100 описаний (150 слов) |
Llama 3.1 8B Free |
~150K |
$0.00 |
| 100 описаний |
GPT-4o Mini |
~150K |
~$0.10 |
| 10 баннеров |
FLUX Schnell |
- |
$0.03 |
| 10 баннеров |
FLUX 1.1 Pro |
- |
$0.40 |
| 1000 OCR |
Gemini Flash |
~500K |
~$0.20 |
Структура модуля
openrouter/
├── __init__.py # Экспорты
├── client.py # Базовый клиент
├── models.py # Каталог моделей
├── cli.py # CLI интерфейс
├── README.md # Документация
└── components/
├── __init__.py
├── text.py # Генерация текста
├── images.py # Генерация изображений
├── rewriter.py # Рерайт
├── translator.py # Перевод
├── vision.py # Анализ изображений
└── code.py # Генерация кода
Версия: 1.0.0