PageSourceSearch

https://miraframe.ai/_next/static/chunks/1gcla82o87w47.js?dpl=dpl_5zJW6bFzEb7qpjhj9tFKcvALUYR3

js miraframe.ai collected 2026-10-05 12:50:04 UTC 50,911 bytes, 5 lines download raw bytes

1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,492784,e=>{"use strict";var t=e.i(851239);e.s(["generationModeCopy",0,{en:{"text-to-image":{title:"AI Text to Image Generator",metaTitle:"AI Text to Image Generator | MiraFrame",description:"Create original AI images from text prompts. Compare image models, aspect ratios, quality settings, and output options in MiraFrame.",intro:"Turn a written prompt into an original image. Define the subject, composition, lighting, style, and format, then compare supported image models in one workspace.",steps:["Write a clear prompt with the subject and visual direction.","Choose an image model, aspect ratio, quality, and output count.","Generate, review, and refine the strongest result."],faq:[["What makes a useful text-to-image prompt?","Start with the subject and action, then add composition, lighting, materials, style, and intended use."],["Can I compare models without rewriting the prompt?","Yes. Keep the prompt and switch between compatible models or settings in the same generator."]],navLabel:"Generation modes"},"image-to-image":{title:"AI Image to Image Generator",metaTitle:"AI Image to Image Generator | MiraFrame",description:"Transform a reference image with a prompt while guiding subject, composition, and style consistency in MiraFrame.",intro:"Use a reference image as the visual foundation for a new result. Explain what should change and which parts of the subject, composition, or style must remain consistent.",steps:["Upload a clear reference image that you are allowed to use.","Describe what should change and what should remain consistent.","Choose a compatible model and review identity, layout, and detail."],faq:[["What should an image-to-image prompt include?","State both the requested transformation and the elements that need to remain unchanged."],["Will every model preserve the reference exactly?","No. Reference adherence varies by model and task, so review important subjects and details before publishing."]],navLabel:"Generation modes"},"text-to-video":{title:"AI Text to Video Generator",metaTitle:"AI Text to Video Generator | MiraFrame",description:"Create AI videos from text prompts with controls for models, camera direction, aspect ratio, duration, quality, and supported audio.",intro:"Create a short AI video from a written scene description. Define the subject, action, camera movement, timing, lighting, and mood before selecting a compatible model.",steps:["Describe the scene, action, camera direction, and visual mood.","Choose a video model, aspect ratio, duration, and quality.","Generate the clip and review motion, continuity, and artifacts."],faq:[["How specific should a text-to-video prompt be?","Include the main action and camera behavior, but avoid conflicting directions in a short clip."],["Can generated video include audio?","Audio availability depends on the selected model and its currently supported settings."]],navLabel:"Generation modes"},"image-to-video":{title:"AI Image to Video Generator",metaTitle:"AI Image to Video Generator | MiraFrame",description:"Animate a reference image with controls for motion, camera direction, duration, aspect ratio, and compatible video models.",intro:"Animate a still image into a short video while using it as the first-frame visual direction. Add motion and camera instructions without losing the original subject and composition.",steps:["Upload a sharp image with a clear subject and framing.","Describe movement, camera behavior, timing, and stable elements.","Select a compatible model and review consistency across the clip."],faq:[["What image works best for image-to-video?","Use a sharp image with a clear subject, readable depth, and enough room for the requested motion."],["How can I reduce unwanted subject changes?","Use restrained motion, ask to preserve identity and composition, and test a model with stronger reference consistency."]],navLabel:"Generation modes"}},zh:{"text-to-image":{title:"AI 文生图生成器",metaTitle:"AI 文生图生成器|MiraFrame",description:"用文字提示词生成原创 AI 图片,并在 MiraFrame 中选择模型、画幅、质量和输出数量。",intro:"将文字提示词转换为原创图片。写清主体、构图、光线、风格与画幅,再在同一工作台中比较适用的图片模型。",steps:["写清主体、动作和视觉方向。","选择图片模型、画幅、质量和生成数量。","生成并检查结果,再继续微调。"],faq:[["怎样写好文生图提示词?","先写主体与动作,再补充构图、光线、材质、风格和使用场景。"],["可以不改提示词直接切换模型吗?","可以,可保留提示词并在同一生成器中比较兼容模型和设置。"]],navLabel:"生成模式"},"image-to-image":{title:"AI 图生图生成器",metaTitle:"AI 图生图生成器|MiraFrame",description:"上传参考图并通过提示词重绘,同时控制主体、构图和风格的一致性。",intro:"以参考图作为新结果的视觉基础,通过提示词说明需要改变的内容,同时保留任务中重要的主体、构图或风格。",steps:["上传有权使用的清晰参考图。","同时说明要改变什么、要保留什么。","选择兼容模型并检查主体、布局和细节。"],faq:[["图生图提示词应该写什么?","既要说明需要的变化,也要明确哪些主体、构图和细节必须保留。"],["模型会完全保留参考图吗?","不会保证。不同模型的一致性不同,发布前应检查重要主体和细节。"]],navLabel:"生成模式"}
1,"text-to-video":{title:"AI 文生视频生成器",metaTitle:"AI 文生视频生成器|MiraFrame",description:"用文字提示词生成 AI 视频,并控制模型、镜头方向、画幅、时长、质量和支持的音频设置。",intro:"根据文字场景描述创建 AI 短视频。先定义主体、动作、镜头运动、节奏、光线和氛围,再选择兼容模型。",steps:["描述场景、动作、镜头方向和氛围。","选择视频模型、画幅、时长和质量。","生成后检查运动、连续性和异常画面。"],faq:[["文生视频提示词需要多具体?","应包含主要动作和镜头行为,但短视频中避免互相冲突的指令。"],["生成视频支持音频吗?","是否支持音频取决于所选模型及其当前可用设置。"]],navLabel:"生成模式"},"image-to-video":{title:"AI 图生视频生成器",metaTitle:"AI 图生视频生成器|MiraFrame",description:"将参考图片转化为 AI 视频,并控制动作、镜头、时长、画幅和兼容的视频模型。",intro:"将静态图片转化为短视频,并以参考图作为首帧视觉方向。通过动作和镜头提示增加动态,同时保持原主体与构图。",steps:["上传主体和构图清晰的参考图。","描述动作、镜头、节奏以及需要保持稳定的元素。","选择兼容模型并检查整段视频的主体一致性。"],faq:[["什么图片更适合图生视频?","优先使用主体清晰、空间层次明确且为动作留有余量的图片。"],["如何减少主体被改动?","使用克制的动作,明确要求保留身份和构图,并测试参考图一致性更强的模型。"]],navLabel:"生成模式"}},"zh-TW":{"text-to-image":{title:"AI 文字生成圖片",metaTitle:"AI 文字生成圖片工具|MiraFrame",description:"輸入中文提示詞生成原創 AI 圖片,並選擇模型、圖片比例、畫質與輸出張數。",intro:"把文字提示轉換成原創圖片。先交代主體、構圖、光線、風格與圖片比例,再於同一個工作區比較適合的圖片模型。",steps:["寫清楚主體、動作與視覺方向。","選擇圖片模型、比例、畫質與輸出張數。","生成後檢查結果,再逐步微調。"],faq:[["AI 繪圖提示詞要怎麼寫?","先寫主體與動作,再補上構圖、光線、材質、風格和用途。"],["不改提示詞也能切換模型嗎?","可以。保留原提示詞,即可在同一個生成器中比較相容模型與設定。"]],navLabel:"生成模式"},"image-to-image":{title:"AI 圖片轉圖片",metaTitle:"AI 圖片轉圖片與參考圖重繪|MiraFrame",description:"上傳參考圖片並透過提示詞重繪,同時控制主體、構圖與風格的一致性。",intro:"以參考圖片作為新作品的視覺基礎,說明想改變的部分,也標示必須保留的主體、構圖或風格。",steps:["上傳清晰且有權使用的參考圖片。","同時說明要修改與要保留的內容。","選擇相容模型並檢查主體、版面與細節。"],faq:[["圖片轉圖片的提示詞要寫什麼?","除了描述想要的變化,也要明確指出必須維持不變的主體、構圖與細節。"],["模型會完整保留參考圖片嗎?","不一定。不同模型的參考圖遵循度不同,發佈前請檢查關鍵主體與細節。"]],navLabel:"生成模式"},"text-to-video":{title:"AI 文字生成影片",metaTitle:"AI 文字生成影片工具|MiraFrame",description:"用文字描述生成 AI 短片,並設定模型、鏡頭運動、影片比例、長度、畫質與支援的音訊功能。",intro:"從文字場景描述建立 AI 短片。先交代主體、動作、運鏡、節奏、光線與情緒,再選擇相容的影片模型。",steps:["描述場景、動作、運鏡與整體氛圍。","選擇影片模型、比例、長度與畫質。","生成後檢查動作、連貫性與異常畫面。"],faq:[["文字生成影片的提示詞要多詳細?","應包含主要動作與鏡頭行為,但短片中要避免互相衝突的指令。"],["生成影片可以包含音訊嗎?","是否支援音訊取決於所選模型目前提供的設定。"]],navLabel:"生成模式"}
1,"image-to-video":{title:"AI 圖片生成影片",metaTitle:"AI 圖片生成影片工具|MiraFrame",description:"把靜態圖片轉為 AI 影片,並控制動作、運鏡、片長、影片比例與相容模型。",intro:"以參考圖片作為首幀視覺方向,將靜態畫面轉成短片。加入動作與運鏡指令,同時維持原本主體與構圖。",steps:["上傳主體清楚、構圖明確的圖片。","描述動作、運鏡、節奏與必須穩定的元素。","選擇相容模型並檢查整段影片的一致性。"],faq:[["哪種圖片適合拿來生成影片?","使用畫面清晰、主體明確、有空間層次,且能容納預期動作的圖片。"],["如何減少人物或商品變形?","使用較克制的動作,明確要求維持身分與構圖,並選擇參考圖一致性較高的模型。"]],navLabel:"生成模式"}},ja:{"text-to-image":{title:"テキストからAI画像を生成",metaTitle:"テキストからAI画像を生成するツール | MiraFrame",description:"日本語のプロンプトからAI画像を作成。モデル、縦横比、品質、生成枚数を一つの画面で設定できます。",intro:"文章で伝えたイメージをオリジナル画像に変換します。被写体、構図、光、テイスト、用途を整理し、目的に合う画像モデルを比較できます。",steps:["被写体と表現したい方向を具体的に入力します。","画像モデル、縦横比、品質、生成枚数を選びます。","結果を確認し、必要な要素だけを調整します。"],faq:[["画像生成AIのプロンプトはどう書けばよいですか?","被写体と動作を先に書き、構図、光、素材感、テイスト、利用目的を追加すると伝わりやすくなります。"],["同じプロンプトでモデルを比較できますか?","はい。文章を保ったまま、対応するモデルや設定を切り替えて比較できます。"]],navLabel:"生成方法"},"image-to-image":{title:"参照画像からAI画像を生成",metaTitle:"参照画像からAI画像を生成・加工 | MiraFrame",description:"参照画像をアップロードし、残したい人物・構図・雰囲気を指定しながらAIで新しい画像に加工できます。",intro:"参照画像を土台にして新しいビジュアルを作ります。変更したい点と、人物、商品、構図、テイストなど維持したい点を分けて指示します。",steps:["利用権限のある鮮明な参照画像をアップロードします。","変更する要素と残す要素をそれぞれ説明します。","対応モデルを選び、人物や配置、細部の一貫性を確認します。"],faq:[["画像から画像を作るプロンプトには何を書きますか?","希望する変更内容と、変えたくない人物・商品・構図・色などを両方明記します。"],["参照画像は完全に維持されますか?","モデルや内容によって再現度は異なります。公開前に重要な人物、商品、文字、細部を確認してください。"]],navLabel:"生成方法"},"text-to-video":{title:"テキストからAI動画を生成",metaTitle:"テキストからAI動画を生成するツール | MiraFrame",description:"文章からAI動画を作成し、モデル、カメラワーク、縦横比、長さ、品質、対応する音声設定を調整できます。",intro:"文章で説明したシーンから短いAI動画を作ります。被写体、動き、カメラワーク、時間の流れ、光、雰囲気を整理してからモデルを選びます。",steps:["シーン、動き、カメラワーク、雰囲気を入力します。","動画モデル、縦横比、長さ、品質を選びます。","生成後に動きの自然さ、連続性、乱れを確認します。"],faq:[["動画生成のプロンプトはどこまで詳しく書きますか?","中心となる動作とカメラの動きを明確にし、短い動画では矛盾する指示を詰め込みすぎないことが大切です。"],["生成動画に音声を付けられますか?","音声の可否は、選択したモデルが現在対応している機能と設定によって異なります。"]],navLabel:"生成方法"}
1,"image-to-video":{title:"画像からAI動画を生成",metaTitle:"画像からAI動画を生成・アニメーション化 | MiraFrame",description:"静止画をAI動画に変換し、被写体を保ちながら動き、カメラワーク、長さ、縦横比、モデルを設定できます。",intro:"静止画を最初のフレームとして短い動画にします。元の人物や商品、構図を意識しながら、動きとカメラワークを追加します。",steps:["被写体と構図が明確な画像をアップロードします。","動き、カメラ、時間、安定させたい要素を説明します。","対応モデルを選び、動画全体の一貫性を確認します。"],faq:[["動画化に向いている画像はありますか?","被写体が鮮明で奥行きが分かりやすく、動かしたい方向に余白がある画像が適しています。"],["人物や商品の変形を抑えるには?","動きを控えめにし、人物や商品の特徴と構図を維持するよう明記し、参照画像の再現性が高いモデルを試します。"]],navLabel:"生成方法"}},de:{"text-to-image":{title:"KI-Bilder aus Text erstellen",metaTitle:"KI-Bilder aus Text erstellen – KI-Bildgenerator | MiraFrame",description:"Erstelle KI-Bilder aus deutschen Prompts und wähle Modell, Seitenverhältnis, Qualität und Anzahl der Ergebnisse.",intro:"Verwandle eine Beschreibung in ein neues Bild. Definiere Motiv, Bildaufbau, Licht, Stil und Ausgabeformat und vergleiche passende Bildmodelle in einem Arbeitsbereich.",steps:["Beschreibe Motiv, Handlung und gewünschte Bildwirkung.","Wähle Bildmodell, Seitenverhältnis, Qualität und Anzahl.","Prüfe das Ergebnis und ändere gezielt einzelne Angaben."],faq:[["Wie schreibt man einen guten Prompt für KI-Bilder?","Beginne mit Motiv und Handlung. Ergänze anschließend Bildaufbau, Licht, Materialien, Stil und Verwendungszweck."],["Kann ich Modelle mit demselben Prompt vergleichen?","Ja. Der Prompt bleibt erhalten, während du kompatible Modelle und Einstellungen wechselst."]],navLabel:"Generierungsarten"},"image-to-image":{title:"KI-Bilder aus einem Referenzbild erstellen",metaTitle:"Referenzbild mit KI bearbeiten und neu gestalten | MiraFrame",description:"Gestalte ein Referenzbild per Prompt neu und lege fest, welche Motive, Bildaufbauten und Stile erhalten bleiben sollen.",intro:"Nutze ein Referenzbild als Grundlage. Beschreibe getrennt, was verändert werden soll und welche Merkmale von Person, Produkt, Komposition oder Stil erhalten bleiben müssen.",steps:["Lade ein scharfes Bild hoch, das du verwenden darfst.","Beschreibe gewünschte Änderungen und unveränderte Elemente.","Wähle ein passendes Modell und prüfe Motiv, Layout und Details."],faq:[["Was gehört in einen Image-to-Image-Prompt?","Nenne sowohl die gewünschte Änderung als auch Personen, Produkte, Farben oder Bildbereiche, die unverändert bleiben sollen."],["Bleibt die Referenz immer exakt erhalten?","Nein. Die Referenztreue hängt von Modell und Aufgabe ab. Prüfe wichtige Personen, Produkte und Details vor der Veröffentlichung."]],navLabel:"Generierungsarten"},"text-to-video":{title:"KI-Videos aus Text erstellen",metaTitle:"KI-Videos aus Text erstellen – Text zu Video | MiraFrame",description:"Erzeuge KI-Videos aus Text und steuere Modell, Kameraführung, Seitenverhältnis, Dauer, Qualität und unterstützte Audiofunktionen.",intro:"Erstelle einen kurzen KI-Clip aus einer Szenenbeschreibung. Lege Motiv, Handlung, Kamerabewegung, Timing, Licht und Stimmung fest, bevor du ein Videomodell auswählst.",steps:["Beschreibe Szene, Handlung, Kamera und Stimmung.","Wähle Videomodell, Seitenverhältnis, Dauer und Qualität.","Prüfe Bewegung, zeitliche Kontinuität und Bildfehler."],faq:[["Wie detailliert sollte ein Text-zu-Video-Prompt sein?","Beschreibe Hauptbewegung und Kamera eindeutig. Vermeide bei kurzen Clips widersprüchliche Anweisungen."],["Können erzeugte Videos Ton enthalten?","Ob Audio verfügbar ist, hängt vom gewählten Modell und den aktuell unterstützten Einstellungen ab."]],navLabel:"Generierungsarten"}
1,"image-to-video":{title:"Bilder mit KI in Videos verwandeln",metaTitle:"Bild zu Video: Fotos mit KI animieren | MiraFrame",description:"Animiere ein Bild mit KI und steuere Bewegung, Kamera, Dauer, Seitenverhältnis und kompatible Videomodelle.",intro:"Verwandle ein Standbild in einen kurzen Clip und nutze es als visuelle Richtung für das erste Bild. Ergänze Bewegung und Kamera, ohne Motiv und Komposition aus den Augen zu verlieren.",steps:["Lade ein scharfes Bild mit klarem Motiv und Bildaufbau hoch.","Beschreibe Bewegung, Kamera, Timing und stabile Elemente.","Wähle ein Modell und prüfe die Konsistenz im gesamten Clip."],faq:[["Welche Bilder eignen sich für Bild-zu-Video?","Geeignet sind scharfe Bilder mit eindeutigem Motiv, erkennbarer Tiefe und genügend Raum für die gewünschte Bewegung."],["Wie lassen sich unerwünschte Veränderungen reduzieren?","Verwende zurückhaltende Bewegungen, verlange den Erhalt von Identität und Komposition und teste ein referenztreues Modell."]],navLabel:"Generierungsarten"}},es:{"text-to-image":{title:"Crear imágenes con IA a partir de texto",metaTitle:"Crear imágenes con IA desde texto | MiraFrame",description:"Genera imágenes con IA desde prompts en español y elige modelo, formato, calidad y número de resultados.",intro:"Convierte una descripción en una imagen original. Define el sujeto, la composición, la luz, el estilo y el formato final, y compara modelos en un mismo espacio de trabajo.",steps:["Describe con claridad el sujeto y la dirección visual.","Elige modelo, relación de aspecto, calidad y cantidad.","Genera, revisa y ajusta solo los elementos necesarios."],faq:[["¿Cómo se escribe un buen prompt para generar imágenes?","Empieza por el sujeto y la acción; después añade composición, iluminación, materiales, estilo y uso final."],["¿Puedo comparar modelos sin reescribir el prompt?","Sí. Conserva el texto y cambia entre modelos y ajustes compatibles dentro del mismo generador."]],navLabel:"Modos de generación"},"image-to-image":{title:"Crear imágenes con IA desde una referencia",metaTitle:"Transformar una imagen de referencia con IA | MiraFrame",description:"Transforma una imagen mediante un prompt e indica qué sujetos, composición y estilo deben conservarse.",intro:"Utiliza una imagen de referencia como base visual. Explica qué quieres cambiar y qué rasgos del sujeto, producto, composición o estilo deben mantenerse.",steps:["Sube una referencia nítida que tengas derecho a utilizar.","Indica por separado qué cambia y qué debe conservarse.","Elige un modelo compatible y revisa identidad, diseño y detalles."],faq:[["¿Qué debe incluir un prompt de imagen a imagen?","Describe tanto la transformación deseada como las personas, productos, colores o zonas que no deben cambiar."],["¿El modelo conservará exactamente la referencia?","No siempre. La fidelidad depende del modelo y la tarea; revisa los elementos importantes antes de publicar."]],navLabel:"Modos de generación"},"text-to-video":{title:"Crear vídeos con IA a partir de texto",metaTitle:"Crear vídeos con IA desde texto | MiraFrame",description:"Genera vídeos con IA desde texto y controla modelo, cámara, formato, duración, calidad y las opciones de audio disponibles.",intro:"Crea un vídeo corto desde la descripción de una escena. Define sujeto, acción, movimiento de cámara, ritmo, luz y ambiente antes de escoger un modelo.",steps:["Describe la escena, la acción, la cámara y el ambiente.","Elige modelo de vídeo, formato, duración y calidad.","Revisa movimiento, continuidad y posibles artefactos."],faq:[["¿Cuánto detalle necesita un prompt de texto a vídeo?","Incluye la acción principal y el comportamiento de la cámara, evitando instrucciones contradictorias en un clip corto."],["¿Los vídeos generados pueden tener audio?","La disponibilidad de audio depende del modelo elegido y de los ajustes que admita actualmente."]],navLabel:"Modos de generación"},"image-to-video":{title:"Convertir una imagen en vídeo con IA",metaTitle:"Imagen a vídeo: animar fotos con IA | MiraFrame",description:"Anima una imagen con IA y controla movimiento, cámara, duración, relación de aspecto y modelos de vídeo compatibles.",intro:"Convierte una imagen fija en un vídeo corto y úsala como dirección visual del primer fotograma. Añade movimiento y cámara conservando el sujeto y la composición.",steps:["Sube una imagen nítida con sujeto y encuadre claros.","Describe movimiento, cámara, ritmo y elementos estables.","Selecciona un modelo y revisa la consistencia de todo el clip."],faq:[["¿Qué imagen funciona mejor para crear un vídeo?","Utiliza una imagen nítida, con un sujeto claro, profundidad legible y espacio para el movimiento solicitado."],["¿Cómo evito cambios no deseados en el sujeto?","Pide movimientos moderados, especifica que se conserven identidad y composición y prueba un modelo fiel a la referencia."]],navLabel:"Modos de generación"}},fr:{"text-to-image":{title:"Créer une image IA à partir d’un texte",metaTitle:"Créer une image IA à partir d’un texte | MiraFrame",description:"Générez des images IA depuis un prompt en français et choisissez le modèle, le format, la qualité et le nombre de résultats.",intro:"Transformez une description en image originale. Précisez le sujet, la composition, la lumière, le style et le format final, puis comparez plusieurs modèles dans le même espace.",steps:["Décrivez clairement le sujet et la direction visuelle.","Choisissez le modèle, le ratio, la qualité et le nombre d’images.","Générez, vérifiez et ajustez les éléments utiles."],faq:[["Comment rédiger un bon prompt pour une image IA ?","Commencez par le sujet et l’action, puis ajoutez composition, lumière, matières, style et usage prévu."],["Puis-je comparer les modèles avec le même prompt ?","Oui. Conservez votre texte et changez de modèle ou de réglage compatible dans le même générateur."]],navLabel:"Modes de génération"},"image-to-image":{title:"Créer une image IA à partir d’une référence",metaTitle:"Transformer une image de référence avec l’IA | MiraFrame",description:"Transformez une image avec un prompt tout en préservant le sujet, la composition et le style nécessaires à votre projet.",intro:"Utilisez une image de référence comme base visuelle. Distinguez ce qui doit changer de ce qui doit rester cohérent : personne, produit, ca
1drage, couleurs ou style.",steps:["Importez une référence nette que vous avez le droit d’utiliser.","Expliquez ce qui change et ce qui doit rester identique.","Choisissez un modèle compatible et contrôlez sujet, cadrage et détails."],faq:[["Que faut-il indiquer dans un prompt image vers image ?","Décrivez la transformation souhaitée et les personnes, produits, couleurs ou zones à conserver."],["La référence sera-t-elle reproduite exactement ?","Pas toujours. La fidélité varie selon le modèle et la tâche ; contrôlez les éléments importants avant publication."]],navLabel:"Modes de génération"},"text-to-video":{title:"Créer une vidéo IA à partir d’un texte",metaTitle:"Créer une vidéo IA à partir d’un texte | MiraFrame",description:"Générez une vidéo IA depuis un texte et réglez le modèle, la caméra, le format, la durée, la qualité et les options audio disponibles.",intro:"Créez une courte vidéo à partir de la description d’une scène. Définissez le sujet, l’action, le mouvement de caméra, le rythme, la lumière et l’ambiance.",steps:["Décrivez la scène, l’action, la caméra et l’ambiance.","Choisissez le modèle vidéo, le format, la durée et la qualité.","Contrôlez le mouvement, la continuité et les éventuels défauts."],faq:[["Quel niveau de détail pour un prompt texte vers vidéo ?","Indiquez clairement l’action principale et la caméra, sans accumuler de consignes contradictoires dans un clip court."],["Une vidéo générée peut-elle contenir du son ?","La disponibilité de l’audio dépend du modèle choisi et des réglages qu’il prend actuellement en charge."]],navLabel:"Modes de génération"},"image-to-video":{title:"Transformer une image en vidéo avec l’IA",metaTitle:"Image en vidéo : animer une photo avec l’IA | MiraFrame",description:"Animez une image avec l’IA et contrôlez le mouvement, la caméra, la durée, le format et les modèles vidéo compatibles.",intro:"Transformez une image fixe en courte vidéo et utilisez-la comme direction visuelle de départ. Ajoutez mouvement et caméra tout en préservant le sujet et la composition.",steps:["Importez une image nette au sujet et au cadrage lisibles.","Décrivez le mouvement, la caméra, le rythme et les éléments stables.","Sélectionnez un modèle et vérifiez la cohérence du clip."],faq:[["Quelle image choisir pour créer une vidéo ?","Préférez une image nette, au sujet clair, avec une profondeur lisible et assez d’espace pour le mouvement demandé."],["Comment limiter les changements indésirables ?","Demandez un mouvement mesuré, précisez que l’identité et le cadrage doivent rester stables, puis testez un modèle fidèle aux références."]],navLabel:"Modes de génération"}},ko:{"text-to-image":{title:"텍스트로 AI 이미지 만들기",metaTitle:"텍스트로 AI 이미지 만들기 | MiraFrame",description:"한국어 프롬프트로 AI 이미지를 생성하고 모델, 화면 비율, 품질과 생성 개수를 한 화면에서 설정하세요.",intro:"문장으로 설명한 아이디어를 새로운 이미지로 만듭니다. 피사체, 구도, 조명, 스타일과 사용 목적을 정리한 뒤 적합한 이미지 모델을 비교할 수 있습니다.",steps:["피사체와 원하는 시각적 방향을 구체적으로 작성합니다.","이미지 모델, 화면 비율, 품질과 생성 개수를 선택합니다.","결과를 확인하고 필요한 요소만 단계적으로 수정합니다."],faq:[["AI 이미지 프롬프트는 어떻게 작성하나요?","피사체와 동작을 먼저 쓰고 구도, 조명, 재질, 스타일과 활용 목적을 덧붙이면 좋습니다."],["같은 프롬프트로 모델을 비교할 수 있나요?","네. 프롬프트를 유지한 채 같은 생성기에서 호환 모델과 설정을 바꿔 비교할 수 있습니다."]],navLabel:"생성 방식"},"image-to-image":{title:"참조 이미지로 새 AI 이미지 만들기",metaTitle:"참조 이미지를 AI로 변환·편집하기 | MiraFrame",description:"참조 이미지를 업로드하고 인물, 제품, 구도와 스타일에서 유지할 부분을 지정해 새로운 이미지로 변환하세요.",intro:"참조 이미지를 새 결과의 시각적 기반으로 사용합니다. 바꿀 요소와 인물, 제품, 구도, 분위기처럼 유지할 요소를 나누어 설명하세요.",steps:["사용 권한이 있는 선명한 참조 이미지를 업로드합니다.","변경할 부분과 유지할 부분을 각각 설명합니다.","호환 모델을 선택하고 인물, 배치와 세부 표현을 확인합니다."],faq:[["이미지 변환 프롬프트에는 무엇을 써야 하나요?","원하는 변화와 함께 그대로 유지해야 할 인물, 제품, 색상, 구도와 세부 요소를 명시하세요."],["참조 이미지가 완전히 유지되나요?","모델과 작업에 따라 일관성이 다릅니다. 공개 전에 중요한 인물, 제품과 세부 요소를 확인하세요."]],navLabel:"생성 방식"}
1,"text-to-video":{title:"텍스트로 AI 동영상 만들기",metaTitle:"텍스트로 AI 동영상 만들기 | MiraFrame",description:"문장으로 AI 영상을 생성하고 모델, 카메라 움직임, 화면 비율, 길이, 품질과 지원되는 오디오 기능을 설정하세요.",intro:"장면을 설명하는 문장으로 짧은 AI 영상을 만듭니다. 피사체, 동작, 카메라 움직임, 시간 흐름, 조명과 분위기를 정한 뒤 모델을 선택하세요.",steps:["장면, 동작, 카메라 방향과 분위기를 설명합니다.","영상 모델, 화면 비율, 길이와 품질을 선택합니다.","생성 후 움직임, 연속성과 이상 표현을 확인합니다."],faq:[["텍스트 영상 프롬프트는 얼마나 자세해야 하나요?","핵심 동작과 카메라 움직임은 분명히 쓰되, 짧은 영상에 서로 충돌하는 지시를 많이 넣지 마세요."],["생성 영상에 오디오를 넣을 수 있나요?","오디오 지원 여부는 선택한 모델에서 현재 제공하는 기능과 설정에 따라 달라집니다."]],navLabel:"생성 방식"},"image-to-video":{title:"이미지로 AI 동영상 만들기",metaTitle:"이미지를 AI 동영상으로 변환·애니메이션화 | MiraFrame",description:"정지 이미지를 AI 영상으로 변환하고 움직임, 카메라, 길이, 화면 비율과 호환 모델을 설정하세요.",intro:"정지 이미지를 첫 프레임의 시각적 기준으로 삼아 짧은 영상으로 만듭니다. 원래 피사체와 구도를 유지하면서 동작과 카메라 지시를 추가하세요.",steps:["피사체와 구도가 분명한 선명한 이미지를 업로드합니다.","움직임, 카메라, 시간 흐름과 안정적으로 유지할 요소를 설명합니다.","호환 모델을 선택하고 영상 전체의 일관성을 확인합니다."],faq:[["어떤 이미지가 영상 변환에 적합한가요?","피사체가 선명하고 공간 깊이가 잘 드러나며 원하는 움직임을 위한 여백이 있는 이미지가 좋습니다."],["피사체가 달라지는 현상을 줄이려면?","움직임을 과하지 않게 설정하고 인물이나 제품의 특징과 구도를 유지하도록 명시한 뒤 참조 일관성이 높은 모델을 사용하세요."]],navLabel:"생성 방식"}}},"homeLocaleCopy",0,{"zh-TW":{hero:{badge:"每日提供免費點數的 AI 圖片生成器",title:"把一句想法變成高質感 AI 圖片",desc:"從中文提示詞或參考圖片開始,製作商品照、海報、人物肖像、社群貼文與 AI 影片。登入後可使用完整模型、私人生成紀錄與點數工作流程。",badges:["每日 10 點免費點數","多款圖片模型","免註冊瀏覽靈感","支援圖片與影片工作流程"],placeholder:"描述想生成的圖片,例如主體、場景、光線與風格…",generate:"生成圖片"},inspired:{title:"尋找創作靈感",subtitle:"瀏覽 MiraFrame 的圖片案例與提示詞,快速找到下一個創作方向"},featuresTitle:"MiraFrame AI 圖片生成器的主要功能",featuresSubtitle:"從提示詞、參考圖與模型選擇一路完成圖片生成、編輯和影片延伸。",faqTitle:"常見問題",faqSubtitle:"了解免費點數、AI 圖片生成、模型選擇、商業使用與私人生成紀錄。",footerDescription:"使用提示詞、參考圖片、圖片範本與編輯工具建立 AI 圖片和影片。"},ja:{hero:{badge:"毎日無料クレジット付きのAI画像生成ツール",title:"ひとつのアイデアから、印象に残るAI画像へ",desc:"日本語のプロンプトや参照画像から、商品画像、広告バナー、人物写真、SNS素材、AI動画を制作。ログインすると全モデル、非公開の生成履歴、クレジット機能を利用できます。",badges:["毎日10無料クレジット","複数の画像生成モデル","作例は登録なしで閲覧可能","画像・動画制作に対応"],placeholder:"作りたい画像の被写体、場面、光、テイストを入力…",generate:"画像を生成"},inspired:{title:"作例からアイデアを探す",subtitle:"MiraFrameの画像とプロンプトを見ながら、次の表現を具体化できます"},featuresTitle:"MiraFrame AI画像生成の主な機能",featuresSubtitle:"プロンプト、参照画像、モデル比較から編集・動画化まで、制作の流れを一つにまとめました。",faqTitle:"よくある質問",faq
1Subtitle:"無料クレジット、画像生成モデル、商用利用、生成履歴について確認できます。",footerDescription:"プロンプト、参照画像、テンプレート、編集機能からAI画像と動画を作成できます。"},de:{hero:{badge:"KI-Bildgenerator mit täglichen Gratis-Credits",title:"Aus Ideen werden starke KI-Bilder und Videos",desc:"Erstelle mit Prompts auf Deutsch oder Referenzbildern Produktmotive, Poster, Porträts, Social-Media-Grafiken und KI-Videos. Nach der Anmeldung kannst du alle Modelle, deinen privaten Generierungsverlauf und dein Guthaben nutzen.",badges:["10 Gratis-Credits täglich","Verschiedene Bildmodelle","Inspiration ohne Anmeldung","Workflows für Bild und Video"],placeholder:"Beschreibe Motiv, Szene, Licht und gewünschten Stil …",generate:"Bild erstellen"},inspired:{title:"Ideen und Prompts entdecken",subtitle:"Lass dich von MiraFrame-Beispielen inspirieren und entwickle daraus deine eigene Bildidee"},featuresTitle:"Die wichtigsten Funktionen des MiraFrame KI-Bildgenerators",featuresSubtitle:"Von Prompt und Referenzbild über den Modellvergleich bis zur Bearbeitung und Animation in einem Arbeitsbereich.",faqTitle:"Häufig gestellte Fragen",faqSubtitle:"Antworten zu Gratis-Credits, Bildmodellen, kommerzieller Nutzung und privatem Generierungsverlauf.",footerDescription:"Erstelle KI-Bilder und Videos mit Prompts, Referenzbildern, Vorlagen und Bearbeitungswerkzeugen."},es:{hero:{badge:"Generador de imágenes con IA y créditos gratis cada día",title:"Crea imágenes y vídeos con IA",desc:"Crea imágenes de producto, carteles, retratos, contenido para redes y vídeos con IA usando prompts en español o una imagen de referencia. Inicia sesión para acceder a todos los modelos, guardar un historial privado y gestionar tus créditos.",badges:["10 créditos gratis cada día","Varios modelos de imagen","Inspírate sin registrarte","Flujos de imagen y vídeo"],placeholder:"Describe el sujeto, la escena, la luz y el estilo que buscas…",generate:"Generar imagen"},inspired:{title:"Encuentra inspiración",subtitle:"Explora imágenes y prompts de MiraFrame para dar forma a tu próxima idea"},featuresTitle:"Funciones principales del generador de imágenes de MiraFrame",featuresSubtitle:"Reúne prompts, referencias, modelos, edición y animación en un único flujo creativo.",faqTitle:"Preguntas frecuentes",faqSubtitle:"Respuestas sobre créditos gratis, modelos, uso comercial e historial privado de generaciones.",footerDescription:"Crea imágenes y vídeos con IA mediante prompts, referencias, plantillas y herramientas de edición."},fr:{hero:{badge:"Générateur d’images IA avec crédits gratuits quotidiens",title:"Créez des images et vidéos avec l’IA",desc:"Créez des visuels produit, des affiches, des portraits, des contenus pour les réseaux sociaux et des vidéos avec l’IA à partir d’un prompt en français ou d’une image de référence. Connectez-vous pour accéder à tous les modèles, conserver un historique privé et gérer vos crédits.",badges:["10 crédits offerts par jour","Plusieurs modèles d’image","Inspiration sans inscription","Flux image et vidéo"],placeholder:"Décrivez le sujet, la scène, la lumière et le style souhaité…",generate:"Générer l’image"},inspired:{title:"Trouver l’inspiration",subtitle:"Explorez les images et prompts MiraFrame pour préciser votre prochaine direction créative"},featuresTitle:"Fonctions clés du générateur d’images IA MiraFrame",featuresSubtitle:"Prompts, références, choix du modèle, retouche et animation réunis dans un même flux de création.",faqTitle:"Questions fréquentes",faqSubtitle:"Tout savoir sur les crédits gratuits, les modèles, l’usage commercial et l’historique privé.",footerDescription:"Créez des images et des vidéos IA avec des prompts, références, modèles et outils de retouche."},ko:{hero:{badge:"매일 무료 크레딧을 제공하는 AI 이미지 생성기",title:"하나의 아이디어를 완성도 높은 AI 이미지로",desc:"한국어 프롬프트나 참조 이미지로 제품 사진, 광고 포스터, 인물 이미지, SNS 콘텐츠와 AI 영상을 만드세요. 로그인하면 전체 모델, 비공개 생성 기록과 크레딧 기능을 사용할 수 있습니다.",badges:["ë§
1¤ì¼ 무료 크레딧 10개","다양한 이미지 모델","가입 없이 영감 둘러보기","이미지·영상 작업 지원"],placeholder:"만들고 싶은 피사체, 장면, 조명과 스타일을 설명하세요…",generate:"이미지 생성"},inspired:{title:"창작 아이디어 둘러보기",subtitle:"MiraFrame의 이미지와 프롬프트를 참고해 다음 작업의 방향을 구체화하세요"},featuresTitle:"MiraFrame AI 이미지 생성기의 핵심 기능",featuresSubtitle:"프롬프트, 참조 이미지와 모델 비교부터 편집과 영상 변환까지 하나의 흐름으로 제공합니다.",faqTitle:"자주 묻는 질문",faqSubtitle:"무료 크레딧, 이미지 모델, 상업적 사용과 비공개 생성 기록에 대해 확인하세요.",footerDescription:"프롬프트, 참조 이미지, 템플릿과 편집 도구로 AI 이미지와 영상을 만드세요."}},"normalizeAppLocale",0,function(e){return(0,t.isAppLocale)(e)?e:(0,t.isAppLocale)(t.defaultLocale)?t.defaultLocale:"en"}])},545532,23389,e=>{"use strict";var t=e.i(404428),i=e.i(291967),a=e.i(188625),n=e.i(352162),r=e.i(987438),o=e.i(575301),s=e.i(415839),l=e.i(387539),d=e.i(216906),u=e.i(775827),c=e.i(6140),m=e.i(636457),p=e.i(221821),g=e.i(73772),f=e.i(819232),v=e.i(937208),b="Dialog",[h,I]=(0,n.createContextScope)(b),[A,x]=h(b),y=e=>{let{__scopeDialog:i,children:a,open:n,defaultOpen:s,onOpenChange:l,modal:d=!0}=e,u=t.useRef(null),c=t.useRef(null),[m,p]=(0,o.useControllableState)({prop:n,defaultProp:s??!1,onChange:l,caller:b});return(0,v.jsx)(A,{scope:i,triggerRef:u,contentRef:c,contentId:(0,r.useId)(),titleId:(0,r.useId)(),descriptionId:(0,r.useId)(),open:m,onOpenChange:p,onOpenToggle:t.useCallback(()=>p(e=>!e),[p]),modal:d,children:a})};y.displayName=b;var z="DialogTrigger",w=t.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,o=x(z,n),s=(0,a.useComposedRefs)(t,o.triggerRef);return(0,v.jsx)(c.Primitive.button,{type:"button","aria-haspopup":"dialog","aria-expanded":o.open,"aria-controls":o.contentId,"data-state":W(o.open),...r,ref:s,onClick:(0,i.composeEventHandlers)(e.onClick,o.onOpenToggle)})});w.displayName=z;var j="DialogPortal",[C,T]=h(j,{forceMount:void 0}),M=e=>{let{__scopeDialog:i,forceMount:a,children:n,container:r}=e,o=x(j,i);return(0,v.jsx)(C,{scope:i,forceMount:a,children:t.Children.map(n,e=>(0,v.jsx)(u.Presence,{present:a||o.open,children:(0,v.jsx)(d.Portal,{asChild:!0,container:r,children:e})}))})};M.displayName=j;var q="DialogOverlay",D=t.forwardRef((e,t)=>{let i=T(q,e.__scopeDialog),{forceMount:a=i.forceMount,...n}=e,r=x(q,e.__scopeDialog);return r.modal?(0,v.jsx)(u.Presence,{present:a||r.open,children:(0,v.jsx)(B,{...n,ref:t})}):null});D.displayName=q;var F=(0,f.createSlot)("DialogOverlay.RemoveScroll"),B=t.forwardRef((e,t)=>{let{__scopeDialog:i,...a}=e,n=x(q,i);return(0,v.jsx)(p.RemoveScroll,{as:F,allowPinchZoom:!0,shards:[n.contentRef],children:(0,v.jsx)(c.Primitive.div,{"data-state":W(n.open),...a,ref:t,style:{pointerEvents:"auto",...a.style}})})}),L="DialogContent",P=t.forwardRef((e,t)=>{let i=T(L,e.__scopeDialog),{forceMount:a=i.forceMount,...n}=e,r=x(L,e.__scopeDialog);return(0,v.jsx)(u.Presence,{present:a||r.open,children:r.modal?(0,v.jsx)(S,{...n,ref:t}):(0,v.jsx)(k,{...n,ref:t})})});P.displayName=L;var S=t.forwardRef((e,n)=>{let r=x(L,e.__scopeDialog),o=t.useRef(null),s=(0,a.useComposedRefs)(n,r.contentRef,o);return t.useEffect(()=>{let e=o.current;if(e)return(0,g.hideOthers)(e)},[]),(0,v.jsx)(R,{...e,ref:s,trapFocus:r.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:(0,i.composeEventHandlers)(e.onCloseAutoFocus,e=>{e.preventDefault(),r.triggerRef.current?.focus()}),onPointerDownOutside:(0,i.composeEventHandlers)(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,i=0===t.button&&!0===t.ctrlKey;(2===t.button||i)&&e.preventDefault()}),onFocusOutside:(0,i.composeEventHandlers)(e.onFocusOutside,e=>e.preventDefault())})}),k=t.forwardRef((e,i)=>{let a=x(L,e.__scopeDialog),n=t.useRef(!1),r=t.useRef(!1);return(0,v.jsx)(R,{...e,ref:i,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(n.current||a.triggerRef.current?.focus(),t.preventDefault()),n.current=!1,r.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(n.current=!0,"pointerdown"===t.detail.originalEvent.type&&(r.current=!0));let i=t.target;a.triggerRef.current?.contains(i)&&t.preventDefault(),"focusin"===t.detail.originalEvent.type&&r.current&&t.preventDefault()}})}),R=t.forwardRef((e,i)=>{let{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:o,onCloseAutoFocus:d,...u}=e,c=x(L,n),p=t.useRef(null),g=(0,a.useComposedRefs)(i,p);return(0,m.useFocusGuards)(),(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(l.FocusScope,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:o,onUnmountAutoFocus:d,children:(0,v.jsx)(s.DismissableLayer,{role:"dialog",id:c.contentId,"aria-describedby":c.descriptionId,"aria-labelledby":c.titleId,"data-state":W(c.open),...u,ref:g,onDismiss:()=>c.onOpenChange(!1)})}),(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(Q,{titleId:c.titleId}),(0,v.jsx)($,{contentRef:p,descriptionId:c.descriptionId})]})]})}),E="DialogTitle",G=t.forwardRef((e,t)=>
1{let{__scopeDialog:i,...a}=e,n=x(E,i);return(0,v.jsx)(c.Primitive.h2,{id:n.titleId,...a,ref:t})});G.displayName=E;var K="DialogDescription",N=t.forwardRef((e,t)=>{let{__scopeDialog:i,...a}=e,n=x(K,i);return(0,v.jsx)(c.Primitive.p,{id:n.descriptionId,...a,ref:t})});N.displayName=K;var V="DialogClose",O=t.forwardRef((e,t)=>{let{__scopeDialog:a,...n}=e,r=x(V,a);return(0,v.jsx)(c.Primitive.button,{type:"button",...n,ref:t,onClick:(0,i.composeEventHandlers)(e.onClick,()=>r.onOpenChange(!1))})});function W(e){return e?"open":"closed"}O.displayName=V;var H="DialogTitleWarning",[_,U]=(0,n.createContext)(H,{contentName:L,titleName:E,docsSlug:"dialog"}),Q=({titleId:e})=>{let i=U(H),a=`\`${i.contentName}\` requires a \`${i.titleName}\` for the component to be accessible for screen reader users.
2
3If you want to hide the \`${i.titleName}\`, you can wrap it with our VisuallyHidden component.
4
5For more information, see https://radix-ui.com/primitives/docs/components/${i.docsSlug}`;return t.useEffect(()=>{e&&(document.getElementById(e)||console.error(a))},[a,e]),null},$=({contentRef:e,descriptionId:i})=>{let a=U("DialogDescriptionWarning"),n=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${a.contentName}}.`;return t.useEffect(()=>{let t=e.current?.getAttribute("aria-describedby");i&&t&&(document.getElementById(i)||console.warn(n))},[n,e,i]),null};e.s(["Close",0,O,"Content",0,P,"Description",0,N,"Overlay",0,D,"Portal",0,M,"Root",0,y,"Title",0,G,"Trigger",0,w],545532);var X=e.i(501964);e.s(["XIcon",()=>X.default],23389)},122913,e=>{"use strict";var t=e.i(937208),i=e.i(715332),a=e.i(545532),n=e.i(23389),r=e.i(526683);function o(e){let n,r,o=(0,i.c)(4);return o[0]!==e?({...n}=e,o[0]=e,o[1]=n):n=o[1],o[2]!==n?(r=(0,t.jsx)(a.Portal,{"data-slot":"dialog-portal",...n}),o[2]=n,o[3]=r):r=o[3],r}function s(e){let n,o,s,l,d=(0,i.c)(8);return d[0]!==e?({className:n,...o}=e,d[0]=e,d[1]=n,d[2]=o):(n=d[1],o=d[2]),d[3]!==n?(s=(0,r.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-[1000] bg-black/50",n),d[3]=n,d[4]=s):s=d[4],d[5]!==o||d[6]!==s?(l=(0,t.jsx)(a.Overlay,{"data-slot":"dialog-overlay",className:s,...o}),d[5]=o,d[6]=s,d[7]=l):l=d[7],l}e.s(["Dialog",0,function(e){let n,r,o=(0,i.c)(4);return o[0]!==e?({...n}=e,o[0]=e,o[1]=n):n=o[1],o[2]!==n?(r=(0,t.jsx)(a.Root,{"data-slot":"dialog",...n}),o[2]=n,o[3]=r):r=o[3],r},"DialogClose",0,function(e){let n,r,o=(0,i.c)(4);return o[0]!==e?({...n}=e,o[0]=e,o[1]=n):n=o[1],o[2]!==n?(r=(0,t.jsx)(a.Close,{"data-slot":"dialog-close",...n}),o[2]=n,o[3]=r):r=o[3],r},"DialogContent",0,function(e){let l,d,u,c,m,p,g,f,v,b,h=(0,i.c)(20);h[0]!==e?({className:d,children:l,showCloseButton:m,overlayClassName:u,...c}=e,h[0]=e,h[1]=l,h[2]=d,h[3]=u,h[4]=c,h[5]=m):(l=h[1],d=h[2],u=h[3],c=h[4],m=h[5]);let I=void 0===m||m;return h[6]!==u?(p=(0,t.jsx)(s,{className:u}),h[6]=u,h[7]=p):p=h[7],h[8]!==d?(g=(0,r.cn)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-[1001] grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg",d),h[8]=d,h[9]=g):g=h[9],h[10]!==I?(f=I&&(0,t.jsxs)(a.Close,{"data-slot":"dialog-close",className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[(0,t.jsx)(n.XIcon,{}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]}),h[10]=I,h[11]=f):f=h[11],h[12]!==l||h[13]!==c||h[14]!==g||h[15]!==f?(v=(0,t.jsxs)(a.Content,{"data-slot":"dialog-content",className:g,...c,children:[l,f]}),h[12]=l,h[13]=c,h[14]=g,h[15]=f,h[16]=v):v=h[16],h[17]!==p||h[18]!==v?(b=(0,t.jsxs)(o,{"data-slot":"dialog-portal",children:[p,v]}),h[17]=p,h[18]=v,h[19]=b):b=h[19],b},"DialogDescription",0,function(e){let n,o,s,l,d=(0,i.c)(8);return d[0]!==e?({className:n,...o}=e,d[0]=e,d[1]=n,d[2]=o):(n=d[1],o=d[2]),d[3]!==n?(s=(0,r.cn)("text-muted-foreground text-sm",n),d[3]=n,d[4]=s):s=d[4],d[5]!==o||d[6]!==s?(l=(0,t.jsx)(a.Description,{"data-slot":"dialog-description",className:s,...o}),d[5]=o,d[6]=s,d[7]=l):l=d[7],l},"DialogFooter",0,function(e){let a,n,o,s,l=(0,i.c)(8);return l[0]!==e?({className:a,...n}=e,l[0]=e,l[1]=a,l[2]=n):(a=l[1],n=l[2]),l[3]!==a?(o=(0,r.cn)("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",a),l[3]=a,l[4]=o):o=l[4],l[5]!==n||l[6]!==o?(s=(0,t.jsx)("div",{"data-slot":"dialog-footer",className:o,...n}),l[5]=n,l[6]=o,l[7]=s):s=l[7],s},"DialogHeader",0,function(e){let a,n,o,s,l=(0,i.c)(8);return l[0]!==e?({className:a,...n}=e,l[0]=e,l[1]=a,l[2]=n):(a=l[1],n=l[2]),l[3]!==a?(o=(0,r.cn)("flex flex-col gap-2 text-center sm:text-left",a),l[3]=a,l[4]=o):o=l[4],l[5]!==n||l[6]!==o?(s=(0,t.jsx)("div",{"data-slot":"dialog-header",className:o,...n}),l[5]=n,l[6]=o,l[7]=s):s=l[7],s},"DialogTitle",0,function(e){let n,o,s,l,d=(0,i.c)(8);return d[0]!==e?({className:n,...o}=e,d[0]=e,d[1]=n,d[2]=o):(n=d[1],o=d[2]),d[3]!==n?(s=(0,r.cn)("text-lg leading-none font-semibold",n),d[3]=n,d[4]=s):s=d[4],d[5]!==o||d[6]!==s?(l=(0,t.jsx)(a.Title,{"data-slot":"dialog-title",className:s,...o}),d[5]=o,d[6]=s,d[7]=l):l=d[7],l},"DialogTrigger",0,function(e){let n,r,o=(0,i.c)(4);return o[0]!==e?({...n}=e,o[0]=e,o[1]=n):n=o[1],o[2]!==n?(r=(0,t.jsx)(a.Trigger,{"data-slot":"dialog-trigger",...n}),o[2]=n,o[3]=r):r=o[3],r}])},615978,e=>{"use strict";var t=e.i(937208),i=e.i(715332),a=e.i(819232),n=e.i(294237),r=e.i(526683);let o=(0,n.cva)("inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground"}},defaultVariants:{variant:"default"}});e.s(["Badge",0,function(e){let n,s,l,d,u,c,m=(0,i.c)(12);m[0]!==e?({className:n,variant:d,asChild:l,...s}=e,m[0]=e,m[1]=n,m[2]=s,m[3]=l,m[4]=d):(n=m[1],s=m[2],l=m[3],d=m[4]);let p=void 0!==l&&l?a.Slot:"span";return m[5]!==n||m[6]!==d?(u=(0,r.cn)(o({variant:d}),n),m[5]=n,m[6]=d,m[7]=u):u=m[7],m[8]!==p||m[9]!==s||m[10]!==u?(c=(0,t.jsx)(p,{"data-slot":"badge",className:u,...s}
5),m[8]=p,m[9]=s,m[10]=u,m[11]=c):c=m[11],c}])}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.