Модели и текущие ставки API429
Ниже — точные графические ID выбранного семейства. Публичный каталог и список GET /v1/models для вашего ключа решают разные задачи: опубликованная запись не подтверждает доступ любого аккаунта. Не заменяйте дефисы, точки или версию по сходству названий.
| Модель / точный ID | API429: USD и единицы оплаты |
|---|---|
Flux.2 ProFLUX.2-pro | $0.009000000 / 1 изображение · Выход 1 МП, без референсов (1 МП = 1024 × 1024) $0.013500000 / 1 изображение · Выход 2 МП, без референсов (1 МП = 1024 × 1024) $0.022500000 / 1 изображение · Выход 4 МП, без референсов (1 МП = 1024 × 1024) |
Дата данных каталога: . Ставки показываются с условиями из каталога; отсутствующая строка не означает бесплатный запрос.
Подробные тарифы семейства и калькулятор · Полный каталог
Один запрос и одно проверяемое изображение
Для первого теста FLUX выберите простую сцену с понятными критериями: предмет на столе, нейтральный фон и заданное освещение. В примере запрашивается одно изображение размером 1024x1024 с возвратом b64_json. Буквальный ID FLUX.2-pro чувствителен к написанию: не заменяйте его на название страницы модели или другое написание Flux. Проверяйте наличие модели в списке своего ключа до платной генерации. Используйте искусственный сюжет без рабочих материалов, пока не проверены формат ответа, сохранение файла и обработка ошибок приложения.
Условия мегапикселей и отсутствие референсов
Таблица ставок различает output_mp и reference_mp. Показанные строки с reference_mp=0 относятся к генерации без референсных изображений; их нельзя переносить на редактирование или запрос с дополнительным изображением. Размер 1024x1024 в примере является явной настройкой запроса, а не обещанием всех форматов и параметров производителя. Не умножайте произвольное число мегапикселей на одну строку без подтверждённого правила расчёта. Если нужная конфигурация отсутствует или данные устарели, проверьте каталог и контракт, прежде чем оценивать серию запросов.
Изображение в API429 и нативный процесс BFL
Документация Black Forest Labs описывает семейство FLUX и собственный процесс генерации, который может включать ожидание и опрос результата. Этот нативный процесс не является инструкцией к представленному клиентскому методу API429. Здесь используется POST /v1/images/generations. Примеры проверяют количество выходов, наличие b64_json и сигнатуру PNG, JPEG либо WebP перед выбором расширения. Предупреждения и parameter_mismatches требуют просмотра; metadata outputs помогает проверить фактический результат. Не считайте успешный HTTP-статус подтверждением нужной композиции, размера или отсутствия частичного ответа. Сначала откройте файл и сравните его с заданием.
Доступ ключа и границы примера
Сначала создайте ключ в личном кабинете API429, затем запросите список моделей с этим ключом. Публичный каталог помогает выбрать запись, но не подтверждает права конкретного аккаунта. Сохраните точный идентификатор без изменения регистра, дефисов и точек. Ключ храните в окружении серверного приложения; не включайте его в браузерный код, журналы запросов или примеры для коллег. Успешное чтение списка ещё не проверяет выполнение платной генерации. Начните с небольшого искусственного задания, результат которого можно оценить вручную, и только после проверки переносите запрос на рабочие данные.
Как читать текущие ставки
Таблица получает ставки из свежего публичного каталога API429. Единица оплаты и условие строки являются частью цены: нельзя переносить число из одной строки на другой режим запроса. При отсутствии свежей однозначной записи числовая ставка скрывается. Это означает недостаток подтверждения, а не бесплатное использование. Перед запуском серии запросов сверяйте параметры, доступ ключа и бюджет. Сохраняйте идентификатор модели, размер задания и результат проверки в собственном приложении. Повтор после ошибки может создать новую платную операцию, поэтому решение о повторе должно учитывать уже полученный ответ и состояние задачи.
Выберите следующий шаг подключения
- Тарифы Black Forest Labs / FLUX
Отдельное руководство по единицам оплаты и сопоставлению опубликованных тарифов.
- Каталог моделей
Проверьте точный идентификатор, опубликованные возможности и текущие единицы оплаты.
- Начало работы с API429
Создайте ключ и проверьте клиентский контракт перед первым платным запросом.
Первое изображение: curl, Python, JavaScript
- Создайте ключ в личном кабинете API429 и пополните баланс: картой РФ, по счёту для юрлиц или в USDT/TON. Для первых запросов можно получить $10 за подписку на Telegram-канал.
- С тем же ключом проверьте точный ID
FLUX.2-proвGET https://gateway.api429.com/v1/models. - Задайте
API429_API_KEYв окружении сервера и выполните небольшой запрос. Генерация платная; пример не выполняет автоматических повторов. - Проверьте один выход, предупреждения,
parameter_mismatches,api429.outputsи сигнатуру PNG, JPEG либо WebP. Таймаут не доказывает, что операция не оплачена.
Пример использует POST /v1/images/generations, n=1, size=1024x1024 и response_format=b64_json, без референсов. Строки output_mp с reference_mp=0 нельзя переносить на запросы с референсами. Python и JavaScript проверяют доступ ключа, число выходов и сигнатуру файла; предупреждения и фактический выход требуют просмотра. Для curl отдельно проверьте список и JSON-ответ.
curl
curl --fail-with-body https://gateway.api429.com/v1/images/generations \
-H "Authorization: Bearer $API429_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"FLUX.2-pro","prompt":"A ceramic cup on a wooden table, neutral background, soft daylight.","n":1,"size":"1024x1024","response_format":"b64_json"}' \
--output image-response.jsonPython 3
import base64
import json
import os
import urllib.request
from pathlib import Path
key = os.environ["API429_API_KEY"]
base = "https://gateway.api429.com/v1"
headers = {"Authorization": "Bearer " + key, "Content-Type": "application/json"}
model = "FLUX.2-pro"
with urllib.request.urlopen(urllib.request.Request(base + "/models", headers=headers), timeout=30) as response:
available = {item["id"] for item in json.load(response)["data"]}
if model not in available:
raise ValueError("Model unavailable to this key")
payload = json.loads("{\"model\":\"FLUX.2-pro\",\"prompt\":\"A ceramic cup on a wooden table, neutral background, soft daylight.\",\"n\":1,\"size\":\"1024x1024\",\"response_format\":\"b64_json\"}")
request = urllib.request.Request(base + "/images/generations",
data=json.dumps(payload).encode("utf-8"), headers=headers, method="POST")
with urllib.request.urlopen(request, timeout=180) as response:
result = json.load(response)
if result.get("warnings") or result.get("api429", {}).get("parameter_mismatches"):
print("Inspect output warnings:", result.get("warnings"), result.get("api429"))
items = result.get("data", [])
if len(items) != 1 or not items[0].get("b64_json"):
raise ValueError("Missing image or partial result; inspect before retrying")
raw = base64.b64decode(items[0]["b64_json"], validate=True)
if raw.startswith(b"\x89PNG\r\n\x1a\n"):
extension = "png"
elif raw.startswith(b"\xff\xd8\xff"):
extension = "jpg"
elif raw.startswith(b"RIFF") and raw[8:12] == b"WEBP":
extension = "webp"
else:
raise ValueError("Unknown image MIME; inspect before saving")
Path("image." + extension).write_bytes(raw)
print(result.get("api429", {}).get("outputs"))JavaScript: Node.js 18+
import { writeFile } from "node:fs/promises";
const key = process.env.API429_API_KEY;
if (!key) throw new Error("Set API429_API_KEY");
const base = "https://gateway.api429.com/v1";
const headers = { Authorization: "Bearer " + key, "Content-Type": "application/json" };
const model = "FLUX.2-pro";
const available = await fetch(base + "/models", { headers, signal: AbortSignal.timeout(30000) });
if (!available.ok) throw new Error("Models HTTP " + available.status);
if (!(await available.json()).data.some(item => item.id === model)) throw new Error("Model unavailable to this key");
const payload = {"model":"FLUX.2-pro","prompt":"A ceramic cup on a wooden table, neutral background, soft daylight.","n":1,"size":"1024x1024","response_format":"b64_json"};
const response = await fetch(base + "/images/generations", {
method: "POST", headers, body: JSON.stringify(payload), signal: AbortSignal.timeout(180000)
});
if (!response.ok) throw new Error("Generation HTTP " + response.status);
const result = await response.json();
if (result.warnings || result.api429?.parameter_mismatches) console.warn("Inspect warnings", result.warnings, result.api429);
if (result.data?.length !== 1 || !result.data[0].b64_json) throw new Error("Missing image or partial result; inspect before retrying");
const bytes = Buffer.from(result.data[0].b64_json, "base64");
const hex = bytes.subarray(0, 8).toString("hex");
const extension = hex === "89504e470d0a1a0a" ? "png" : hex.startsWith("ffd8ff") ? "jpg" : bytes.toString("ascii", 0, 4) === "RIFF" && bytes.toString("ascii", 8, 12) === "WEBP" ? "webp" : undefined;
if (!extension) throw new Error("Unknown image MIME; inspect before saving");
await writeFile("image." + extension, bytes);
console.log(result.api429?.outputs);Примеры не подтверждают доступ вашего ключа; проверьте точный ID перед платным запросом. API-контракт · Настройка совместимого клиента · Вопросы и поддержка
Оплата и тест $10
- Карта российского банка. Пополнение баланса в личном кабинете.
- Счёт для юрлиц. Безналичная оплата с закрывающими документами.
- USDT и TON. Пополнение криптовалютой.
Тест $10. Подпишитесь на наш Telegram-канал через бота — получите $10 на баланс для первых запросов. Получить $10 в боте
Частые вопросы
Какой ID нужен для FLUX?
Отправляйте FLUX.2-pro с сохранением регистра и пунктуации. Адрес опубликованной карточки может отличаться от API ID; используйте значение из каталога и списка своего ключа.
Что означает reference_mp=0?
Это условие строки тарифа без референсных изображений. Оно не описывает цену редактирования и не подтверждает правила оплаты для других входных конфигураций.
Как сохранять результат b64_json?
Проверьте один ожидаемый выход и непустые данные, декодируйте base64 и определите расширение по сигнатуре файла. При неизвестной сигнатуре или частичном ответе остановите обработку и изучите ответ.
Нужно ли повторять нативный polling BFL?
Не переносите нативный процесс BFL на API429 автоматически. Следуйте документированному методу API429, проверяйте warnings и metadata outputs, а тарифные сравнения читайте в существующем руководстве FLUX.
Источники и редакционная проверка
Документация производителей объясняет семейство и правила их собственных API. Точные ID, ставки и контракт API429 проверяются по его каталогу и документации отдельно.
Проверено . Для подключения создайте аккаунт API429 и следуйте инструкции начала работы.