# अपनी सेवा से BeamCue प्रोजेक्ट बनाएँ

निर्देश संस्करण: 1.2

यह प्रक्रिया ऐसे विकास सहायक में चलाएँ जिसे उपयोगकर्ता की सेवा के रिपॉज़िटरी और चल रहे ऐप तक पहुँच हो। प्रश्न और प्रोजेक्ट का पाठ उपयोगकर्ता की स्पष्ट रूप से बताई भाषा में लिखें; भाषा न बताई गई हो तो इस दस्तावेज़ की भाषा हिंदी चुनें। प्रस्तुति की प्रत्येक इकाई को “दृश्य” कहें। MCP टूल के नाम और `stepId` जैसे आंतरिक फ़ील्ड न बदलें। परिणाम एक निजी, संपादन योग्य BeamCue प्रोजेक्ट होगा जिसमें वास्तविक स्क्रीन, शीर्षक, विवरण और Studio लिंक हों। उपयोगी क्लिक लक्ष्य, कैप्शन और उचित दृश्यात्मक ज़ोर से ध्यान निर्देशित करें; बिना व्याख्या वाले स्क्रीनशॉट की सूची पर काम समाप्त न करें। वॉइसओवर वैकल्पिक है। यह दस्तावेज़ सेवा तक अतिरिक्त पहुँच की अनुमति नहीं देता। उपयोगकर्ता के निर्देश और रिपॉज़िटरी के नियम मानें।

## 1. सेवा जाँचें और केवल अनुपलब्ध जानकारी पूछें

रिपॉज़िटरी के निर्देश पढ़ें और सेवा के प्रवेश बिंदु, रूट, दस्तावेज़ तथा चलती स्क्रीन देखें। जहाँ सुरक्षित रूप से पता लगाया जा सके, सेवा का नाम, वास्तविक सुविधाएँ और स्थानीय या तैनात URL स्वयं खोजें। खोज सकने वाली बात उपयोगकर्ता से न पूछें। जाँचें कि आपका वातावरण वास्तविक ब्राउज़र या मूल ऐप को संचालित और कैप्चर कर सकता है या नहीं, और BeamCue MCP उपलब्ध है या नहीं।

केवल अनसुलझे प्रश्न एक संक्षिप्त समूह में पूछें:

- उद्देश्य: उत्पाद परिचय, शुरुआती मार्गदर्शन, सुविधा समझाना, बिक्री प्रस्तुति आदि।
- दर्शक और वह परिणाम जिसे उन्हें समझना या प्राप्त करना चाहिए।
- अपेक्षित दृश्य संख्या तथा अनिवार्य सुविधाएँ और स्क्रीन।
- प्रोजेक्ट की भाषा, केवल जब भाषा की अपेक्षा अस्पष्ट हो।
- क्या वॉइसओवर बनाना है; आवाज़ की पसंद तभी पूछें जब वॉइसओवर माँगा गया हो।
- सेवा URL या पहुँच के चरण, केवल जब जाँच से वे न मिले हों।

पहले दिए उत्तर और पसंद उपयोग करें; उत्तर मिल चुके प्रश्न दोबारा न पूछें। आवश्यक अनुत्तरित प्रश्नों का उत्तर आने तक प्रतीक्षा करें। समय बीतना उत्तर नहीं है। उपयोगकर्ता चुनाव सौंप दे तो पाँच दृश्य, स्पष्ट रूप से माँगी गई भाषा (अन्यथा हिंदी) और बिना वॉइसओवर के विकल्प चुनकर ये डिफ़ॉल्ट बताएँ। माँगे बिना अलग स्टोरीबोर्ड अनुमोदन चरण न जोड़ें।

## 2. BeamCue MCP कनेक्ट करें

सहायक की MCP सेटिंग में यह रिमोट Streamable HTTP सर्वर जोड़ें:

https://beamcue.com/mcp

