{"id":1189,"date":"2025-12-12T22:20:14","date_gmt":"2025-12-12T22:20:14","guid":{"rendered":"https:\/\/marksmen.com.pl\/ai\/?p=1189"},"modified":"2026-01-12T18:51:12","modified_gmt":"2026-01-12T18:51:12","slug":"obrazy-cz-2","status":"publish","type":"post","link":"https:\/\/marksmen.com.pl\/ai\/obrazy-cz-2\/","title":{"rendered":"Z cyklu por\u00f3wnania: Obrazy cz. 2"},"content":{"rendered":"<figure class=\"wp-block-post-featured-image\"><img loading=\"lazy\" decoding=\"async\" width=\"2560\" height=\"1429\" src=\"https:\/\/marksmen.com.pl\/ai\/wp-content\/uploads\/2025\/12\/urnst_battle_scene_gemini-scaled.png\" class=\"attachment-post-thumbnail size-post-thumbnail wp-post-image\" alt=\"Urnst_battle_scene_Gemini\" style=\"object-fit:cover;\" srcset=\"https:\/\/marksmen.com.pl\/ai\/wp-content\/uploads\/2025\/12\/urnst_battle_scene_gemini-scaled.png 2560w, https:\/\/marksmen.com.pl\/ai\/wp-content\/uploads\/2025\/12\/urnst_battle_scene_gemini-300x167.png 300w, https:\/\/marksmen.com.pl\/ai\/wp-content\/uploads\/2025\/12\/urnst_battle_scene_gemini-1024x572.png 1024w, https:\/\/marksmen.com.pl\/ai\/wp-content\/uploads\/2025\/12\/urnst_battle_scene_gemini-768x429.png 768w, https:\/\/marksmen.com.pl\/ai\/wp-content\/uploads\/2025\/12\/urnst_battle_scene_gemini-1536x857.png 1536w, https:\/\/marksmen.com.pl\/ai\/wp-content\/uploads\/2025\/12\/urnst_battle_scene_gemini-2048x1143.png 2048w, https:\/\/marksmen.com.pl\/ai\/wp-content\/uploads\/2025\/12\/urnst_battle_scene_gemini-1920x1072.png 1920w\" sizes=\"(max-width: 2560px) 100vw, 2560px\" \/><\/figure>\n\n\n\n\n\n\n\n\n\n\n<p><\/p>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n<p>Podsumowuj\u0105c w tej kwestii Chat GPT si\u0119 obroni\u0142 i to dobrze uczciwie daje <strong>8,5<\/strong> \/ <strong>10<\/strong>. <\/p>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"848\" height=\"480\" src=\"https:\/\/marksmen.com.pl\/ai\/wp-content\/uploads\/2025\/12\/image-1.png\" alt=\"\" class=\"wp-image-1211\" srcset=\"https:\/\/marksmen.com.pl\/ai\/wp-content\/uploads\/2025\/12\/image-1.png 848w, https:\/\/marksmen.com.pl\/ai\/wp-content\/uploads\/2025\/12\/image-1-300x170.png 300w, https:\/\/marksmen.com.pl\/ai\/wp-content\/uploads\/2025\/12\/image-1-768x435.png 768w\" sizes=\"(max-width: 848px) 100vw, 848px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n<div id=\"article-rating\" data-max-stars=\"10\">\n  <div class=\"rating-row\">\n\n    <!-- LEWA STRONA: OCENIANIE -->\n    <div class=\"rate-left\">\n      <span class=\"label-left\">Oce\u0144 artyku\u0142:<\/span>\n      <div class=\"stars\"><\/div>\n      <div class=\"rating-status\"><\/div>\n    <\/div>\n\n    <!-- PRAWA STRONA: \u015aREDNIA -->\n    <div class=\"rate-right\">\n      <span class=\"label-right\">\u015arednia ocena:<\/span>\n      <div class=\"average-stars\"><\/div>\n      <div class=\"average-text\"><\/div>\n    <\/div>\n\n  <\/div>\n<\/div>\n\n<script>\n(function() {\n  'use strict';\n\n  var widget = document.getElementById('article-rating');\n  if (!widget) return;\n\n  var maxStars       = parseInt(widget.getAttribute('data-max-stars'), 10) || 10;\n  var starsContainer = widget.querySelector('.stars');\n  var status         = widget.querySelector('.rating-status');\n  var avgStars       = widget.querySelector('.average-stars');\n  var avgText        = widget.querySelector('.average-text');\n\n  \/\/ Pobranie tytu\u0142u artyku\u0142u\n  var h1entry = document.querySelector('h1.entry-title');\n  var h1any   = document.querySelector('h1');\n  var articleTitle = h1entry ? h1entry.innerText : (h1any ? h1any.innerText : document.title);\n\n  var currentRating = 0;\n  var userCountry   = 'unknown';\n  var alreadyRated  = false;\n\n  var storageKey   = 'article-rating-' + articleTitle;\n  var storedRating = localStorage.getItem(storageKey);\n\n  if (storedRating) {\n    currentRating = parseInt(storedRating, 10) || 0;\n    alreadyRated  = true;\n    status.textContent = 'Ju\u017c oceni\u0142e\u015b: ' + currentRating + ' \u2605';\n  }\n\n  \/\/ opcjonalne pobranie kraju u\u017cytkownika\n  fetch('https:\/\/ipapi.co\/json\/')\n    .then(function(res){ return res.json(); })\n    .then(function(data){\n      if (data && (data.country_name || data.country)) {\n        userCountry = data.country_name || data.country;\n      }\n    });\n\n  \/\/ ----- RENDEROWANIE GWIAZDEK -----\n  function renderStars() {\n    starsContainer.innerHTML = '';\n    for (var i = 1; i <= maxStars; i++) {\n      var span = document.createElement('span');\n      span.textContent = i <= currentRating ? '\u2605' : '\u2606';\n      span.style.cursor = alreadyRated ? 'default' : 'pointer';\n      span.style.fontSize = '1.4rem';\n      span.style.marginRight = '3px';\n      span.setAttribute('data-value', i);\n\n      if (!alreadyRated) {\n        (function(value) {\n          span.addEventListener('mouseenter', function(){ highlightStars(value); });\n          span.addEventListener('mouseleave', function(){ highlightStars(currentRating); });\n          span.addEventListener('click', function(){ handleRatingClick(value); });\n        })(i);\n      }\n\n      starsContainer.appendChild(span);\n    }\n  }\n\n  function highlightStars(value) {\n    var stars = starsContainer.querySelectorAll('span');\n    stars.forEach(function(star){\n      var v = parseInt(star.getAttribute('data-value'), 10);\n      star.textContent = v <= value ? '\u2605' : '\u2606';\n    });\n  }\n\n  function handleRatingClick(value) {\n    if (alreadyRated) return;\n    currentRating = value;\n    highlightStars(currentRating);\n    sendRating();\n  }\n\n  \/\/ ----- ZAPIS OCENY -----\n  function sendRating() {\n    status.textContent = 'Zapisywanie...';\n\n    var payload = {\n      title:   articleTitle,\n      stars:   currentRating,\n      country: userCountry\n    };\n\n    fetch('https:\/\/marksmen.com.pl\/ai\/wp-json\/marksmen\/v1\/rate', {\n      method: 'POST',\n      headers: {'Content-Type': 'application\/json'},\n      body: JSON.stringify(payload)\n    })\n    .then(function(res){ return res.json(); })\n    .then(function(){\n      localStorage.setItem(storageKey, String(currentRating));\n      alreadyRated = true;\n      status.textContent = 'Dzi\u0119kujemy! Oceni\u0142e\u015b: ' + currentRating + ' \u2605';\n      renderStars();\n      loadAverageRating();\n    })\n    .catch(function(){\n      status.textContent = 'B\u0142\u0105d zapisu.';\n    });\n  }\n\n  \/\/ ----- \u015aREDNIA -----\n  function loadAverageRating() {\n    avgText.textContent = '';\n\n    var url = 'https:\/\/marksmen.com.pl\/ai\/wp-json\/marksmen\/v1\/rating?title=' +\n      encodeURIComponent(articleTitle);\n\n    fetch(url)\n      .then(function(res){ return res.json(); })\n      .then(function(data){\n        if (!data || !data.success) {\n          avgText.textContent = '(brak danych)';\n          return;\n        }\n\n        var avg   = data.average;\n        var count = data.count;\n\n        if (!count || avg === null) {\n          renderAverageStars(0);\n          avgText.textContent = '(brak ocen)';\n          return;\n        }\n\n        var full = Math.floor(avg); \/\/ pe\u0142ne gwiazdki zaokr\u0105glone w d\u00f3\u0142\n        renderAverageStars(full);\n\n        avgText.textContent = '(' + avg.toFixed(1) + ' \/ 10, ' + count + ' g\u0142os\u00f3w)';\n      })\n      .catch(function(){\n        avgText.textContent = '(b\u0142\u0105d pobierania)';\n      });\n  }\n\n  function renderAverageStars(full) {\n    avgStars.innerHTML = '';\n    for (var i = 1; i <= maxStars; i++) {\n      var s = document.createElement('span');\n      s.textContent = i <= full ? '\u2605' : '\u2606';\n      s.style.fontSize = '1.4rem';\n      s.style.marginRight = '3px';\n      avgStars.appendChild(s);\n    }\n  }\n\n  renderStars();\n  loadAverageRating();\n\n})();\n<\/script>\n\n<style>\n#article-rating .rating-row {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  margin: 15px 0;\n}\n\n#article-rating .rate-left,\n#article-rating .rate-right {\n  display: flex;\n  align-items: center;\n  gap: 8px;\n}\n\n#article-rating .rating-status,\n#article-rating .average-text {\n  font-size: 0.85rem;\n  margin-left: 6px;\n}\n\n#article-rating .rate-right {\n  white-space: nowrap;\n}\n\n#article-rating .label-left,\n#article-rating .label-right {\n  font-weight: bold;\n  margin-right: 5px;\n}\n\n@media (max-width: 600px) {\n  #article-rating .rating-row {\n    flex-direction: column;\n    align-items: flex-start;\n    gap: 10px;\n  }\n}\n<\/style>\n\n\n\n\n\n<h2 class=\"wp-block-heading\">Zapowied\u017a<\/h2>\n\n\n\n<p>W najbli\u017cszym czasie pojawi si\u0119 ci\u0105g dalszy tym razem temat b\u0119dzie \u015bwi\u0105teczny ale niech to b\u0119dzie niespodzianka przynajmniej do 23 grudnia do godzimy 9:00<\/p>\n\n\n\n\n\n\n\n<figure class=\"wp-block-embed aligncenter is-type-wp-embed is-provider-odczarowa-ai wp-block-embed-odczarowa-ai\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"uCwlEOt5gT\"><a href=\"https:\/\/marksmen.com.pl\/ai\/promptowanie-obrazow\/\">Z cyklu por\u00f3wnania : Kilka s\u0142\u00f3w o promptowaniu obraz\u00f3w<\/a><\/blockquote><iframe loading=\"lazy\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; visibility: hidden;\" title=\"&#8222;Z cyklu por\u00f3wnania : Kilka s\u0142\u00f3w o promptowaniu obraz\u00f3w&#8221; &#8212; ODCZAROWA\u0106 AI\" src=\"https:\/\/marksmen.com.pl\/ai\/promptowanie-obrazow\/embed\/#?secret=TDasqudBid#?secret=uCwlEOt5gT\" data-secret=\"uCwlEOt5gT\" width=\"500\" height=\"282\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div><figcaption class=\"wp-element-caption\">Dla wszystkich kt\u00f3rzy nie czytali jeszcze pierwszej cz\u0119sci :)<\/figcaption><\/figure>\n\n\n\n<!-- Anti-copy notice & auto-source insert -->\n<style>\n  .copy-popup {\n    position: fixed;\n    top: 50%; left: 50%;\n    transform: translate(-50%, -50%);\n    background: #fff;\n    border: 3px dashed #2196F3;\n    border-radius: 14px;\n    box-shadow: 0 8px 25px rgba(0,0,0,.25);\n    padding: 28px 40px;\n    text-align: center;\n    font-family: 'Segoe UI', Roboto, sans-serif;\n    z-index: 99999;\n    opacity: 0;\n    pointer-events: none;\n    transition: opacity 0.3s ease;\n  }\n\n  .copy-popup.show {\n    opacity: 1;\n    pointer-events: auto;\n  }\n\n  .copy-popup h2 {\n    color: #d32f2f;\n    font-weight: 700;\n    margin: 0 0 10px;\n    font-size: 24px;\n    letter-spacing: 1px;\n  }\n\n  .copy-popup p {\n    color: #222;\n    margin: 0;\n    font-size: 16px;\n  }\n<\/style>\n\n<script>\n(function(){\n  const MIN_CHARS = 40; \/\/ minimalna d\u0142ugo\u015b\u0107 kopiowanego tekstu, \u017ceby doda\u0107 \u017ar\u00f3d\u0142o\n  const EXCLUDED_SELECTORS = \"pre, code, kbd, samp, input, textarea, [contenteditable='true']\";\n\n  function getCanonicalUrl(){\n    const canonical = document.querySelector('link[rel=\"canonical\"]');\n    return (canonical && canonical.href ? canonical.href : location.href).split('#')[0];\n  }\n\n  function getTitle(){\n    const og = document.querySelector('meta[property=\"og:title\"]');\n    if (og && og.content) return og.content.trim();\n    return (document.title || \"\").trim();\n  }\n\n  function escapeHtml(s){\n    return String(s).replace(\/[&<>\"']\/g, (ch)=>({'&':'&amp;','<':'&lt;','>':'&gt;','\"':'&quot;',\"'\":'&#39;'}[ch]));\n  }\n\n  function isExcluded(sel){\n    if (!sel || sel.rangeCount === 0) return false;\n    const range = sel.getRangeAt(0);\n    const node = range.commonAncestorContainer.nodeType === 1 ? range.commonAncestorContainer : range.commonAncestorContainer.parentElement;\n    return node && node.closest(EXCLUDED_SELECTORS);\n  }\n\n  function showPopup(){\n    let popup = document.querySelector('.copy-popup');\n    if (!popup){\n      popup = document.createElement('div');\n      popup.className = 'copy-popup';\n      popup.innerHTML = `\n        <h2>UWAGA<\/h2>\n        <p>Nie zapomnij poda\u0107 \u017ar\u00f3d\u0142a<\/p>`;\n      document.body.appendChild(popup);\n    }\n    popup.classList.add('show');\n    setTimeout(()=>popup.classList.remove('show'), 2500);\n  }\n\n  document.addEventListener('copy', function(e){\n    const sel = window.getSelection();\n    if (!sel || sel.isCollapsed || isExcluded(sel)) return;\n\n    const selectedText = sel.toString().trim();\n    if (selectedText.length < MIN_CHARS) return;\n\n    const title = getTitle();\n    const url = getCanonicalUrl();\n\n    const textAddition = `\\n\\n\u2014\\n\u0179r\u00f3d\u0142o: ${title ? title + \" \u2013 \" : \"\"}${url}`;\n    const htmlAddition = `<p style=\"margin-top:.75em;border-top:1px dashed #ccc;padding-top:.5em;\">\n      \u0179r\u00f3d\u0142o: ${title ? `<strong>${escapeHtml(title)}<\/strong> \u2013 ` : \"\"}<a href=\"${url}\">${url}<\/a>\n    <\/p>`;\n\n    \/\/ nadpisz zawarto\u015b\u0107 schowka\n    e.preventDefault();\n    if (e.clipboardData) {\n      e.clipboardData.setData('text\/plain', selectedText + textAddition);\n      const container = document.createElement('div');\n      for (let i=0; i<sel.rangeCount; i++){\n        container.appendChild(sel.getRangeAt(i).cloneContents());\n      }\n      e.clipboardData.setData('text\/html', container.innerHTML + htmlAddition);\n    }\n\n    showPopup();\n  });\n})();\n<\/script>\n\n\n\n<script async src=\"https:\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js?client=ca-pub-4160309499472645\"\n     crossorigin=\"anonymous\"><\/script>\n<ins class=\"adsbygoogle\"\n     style=\"display:block; text-align:center;\"\n     data-ad-layout=\"in-article\"\n     data-ad-format=\"fluid\"\n     data-ad-client=\"ca-pub-4160309499472645\"\n     data-ad-slot=\"7834809286\"><\/ins>\n<script>\n     (adsbygoogle = window.adsbygoogle || []).push({});\n<\/script>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Podsumowuj\u0105c w tej kwestii Chat GPT si\u0119 obroni\u0142 i to dobrze uczciwie daje 8,5 \/ 10. Oce\u0144 artyku\u0142: \u015arednia ocena: Zapowied\u017a W najbli\u017cszym czasie pojawi si\u0119 ci\u0105g dalszy tym razem temat b\u0119dzie \u015bwi\u0105teczny ale niech to b\u0119dzie niespodzianka przynajmniej do 23 grudnia do godzimy 9:00<\/p>\n","protected":false},"author":1,"featured_media":1198,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"saved_in_kubio":false,"footnotes":""},"categories":[9,11,12,42,10],"tags":[80,79,77,81,78,76,64],"class_list":["post-1189","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai","category-chat-gpt","category-gemini","category-grok","category-llm","tag-copilot","tag-dall-e","tag-generatory-obrazow","tag-imagine","tag-nano-banana","tag-obraz","tag-prompt"],"_links":{"self":[{"href":"https:\/\/marksmen.com.pl\/ai\/wp-json\/wp\/v2\/posts\/1189","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/marksmen.com.pl\/ai\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/marksmen.com.pl\/ai\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/marksmen.com.pl\/ai\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/marksmen.com.pl\/ai\/wp-json\/wp\/v2\/comments?post=1189"}],"version-history":[{"count":10,"href":"https:\/\/marksmen.com.pl\/ai\/wp-json\/wp\/v2\/posts\/1189\/revisions"}],"predecessor-version":[{"id":1266,"href":"https:\/\/marksmen.com.pl\/ai\/wp-json\/wp\/v2\/posts\/1189\/revisions\/1266"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/marksmen.com.pl\/ai\/wp-json\/wp\/v2\/media\/1198"}],"wp:attachment":[{"href":"https:\/\/marksmen.com.pl\/ai\/wp-json\/wp\/v2\/media?parent=1189"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/marksmen.com.pl\/ai\/wp-json\/wp\/v2\/categories?post=1189"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/marksmen.com.pl\/ai\/wp-json\/wp\/v2\/tags?post=1189"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}