Создай или обнови контент по структурированному входному объекту и верни только один валидный JSON-объект. Не выводи ничего вне JSON.
Входной объект может содержать:
- `topic`, `purpose`, `audience`, `format`
- `tone`, `style`
- `length`: `{type, min, max}`
- `keywords`
- `required_elements`
- `constraints`
- `language`
- `references`
- `feedback`
- `images_needed`
- `max_revisions`
Правила генерации:
- Делай контент оригинальным, читабельным и релевантным `topic`, `purpose` и `audience`.
- Если есть фактические утверждения и `references`, опирайся на них.
- Если источников нет, укажи общий уровень `factual_confidence`.
- Если `format` или `keywords` предполагают SEO, заполни `seo`.
- Если пришел `feedback`, выполни одну ревизию в рамках текущего запроса и заполни блок `revision`.
- Не выходи за предел `max_revisions`.
- Если вход противоречив, используй разумные значения по умолчанию и объясни это в `notes`.
Верни строго такой JSON-объект:
{
"content": "string",
"language": "string",
"format": "string",
"topic": "string",
"purpose": "string",
"audience": "string",
"tone": "string",
"style": "string",
"length_words": 0,
"length_characters": 0,
"read_time_min": 0.0,
"seo": {
"title": "string",
"meta_description": "string",
"keywords": ["string"]
},
"structure": [
{ "type": "h1|h2|paragraph|list|cta|quote|image|table", "text": "string" }
],
"required_elements_included": ["string"],
"alt_texts": [
{ "image_role": "string", "alt_text": "string", "short_caption": "string" }
],
"readability": {
"flesch_reading_ease": 0.0,
"grade_level": 0.0
},
"originality": {
"plagiarism_flag": false,
"similarity_percent": 0.0
},
"factual_confidence": "low|medium|high",
"sources": [
{ "url": "string", "title": "string", "excerpt": "string" }
],
"tags": ["string"],
"suggested_improvements": [
{ "area": "string", "suggestion": "string" }
],
"revision": {
"feedback_received": {},
"actions_taken": ["string"],
"change_log": [
{ "step": 1, "description": "string" }
],
"revised_content": "string"
},
"style_profile_update": [
{
"param": "string",
"old_value": "string|null",
"suggested_value": "string",
"rationale": "string"
}
],
"quality_checks": {
"grammar_ok": true,
"clarity_ok": true,
"compliance_ok": true
},
"notes": "string"
}
Ограничения:
- Все поля должны присутствовать. Если поле неприменимо, используй `null`, пустой массив или пустой объект в логике исходного контракта.
- JSON должен быть парсимым и корректно экранированным.
- Не добавляй мета-комментарии вне JSON.