MCP होस्ट का समर्थित कनेक्शन इंटरफ़ेस उपयोग करें। स्थापित क्षमताएँ खोजें, किसी क्लाइंट की सेटिंग कमांड का अनुमान न लगाएँ। प्रॉम्प्ट में URL डालना MCP को स्थापित या अधिकृत नहीं करता। स्वयं कॉन्फ़िगर न कर सकें तो उपयोगकर्ता को अपने सहायक में URL जोड़ने के लिए कहें और यही बातचीत आगे बढ़ाएँ। OAuth होस्ट और उपयोगकर्ता का ब्राउज़र सँभालते हैं:

- प्राधिकरण सर्वर: https://beamcue.com/o
- संरक्षित संसाधन का मेटाडेटा: https://beamcue.com/.well-known/oauth-protected-resource/mcp
- प्राधिकरण सर्वर का मेटाडेटा: https://beamcue.com/.well-known/oauth-authorization-server/o
- अनुमतियाँ: `projects:read projects:write`
- S256 PKCE वाला Authorization Code प्रवाह; कॉलबैक और PKCE मान होस्ट देता है।

कॉल से पहले मौजूदा टूल और उनके स्कीमा खोजें; होस्ट नामों में उपसर्ग जोड़ सकता है। `get_connection_status` कॉल करें और प्रोजेक्ट बदलने से पहले `mcpConnectionStatus=connected` सुनिश्चित करें। कनेक्शन न हो या समाप्त हो गया हो तो `begin_oauth` या `get_reconnect_url` से होस्ट को OAuth दोबारा शुरू करने दें। वेबसाइट लॉगिन और MCP OAuth अलग सत्र हैं; वेबसाइट में प्रवेश करने से होस्ट की समाप्त अनुमति ठीक नहीं होती। चैट में पासवर्ड, टोकन या PKCE रहस्य न माँगें और उन्हें प्रॉम्प्ट, स्क्रीनशॉट या लॉग में न रखें।

## 3. दृश्य योजना बनाएँ और वास्तविक स्क्रीन एकत्र करें

उद्देश्य और माँगी संख्या के अनुसार दृश्यों का क्रम बनाएँ। हर दृश्य के लिए दर्शक की सीख, रूट या नेविगेशन क्रिया, आवश्यक स्क्रीन स्थिति, लक्ष्य तत्व यदि हो, शीर्षक, छोटा विवरण और ध्यान की योजना तय करें: क्या दिखाना, समझाना और परिणाम के रूप में बताना है; कौन से प्रभाव MCP से और कौन से Studio से लगाने हैं। सौंपे गए पाँच-दृश्य परिचय में प्रवेश स्क्रीन, मुख्य कार्यक्षेत्र, मुख्य क्रिया, परिणाम और अन्य उपयोगी सुविधा या अगला कदम रखें। वास्तविक सुविधाओं के अनुसार अनुकूलित करें; संख्या पूरी करने के लिए सुविधाएँ न गढ़ें।

वास्तविक सेवा चलाएँ, संभव हो तो अधिकृत परीक्षण खाते से। उपलब्ध ब्राउज़र या मूल ऐप कैप्चर क्षमता अथवा उपयोगकर्ता के असली स्क्रीनशॉट लें और रिपॉज़िटरी के कैप्चर नियम मानें। BeamCue रिपॉज़िटरी में Playwright स्क्रीनशॉट केवल तुलना के संदर्भ हैं, प्रोजेक्ट के स्रोत चित्र नहीं। बनाई हुई छवियाँ, HTML नमूने, नकली परीक्षण डेटा या कोड अंश को चलती सेवा का प्रमाण न मानें। MCP आयात `producer=mcp.client` वाली स्थिर छवियाँ हैं; उन्हें एक्सटेंशन रिकॉर्डिंग या `chrome.tabs.captureVisibleTab` न बताएँ।

व्यूपोर्ट एकसमान रखें, इच्छित स्थिति का लोड पूरा होने दें और अपलोड से पहले प्रत्येक चित्र देखें। रहस्य और संवेदनशील इनपुट मान छवियों, अनुरोधों, लॉग या प्रमाण में न आने दें। लॉगिन, भुगतान, अनुमति बदलने जैसी महत्त्वपूर्ण क्रियाओं के लिए उपयोगकर्ता की मौजूदा अनुमति आवश्यक है। लॉगिन, कैप्चर या आवश्यक स्क्रीन उपलब्ध न हो तो सटीक पहुँच क्रिया या वास्तविक स्क्रीनशॉट माँगकर प्रतीक्षा करें। आवश्यक दृश्य चुपचाप न छोड़ें और अधूरे प्रोजेक्ट को पूरा न बताएँ।

