Kontext [max] przydaje się, gdy gotowa grafika potrzebuje innego napisu: baner w nowej wersji językowej, opakowanie z poprawioną nazwą, szyld na zdjęciu. Piszesz, co zmienić, a model edytuje obraz bez rysowania masek. To wyższy wariant Kontekstu od Black Forest Labs - działa jak FLUX.1 Kontext [pro], ale według producenta lepiej radzi sobie z typografią i dokładniej wykonuje polecenia.
Co z nim zrobisz
- Podmiana napisu na banerze albo opakowaniu - bez projektowania od nowa.
- Lokalizacja grafik - ten sam projekt z tekstem w innym języku.
- Poprawki na zdjęciach - szyldy, etykiety, plakaty w tle.
- Edycje z wieloma szczegółami - polecenia, w których liczy się precyzja.
Ustawienia w praktyce
- Obraz do edycji - podajesz go w
image_urls; łącznie do 4 referencji. - Proporcje - 9 formatów, od 21:9 do 9:21. Wynik ma około 1 MP.
- Seed - zapisz go przy udanej wersji, żeby móc ją powtórzyć.
- Kilka zmian - wysyłaj po kolei, każdą na ostatnim wyniku, zamiast wszystkich naraz.
- Model generuje też obrazy z samego tekstu, jeden na zapytanie.
Prompt na start
Replace the text "SUMMER SALE" on the banner with "WYPRZEDAŻ LATA". Keep the same font, colour, size and position. Do not change anything else in the image.Wpisz swój stary i nowy napis, a gotowy wynik obejrzyj w powiększeniu - polskie znaki zawsze sprawdzaj przed publikacją.
Pytania
Ile kosztuje edycja w Kontext [max]?
1,03 zł za obraz, z VAT. Edycja zakończona błędem kosztuje 0 zł. Więcej o tekście na obrazach w poradniku napisy na grafikach AI.
Po co dopłacać do [max], skoro jest [pro]?
Dopłata ma sens przy tekście na obrazie i długich, szczegółowych poleceniach. Zmianę tła albo koloru kurtki zwykle zrobi tańszy [pro].
Czy mogę edytować cudzą grafikę?
Tylko taką, do której masz prawa. Wynik edycji jest Twój w granicach prawa i licencji Black Forest Labs.
FLUX.1 Kontext [max] w twoim kodzie
curl https://kadraris.com/v1/generate?wait=60 \
-H "Authorization: Bearer $KADRARIS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "flux-kontext-max",
"input": {
"prompt": "Packshot of a white linen sneaker on a concrete block, hard midday sun, crisp shadow, 85mm",
"aspect_ratio": "1:1"
}
}'import os, time, requests
API = "https://kadraris.com/v1"
H = {"Authorization": f"Bearer {os.environ['KADRARIS_API_KEY']}"}
task = requests.post(f"{API}/generate", headers=H, json={
"model": "flux-kontext-max",
"input": {
"prompt": "Packshot of a white linen sneaker on a concrete block, hard midday sun, crisp shadow, 85mm",
"aspect_ratio": "1:1"
}
}).json()
while task["status"] in ("queued", "running"):
time.sleep(3)
task = requests.get(f"{API}/tasks/{task['id']}", headers=H).json()
print(task["status"], task["cost"], [o["url"] for o in task["output"]])const API = "https://kadraris.com/v1";
const headers = { Authorization: `Bearer ${process.env.KADRARIS_API_KEY}`, "Content-Type": "application/json" };
let task = await (await fetch(`${API}/generate`, {
method: "POST",
headers,
body: JSON.stringify({
"model": "flux-kontext-max",
"input": {
"prompt": "Packshot of a white linen sneaker on a concrete block, hard midday sun, crisp shadow, 85mm",
"aspect_ratio": "1:1"
}
}),
})).json();
while (task.status === "queued" || task.status === "running") {
await new Promise((r) => setTimeout(r, 3000));
task = await (await fetch(`${API}/tasks/${task.id}`, { headers })).json();
}
console.log(task.status, task.cost, task.output.map((o) => o.url));
Pola wejściowe
| Parametr | Typ | Dozwolone | Domyślnie |
|---|---|---|---|
prompt * | string | ||
aspect_ratio | string | 1:1 4:3 3:4 16:9 9:16 3:2 2:3 21:9 9:21 | 1:1 |
num_images | integer | 1-1 | 1 |
image_urls | array | maks. 4 | |
seed | integer |
Tę listę w JSON-ie dostaniesz z GET /v1/models/flux-kontext-max.























