Lesson 136 — Advanced
Vision: Image & Video Generation
Ab tak hum image padh rahe the — ab hum image banayenge. Generative image models next-token prediction nahi karte, wo random noise se shuru hokar baar baar denoising karte hain jab tak prompt ke mutabik picture na ban jaaye. Is lesson mein hum denoising, prompt control, seeds, editing (inpainting/outpainting), video ke extra challenges aur rights/provenance dekhenge.
Denoising, not next-token prediction
Kya hai?
Generative image model random noise se shuru hota hai aur usse baar baar "saaf" karta hai — har step mein prompt ke mutabik thoda detail add hota hai, jab tak final image na ban jaaye. Ye token-by-token prediction nahi hai.
Kab kaam aata hai?
Jab marketing visuals, thumbnails, product mockups, illustrations ya concept art chahiye — aur stock photo ya designer dono possible nahi. Iteration sasti hai, per-image cost kam.
Kahan milta hai?
Image generation APIs mein, local diffusers setups mein, aur design tools ke AI features mein. Video generation bhi isi family ka extension hai — par frames ke saath consistency ka extra problem.
Funda: noise → repeated denoising guided by the prompt → image. Har denoising step thoda aur structure add karta hai, aur prompt (ya image prompt) us direction deta hai. Isliye "steps" ka knob hai — kam steps = incomplete image, zyada steps = zyada time aur cost, par diminishing returns.
Prompt control aur seeds
# Seed = randomness ka starting point. Same prompt + same seed = same image
prompt = "a jute shopping bag on a market counter, warm light"
for seed in [7, 42, 1337]:
img = generate(prompt=prompt, seed=seed, size="1024x1024", steps=30)
img.save(f"bag_{seed}.png") # teen alag interpretations, ek hi words
- Prompt kya control karta hai: subject, composition, style, detail level — par literal instruction-following text LLM jitni nahi. "Exact 4 boxes, teesre mein likha X" jaisi guarantee mushkil hai.
- Seeds: same prompt + same seed + same settings = reproducible image. Naya seed = naya interpretation. Production mein seed log rakho, warna wo image dobara nahi banegi.
- Reproducibility ki had: provider model update kare toh purane seed se bhi wahi image na mile — critical assets ko store hi kar lo, regenerate karne pe mat bharosa rakho.
- Negative prompts & references: kuch models "ye mat dikhao" aur reference images ke saath style/subject steer karte hain.
img2img, inpainting aur outpainting
# Editing ke teen tareeke — kaunsa lagana hai ye decide karo
# 1. img2img: poora image re-roll, strength = kitna badlega (0.1 se 0.9)
stylized = img2img(photo, prompt="watercolor version", strength=0.5)
# 2. inpainting: sirf masked region badlega, baaki same
fixed = inpaint(photo, mask="price_tag_region", prompt="a plain wooden shelf")
# 3. outpainting: canvas badhega — edge ke aage kya hona chahiye
wide = outpaint(photo, prompt="more of the same market stall", extend="right")
- Text → image: naya asset banane ke liye.
- img2img: existing image ka mood/style badalna — strength knob decide karta hai kitna preserve hoga.
- Inpainting: ek galat object ya text fix karna — mask region hi regenerate hota hai, baaki pixels same. Re-prompting se 10x efficient.
- Outpainting: canvas badhana — banners, aspect-ratio adapt, background extend.
- Decision rule: "ye region badlo" → inpainting; "poora mood badlo" → img2img; "area badhana hai" → outpainting; sabse pehle re-prompt kabhi nahi.
Style & structural control, cost per accepted image
- Style conditioning: reference images se style ya character consistent rakh sakte ho — prompt ke "same style" bolne se zyada reliable.
- Structural control: pose, depth ya edge maps dena — jab prompt alone layout hold nahi kar pata (character pose, product placement).
- Cost per accepted image: generation per image sasta hai, par asli cost "per accepted image" hai — aksar candidates reject hote hain. Iteration hi asli kharcha hai.
- Batch & pick: 4-8 candidates banao, best pick karo, phir usi seed/inpainting se refine karo — ye loop production ka bread-and-butter hai.
Engineering angle: generation cheap, acceptance expensive. Isliye pipeline mein seed registry, prompt library aur final asset storage rakho. Ek baar approved image ko "regenerate kar dena" wale option se door rakho — wo dobara kabhi same nahi banegi.
Video generation aur rights/provenance
- Video = time + motion: frames ke beech consistency chahiye — object same rehna chahiye, text stable rehna chahiye. Isliye length badhte hi cost aur failure dono tez badhte hain.
- Short clips: practical sweet spot abhi short clips hain; long coherent scenes mushkil — scope chhota rakho.
- Watermarks & content credentials: generated assets par invisible ya visible watermark, metadata (content credentials) — provenance ke liye zaroori.
- Licensing: training-data licensing aur commercial-use terms provider se provider alag hote hain — commercial use se pehle terms padho.
# Asset hygiene — generated asset ko kabhi "seed + prompt" se pehchano mat
asset = {
"file": "bag_final_v3.png",
"prompt": "a jute shopping bag on a market counter",
"seed": 42, "model": provider_model_id(), # config se lo, pin mat karo
"usage_rights": "commercial-ok", # terms se, yaad se nahi
"watermark": True,
}
store(asset) # approved asset ko file + metadata ke saath archive karo
Exercise
Question: Generative image model kis cheez se shuru hota hai, aur usse baar baar kya karte hain?
Question: Same prompt ke saath same image dobara chahiye toh kaunsa parameter same rakhna padega?
Question: Image ka sirf ek specific region badalna ho, toh kaunsa technique use hota hai?
Question: Generation mein per-image cost se zyada important asli cost kis form mein aati hai?
Common mistakes
- Prompt ko literal remote control samajhna: Prompt direction deta hai, exact layout guarantee nahi. Fix: seed + references + inpainting se control lo; prompt ko commission note ki tarah rakho.
- Approved image ko regenerate karne ki koshish: Seed, settings aur provider model sab same ho tab bhi same image ki guarantee nahi. Fix: accepted assets ko file + metadata ke saath store karo, dobara banane ki mat socho.
- Har edit ke liye poora re-roll: Ek chhote badlaav ke liye poori image dobara generate karna — time, cost aur consistency teenon kharab. Fix: inpainting/outpainting se targeted edit karo.
- Rights aur watermark ignore karna: Commercial-use terms alag-alag hote hain, brand depictions legal trouble dete hain. Fix: terms padho, watermark/content credentials rakho, checklist se pass karke hi ship karo.
Photostudio mein negative badalne ka khel hai: poora scene dobara mat khinchao — sirf ek patch theek karna ho toh wahi retouch karo (inpainting), canvas lamba karna ho toh background extend karo (outpainting). Aur negative kahin kho gaya toh wahi shot dobara nahi ho sakta — isliye approved prints archive karo:
poora re-roll -> naya seed, naya luck (mehnga, inconsistent)
targeted edit -> mask region (sasta, baaki same)
archive -> approved asset + seed + prompt + rights- Q: Image generation ka core mechanism kya hai? — Random noise se repeated denoising, prompt-guided; next-token prediction nahi.
- Q: Seed kyun matter karta hai? — Reproducibility: same seed+prompt+settings = same image; production mein log asset banate hain.
- Q: Inpainting aur img2img mein farq? — Inpainting sirf masked region badalta hai; img2img poora image re-roll karta hai strength ke saath.
- Q: Video generation mein extra kya aata hai? — Time aur motion: frames ke beech consistency, isliye length ke saath cost/failure tez badhte hain.
Generation ka mechanism clear — denoising, seeds, editing aur rights sab samajh aa gaya. Ab vision ka ek hissa reh gaya nahi — Agle level mein audio dekhenge, shuruaat se: Audio: How Sound Becomes Tokens.