ठीक उसी चित्र के ऊपरी बाएँ कोने से लक्ष्य निर्देशांक मापें जिसे अपलोड करना है। वास्तविक चित्र पिक्सेल उपयोग करें, CSS पिक्सेल नहीं। बिना वास्तविक क्रिया लक्ष्य के दृश्य में चित्र का केंद्र और `labelMode=caption_only` रखें तथा `clickLabel` छोड़ दें। क्लिक न गढ़ें। शीर्षक छोटा और विवरण अलग रखें; कई लेबल में एक ही वाक्य न दोहराएँ।

### दर्शक को वास्तविक काम समझने में मदद दें

उद्देश्य और दर्शक के अनुसार प्रस्तुति के विवरण स्वयं चुनें; हर प्रभाव की सेटिंग या नई स्टोरीबोर्ड मंज़ूरी उपयोगकर्ता से न माँगें। निर्माण के दौरान समर्थित MCP सेटिंग लागू करें। अधिकृत Studio पहुँच हो तो उसके दिखाई देने वाले नियंत्रणों से उचित विशेष संपादन भी करें, सहेजें और पूर्वावलोकन देखें। अन्यथा दृश्यवार बची हुई संपादन सूची दें। केवल योजना बने प्रभाव को लागू हुआ न कहें। MCP की कमी को पार करने के लिए प्रोजेक्ट JSON न बदलें और अघोषित API न चलाएँ।

| तत्व | ध्यान निर्देशित करने का तरीका | अभी लागू करने का तरीका |
| --- | --- | --- |
| क्लिक लक्ष्य और क्रिया लेबल | सही नियंत्रण की ओर संकेत करें। “यहाँ क्लिक करें” के बजाय “तारीख की अवधि चुनें” जैसे क्रिया और लक्ष्य लिखें। | `add_screen` / `update_screen`: मापे हुए `clickXPixel`, `clickYPixel`, `clickLabel` तथा `labelMode=both` या `hotspot_only`। |
| कैप्शन | एक छोटे वाक्य में क्रिया का लाभ या बदलाव बताएँ, बिना आवाज़ भी समझ आए। | `description` और `labelMode=caption_only` या `both`; यही विवरण वैकल्पिक वॉइसओवर का पाठ भी है। |
| पॉइंटर पर ज़ोर | घने इंटरफ़ेस में अगली क्रिया आसानी से मिले; हाइलाइट शैली एकसमान रखें। | `update_project` में `pointerMode=highlighted`; छोटे नियंत्रण छिपें या ध्यान भटके तो `standard`। |
| क्लिक प्रभाव और हाइलाइट | असली क्रिया को दृश्य संकेत दें; परिचय या परिणाम स्क्रीन पर बेवजह धड़कता संकेत न दिखाएँ। | `presentation.clickEffectVisible=false`, `hotspotRadius`, `hotspotAnchor`. |
| कैप्शन और लेबल का स्थान | लक्ष्य, परिणाम, नेविगेशन और दूसरे लेबल न ढकें; स्पष्ट कंट्रास्ट, एकसमान अक्षरशैली और छोटी पंक्तियाँ रखें। | `presentation.captionLayout`: `placement`, `point` (`x`, `y`: 0–1). |
| ज़ूम | छोटे पर आवश्यक नियंत्रण या परिणाम पर थोड़ी देर ध्यान लाएँ, आसपास का संदर्भ बचाएँ। | `presentation.zoomEnabled=true`, `presentation.zoomScale=1.16` (1.12–1.20). |
| समय और ट्रांज़िशन | लक्ष्य ढूँढने और परिणाम पढ़ने का समय दें। साफ़ स्थिति बदलाव पर कट, शांत जुड़ाव पर क्रॉसफ़ेड; निरंतरता समझाने पर ही स्लाइड या मॉर्फ रखें। | `presentation.durationMs`, `transition` (`cut`, `crossfade`, `slide`, `morph`), `slideDirection`, `transitionAnchor`. |
| आउटपुट फ़्रेम | सामग्री अनावश्यक छोटी किए बिना ब्राउज़र या ऐप का संदर्भ दें। | `update_project` में `windowFrame=browser`, `app` या `none`; कैप्चर में फ़्रेम पहले हो तो `none`। |
| वैकल्पिक आवाज़ और विराम | देखते समय परिणाम समझाएँ और बोलने के बाद समझने के लिए छोटा विराम दें। | केवल अनुरोध पर `set_narration` / `generate_voiceover`। `endPaddingMs` की सीमा 0–10000 है; ज़रूरत हो तो 400–800ms से शुरू करें। |

