Ideogram 4.5 बनाम FLUX 3: प्रोडक्ट इमेज की सटीक एडिटिंग
पहले से स्वीकृत प्रोडक्ट या कैंपेन इमेज में छोटा बदलाव करना हो तो पहले Ideogram 4.5 आज़माएँ। कई ऑब्जेक्ट की स्थिति नियंत्रित करनी हो या अधिक रेफरेंस चाहिए हों तो FLUX 3 से शुरू करें। यह लेख बिना समान-स्रोत बेंचमार्क के कोई सार्वभौमिक विजेता घोषित नहीं करता; इसके बजाय दोहराने योग्य टेस्ट, चेकपॉइंट और स्थानीय पिक्सेल सत्यापन देता है।
विषय-सूची

अच्छी प्रोडक्ट एडिटिंग का मतलब सिर्फ एक सुंदर नई तस्वीर बनाना नहीं है। जब इमेज पहले से स्वीकृत हो, तो काम अक्सर बहुत सीमित होता है: लेबल की एक पंक्ति ठीक करना, ढक्कन का रंग बदलना या छोटा ऑब्जेक्ट हटाना—लेकिन पैकेज का आकार, लोगो, बारकोड, रोशनी, रिफ्लेक्शन, छाया, बैकग्राउंड और क्रॉप ज्यों का त्यों रहना चाहिए।
व्यावहारिक शुरुआती निर्णय यह है: जब नियम हो “सिर्फ इस छोटे हिस्से को बदलो और बाकी सब सुरक्षित रखो”, तो पहले Ideogram 4.5 Precise Edit आज़माएँ। जब मुख्य चुनौती कई ऑब्जेक्ट की जगह तय करना, उन्हें साथ में बदलना या अधिक रेफरेंस इमेज इस्तेमाल करना हो, तो पहले FLUX 3 Image आज़माएँ। यह सार्वभौमिक गुणवत्ता-विजेता घोषित करना नहीं है। उपलब्ध आधिकारिक सामग्री में दोनों मॉडलों का एक ही स्रोत पर स्वतंत्र और दोहराने योग्य बेंचमार्क नहीं है, इसलिए अंतिम निर्णय अपनी acceptance test से करें।
30 सेकंड में शुरुआती चुनाव
| जरूरत | पहले किसे आज़माएँ | कारण |
|---|---|---|
| लेबल, कानूनी टेक्स्ट, बैज या छोटे रंग क्षेत्र को बदलना | Ideogram 4.5 | Precise Edit समान आउटपुट आयाम, वैकल्पिक mask और महत्वपूर्ण रूप से न बदले pixels की exact copy का दस्तावेज़ी दावा करता है। |
| बहुत बड़े प्रिंट master से crop एडिट करके वापस जोड़ना | Ideogram 4.5 | मॉडल पेज crop के edges बचाकर original में stitch करने का workflow बताता है। |
| कई तत्वों को move, remove या replace करना | FLUX 3 | Structured bounding-box rows source और target position बता सकती हैं। |
| कई reference images इस्तेमाल करना | FLUX 3 | API एक से दस images लेती है; Ideogram चार तक लेता है, और mask होने पर उससे भी कम। |
| “इस क्षेत्र के बाहर कुछ नहीं बदलना चाहिए” को hard gate बनाना | पहले Ideogram, फिर local validation | Ideogram mask editing region सीमित करता है; FLUX boxes placement guide हैं, clipping mask नहीं। |
| कई market या color variants बनाना | कोई भी, लेकिन branching के साथ | हर variant एक ही approved checkpoint से बने, पिछले variant से नहीं। |
“सटीक” को मापने योग्य बनाइए
मॉडल चुनने से पहले तीन बातें लिखित रूप में तय करें:
- Mutable region: सबसे छोटा क्षेत्र जिसे बदलने की अनुमति है; इसमें edge blending, shadow और reflection के लिए जरूरी margin शामिल हो।
- Protected region: वे सभी pixels और objects जो स्थिर रहने चाहिए।
- Acceptance criteria: dimensions, protected-area drift, text accuracy, color, geometry, light, profile और human review।
Semantic similarity और pixel preservation अलग बातें हैं। बोतल “वही” दिख सकती है, जबकि लोगो का spacing, label texture, highlight की shape या background grain बदल गया हो। Concept image के लिए यह ठीक हो सकता है; ecommerce, regulated copy या print master के लिए नहीं।
Ideogram 4.5 कैसे काम करता है
आधिकारिक Ideogram 4.5 Precise Edit API endpoint है:
POST https://api.ideogram.ai/v2/image/precise-edit/ideogram-4-5
Source को image, instruction को prompt के रूप में भेजा जाता है; reference_images और mask वैकल्पिक हैं। दस्तावेज़ कहता है कि output की width और height input के बराबर रहती है, और जिन pixels को edit ने महत्वपूर्ण रूप से नहीं बदला, वे input से exact copy किए जाते हैं। Ideogram upload mask में काला हिस्सा edit होता है और सफेद हिस्सा सुरक्षित रहता है।
इसलिए छोटी surgical correction के लिए इसका documented contract अधिक स्पष्ट है। High-resolution files के लिए Ideogram 4.5 मॉडल पेज target के आसपास margin सहित crop बनाकर, उसे edit करके और original में वापस stitch करने का तरीका बताता है।
दो सावधानियाँ:
- API docs के अनुसार model सीमा से बड़ी images downscale हो सकती हैं; पूरे master को भेजकर हर source pixel बचने की धारणा न बनाएं;
- mask एक reference slot लेता है, इसलिए masked request में कम auxiliary images इस्तेमाल की जा सकती हैं।
Default response synchronous है। async या webhook के साथ generation_id संभालें और GET /v2/generations/{generation_id} poll करें। API overview यह भी बताता है कि result URLs expire होते हैं, इसलिए original output तुरंत download करें।
FLUX 3 कैसे काम करता है
आधिकारिक FLUX 3 Image API endpoint है:
POST https://api.bfl.ai/v1/flux-3-image
अलग edit mode नहीं है। आप prompt और एक या अधिक images भेजते हैं। API एक से दस reference images स्वीकार करती है। aspect_ratio: auto में prompt द्वारा माँगा गया ratio प्राथमिक होता है; अन्यथा references होने पर पहली reference image का framing रखा जाता है।
Spatial control का मुख्य तरीका bounding boxes है। हर box [top, left, bottom, right] के रूप में normalized 0–1000 grid पर लिखा जाता है। Rows किसी element को keep, move, add, replace, recolor या remove करने के लिए source और target position बता सकती हैं।
इसलिए “यह object यहाँ रखो” या “इन तीन elements को साथ में बदलो” जैसे काम में FLUX 3 उपयोगी है। लेकिन official docs एक महत्वपूर्ण सीमा भी बताते हैं: boxes placement guide हैं; वे clipping masks नहीं हैं। Edited boxes के बाहर pixels “आमतौर पर” समान रहते हैं—यह absolute guarantee नहीं है।
FLUX requests asynchronous हैं। लौटे हुए id और polling_url दोनों रखें; integration guide returned polling URL इस्तेमाल करने को कहती है। Status Ready होते ही result.sample download करें, क्योंकि BFL के अनुसार generated image दस मिनट बाद उपलब्ध नहीं रहती।
Controlled comparison में grounding: false रखें। Grounding default रूप से web या image search जोड़ सकता है; दिए गए product image की local edit में यह अनावश्यक variable है।
एक ही source पर भरोसेमंद test
1. Immutable master freeze करें
Lossless PNG या approved TIFF से बनाया PNG लें। Filename, SHA-256, dimensions, color profile और approval version रिकॉर्ड करें। एक ऐसी copy रखें जिसे कोई generation process overwrite न कर सके।
2. Internal allowed-change mask बनाएं
Mask source के बराबर size की हो:
- सफेद: बदल सकता है;
- काला: protected है।
Target के आसपास छोटा guard band रखें। यदि label पर shadow, reflection, embossing या transparent film है, तो जरूरी प्रभावों को allowed area में शामिल करें। बहुत tight mask unnatural seam पैदा कर सकती है।
यह internal validation mask सफेद को “editable” मानती है, जबकि Ideogram upload mask में काला “edit” होता है। Files को स्पष्ट नाम दें ताकि दोनों उलट न जाएँ।
3. एक request में एक business change रखें
अच्छे test task हैं: एक line बदलना, सिर्फ cap का color बदलना या एक sticker हटाना। Text, background, relighting और reframing एक साथ न मिलाएँ।
Prompt templates:
LABEL EDIT
Change only the product label text from "CLASSIC" to "ZERO SUGAR".
Keep the package shape, logo, barcode, lighting, reflections, shadows, background,
camera angle, crop, and all pixels outside the label area unchanged.
Do not redesign, restyle, or add objects.
COLORWAY
Change only the bottle cap from matte black to Pantone 186 C red.
Preserve the bottle, label, liquid, highlights, reflections, shadows, background,
camera angle, crop, and every object outside the cap area.
OBJECT REPLACEMENT
Replace only the small paper sticker with a clean white sticker of the same size,
position, perspective, edge softness, and shadow. Keep everything else unchanged.
FLUX में position कठिन हो तो measured box rows जोड़ें। नीचे का उदाहरण illustrative है; वास्तविक source पर coordinates निकालें और याद रखें कि box mask नहीं है:
Edit only <front_label>. Keep every other part of ref_image_0 unchanged.
[
{
"id": "front_label",
"from": null,
"src_bbox": null,
"tgt_bbox": [360, 285, 690, 725],
"desc": "the same front label with the text ZERO SUGAR; preserve its size, perspective, typography, print texture, highlights, and shadow"
}
]
4. Business intent समान रखें, controls model-specific हों
- Ideogram: full image या guard-band crop; strict localization के लिए black-edit/white-keep vendor mask।
- FLUX 3: source को
imagesमें पहले रखें,aspect_ratio: autoरखें, box rows जोड़ें और controlled run में grounding बंद करें।
हर setting log करें। Fair test का अर्थ समान business request है, दोनों APIs को एक जैसा दिखाना नहीं।
5. Raw outputs तुरंत सहेजें
Browser screenshot या compressed preview की तुलना न करें। File को इस तरह नाम दें:
masterHash_model_editId_attempt.ext
Candidate का hash भी निकालें। बाद का resize, color conversion या JPEG export अलग derivative file हो।
Protected pixels की local जाँच
नीचे का script internal allowed mask के बाहर original और candidate की तुलना करता है। Difference map में बदले हुए protected pixels सफेद, allowed area gray और unchanged protected area black होगी।
Dependencies install करें:
python -m pip install pillow numpy
इसे verify_edit.py के रूप में save करें:
#!/usr/bin/env python3
"""Check whether an edited image changed pixels outside an allowed mask."""
from __future__ import annotations
import argparse
import sys
from pathlib import Path
import numpy as np
from PIL import Image
def parse_args() -> argparse.Namespace:
parser = argparse.ArgumentParser()
parser.add_argument("original", type=Path)
parser.add_argument("edited", type=Path)
parser.add_argument("allowed_mask", type=Path,
help="white = may change, black = must stay unchanged")
parser.add_argument("--tolerance", type=int, default=0,
help="maximum per-channel delta treated as unchanged")
parser.add_argument("--max-outside-ratio", type=float, default=0.0)
parser.add_argument("--diff-map", type=Path, default=Path("outside-diff.png"))
return parser.parse_args()
def main() -> int:
args = parse_args()
if not 0 <= args.tolerance <= 255:
raise SystemExit("--tolerance must be between 0 and 255")
if not 0.0 <= args.max_outside_ratio <= 1.0:
raise SystemExit("--max-outside-ratio must be between 0 and 1")
with Image.open(args.original) as original_file, \
Image.open(args.edited) as edited_file, \
Image.open(args.allowed_mask) as mask_file:
if original_file.size != edited_file.size or original_file.size != mask_file.size:
print("FAIL: original, edited image, and mask must have identical dimensions")
return 2
original_profile = original_file.info.get("icc_profile")
edited_profile = edited_file.info.get("icc_profile")
original = np.asarray(original_file.convert("RGB"), dtype=np.int16)
edited = np.asarray(edited_file.convert("RGB"), dtype=np.int16)
allowed = np.asarray(mask_file.convert("L")) >= 128
delta = np.abs(edited - original)
changed = np.max(delta, axis=2) > args.tolerance
protected = ~allowed
outside_changed = changed & protected
protected_pixels = int(protected.sum())
changed_pixels = int(outside_changed.sum())
outside_ratio = changed_pixels / protected_pixels if protected_pixels else 0.0
max_delta = int(delta[protected].max()) if protected_pixels else 0
diff_map = np.zeros(allowed.shape, dtype=np.uint8)
diff_map[allowed] = 64
diff_map[outside_changed] = 255
Image.fromarray(diff_map, mode="L").save(args.diff_map)
print(f"protected_pixels={protected_pixels}")
print(f"outside_changed_pixels={changed_pixels}")
print(f"outside_changed_ratio={outside_ratio:.8f}")
print(f"max_outside_channel_delta={max_delta}")
print(f"icc_profile_match={original_profile == edited_profile}")
print(f"diff_map={args.diff_map}")
if outside_ratio > args.max_outside_ratio:
print("FAIL: protected area changed beyond the allowed threshold")
return 1
print("PASS: protected-area pixel check passed")
return 0
if __name__ == "__main__":
sys.exit(main())
Lossless files पर strict check चलाएँ:
python verify_edit.py master.png candidate.png allowed-mask.png --tolerance 0 --max-outside-ratio 0
outside_changed_pixels=0 का अर्थ है allowed region के बाहर RGB values समान हैं। Nonzero outside_changed_ratio drift बताता है; outside-diff.png देखें। icc_profile_match=False color pipeline बदलाव की warning है। Zero tolerance lossless files के लिए ठीक है; JPEG recompression बहुत से pixels बदल सकती है, इसलिए lossless output जाँचें या लिखित रूप से approved threshold रखें।
Protected pixels समान होना जरूरी है, पर पर्याप्त नहीं। Mutable area में spelling, typography, logo, material texture, perspective, edges, highlights, shadows, reflections और occlusion भी manually review करें।
Multi-turn edits में drift कैसे रोकें
Assets को तीन वर्गों में रखें:
- Master: approved और immutable source।
- Checkpoint: automated और human validation पास करने वाला candidate।
- Variant: checkpoint से बना market, color या format branch।
Red, blue और green variants एक ही checkpoint से बनें। Red से blue और blue से green न बनाएं। हर turn में एक change करें; failure पर पिछले accepted checkpoint पर लौटें। Rejected output पर “drift ठीक करो” कहकर अगला edit न जोड़ें।
Edit ledger में source hash, model, endpoint, prompt, mask या box coordinates, output hash, dimensions, protected-area ratio और reviewer decision रखें। Ideogram का reduced-drift दावा और FLUX box control इसी process से verify होने चाहिए; checkpoints की जगह नहीं ले सकते।
Scenario के अनुसार स्पष्ट recommendation
Label या compliance text
पहले Ideogram 4.5। Guard-band crop और vendor mask इस्तेमाल करें। वापस stitch करने से पहले हर character जाँचें। Complex layout में FLUX आज़माएँ, लेकिन box को isolation guarantee न मानें।
Single colorway change
Boundary साफ हो और बाकी image pixel-stable रहनी हो तो पहले Ideogram 4.5। Colored reflections और cast light को allowed area में शामिल करें। कई objects साथ बदलें या references material/palette तय करें तो पहले FLUX 3।
Object replace, move या remove
Source और target position मुख्य समस्या हो तो पहले FLUX 3। Target छोटा, mask से isolate होने योग्य और exact source geometry अधिक महत्वपूर्ण हो तो पहले Ideogram 4.5।
High-resolution print master
Guard band के साथ crop करें, fragment edit करें, boundary validate करें और वापस composite करें। Ideogram इस workflow को सीधे document करता है। FLUX में dimensions और protected pixels को acceptance criteria रखें, assumptions नहीं।
बहुत सारे variants
छोटे representative set पर दोनों workflows test करें, कम rejection और manual repair वाला चुनें, checkpoint freeze करें और सभी variants वहीं से branch करें।
Final acceptance checklist
Publish करने से पहले देखें:
- candidate सही master या checkpoint से आया है;
- सिर्फ एक documented change माँगा गया है;
- dimensions, orientation और crop सही हैं;
- protected region project threshold पास करती है;
- text, logo, barcode और regulatory copy सटीक हैं;
- texture, edges, shadows, reflections और occlusions विश्वसनीय हैं;
- profile और export format destination के लिए सही हैं;
- raw output, prompt, controls, hashes और review decision saved हैं;
- नए variants checkpoint से बनेंगे, किसी दूसरे variant से नहीं।
निष्कर्ष
Finished product image में छोटी surgical correction के लिए Ideogram 4.5 अधिक उपयुक्त पहला workflow है, क्योंकि उसका documented preservation contract और वास्तविक mask इस काम से सीधे मेल खाते हैं। Spatially complex edit, कई elements या अनेक references के लिए FLUX 3 अधिक उपयुक्त पहला workflow है, क्योंकि structured boxes इस समस्या को बेहतर रूप से व्यक्त करते हैं।
दोनों में validation जरूरी है। Immutable master रखें, एक ही source पर test करें, protected pixels मापें, changed region को manually review करें और variants से पहले checkpoints approve करें। यही process छोटे edits को धीरे-धीरे नई image में बदलने से रोकता है।