हमारी AI सामग्री पाइपलाइन GPT-5.6 पर चलती है — और पहले की तुलना में कम चित्र बनाती है
Green Yoga Inc सामग्री पाइपलाइन में हर टेक्स्ट प्रॉम्प्ट अब GPT-5.6 को लक्षित करता है। वह हिस्सा प्रति फ़ाइल एक-पंक्ति का बदलाव है। जिस बात पर लिखना योग्य है, वह इमेज जनरेशन के साथ हुआ, जिसे हमने पाइपलाइन से पूरी तरह हटा दिया।
मॉडल वास्तव में कहाँ चुना जाता है
प्रॉम्प्ट ai-prompts/ में हेडर के साथ सादे टेक्स्ट फ़ाइलों के रूप में रहते हैं, Lambda स्रोत में कभी स्ट्रिंग लिटरल के रूप में नहीं। आज ऐसे 19 हैं, साथ ही एक बार-के इमेज बैचों के लिए एक JSON manifest भी। पंद्रह में MODEL: gpt-5.6 है।
दो में जानबूझकर नहीं है:
21-content-translation.txtgpt-5.4-miniपर बना रहता है। यह साइट को आठ भाषाओं में अनुवाद करता है, और यही वह काम है जहाँ गुणवत्ता की आख़िरी बढ़ोतरी की तुलना में मात्रा अधिक मायने रखती है। हर चीज़ का पूरा re-translation लगभग दस सेंट खर्च होता है।- तीन
gptimage-*प्रॉम्प्ट फ़ाइलों में कोईMODEL:हेडर बिल्कुल नहीं है, क्योंकि Lambda में अब कोई भी उन्हें OpenAI को नहीं भेजता। नीचे और जानकारी है।
दोनों Lambdas — ai-content-engine और yoga-script — हेडर में जो भी लिखा हो, उसे normalizeModel() के ज़रिए resolve करते हैं:
function normalizeModel(raw?: string): string {
if (!raw) return "gpt-5.6";
// Legacy GPT-5.x ids -> current flagship
if (m === "gpt-5" || m === "gpt-5.1" || ... || m === "gpt-5.5" || m === "gpt-image-1.5") {
return "gpt-5.6";
}
if (m === "gpt-4o" || m === "gpt4o") return "gpt-4o";
return m;
}
कोई भी legacy id — gpt-5 से gpt-5.5 तक, और पुराना gpt-image-1.5 — gpt-5.6 में समा जाता है। कोई प्रॉम्प्ट फ़ाइल जिसे छह महीनों से किसी ने छुआ नहीं है, वह deprecated endpoint को कॉल नहीं कर सकती; उसे चुपचाप current flagship मिल जाता है। gpt-4o और gpt-4o-mini बिना बदले pass through होते हैं, क्योंकि एक code path को अभी भी जानबूझकर gpt-4o चाहिए।
दोनों Lambdas Chat Completions से बात करते हैं
टेक्स्ट जनरेशन दोनों Lambdas से POST /v1/chat/completions पर जाती है। अगर आप हमारी April पोस्ट पढ़ेंगे, तो यह एक उलटाव है: हमने Responses API पर consolidation कर लिया था। हम वापस लौट आए। Chat Completions वह साधारण, अच्छी तरह समझा गया surface है जिसके लिए ये दो functions वास्तव में काम करते हैं, यानी एक system prompt और एक user prompt लेकर prose लौटाना।
POST /v1/responses को अब भी केवल scripts/generate-pose-images.mjs कॉल करता है, जो workstation से हाथ से चलाया जाने वाला एक developer script है। यह gpt-5.6 पर image_generation tool का उपयोग 1024x1024 पर करता है। यह एक local batch job है, browser traffic नहीं, और यह जानबूझकर सीधे OpenAI को कॉल करता है।
Yoga Sequence Builder अपना समय स्वयं बजट करता है
Yoga Sequence Builder yoga-script Lambda के माध्यम से teaching scripts बनाता है, जो GPT-5.6 पर 05-yoga-script-generator.txt द्वारा संचालित होता है। Script generation धीमी और परिवर्तनशील है, इसलिए Lambda अपना अधिकांश logic prompting के बजाय arithmetic पर खर्च करता है:
- एक single primary attempt सात मिनट पर capped है, ताकि एक धीमी call पूरे invocation को न खा जाए
- response को serialize करके लौटाने के लिए अंत में 25 सेकंड reserve रखे जाते हैं
- एक
gpt-4ofallback मौजूद है, लेकिन वह तभी चलता है जब कम-से-कम दो मिनट का headroom बचा हो
अंतिम नियम वही है जो मायने रखता है। अगर primary attempt देर से fail हो और पर्याप्त समय न बचा हो, तो Lambda fallback शुरू करने से इंकार कर देती है और उसके बदले एक स्पष्ट error लौटाती है — Skipping gpt-4o fallback: insufficient Lambda time remaining. ऐसी call शुरू करना जिसे आप पूरा नहीं कर सकते, बस एक स्पष्ट error को timeout में बदल देता है, और debugging के लिहाज़ से यह निश्चित रूप से बदतर है।
हमने images को automatically बनाना बंद कर दिया
April के बाद से यही असली बदलाव है।
ai-content-engine में generateImage() अब एक no-op stub है। यह अपने arguments लेता है, उन्हें ignore करता है, और fallback cover लौटा देता है:
/** Kept as a no-op stub for callers that still reference it directly. */
async function generateImage(imagePrompt: string, s3Key: string): Promise<string> {
void imagePrompt;
void s3Key;
return FALLBACK_COVER_IMAGE;
}
इसे किसी और model ने नहीं बदला है। इसे एक व्यक्ति ने बदला है। generateOrReuseImage() image prompt को एक खाली S3 key के साथ DynamoDB में लिखता है और fallback लौटाता है, और approval email वह prompt एक human तक पहुँचाती है। जब reply image attachment के साथ वापस आता है, तो एक अलग media-receiver Lambda वास्तविक asset भर देती है।
Prompt तीन अलग-अलग fields — clipL, t5xxl, और negative — के रूप में stored है, एक blob के बजाय, क्योंकि जो भी इसे render करता है वह आम तौर पर OpenAI का उपयोग नहीं कर रहा होता। ये diffusion-model prompt slots हैं, और उन्हें अलग रखना operator को concatenated string को सुलझाए बिना हर एक को सही box में paste करने देता है।
धीमी pipeline ही सही pipeline क्यों है
Automatic cover generation वह feature था जो सबसे अधिक संभावना रखता था कि बिना किसी के पहले देखे साइट पर कुछ शर्मनाक डाल दे। Text पहले से ही approval email से होकर जाता है। Images नहीं जाती थीं — वे generate, upload, और publish एक ही unattended pass में हो जाती थीं।
इसे हटाने से publishing धीमी जरूर हुई। लेकिन इसका मतलब यह भी है कि इस site पर हर image ऊपर जाने से पहले किसी human ने देखी थी, और यही वह property है जो हम वास्तव में चाहते थे। Model बेहतर हुआ और हमने उसे unsupervised करने के लिए कम काम दिया। इनमें कोई टकराव नहीं है।
Prompts ai-prompts/ में हैं; Lambdas lambda/ai-content-engine और lambda/yoga-script में हैं। अगर आप अपनी AI content pipeline के लिए approval flow डिज़ाइन करने में मदद चाहते हैं, तो संपर्क करें.