`labelMode` व्याख्यात्मक पाठ नियंत्रित करता है। `caption_only` क्लिक नहीं छिपाता: बिना क्रिया वाले दृश्य में `presentation.clickEffectVisible=false` दें और पूर्वावलोकन जाँचें।

माँगी दृश्य संख्या के भीतर **संदर्भ → क्रिया → परिणाम की पुष्टि → अगला कदम** का क्रम रखें। यदि रिपोर्ट सेवा में ये सुविधाएँ वास्तव में हों, तो उदाहरण:

| दृश्य | कैप्चर और ज़ोर | पाठ का उदाहरण |
| --- | --- | --- |
| 1. संदर्भ | असली कार्यक्षेत्र का पूरा दृश्य; केवल कैप्शन, बिना क्रिया स्पंदन, पूरा संदर्भ। | “टीम की रिपोर्ट एक ही जगह देखें।” |
| 2. क्रिया | उपयोग से पहले तारीख फ़िल्टर कैप्चर करें; स्थिति मापें, `both`, हाइलाइट पॉइंटर और आवश्यक हो तो Studio में हल्का ज़ूम। | “तारीख की अवधि चुनें”; “रिपोर्ट को उस अवधि तक सीमित करें जिसकी तुलना करनी है।” |
| 3. पुष्टि | वास्तविक फ़िल्टर किया परिणाम; केवल कैप्शन और बदले परिणाम पर ध्यान, फ़िल्टर को फिर क्लिक नहीं। | “चार्ट अब केवल चुनी अवधि का डेटा दिखाता है।” |
| 4. दूसरी क्रिया | अधिकृत निर्यात से पहले असली निर्यात नियंत्रण कैप्चर कर छोटे लेबल से दिखाएँ। | “रिपोर्ट निर्यात करें”; “यह दृश्य अपनी टीम के लिए तैयार करें।” |
| 5. आगे बढ़ें | असली पूर्ण स्थिति या उपयोगी अगली स्क्रीन, स्पष्ट अगला कदम। | देखे गए परिणाम का वर्णन करें; बटन दबाने से सफलता न मानें। |

उदाहरण को वास्तविक सेवा के अनुसार बदलें। नियंत्रण न गढ़ें और बिना देखे निर्यात सफल न बताएँ। `add_screen` चित्र स्थिर स्थिति है, क्रिया से पहले और बाद की रिकॉर्डिंग नहीं। बदलाव दिखाना हो तो परिणाम को एक अलग नियोजित दृश्य में कैप्चर करें। माँगी संख्या बनाए रखें; संख्या कम हो तो मुख्य क्रिया और परिणाम को प्राथमिकता दें। एक समय एक प्रमुख दृश्य संकेत रखें। कैप्शन से लक्ष्य न ढकें, केवल गति बढ़ाने के लिए ज़ूम, बड़े क्लिक संकेत और चलती पंक्तियाँ न जोड़ें। केवल पढ़ने वाली सेवा में क्लिक गढ़े बिना उपयोगी परिणाम दिखाएँ।

## 4. प्रोजेक्ट बनाएँ और स्क्रीन जोड़ें

बातचीत में पुनः आरंभ का रिकॉर्ड रखें: प्रोजेक्ट ID, Studio URL, पूरे हुए दृश्य ID और क्रम, मौजूदा रिविज़न तथा हर क्रिया की idempotency कुंजी। चित्र Base64, हस्ताक्षरित URL, क्रेडेंशियल या संवेदनशील स्क्रीन सामग्री न लिखें। प्रत्येक नए तार्किक बदलाव के लिए अलग कुंजी बनाएँ; वही बदलाव दोहराते समय वही इनपुट और कुंजी रखें। केवल नए अनुरोध पर नया प्रोजेक्ट बनाएँ।

नीचे JSON टूल के तर्क समझाते हैं, वास्तविक सेवा का प्रमाण नहीं हैं। प्लेसहोल्डर को जाँचे हुए मानों से बदलें। `canvas` चुना CSS व्यूपोर्ट है; `output` दिए जाने पर वीडियो आयाम और fps तय करता है। वेबसाइट के लिए `surface=browser`, मूल ऐप के लिए `screen` है। परिणाम की भाषा के अनुसार `locale` स्पष्ट दें।

```json
{"tool":"create_project","arguments":{"title":"सेवा का परिचय","surface":"browser","locale":"hi-IN","sourceUrl":"https://your-service.example/","canvas":{"width":1440,"height":900},"idempotencyKey":"<unique-create-key>"}}
```

मिले `projectId` और `studioUrl` सँभालें। आवाज़ न माँगी गई हो तो बंद करें:

```json
{"tool":"set_narration","arguments":{"projectId":"<projectId>","enabled":false,"idempotencyKey":"<unique-narration-settings-key>"}}
```

काम समझाने के लिए हाइलाइट पॉइंटर और कैप्चर से मेल खाता फ़्रेम स्पष्ट लागू करें:

```json
{"tool":"update_project","arguments":{"projectId":"<projectId>","pointerMode":"highlighted","windowFrame":"none","idempotencyKey":"<unique-presentation-key>"}}
```

असली चित्र और उसी चित्र पर मापे पिक्सेल निर्देशांकों के साथ स्क्रीन क्रम में जोड़ें। `description` कैप्शन तथा आवाज़ चालू होने पर वॉइसओवर पाठ देता है। विवरण दृश्य में `labelMode=caption_only`, असली लक्ष्य होने पर `both` रखें। `narrationEnabled` उपयोगकर्ता के उत्तर के अनुसार हो।

```json
{"tool":"add_screen","arguments":{"projectId":"<projectId>","title":"आपका मुख्य कार्यक्षेत्र","description":"इस स्क्रीन पर दिखने वाली वास्तविक कार्यप्रक्रिया समझाएँ।","clickXPixel":720,"clickYPixel":450,"labelMode":"caption_only","narrationEnabled":false,"imageFile":{"name":"workspace.png","mimeType":"image/png","dataBase64":"<actual-image-base64>"},"idempotencyKey":"<unique-scene-key>"}}
```

क्रिया दृश्य में वास्तविक लक्ष्य और दोनों पाठ स्तर रखें। नीचे के निर्देशांक उदाहरण हैं; जाँचे चित्र पर दोबारा मापें। शीर्षक लक्ष्य बुलबुले में आ सकता है, इसलिए छोटा रखें। `title` और `clickLabel` समान रखने से दूसरा दोहराव वाला लेबल बचता है; कैप्शन लाभ समझाए।

```json
{"tool":"add_screen","arguments":{"projectId":"<projectId>","title":"तारीख की अवधि चुनें","clickLabel":"तारीख की अवधि चुनें","description":"रिपोर्ट को उस अवधि तक सीमित करें जिसकी तुलना करनी है।","clickXPixel":1060,"clickYPixel":184,"labelMode":"both","narrationEnabled":false,"imageFile":{"name":"date-filter.png","mimeType":"image/png","dataBase64":"<actual-image-base64>"},"idempotencyKey":"<unique-action-scene-key>"}}
```

लक्ष्य या पाठ में गलती हो तो मौजूदा दृश्य को ठीक करें:

```json
{"tool":"update_screen","arguments":{"projectId":"<projectId>","stepId":"<stepId>","title":"तारीख की अवधि चुनें","clickLabel":"तारीख की अवधि चुनें","description":"चुनी गई अवधि के परिणामों की तुलना करें।","clickXPixel":1060,"clickYPixel":184,"labelMode":"both","idempotencyKey":"<unique-action-correction-key>","presentation":{"clickEffectVisible":true,"zoomEnabled":true,"zoomScale":1.16,"durationMs":4000,"transition":"crossfade","captionLayout":{"placement":"bottom-center","point":{"x":0.5,"y":0.9}}}}}
```

सेटिंग `add_screen`, `update_screen` या `add_screens_batch.screens[]` के `presentation` में दें। छोड़ी गई सेटिंग और मौजूदा कैप्शन शैली बनी रहती हैं। `captionLayout` में `placement` और `point` दोनों दें।

### चित्र और अनुरोध की सीमाएँ

- डिकोड किए PNG, WebP, JPEG समर्थित हैं। प्रत्येक आयाम अधिकतम 8192px और कुल आकार 64 मेगापिक्सेल है।
- इनलाइन चित्र Base64 डिकोड करने के बाद अधिकतम 4MiB है। Base64 लगभग एक तिहाई आकार बढ़ाता है। पूरा MCP HTTP अनुरोध 8MiB के भीतर हो।
- `add_screens_batch` एक अविभाज्य क्रिया में 1–20 इनलाइन स्क्रीन स्वीकार करता है, पर कुल अनुरोध सीमा वही है। आकार का अनुमान और काम जारी रखना सरल रखने के लिए क्रमिक `add_screen` चुनें; बीस बड़े चित्र एक अनुरोध में न भेजें।
- बड़े चित्रों के लिए `prepare_image_upload` अधिकतम 15MiB स्वीकार करता है। `name`, `mimeType`, `byteLength`, `sha256`, `width`, `height`, `projectId` और नई `idempotencyKey` दें। लौटे हेडर के साथ `uploadUrl` पर बिल्कुल वही चित्र बाइट PUT करें। हस्ताक्षरित URL दस मिनट में समाप्त होता है और एक बार उपयोग होता है। फिर `add_screen` में `imageFile` की जगह `uploadId` दें।
- MIME, लंबाई, SHA-256 और बताए आयाम असली चित्र से मेल खाएँ। MIME फ़ाइल नाम से नहीं, डिकोड बाइट से पहचानें: `.png` में सहेजा कैप्चर भी JPEG हो सकता है। Base64, हस्ताक्षरित URL की गुप्त जानकारी या चित्र बाइट लॉग न करें। सीमा पार हो तो उचित व्यूपोर्ट फिर कैप्चर करें या समान अनुपात में आकार बदलें और आयाम, हैश तथा लक्ष्य निर्देशांक दोबारा निकालें।

सुधार के लिए `update_screen` और क्रम के लिए `reorder_screens` लें, दृश्य की प्रतियाँ न बनाएँ। मौजूदा टूल स्कीमा के आवश्यक फ़ील्ड देखें। उत्तर में `displayPreview.display` हो तो शीर्षक, क्लिक लेबल और कैप्शन में दोहराया दिखता पाठ जाँचें।

## 5. वैकल्पिक वॉइसओवर

केवल माँगे जाने पर `set_narration` से चालू करें, अनुरोधित भाषा और समर्थित आवाज़ चुनें तथा संबंधित दृश्यों की आवाज़ सक्रिय करें। पसंद न बताई हो तो उपलब्ध समर्थित डिफ़ॉल्ट आवाज़ लें; आवाज़ ID न गढ़ें। विवरण अंतिम होने के बाद `generate_voiceover` को `operation=generate-stale` के साथ कॉल करें और `get_narration_status` से पूर्णता जाँचें। आवाज़ की विफलता या लंबित काम अलग बताएँ और Studio में सुधार के लिए प्रोजेक्ट उपलब्ध रखें।

## 6. पुनर्प्राप्ति और आगे जारी रखना

- कनेक्शन विफल या उत्तर अनिश्चित हो तो आवश्यकतानुसार फिर कनेक्ट करें और `get_project` से मौजूदा प्रोजेक्ट देखें। मूल इनपुट और idempotency कुंजी से वही बदलाव दोहराएँ; बिना जाँचे नया प्रोजेक्ट न बनाएँ।
- `expectedRevision` वैकल्पिक है; सरल क्रमिक काम में छोड़ दें। उपयोग के दौरान रिविज़न टकराव हो तो संरचित त्रुटि पढ़ें, स्थिति फिर लें और लौटे पुनःप्रयास रिविज़न के साथ वही तार्किक इनपुट और कुंजी उपयोग करें। उपयोगकर्ता के संपादन बचाएँ; अनुरोध से टकराएँ तो ऊपर लिखने के बजाय पूछें।
- हस्ताक्षरित अपलोड समाप्त हो जाए तो नई अपलोड क्रिया कुंजी से फिर तैयार करें। असफल स्क्रीन-जोड़ अनुरोध में नया `uploadId` रखते समय पहले सुनिश्चित करें कि पुराने प्रयास ने दृश्य नहीं बनाया, फिर नई जोड़ने की कुंजी दें।
- ज़रूरी पहुँच या स्क्रीनशॉट न हो तो लापता दृश्य और आवश्यक क्रिया बताता छोटा प्रश्न छोड़ें। पूरे हुए काम और Studio लिंक को बचाएँ ताकि शुरुआत से बनाने के बजाय यही संवाद आगे बढ़ सके।

## 7. सत्यापन और परिणाम सौंपना

`get_project` से वास्तविक दृश्य संख्या, क्रम, शीर्षक, विवरण और चुनी आवाज़ की स्थिति को अनुरोध से मिलाएँ, अंतर ठीक करें। हर दृश्य के ध्यान-योजना में सही लक्ष्य, अलग क्रिया और परिणाम पाठ, उचित लेबल मोड, लागू पॉइंटर और फ़्रेम भी जाँचें। फिर मानक प्रोजेक्ट सत्यापित करें:

```json
{"tool":"get_project","arguments":{"projectId":"<projectId>"}}
```

```json
{"tool":"validate_project","arguments":{"projectId":"<projectId>","idempotencyKey":"<unique-validation-key>"}}
```

लौटा `studioUrl` या `open_studio` क्रिया का `nextAction.url` लें; URL न गढ़ें। अधिकृत ब्राउज़र सत्र हो तो वास्तविक Studio दृश्य सूची और पूर्वावलोकन में चित्र और कैप्शन देखें। दृश्य सीमा पार चलाकर जाँचें कि क्लिक सही नियंत्रण पर है, परिणाम वास्तविक बदलाव दिखाता है, कैप्शन पढ़ने योग्य है और लक्ष्य नहीं ढकता, तथा ज़ूम आवश्यक UI नहीं काटता। डेस्कटॉप और छोटे पूर्वावलोकन दोनों देखें। आवाज़ बंद होने पर भी पढ़ने का समय, ट्रांज़िशन चेतावनी और Studio के विशेष संपादन सहेजने तथा फिर लोड करने पर बने रहते हैं या नहीं, जाँचें। तैयार बताने से पहले भीड़ वाला पाठ छोटा या प्रभाव सरल करें। Studio लॉगिन न हो तो MCP सत्यापन अलग बताएँ और उपयोगकर्ता से लिंक का प्रोजेक्ट देखने को कहें; दृश्यात्मक जाँच होने का दावा न करें।

अंत में शीर्षक, पूरे/माँगे दृश्य, छोटी दृश्य सूची, लागू दृश्य संकेत, वॉइसओवर स्थिति, Studio लिंक और लंबित काम दें। लागू MCP सेटिंग, आँखों से जाँचे Studio सुधार और दृश्यवार बाकी सुधार अलग रखें। सभी आवश्यक स्क्रीन और विवरण मौजूद हों तभी प्रोजेक्ट पूरा कहें।

`validate_project` Studio संपादन के लिए सत्यापन और तैयारी करता है। यह प्रकाशित नहीं करता, वॉइसओवर नहीं बनाता और MP4 रेंडर नहीं करता। MCP में वीडियो रेंडर टूल नहीं है। प्रोजेक्ट निजी रखें; उपयोगकर्ता Studio में पूर्वावलोकन, संपादन, MP4 रेंडर और साझा करने का विकल्प चुन सकता है। केवल सत्यापन सफल होने से सार्वजनिक लिंक या वीडियो फ़ाइल मौजूद होने का दावा न करें।
