Commit 2a934cec authored by raojy's avatar raojy
Browse files

first

parent 4b618aa3
#!/usr/bin/env bash
set -euo pipefail
# Generate images using SenseNova-U1-8B-MoT.
MODEL_PATH="sensenova/SenseNova-U1-8B-MoT"
IMAGE_OUTPUT_DIR="outputs/sensenova/bizgeneval"
EVAL_OUTPUT_DIR="outputs/sensenova/bizgeneval_eval"
# Evaluation settings
API_BASE="http://your-api-base/v1"
API_KEY="your-api-key"
JUDGE_MODEL="gemini-3-pro-preview"
REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../../.." && pwd)"
cd "${REPO_ROOT}"
python evaluation/gen/bizgeneval/gen_images_bizgeneval.py \
--model-path "${MODEL_PATH}" \
--output-dir "${IMAGE_OUTPUT_DIR}"
python evaluation/gen/bizgeneval/eval_images_bizgeneval.py \
--image-dir "${IMAGE_OUTPUT_DIR}" \
--output-dir "${EVAL_OUTPUT_DIR}" \
--api-base "${API_BASE}" \
--api-key "${API_KEY}" \
--judge-model "${JUDGE_MODEL}"
"""Common helpers for generation benchmarks."""
from __future__ import annotations
import base64
import json
import os
import time
from pathlib import Path
from typing import Any
from urllib import request
from urllib.error import HTTPError, URLError
def _encode_image(path: Path) -> str:
suffix = path.suffix.lower().lstrip(".") or "png"
raw = path.read_bytes()
return f"data:image/{suffix};base64,{base64.b64encode(raw).decode('utf-8')}"
class JudgeClient:
def __init__(
self,
*,
api_base: str | None = None,
api_key: str | None = None,
model: str | None = None,
timeout: int = 240,
max_retries: int = 6,
retry_backoff_base: float = 2.0,
retry_backoff_cap: float = 60.0,
) -> None:
self.api_base = api_base or os.environ.get("OPENAI_BASE_URL")
self.api_key = api_key or os.environ.get("OPENAI_API_KEY")
self.model = model or os.environ.get("JUDGE_MODEL")
if not self.api_base or not self.model:
raise ValueError("Judge API is not configured. Set JUDGE_API_BASE and JUDGE_MODEL.")
self.timeout = timeout
self.max_retries = max_retries
self.retry_backoff_base = retry_backoff_base
self.retry_backoff_cap = retry_backoff_cap
def _request_chat_completion(
self,
*,
image_path: Path,
system_prompt: str | None,
user_prompt: str,
temperature: float = 0.0,
) -> str:
messages: list[dict[str, Any]] = []
if system_prompt:
messages.append({"role": "system", "content": system_prompt})
messages.append(
{
"role": "user",
"content": [
{"type": "text", "text": user_prompt},
{"type": "image_url", "image_url": {"url": _encode_image(image_path)}},
],
}
)
payload = {
"model": self.model,
"temperature": temperature,
"messages": messages,
}
headers = {"Content-Type": "application/json"}
if self.api_key:
headers["Authorization"] = f"Bearer {self.api_key}"
req = request.Request(
self.api_base.rstrip("/") + "/chat/completions",
data=json.dumps(payload).encode("utf-8"),
headers=headers,
method="POST",
)
for attempt in range(self.max_retries + 1):
try:
with request.urlopen(req, timeout=self.timeout) as resp:
data = json.loads(resp.read().decode("utf-8"))
text = data["choices"][0]["message"]["content"]
if isinstance(text, list):
text = "".join(part.get("text", "") for part in text if isinstance(part, dict))
return str(text)
except HTTPError as exc:
should_retry = exc.code == 429 or 500 <= exc.code < 600
if not should_retry or attempt >= self.max_retries:
raise
except URLError:
if attempt >= self.max_retries:
raise
except TimeoutError:
if attempt >= self.max_retries:
raise
delay = min(self.retry_backoff_cap, self.retry_backoff_base**attempt)
time.sleep(delay)
raise RuntimeError("Judge request failed after retries.")
def judge_image_text(
self,
*,
image_path: Path,
system_prompt: str | None,
user_prompt: str,
temperature: float = 0.0,
) -> str:
return self._request_chat_completion(
image_path=image_path,
system_prompt=system_prompt,
user_prompt=user_prompt,
temperature=temperature,
)
import argparse
import json
import os
import random
import sys
from pathlib import Path
import numpy as np
import torch
from PIL import Image
from tqdm import tqdm
if __package__ in {None, ""}:
repo_root = Path(__file__).resolve().parents[3]
sys.path.insert(0, str(repo_root))
sys.path.insert(0, str(repo_root / "src"))
import sensenova_u1
from examples.t2i.inference import SenseNovaU1T2I, _warn_if_unsupported
def set_random_seeds(seed_value):
random.seed(seed_value)
os.environ["PYTHONHASHSEED"] = str(seed_value)
np.random.seed(seed_value)
torch.manual_seed(seed_value)
torch.cuda.manual_seed_all(seed_value)
torch.backends.cudnn.deterministic = True
torch.backends.cudnn.benchmark = False
torch.use_deterministic_algorithms(True)
def parse_csv(raw_value, cast_fn=str):
if raw_value is None:
return None
values = []
for part in raw_value.split(","):
part = part.strip()
if not part:
continue
values.append(cast_fn(part))
return values or None
def load_cvtg_samples(benchmark_root, subsets, areas, target_keys=None):
data = []
for subset in subsets:
for area in areas:
json_path = os.path.join(benchmark_root, subset, f"{area}_combined.json")
with open(json_path, "r", encoding="utf-8") as file:
subset_data = json.load(file)
for key, prompt in subset_data.items():
if target_keys is not None and key not in target_keys:
continue
data.append(
{
"subset": subset,
"key": key,
"prompt": prompt,
"area": area,
}
)
return data
if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument(
"--model_path",
type=str,
required=True,
help="HuggingFace Hub id (e.g. sensenova/SenseNova-U1-8B-MoT) or a local path.",
)
parser.add_argument(
"--benchmark_root",
type=str,
required=True,
help="CVTG-2K benchmark root (containing CVTG/ and CVTG-Style/).",
)
parser.add_argument(
"--output_dir",
type=str,
required=True,
help="Directory to save generated images.",
)
parser.add_argument("--image_size", "--resolution", dest="image_size", type=int, default=2048)
parser.add_argument(
"--save_size",
type=int,
default=None,
help=(
"If set, downsample each generated image to this resolution "
"(LANCZOS) before writing it to disk. Useful for the "
"'generate at 2048, evaluate at 1024' protocol. Defaults to "
"--image_size (no resize)."
),
)
parser.add_argument("--num_steps", type=int, default=50)
parser.add_argument("--cfg_scale", type=float, default=4.0)
parser.add_argument(
"--cfg_norm",
default="none",
choices=["none", "global", "channel", "cfg_zero_star"],
)
parser.add_argument("--timestep_shift", type=float, default=3.0)
parser.add_argument(
"--cfg_interval",
type=float,
nargs=2,
default=[0.0, 1.0],
metavar=("LO", "HI"),
)
parser.add_argument(
"--device",
type=str,
default="cuda",
help="Device used by examples/t2i/inference.py::SenseNovaU1T2I.",
)
parser.add_argument(
"--dtype",
default="bfloat16",
choices=["bfloat16", "float16", "float32"],
)
parser.add_argument(
"--attn_backend",
default="auto",
choices=["auto", "flash", "sdpa"],
help="Attention backend forwarded to sensenova_u1.set_attn_backend.",
)
parser.add_argument("--subsets", type=str, default="CVTG,CVTG-Style")
parser.add_argument("--areas", type=str, default="2,3,4,5")
parser.add_argument("--target_keys", type=str, default=None)
parser.add_argument("--seed", type=int, default=42)
args = parser.parse_args()
output_path = args.output_dir
os.makedirs(output_path, exist_ok=True)
image_size = (args.image_size, args.image_size)
save_size = args.save_size if args.save_size and args.save_size != args.image_size else None
cfg_interval = tuple(args.cfg_interval)
dtype = {"bfloat16": torch.bfloat16, "float16": torch.float16, "float32": torch.float32}[args.dtype]
sensenova_u1.set_attn_backend(args.attn_backend)
print(f"[attn] backend={args.attn_backend!r} (effective={sensenova_u1.effective_attn_backend()!r})")
engine = SenseNovaU1T2I(
args.model_path,
device=args.device,
dtype=dtype,
)
subsets = parse_csv(args.subsets, str) or ["CVTG", "CVTG-Style"]
areas = parse_csv(args.areas, int) or [2, 3, 4, 5]
raw_target_keys = parse_csv(args.target_keys, str)
target_keys = set(raw_target_keys) if raw_target_keys is not None else None
data = load_cvtg_samples(args.benchmark_root, subsets, areas, target_keys=target_keys)
if not data:
raise ValueError("No CVTG samples were found. Check benchmark_root or filtering arguments.")
if target_keys is not None:
print(f"Filtered to target keys: {sorted(target_keys)} => {len(data)} samples")
set_random_seeds(args.seed)
print(f"Processing {len(data)} samples")
_warn_if_unsupported(*image_size)
for sample in tqdm(data):
prompt = sample["prompt"]
subset = sample["subset"]
key = sample["key"]
area = sample["area"]
cur_output_folder = os.path.join(output_path, subset, str(area))
output_file = os.path.join(cur_output_folder, f"{key}.png")
if os.path.exists(output_file):
continue
grid_image = engine.generate(
prompt,
image_size=image_size,
cfg_scale=args.cfg_scale,
cfg_norm=args.cfg_norm,
timestep_shift=args.timestep_shift,
cfg_interval=cfg_interval,
num_steps=args.num_steps,
batch_size=1,
seed=args.seed,
)[0]
if save_size is not None:
grid_image = grid_image.resize((save_size, save_size), Image.Resampling.LANCZOS)
os.makedirs(cur_output_folder, exist_ok=True)
grid_image.save(output_file)
print(f"Finished processing {len(data)} examples")
#!/usr/bin/env bash
set -eo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
REPO_ROOT="$(cd "${SCRIPT_DIR}/../../.." && pwd)"
cd "$SCRIPT_DIR"
export CUBLAS_WORKSPACE_CONFIG="${CUBLAS_WORKSPACE_CONFIG:-:4096:8}"
# Generation settings
MODEL_PATH="${MODEL_PATH:-sensenova/SenseNova-U1-8B-MoT}"
BENCHMARK_ROOT="${BENCHMARK_ROOT:-${SCRIPT_DIR}/data}"
OUTPUT_DIR="${OUTPUT_DIR:-${REPO_ROOT}/outputs/sensenova/cvtg}"
# TextCrafter evaluation settings (used only when RUN_EVAL=1)
PADDLEOCR_SOURCE_DIR="${PADDLEOCR_SOURCE_DIR:-}"
HF_CACHE_DIR="${HF_CACHE_DIR:-${HOME}/.cache/huggingface}"
RESULT_FILE="${RESULT_FILE:-${OUTPUT_DIR}/CVTG_results.json}"
RUN_GENERATION="${RUN_GENERATION:-1}"
RUN_EVAL="${RUN_EVAL:-1}"
CUDA_VISIBLE_DEVICES="${CUDA_VISIBLE_DEVICES:-0,1,2,3,4,5,6,7}"
DEVICE_MAP="${DEVICE_MAP:-auto}"
MAX_MEMORY_PER_GPU_GB="${MAX_MEMORY_PER_GPU_GB:-70}"
IMAGE_SIZE="${IMAGE_SIZE:-2048}"
SAVE_SIZE="${SAVE_SIZE:-}"
NUM_STEPS="${NUM_STEPS:-50}"
CFG_SCALE="${CFG_SCALE:-7.0}"
TIMESTEP_SHIFT="${TIMESTEP_SHIFT:-1.0}"
CVTG_SUBSETS="${CVTG_SUBSETS:-CVTG,CVTG-Style}"
CVTG_AREAS="${CVTG_AREAS:-2,3,4,5}"
TARGET_KEYS="${TARGET_KEYS:-}"
GEN_ARGS=(
--model_path "$MODEL_PATH"
--benchmark_root "$BENCHMARK_ROOT"
--output_dir "$OUTPUT_DIR"
--image_size "$IMAGE_SIZE"
--num_steps "$NUM_STEPS"
--cfg_scale "$CFG_SCALE"
--timestep_shift "$TIMESTEP_SHIFT"
--subsets "$CVTG_SUBSETS"
--areas "$CVTG_AREAS"
--device_map "$DEVICE_MAP"
--max_memory_per_gpu_gb "$MAX_MEMORY_PER_GPU_GB"
)
if [[ -n "$TARGET_KEYS" ]]; then
GEN_ARGS+=(--target_keys "$TARGET_KEYS")
fi
if [[ -n "$SAVE_SIZE" ]]; then
GEN_ARGS+=(--save_size "$SAVE_SIZE")
fi
count_visible_gpus() {
local devices_csv="$1"
IFS=',' read -r -a _VISIBLE_DEVICES <<< "$devices_csv"
echo "${#_VISIBLE_DEVICES[@]}"
}
ensure_libgl1() {
if ldconfig -p 2>/dev/null | grep -q 'libGL\.so\.1'; then
return 0
fi
echo "libGL.so.1 not found. Install it before running CVTG evaluation (e.g. 'apt-get install libgl1')."
return 1
}
mkdir -p "$OUTPUT_DIR"
if (( RUN_GENERATION != 0 )); then
export CUDA_VISIBLE_DEVICES
TRANSFORMERS_VERBOSITY=error python eval_cvtg.py "${GEN_ARGS[@]}"
fi
if (( RUN_EVAL != 0 )); then
if [[ ! -d "$BENCHMARK_ROOT" ]]; then
echo "BENCHMARK_ROOT does not exist: $BENCHMARK_ROOT"
exit 1
fi
ensure_libgl1 || exit 1
if [[ ! -d "$HOME/.paddleocr" ]]; then
if [[ -z "$PADDLEOCR_SOURCE_DIR" || ! -d "$PADDLEOCR_SOURCE_DIR" ]]; then
echo "PaddleOCR cache at \$HOME/.paddleocr is missing and PADDLEOCR_SOURCE_DIR is not a valid directory."
exit 1
fi
cp -r "$PADDLEOCR_SOURCE_DIR" "$HOME/.paddleocr"
fi
EVAL_GPUS="${EVAL_GPUS:-$(count_visible_gpus "$CUDA_VISIBLE_DEVICES")}"
TRANSFORMERS_VERBOSITY=error torchrun --nproc_per_node="$EVAL_GPUS" \
"${SCRIPT_DIR}/unified_metrics_eval.py" \
--benchmark_dir "$BENCHMARK_ROOT" \
--result_dir "$OUTPUT_DIR" \
--output_file "$RESULT_FILE" \
--cache_dir "$HF_CACHE_DIR"
fi
#!/usr/bin/env python3
import argparse
import json
import logging
import os
import re
from pathlib import Path
from typing import Dict, List, Optional, Tuple
import numpy as np
import torch
import torch.distributed as dist
from PIL import Image
from tqdm import tqdm
def convert_numpy_types(obj):
"""Recursively convert numpy types to Python native types for JSON serialization"""
if isinstance(obj, np.integer):
return int(obj)
elif isinstance(obj, np.floating):
return float(obj)
elif isinstance(obj, np.ndarray):
return obj.tolist()
elif isinstance(obj, dict):
return {key: convert_numpy_types(value) for key, value in obj.items()}
elif isinstance(obj, list):
return [convert_numpy_types(item) for item in obj]
return obj
class UnifiedMetricsEvaluator:
def __init__(
self,
device: str = "auto",
cache_dir: str = None,
use_hf_mirror: bool = True,
rank: int = 0,
world_size: int = 1,
local_rank: int = 0,
):
"""Initialize evaluator"""
self.rank = rank
self.world_size = world_size
self.local_rank = local_rank
self.is_distributed = world_size > 1
self.is_main_process = rank == 0
self.cuda_device_index = int(
os.environ.get(
"TEXTCRAFTER_CUDA_DEVICE_INDEX",
str(local_rank if self.is_distributed else 0),
)
)
if device == "cpu":
self.device = "cpu"
elif torch.cuda.is_available():
if self.is_distributed:
self.device = f"cuda:{self.cuda_device_index}"
torch.cuda.set_device(self.cuda_device_index)
else:
self.device = f"cuda:{self.cuda_device_index}"
else:
self.device = "cpu"
self.models = {}
self._load_models()
def _load_models(self):
"""Load all required models"""
# Try to import PaddleOCR
try:
use_paddle_gpu = self.device != "cpu"
if use_paddle_gpu:
paddle_gpu_id = self.cuda_device_index
os.environ["FLAGS_selected_gpus"] = str(paddle_gpu_id)
import paddle
paddle.device.set_device(f"gpu:{paddle_gpu_id}")
import difflib
import Levenshtein
from paddleocr import PaddleOCR
self.models["ocr"] = PaddleOCR(
use_angle_cls=True,
lang="en",
show_log=False,
use_gpu=use_paddle_gpu,
)
self.paddleocr_available = True
except ImportError:
self.paddleocr_available = False
logging.warning("PaddleOCR not available, Word Accuracy and NED will be skipped")
# Try to import official CLIP
try:
import warnings
import clip
import sklearn.preprocessing
from packaging import version
from sklearn.preprocessing import normalize
clip_model, clip_preprocess = clip.load("ViT-L/14", device=self.device, jit=False)
clip_model.eval()
self.models["clip_official"] = clip_model
self.models["clip_official_preprocess"] = clip_preprocess
self.clip_available = True
except ImportError:
self.clip_available = False
logging.warning("Official CLIP not available, CLIPScore will be skipped")
# Try to import OpenCLIP
try:
import open_clip
# Get cache directory (if set)
cache_dir = os.environ.get("HF_HOME", None)
if cache_dir:
model, _, preprocess = open_clip.create_model_and_transforms(
"ViT-L-14", pretrained="openai", cache_dir=cache_dir
)
else:
model, _, preprocess = open_clip.create_model_and_transforms("ViT-L-14", pretrained="openai")
model.to(self.device)
model.eval()
self.models["openclip"] = model
self.models["openclip_preprocess"] = preprocess
# Load aesthetic predictor
aesthetic_model = self._load_aesthetic_model()
if aesthetic_model:
self.models["aesthetic"] = aesthetic_model
self.openclip_available = True
except ImportError:
self.openclip_available = False
logging.warning("OpenCLIP not available, Aesthetic will be skipped")
# Try to import t2v_metrics
try:
import t2v_metrics
# Get cache directory (if set)
cache_dir = os.environ.get("HF_HOME", None)
if cache_dir:
self.models["vqa"] = t2v_metrics.VQAScore(model="clip-flant5-xxl", cache_dir=cache_dir)
else:
self.models["vqa"] = t2v_metrics.VQAScore(model="clip-flant5-xxl")
self.t2v_available = True
except ImportError:
self.t2v_available = False
logging.warning("t2v_metrics not available, VQAScore will be skipped")
def _load_aesthetic_model(self):
"""Load aesthetic evaluation model"""
try:
import torch.nn as nn
# Use aesthetic model file from this project
project_dir = os.path.dirname(os.path.abspath(__file__))
model_path = os.path.join(project_dir, "sa_0_4_vit_l_14_linear.pth")
if os.path.exists(model_path):
m = nn.Linear(768, 1)
s = torch.load(model_path, map_location=self.device)
m.load_state_dict(s)
m.eval()
m.to(self.device)
return m
except Exception as e:
logging.warning(f"Could not load aesthetic model: {e}")
return None
def get_ld(self, ls1: str, ls2: str) -> float:
"""Calculate normalized version of Levenshtein distance"""
if not self.paddleocr_available:
return 0.0
import Levenshtein
edit_dist = Levenshtein.distance(ls1, ls2)
return 1 - edit_dist / (max(len(ls1), len(ls2)) + 1e-5)
def extract_words_from_prompt(self, prompt: str) -> List[str]:
"""Extract words within single quotes from prompt"""
matches = re.findall(r"'(.*?)'", prompt)
words = []
for match in matches:
words.extend(match.lower().split())
return words
def compute_ocr_metrics(self, image_path: str, gt_words: List[str]) -> Tuple[int, int, List[float]]:
"""Calculate OCR-related metrics: total words, correct words, edit distance list for each word"""
if not self.paddleocr_available or "ocr" not in self.models:
return 0, 0, []
try:
result = self.models["ocr"].ocr(image_path, cls=True)
pred_words = []
for idx in range(len(result)):
res = result[idx]
if res is not None:
for line in res:
pred_words.extend(line[1][0].lower().split())
if len(pred_words) == 0:
pred_words = [""]
total_words = len(gt_words)
acc_words = 0
edit_distances = []
import difflib
for gt_word in gt_words:
if gt_word in pred_words:
acc_words += 1
best_matches = difflib.get_close_matches(gt_word, pred_words, n=1, cutoff=0)
if best_matches:
best_match = best_matches[0]
distance = self.get_ld(gt_word, best_match)
edit_distances.append(distance)
else:
edit_distances.append(0.0)
# Return word-level edit distance list without averaging
return total_words, acc_words, edit_distances
except Exception as e:
logging.error(f"OCR processing failed for {image_path}: {e}")
return len(gt_words), 0, [0.0] * len(gt_words)
def compute_clip_score_batch(self, image_paths: List[str], texts: List[str]) -> List[float]:
"""Batch compute CLIPScore - matching the batch processing logic of original clipscore.py"""
if not self.clip_available or "clip_official" not in self.models:
return [0.0] * len(image_paths)
try:
import warnings
import clip
import sklearn.preprocessing
from packaging import version
from sklearn.preprocessing import normalize
# Batch process text (add prefix)
processed_texts = []
for text in texts:
prefix = "A photo depicts "
if not prefix.endswith(" "):
prefix += " "
processed_texts.append(prefix + text)
# Batch load and preprocess images
images = []
for image_path in image_paths:
try:
image = Image.open(image_path)
image_input = self.models["clip_official_preprocess"](image).unsqueeze(0)
images.append(image_input)
except Exception as e:
logging.warning(f"Failed to load image {image_path}: {e}")
# Create a default zero tensor as placeholder
images.append(torch.zeros(1, 3, 224, 224))
# Merge image batches
images_batch = torch.cat(images, dim=0).to(self.device)
# Process text batches
texts_batch = clip.tokenize(processed_texts, truncate=True).to(self.device)
with torch.no_grad():
# Extract features
image_features = self.models["clip_official"].encode_image(images_batch)
text_features = self.models["clip_official"].encode_text(texts_batch)
# Convert to numpy for normalization (matching original implementation)
image_features_np = image_features.cpu().numpy()
text_features_np = text_features.cpu().numpy()
# Normalization processing (matching numpy version compatibility logic of original implementation)
if version.parse(np.__version__) < version.parse("1.21"):
image_features_np = sklearn.preprocessing.normalize(image_features_np, axis=1)
text_features_np = sklearn.preprocessing.normalize(text_features_np, axis=1)
else:
warnings.warn(
"due to a numerical instability, new numpy normalization is slightly different than paper results. "
"to exactly replicate paper results, please use numpy version less than 1.21, e.g., 1.20.3."
)
image_features_np = image_features_np / np.sqrt(np.sum(image_features_np**2, axis=1, keepdims=True))
text_features_np = text_features_np / np.sqrt(np.sum(text_features_np**2, axis=1, keepdims=True))
# Calculate CLIPScore (matching original implementation)
similarities = np.sum(image_features_np * text_features_np, axis=1)
clip_scores = 2.5 * np.clip(similarities, 0, None)
return clip_scores.tolist()
except Exception as e:
logging.error(f"Batch CLIP score computation failed: {e}")
return [0.0] * len(image_paths)
def compute_clip_score(self, image_path: str, text: str) -> float:
"""Calculate CLIPScore - using official CLIP library to match original implementation"""
if not self.clip_available or "clip_official" not in self.models:
return 0.0
try:
import warnings
import clip
import sklearn.preprocessing
from packaging import version
from sklearn.preprocessing import normalize
# Add prefix, consistent with original CLIPScore script
prefix = "A photo depicts "
if not prefix.endswith(" "):
prefix += " "
full_text = prefix + text
# Load and preprocess image
image = Image.open(image_path)
image_input = self.models["clip_official_preprocess"](image).unsqueeze(0).to(self.device)
# Process text
text_input = clip.tokenize([full_text], truncate=True).to(self.device)
with torch.no_grad():
# Extract features
image_features = self.models["clip_official"].encode_image(image_input)
text_features = self.models["clip_official"].encode_text(text_input)
# Convert to numpy for normalization (matching original implementation)
image_features_np = image_features.cpu().numpy()
text_features_np = text_features.cpu().numpy()
# Normalization processing (matching numpy version compatibility logic of original implementation)
if version.parse(np.__version__) < version.parse("1.21"):
image_features_np = sklearn.preprocessing.normalize(image_features_np, axis=1)
text_features_np = sklearn.preprocessing.normalize(text_features_np, axis=1)
else:
warnings.warn(
"due to a numerical instability, new numpy normalization is slightly different than paper results. "
"to exactly replicate paper results, please use numpy version less than 1.21, e.g., 1.20.3."
)
image_features_np = image_features_np / np.sqrt(np.sum(image_features_np**2, axis=1, keepdims=True))
text_features_np = text_features_np / np.sqrt(np.sum(text_features_np**2, axis=1, keepdims=True))
# Calculate CLIPScore (matching original implementation)
similarity = np.sum(image_features_np * text_features_np, axis=1)
clip_score = 2.5 * np.clip(similarity, 0, None)
return float(clip_score[0])
except Exception as e:
logging.error(f"CLIP score computation failed for {image_path}: {e}")
return 0.0
def compute_vqa_score(self, image_path: str, text: str) -> float:
"""Calculate VQAScore"""
if not self.t2v_available or "vqa" not in self.models:
return 0.0
try:
score = self.models["vqa"](images=[image_path], texts=[text])
return score.cpu().numpy().mean()
except Exception as e:
logging.error(f"VQA score computation failed for {image_path}: {e}")
return 0.0
def compute_aesthetic_score(self, image_path: str) -> float:
"""Calculate aesthetic score"""
if not self.openclip_available or "aesthetic" not in self.models or "openclip" not in self.models:
return 0.0
try:
image = Image.open(image_path)
image_input = self.models["openclip_preprocess"](image).unsqueeze(0).to(self.device)
with torch.no_grad():
image_features = self.models["openclip"].encode_image(image_input)
image_features /= image_features.norm(dim=-1, keepdim=True)
prediction = self.models["aesthetic"](image_features)
return prediction.cpu().numpy().item()
except Exception as e:
logging.error(f"Aesthetic score computation failed for {image_path}: {e}")
return 0.0
def _build_area_result(
self,
benchmark_type: str,
area: int,
total_images: int,
total_words: int,
correct_words: int,
ned_word_data: List[float],
clip_score_sum: float,
vqa_score_sum: float,
aesthetic_score_sum: float,
) -> Dict:
"""Build final per-area metrics from aggregated partial statistics."""
word_acc = correct_words / max(total_words, 1)
avg_ned = np.mean(ned_word_data) if ned_word_data else 0
avg_clip = clip_score_sum / max(total_images, 1) if total_images > 0 else 0
avg_vqa = vqa_score_sum / max(total_images, 1) if total_images > 0 else 0
avg_aesthetic = aesthetic_score_sum / max(total_images, 1) if total_images > 0 else 0
return {
"area": area,
"benchmark_type": benchmark_type,
"word_accuracy": word_acc,
"ned": avg_ned,
"clipscore": avg_clip,
"vqascore": avg_vqa,
"aesthetic_score": avg_aesthetic,
"total_images": total_images,
"total_words": total_words,
"correct_words": correct_words,
"ned_word_data": ned_word_data,
}
def evaluate_single_area_partial(self, benchmark_dir: str, result_dir: str, area: int, benchmark_type: str):
"""Evaluate the rank-local shard of a single area."""
# Read benchmark JSON file
prompt_file = os.path.join(benchmark_dir, benchmark_type, f"{area}.json")
image_dir = os.path.join(result_dir, benchmark_type, str(area))
if not os.path.exists(prompt_file):
logging.error(f"Prompt file not found: {prompt_file}")
return None
if not os.path.exists(image_dir):
logging.error(f"Image directory not found: {image_dir}")
return None
with open(prompt_file, "r", encoding="utf-8") as f:
prompt_data = json.load(f)
prompts = {str(item["index"]): item["prompt"] for item in prompt_data.get("data_list", [])}
# Get image files
image_files = sorted(f for f in os.listdir(image_dir) if f.lower().endswith((".png", ".jpg", ".jpeg")))
results = {
"ned_word_data": [],
"clip_score_sum": 0.0,
"vqa_score_sum": 0.0,
"aesthetic_score_sum": 0.0,
}
total_words = 0
correct_words = 0
# Prepare data for batch CLIPScore calculation
valid_files = []
valid_prompts = []
valid_paths = []
valid_pairs = []
for img_file in image_files:
img_id = Path(img_file).stem
if img_id in prompts:
valid_pairs.append((img_file, prompts[img_id], os.path.join(image_dir, img_file)))
rank_pairs = valid_pairs[self.rank :: self.world_size]
valid_files = [item[0] for item in rank_pairs]
valid_prompts = [item[1] for item in rank_pairs]
valid_paths = [item[2] for item in rank_pairs]
# Batch compute CLIPScore (matching batch processing logic of original script)
logging.info(
"Rank %s computing CLIPScore for %s images in %s area %s", self.rank, len(valid_files), benchmark_type, area
)
clip_scores = self.compute_clip_score_batch(valid_paths, valid_prompts) if valid_files else []
# Create CLIPScore mapping
clip_score_dict = {Path(valid_files[i]).stem: clip_scores[i] for i in range(len(valid_files))}
progress_bar = self.is_main_process and self.world_size == 1
for img_file in tqdm(valid_files, desc=f"Processing {benchmark_type} area {area}", disable=not progress_bar):
img_path = os.path.join(image_dir, img_file)
img_id = Path(img_file).stem
prompt = prompts[img_id]
gt_words = self.extract_words_from_prompt(prompt)
# Calculate OCR metrics
t_words, c_words, word_edit_distances = self.compute_ocr_metrics(img_path, gt_words)
# Use batch computed CLIPScore results
clip_score = clip_score_dict.get(img_id, 0.0)
# Compute VQA and Aesthetic per image (consistent with original script)
vqa_score = self.compute_vqa_score(img_path, prompt)
aesthetic_score = self.compute_aesthetic_score(img_path)
total_words += t_words
correct_words += c_words
# Collect edit distances at word level (consistent with original script)
results["ned_word_data"].extend(word_edit_distances)
results["clip_score_sum"] += clip_score
results["vqa_score_sum"] += vqa_score
results["aesthetic_score_sum"] += aesthetic_score
return {
"area": area,
"benchmark_type": benchmark_type,
"rank": self.rank,
"total_images": len(valid_files),
"total_words": total_words,
"correct_words": correct_words,
"ned_word_data": results["ned_word_data"],
"clip_score_sum": results["clip_score_sum"],
"vqa_score_sum": results["vqa_score_sum"],
"aesthetic_score_sum": results["aesthetic_score_sum"],
}
def evaluate_full_dataset(self, benchmark_dir: str, result_dir: str, output_file: str):
"""Evaluate complete dataset"""
partial_results = []
# Iterate through all areas and benchmark types
for benchmark_type in ["CVTG", "CVTG-Style"]:
for area in [2, 3, 4, 5]:
area_result = self.evaluate_single_area_partial(benchmark_dir, result_dir, area, benchmark_type)
if area_result:
partial_results.append(area_result)
gathered_results = [partial_results]
if self.is_distributed:
gathered_results = [None] * self.world_size
dist.all_gather_object(gathered_results, partial_results)
if not self.is_main_process:
return None
aggregated = {}
for rank_results in gathered_results:
for partial in rank_results:
key = (partial["benchmark_type"], partial["area"])
if key not in aggregated:
aggregated[key] = {
"benchmark_type": partial["benchmark_type"],
"area": partial["area"],
"total_images": 0,
"total_words": 0,
"correct_words": 0,
"ned_word_data": [],
"clip_score_sum": 0.0,
"vqa_score_sum": 0.0,
"aesthetic_score_sum": 0.0,
}
aggregated[key]["total_images"] += partial["total_images"]
aggregated[key]["total_words"] += partial["total_words"]
aggregated[key]["correct_words"] += partial["correct_words"]
aggregated[key]["ned_word_data"].extend(partial["ned_word_data"])
aggregated[key]["clip_score_sum"] += partial["clip_score_sum"]
aggregated[key]["vqa_score_sum"] += partial["vqa_score_sum"]
aggregated[key]["aesthetic_score_sum"] += partial["aesthetic_score_sum"]
all_results = []
for benchmark_type in ["CVTG", "CVTG-Style"]:
for area in [2, 3, 4, 5]:
key = (benchmark_type, area)
if key not in aggregated:
continue
stats = aggregated[key]
area_result = self._build_area_result(
benchmark_type=benchmark_type,
area=area,
total_images=stats["total_images"],
total_words=stats["total_words"],
correct_words=stats["correct_words"],
ned_word_data=stats["ned_word_data"],
clip_score_sum=stats["clip_score_sum"],
vqa_score_sum=stats["vqa_score_sum"],
aesthetic_score_sum=stats["aesthetic_score_sum"],
)
all_results.append(area_result)
print(f"\n=== {benchmark_type} Area {area} Results ===")
print(f"Word Accuracy: {area_result['word_accuracy']:.4f}")
print(f"NED: {area_result['ned']:.4f}")
print(f"CLIPScore: {area_result['clipscore']:.4f}")
print(f"VQAScore: {area_result['vqascore']:.4f}")
print(f"Aesthetic Score: {area_result['aesthetic_score']:.4f}")
# Calculate overall average results (strictly following original script logic)
if all_results:
# Word Accuracy: weighted by word count (consistent with original script)
total_words_all = sum(r["total_words"] for r in all_results)
correct_words_all = sum(r["correct_words"] for r in all_results)
overall_word_acc = correct_words_all / max(total_words_all, 1)
# NED: simple average of all word edit distances (consistent with original script)
all_word_edit_distances = []
for r in all_results:
all_word_edit_distances.extend(r["ned_word_data"])
overall_ned = np.mean(all_word_edit_distances) if all_word_edit_distances else 0
# Other metrics: area-weighted average (by actual image count)
total_images = sum(r["total_images"] for r in all_results)
overall_clip = (
sum(r["clipscore"] * r["total_images"] for r in all_results) / max(total_images, 1)
if total_images > 0
else 0
)
overall_vqa = (
sum(r["vqascore"] * r["total_images"] for r in all_results) / max(total_images, 1)
if total_images > 0
else 0
)
overall_aesthetic = (
sum(r["aesthetic_score"] * r["total_images"] for r in all_results) / max(total_images, 1)
if total_images > 0
else 0
)
final_results = {
"overall_results": {
"word_accuracy": overall_word_acc,
"ned": overall_ned,
"clipscore": overall_clip,
"vqascore": overall_vqa,
"aesthetic_score": overall_aesthetic,
"total_images": sum(r["total_images"] for r in all_results),
"total_words": total_words_all,
"correct_words": correct_words_all,
},
"area_results": all_results,
}
# Convert numpy types to JSON serializable types
final_results_converted = convert_numpy_types(final_results)
with open(output_file, "w") as f:
json.dump(final_results_converted, f, indent=2)
print(f"\n=== Overall Results ===")
print(f"Word Accuracy: {overall_word_acc:.4f}")
print(f"NED: {overall_ned:.4f}")
print(f"CLIPScore: {overall_clip:.4f}")
print(f"VQAScore: {overall_vqa:.4f}")
print(f"Aesthetic Score: {overall_aesthetic:.4f}")
return final_results
return None
def setup_distributed(args) -> Tuple[int, int, int]:
"""Initialize distributed execution from torchrun-style environment variables."""
rank = int(os.environ.get("RANK", "0"))
world_size = int(os.environ.get("WORLD_SIZE", "1"))
local_rank = int(os.environ.get("LOCAL_RANK", "0"))
if world_size > 1:
remap_visible_devices = os.environ.get("TEXTCRAFTER_REMAP_CUDA_VISIBLE_DEVICES", "1") == "1"
cuda_device_index = local_rank
if remap_visible_devices:
os.environ["CUDA_VISIBLE_DEVICES"] = str(local_rank)
cuda_device_index = 0
os.environ["TEXTCRAFTER_CUDA_DEVICE_INDEX"] = str(cuda_device_index)
if args.device == "cpu":
raise ValueError("Distributed multi-GPU evaluation requires --device auto or --device cuda.")
if not torch.cuda.is_available():
raise RuntimeError("WORLD_SIZE > 1 but CUDA is not available.")
dist.init_process_group(backend="nccl", init_method="env://")
torch.cuda.set_device(cuda_device_index)
return rank, world_size, local_rank
def cleanup_distributed():
"""Tear down the distributed process group when needed."""
if dist.is_available() and dist.is_initialized():
dist.barrier()
dist.destroy_process_group()
def main():
parser = argparse.ArgumentParser(description="Unified text-to-image generation evaluation tool")
parser.add_argument("--benchmark_dir", required=True, help="benchmark directory path")
parser.add_argument("--result_dir", required=True, help="result image directory path")
parser.add_argument("--output_file", required=True, help="result output file path")
parser.add_argument("--device", default="auto", choices=["auto", "cuda", "cpu"], help="computing device")
parser.add_argument(
"--cache_dir",
default="/share/dnk/checkpoint",
help="HuggingFace model cache directory path (default: /share/dnk/checkpoint)",
)
parser.add_argument(
"--use_hf_mirror", action="store_true", default=True, help="whether to use HuggingFace mirror (default: True)"
)
parser.add_argument(
"--no_hf_mirror", dest="use_hf_mirror", action="store_false", help="do not use HuggingFace mirror"
)
args = parser.parse_args()
# Set up logging
logging.basicConfig(level=logging.INFO, format="%(asctime)s - %(levelname)s - %(message)s")
# Set environment variables before initializing evaluator
if args.use_hf_mirror:
os.environ["HF_ENDPOINT"] = "https://hf-mirror.com"
logging.info("Using HuggingFace mirror: https://hf-mirror.com")
# Set huggingface cache directory
if args.cache_dir:
cache_dir = os.path.abspath(args.cache_dir)
os.makedirs(cache_dir, exist_ok=True)
# Set all relevant cache environment variables
os.environ["HF_HOME"] = cache_dir
os.environ["HF_HUB_CACHE"] = cache_dir
os.environ["TRANSFORMERS_CACHE"] = cache_dir
os.environ["HF_DATASETS_CACHE"] = cache_dir
os.environ["TORCH_HOME"] = cache_dir
os.environ["HUGGINGFACE_HUB_CACHE"] = cache_dir
logging.info(f"Set HuggingFace cache directory to: {cache_dir}")
rank, world_size, local_rank = setup_distributed(args)
if world_size > 1:
logging.info(
"Initialized distributed evaluation: rank=%s local_rank=%s world_size=%s", rank, local_rank, world_size
)
try:
# Initialize evaluator
evaluator = UnifiedMetricsEvaluator(
device=args.device,
cache_dir=args.cache_dir,
use_hf_mirror=args.use_hf_mirror,
rank=rank,
world_size=world_size,
local_rank=local_rank,
)
# Run evaluation
evaluator.evaluate_full_dataset(args.benchmark_dir, args.result_dir, args.output_file)
finally:
cleanup_distributed()
if __name__ == "__main__":
main()
from __future__ import annotations
import argparse
import json
import re
import sys
import threading
import traceback
from collections import defaultdict
from concurrent.futures import ThreadPoolExecutor, as_completed
from pathlib import Path
from statistics import mean
from typing import Any
if __package__ in {None, ""}:
repo_root = Path(__file__).resolve().parents[3]
sys.path.insert(0, str(repo_root))
try:
from tqdm import tqdm
except ImportError:
tqdm = None
from evaluation.gen.common.judge import JudgeClient
DEFAULT_DATA_DIR = Path(__file__).resolve().parent / "data"
# Reference:
# IGenBench: Benchmarking the Reliability of Text-to-Infographic Generation
# https://arxiv.org/abs/2601.04498
def _parse_args() -> argparse.Namespace:
parser = argparse.ArgumentParser(description="Evaluate IGenBench images with direct image-question judging.")
parser.add_argument("--image-dir", required=True, help="Directory containing generated IGenBench images.")
parser.add_argument("--output-dir", required=True, help="Directory to save per-item judgments and summary.")
parser.add_argument(
"--data-dir", default=str(DEFAULT_DATA_DIR), help="IGenBench directory with per-item JSON files."
)
parser.add_argument("--gen-model-name", default="local_model", help="Generation model tag stored in judgments.")
parser.add_argument("--api-base", required=True, help="OpenAI-compatible judge API base URL.")
parser.add_argument("--api-key", required=True, help="OpenAI-compatible judge API key.")
parser.add_argument("--judge-model", required=True, help="Judge model name.")
parser.add_argument("--eval-timeout", type=int, default=240)
parser.add_argument("--concurrency", type=int, default=128)
parser.add_argument("--max-items", type=int, default=None)
parser.add_argument(
"--force-rerun", action="store_true", help="Ignore saved judgments and rerun from source items."
)
return parser.parse_args()
def _iter_items(data_dir: Path, max_items: int | None) -> list[tuple[int, Path]]:
items = []
for path in data_dir.glob("*.json"):
try:
items.append((int(path.stem), path))
except ValueError:
continue
items.sort(key=lambda item: item[0])
if max_items is not None:
items = items[:max_items]
return items
def _resolve_image_path(image_dir: Path, prompt_id: int) -> Path | None:
direct = image_dir / f"{prompt_id:04d}.png"
if direct.exists():
return direct
return None
def _saved_item_path(output_dir: Path, item_id: str) -> Path:
return output_dir / "items" / f"{int(item_id):04d}.json"
def _count_done_questions(item_data: dict[str, Any], *, gen_model: str, eval_model: str) -> tuple[int, int]:
total = 0
done = 0
for entry in item_data.get("evaluation", []) or []:
total += 1
for judgment in entry.get("judgments", []) or []:
if judgment.get("gen_model") == gen_model and judgment.get("eval_model") == eval_model:
done += 1
break
return done, total
def _score_item(item_data: dict[str, Any], *, gen_model: str, eval_model: str) -> dict[str, Any]:
total = 0
correct = 0
q_by_type: dict[str, tuple[int, int]] = {}
for eval_entry in item_data.get("evaluation", []) or []:
for judgment in eval_entry.get("judgments", []) or []:
if judgment.get("gen_model") == gen_model and judgment.get("eval_model") == eval_model:
q_type = str(eval_entry.get("question_type") or "unknown").strip()
ok = int(str(judgment.get("answer") or "").strip() == "1")
total += 1
correct += ok
prev_correct, prev_total = q_by_type.get(q_type, (0, 0))
q_by_type[q_type] = (prev_correct + ok, prev_total + 1)
break
return {
"correct": correct,
"total": total,
"accuracy": correct / total if total else 0.0,
"strict": total > 0 and correct == total,
"q_by_type": q_by_type,
}
def _strip_json_fence(text: str) -> str:
content = (text or "").strip()
if content.startswith("```json"):
content = content[7:]
elif content.startswith("```"):
content = content[3:]
if content.endswith("```"):
content = content[:-3]
return content.strip()
def _parse_json_safe(text: str) -> dict[str, Any]:
content = _strip_json_fence(text)
try:
return json.loads(content)
except Exception:
pass
match = re.search(r"\{.*\}", content, flags=re.DOTALL)
if not match:
raise ValueError("judge response does not contain JSON")
extracted = match.group(0)
try:
return json.loads(extracted)
except Exception:
normalized = re.sub(r"\bTrue\b", "true", extracted)
normalized = re.sub(r"\bFalse\b", "false", normalized)
normalized = re.sub(r"\bNone\b", "null", normalized)
return json.loads(normalized)
def _to_answer(value: Any) -> str:
if isinstance(value, bool):
return "1" if value else "0"
if isinstance(value, int) and value in {0, 1}:
return str(value)
if isinstance(value, str):
text = value.strip().lower()
if text in {"1", "true", "yes", "pass", "supported"}:
return "1"
if text in {"0", "false", "no", "fail", "unsupported"}:
return "0"
raise ValueError(f"unsupported judge answer: {value!r}")
def _parse_judgment(raw_text: str) -> tuple[str, str]:
try:
parsed = _parse_json_safe(raw_text)
answer_value = parsed.get("answer", parsed.get("result", parsed.get("score")))
return _to_answer(answer_value), str(parsed.get("analysis", parsed.get("reason", "")))
except Exception:
match = re.search(
r'"(?:answer|result|score)"\s*:\s*(true|false|True|False|"true"|"false"|1|0)',
raw_text,
flags=re.DOTALL,
)
if match:
return _to_answer(match.group(1).strip('"')), ""
raise ValueError("failed to parse judge answer")
def build_factual_qa_judgment_prompt(question: str) -> str:
return f"""
You are a strict factual evaluator.
Your task:
Inspect the infographic image (provided separately) and answer the binary factual question below.
Rules:
- Answer **1** ONLY if the requirement is clearly satisfied in the image.
- Answer **0** if the requirement is NOT satisfied, unclear, ambiguous, partially met, or cannot be confirmed.
- No partial credit. Ambiguity = 0.
- Base your judgment ONLY on visible evidence in the infographic.
- Even if the image is empty, blank, corrupted, unreadable, or clearly incorrect, you MUST still output a valid JSON object following the required format. In such cases, the answer should be 0.
-------------------------------------
FACTUAL QUESTION:
{question}
-------------------------------------
**Output Format (JSON ONLY)**:
```json
{{
"analysis": "<your reasoning based strictly on what is visible>",
"answer": "<0 or 1>"
}}
```
The response must contain only valid JSON.
"""
def _has_matching_judgment(entry: dict[str, Any], *, gen_model: str, eval_model: str) -> bool:
for judgment in entry.get("judgments", []) or []:
if judgment.get("gen_model") == gen_model and judgment.get("eval_model") == eval_model:
return True
return False
def _remove_matching_judgment(entry: dict[str, Any], *, gen_model: str, eval_model: str) -> None:
entry["judgments"] = [
judgment
for judgment in entry.get("judgments", []) or []
if not (judgment.get("gen_model") == gen_model and judgment.get("eval_model") == eval_model)
]
def _record_error(prompt_id: int, exc: Exception) -> None:
print(f"[warn] prompt_id={prompt_id} failed: {type(exc).__name__}: {exc}")
def eval_one(
task: tuple[int, Path, Path],
*,
output_dir: Path,
force_rerun: bool,
gen_model_name: str,
judge_model: str,
client: JudgeClient,
write_lock: threading.Lock,
) -> dict[str, Any] | None:
prompt_id, json_path, image_path = task
saved_path = _saved_item_path(output_dir, json_path.stem)
load_path = json_path if force_rerun or not saved_path.exists() else saved_path
item_data = json.loads(load_path.read_text(encoding="utf-8"))
for eval_entry in item_data.get("evaluation", []) or []:
if not force_rerun and _has_matching_judgment(
eval_entry,
gen_model=gen_model_name,
eval_model=judge_model,
):
continue
question = str(eval_entry.get("question") or "").strip()
if not question:
continue
_remove_matching_judgment(
eval_entry,
gen_model=gen_model_name,
eval_model=judge_model,
)
raw_output = client.judge_image_text(
image_path=image_path,
system_prompt=None,
user_prompt=build_factual_qa_judgment_prompt(question),
).strip()
answer, reason = _parse_judgment(raw_output)
eval_entry.setdefault("judgments", []).append(
{
"gen_model": gen_model_name,
"eval_model": judge_model,
"answer": answer,
"reason": reason,
"raw_output": raw_output,
}
)
with write_lock:
saved_path.parent.mkdir(parents=True, exist_ok=True)
saved_path.write_text(
json.dumps(item_data, ensure_ascii=False, indent=2),
encoding="utf-8",
)
saved_path.parent.mkdir(parents=True, exist_ok=True)
saved_path.write_text(
json.dumps(item_data, ensure_ascii=False, indent=2),
encoding="utf-8",
)
scores = _score_item(item_data, gen_model=gen_model_name, eval_model=judge_model)
return {
"prompt_id": prompt_id,
"dataset_id": json_path.stem,
"chart_type": item_data.get("chart_type"),
"image_path": str(image_path),
**scores,
}
def main() -> None:
args = _parse_args()
image_dir = Path(args.image_dir).resolve()
output_dir = Path(args.output_dir).resolve()
data_dir = Path(args.data_dir).resolve()
judge_model = args.judge_model
output_dir.mkdir(parents=True, exist_ok=True)
(output_dir / "items").mkdir(parents=True, exist_ok=True)
client = JudgeClient(
api_base=args.api_base,
api_key=args.api_key,
model=judge_model,
timeout=args.eval_timeout,
)
items = _iter_items(data_dir, args.max_items)
tasks = []
missing_images = 0
pending_questions = 0
total_questions = 0
for prompt_id, json_path in items:
image_path = _resolve_image_path(image_dir, prompt_id)
if image_path is None:
print(f"[warn] skip prompt_id={prompt_id}: missing image")
missing_images += 1
continue
saved_path = _saved_item_path(output_dir, json_path.stem)
load_path = json_path if args.force_rerun or not saved_path.exists() else saved_path
item_data = json.loads(load_path.read_text(encoding="utf-8"))
done_q, total_q = _count_done_questions(
item_data,
gen_model=args.gen_model_name,
eval_model=judge_model,
)
pending_questions += max(0, total_q - done_q)
total_questions += total_q
tasks.append((prompt_id, json_path, image_path))
print(
f"[igenbench] tasks={len(tasks)} missing_images={missing_images} "
f"total_questions={total_questions} pending_questions={pending_questions} "
f"concurrency={args.concurrency} judge_model={judge_model}"
)
write_lock = threading.Lock()
results: list[dict[str, Any] | None] = []
max_workers = max(1, args.concurrency)
with ThreadPoolExecutor(max_workers=max_workers) as pool:
futures = {
pool.submit(
eval_one,
task,
output_dir=output_dir,
force_rerun=args.force_rerun,
gen_model_name=args.gen_model_name,
judge_model=judge_model,
client=client,
write_lock=write_lock,
): task
for task in tasks
}
progress = tqdm(total=len(futures), desc="igenbench eval", dynamic_ncols=True) if tqdm else None
try:
for done, future in enumerate(as_completed(futures), start=1):
prompt_id = futures[future][0]
try:
result = future.result()
except Exception as exc:
_record_error(prompt_id, exc)
traceback.print_exc()
result = None
results.append(result)
if progress is not None:
progress.update(1)
progress.set_postfix_str(f"prompt_id={prompt_id}")
else:
print(f"[{done}/{len(futures)}] prompt_id={prompt_id}")
finally:
if progress is not None:
progress.close()
valid_results = [result for result in results if result and result["total"] > 0]
if not valid_results:
raise RuntimeError("IGenBench produced no valid evaluation results.")
q_total_by_type: dict[str, int] = defaultdict(int)
q_correct_by_type: dict[str, int] = defaultdict(int)
correct_questions = 0
scored_questions = 0
for result in valid_results:
correct_questions += int(result["correct"])
scored_questions += int(result["total"])
for q_type, counts in result["q_by_type"].items():
correct, total = counts
q_correct_by_type[q_type] += correct
q_total_by_type[q_type] += total
records = [
{
"prompt_id": int(result["prompt_id"]),
"dataset_id": result["dataset_id"],
"chart_type": result["chart_type"],
"image_path": result["image_path"],
"accuracy": float(result["accuracy"]),
"strict": bool(result["strict"]),
"correct": int(result["correct"]),
"total": int(result["total"]),
}
for result in sorted(valid_results, key=lambda item: int(item["prompt_id"]))
]
question_type_acc = {
q_type: q_correct_by_type[q_type] / q_total_by_type[q_type]
for q_type in sorted(q_total_by_type)
if q_total_by_type[q_type] > 0
}
summary = {
"benchmark": "igenbench",
"data_dir": str(data_dir),
"image_dir": str(image_dir),
"judge_model": judge_model,
"gen_model_name": args.gen_model_name,
"items": len(records),
"skipped_items": len(items) - len(records),
"missing_images": missing_images,
"score": mean([record["accuracy"] for record in records]) if records else 0.0,
"q_acc": correct_questions / scored_questions if scored_questions else 0.0,
"i_acc_strict": mean([1.0 if record["strict"] else 0.0 for record in records]) if records else 0.0,
"correct_questions": correct_questions,
"total_questions": scored_questions,
"question_type_acc": question_type_acc,
"question_type_counts": dict(q_total_by_type),
"records": records,
}
summary_path = output_dir / "igenbench_summary.json"
records_path = output_dir / "igenbench_records.jsonl"
with summary_path.open("w", encoding="utf-8") as f:
json.dump(summary, f, ensure_ascii=False, indent=2)
with records_path.open("w", encoding="utf-8") as f:
for record in records:
f.write(json.dumps(record, ensure_ascii=False) + "\n")
print(
f"[igenbench] score={summary['score']:.4f} q_acc={summary['q_acc']:.4f} "
f"strict={summary['i_acc_strict']:.4f} "
f"({correct_questions}/{scored_questions} correct, {len(records)} items)"
)
print(f"[igenbench] summary saved -> {summary_path}")
if __name__ == "__main__":
main()
from __future__ import annotations
import argparse
import json
import sys
from pathlib import Path
from typing import Any
if __package__ in {None, ""}:
repo_root = Path(__file__).resolve().parents[3]
sys.path.insert(0, str(repo_root))
sys.path.insert(0, str(repo_root / "src"))
import torch
SUPPORTED_RESOLUTIONS: dict[str, tuple[int, int]] = {
"1:1": (2048, 2048),
"16:9": (2720, 1536),
"9:16": (1536, 2720),
"3:2": (2496, 1664),
"2:3": (1664, 2496),
"4:3": (2368, 1760),
"3:4": (1760, 2368),
"1:2": (1440, 2880),
"2:1": (2880, 1440),
"1:3": (1152, 3456),
"3:1": (3456, 1152),
}
DEFAULT_DATA_DIR = Path(__file__).resolve().parent / "data"
DEFAULT_ASPECT_RATIO = "1:1"
DEFAULT_ATTN_BACKEND = "auto"
def _parse_args() -> argparse.Namespace:
parser = argparse.ArgumentParser(description="Generate IGenBench images with SenseNova-U1.")
parser.add_argument("--model-path", required=True, help="Local checkpoint path or HF model id.")
parser.add_argument("--output-dir", required=True, help="Directory to save generated images.")
parser.add_argument(
"--data-dir", default=str(DEFAULT_DATA_DIR), help="IGenBench directory with per-item JSON files."
)
parser.add_argument("--device", default="cuda")
parser.add_argument("--dtype", default="bfloat16", choices=["bfloat16", "float16", "float32"])
parser.add_argument("--cfg-scale", type=float, default=4.0)
parser.add_argument("--cfg-norm", default="none", choices=["none", "global", "channel", "cfg_zero_star"])
parser.add_argument("--timestep-shift", type=float, default=3.0)
parser.add_argument("--num-steps", type=int, default=50)
parser.add_argument("--seed", type=int, default=42)
parser.add_argument("--attn-backend", default=DEFAULT_ATTN_BACKEND, choices=["auto", "flash", "sdpa"])
return parser.parse_args()
def _load_items(*, data_dir: Path) -> list[dict[str, Any]]:
items = []
for path in sorted(data_dir.glob("*.json"), key=lambda p: int(p.stem)):
item = json.loads(path.read_text(encoding="utf-8"))
item["_data_path"] = str(path)
items.append(item)
return items
def _resolve_dtype(name: str) -> torch.dtype:
return {
"bfloat16": torch.bfloat16,
"float16": torch.float16,
"float32": torch.float32,
}[name]
def _resolve_image_size() -> tuple[int, int]:
return SUPPORTED_RESOLUTIONS[DEFAULT_ASPECT_RATIO]
def main() -> None:
args = _parse_args()
data_dir = Path(args.data_dir).resolve()
output_dir = Path(args.output_dir).resolve()
output_dir.mkdir(parents=True, exist_ok=True)
width, height = _resolve_image_size()
items = _load_items(data_dir=data_dir)
print(f"[igenbench] loaded {len(items)} items from {data_dir}")
import sensenova_u1
from examples.t2i.inference import SenseNovaU1T2I
sensenova_u1.set_attn_backend(args.attn_backend)
print(f"[igenbench] attn_backend={args.attn_backend!r} effective={sensenova_u1.effective_attn_backend()!r}")
engine = SenseNovaU1T2I(
model_path=args.model_path,
device=args.device,
dtype=_resolve_dtype(args.dtype),
)
generated = 0
skipped = 0
for item in items:
prompt_id = int(item["id"])
prompt = item["t2i_prompt"]
out_path = output_dir / f"{prompt_id:04d}.png"
if out_path.exists():
skipped += 1
continue
images = engine.generate(
prompt,
image_size=(width, height),
cfg_scale=args.cfg_scale,
cfg_norm=args.cfg_norm,
timestep_shift=args.timestep_shift,
num_steps=args.num_steps,
batch_size=1,
seed=args.seed,
)
images[0].save(out_path)
generated += 1
print(f"[saved] prompt_id={prompt_id} size={width}x{height} chart_type={item.get('chart_type')} -> {out_path}")
print(f"[igenbench] done: items={len(items)} generated={generated} skipped={skipped} output_dir={output_dir}")
if __name__ == "__main__":
main()
#!/usr/bin/env bash
set -euo pipefail
# Generate images using SenseNova-U1-8B-MoT-SFT.
MODEL_PATH="sensenova/SenseNova-U1-8B-MoT"
IMAGE_OUTPUT_DIR="outputs/sensenova/igenbench"
EVAL_OUTPUT_DIR="outputs/sensenova/igenbench_eval"
# Evaluation settings
API_BASE="http://your-api-base/v1"
API_KEY="your-api-key"
JUDGE_MODEL="gemini-3-pro-preview"
REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../../.." && pwd)"
cd "${REPO_ROOT}"
python evaluation/gen/igenbench/gen_images_igenbench.py \
--model-path "${MODEL_PATH}" \
--output-dir "${IMAGE_OUTPUT_DIR}"
python evaluation/gen/igenbench/eval_images_igenbench.py \
--image-dir "${IMAGE_OUTPUT_DIR}" \
--output-dir "${EVAL_OUTPUT_DIR}" \
--api-base "${API_BASE}" \
--api-key "${API_KEY}" \
--judge-model "${JUDGE_MODEL}"
{"category": "sign", "length": "short", "prompt": "A lively and bustling urban street scene captured at daytime, featuring a colorful assortment of vibrant storefronts lining the busy sidewalk, with diverse groups of pedestrians leisurely strolling past shop windows, chatting or hurrying along on daily errands. Prominently displayed above an inviting, trendy coffee shop is a strikingly large, colorful billboard that clearly reads \"FRESH BREWS, EVERY MORNING, EVERY DAY\", set in bold, stylish, and modern typography that immediately captures attention. Elegantly positioned just below this main statement, the tagline in soft cursive font reads \"Locally Roasted Since 1998\", emphasizing tradition and authenticity. Nearby stands a classic directional street sign, neatly pointing pedestrians toward a calm oasis amid city life, clearly labeled \"CENTRAL PARK - 2 BLOCKS\", guiding visitors with its distinctly readable font. All signage is brightly lit, eye-catching, and clearly contrasts against the detailed backdrop of dynamic city buildings, enhancing the lively urban atmosphere.", "text": ["FRESH BREWS, EVERY MORNING, EVERY DAY", "Locally Roasted Since 1998", "CENTRAL PARK - 2 BLOCKS"], "text_length": 15, "prompt_id": 0}
{"category": "sign", "length": "short", "prompt": "A vibrant and bustling city intersection teeming with traffic and pedestrians, prominently featuring a towering, brightly illuminated billboard set high above the busy street. The billboard prominently showcases bold and sleek text, stating \"EXPLORE THE FUTURE OF ELECTRIC VEHICLES TODAY\" in stylish, modern typography, easily readable from afar. Elegantly displayed beneath in smaller but equally clear lettering is the inviting message, \"Visit EVExpo2023.com for details\", offering viewers additional information. Surrounding the impressive billboard are numerous vivid city lights, glowing storefronts, and energetic urban streets filled with moving vehicles and active pedestrians. Additional well-placed signs nearby provide helpful city directions, featuring clear, concise messages such as \"Parking Ahead\" and \"Turn Right for Downtown\", effectively complementing the lively mood and seamlessly integrating into the dynamic, contemporary atmosphere of this urban landscape.", "text": ["EXPLORE THE FUTURE OF ELECTRIC VEHICLES TODAY", "Visit EVExpo2023.com for details", "Parking Ahead", "Turn Right for Downtown"], "text_length": 17, "prompt_id": 1}
{"category": "sign", "length": "short", "prompt": "A tranquil and serene countryside scene featuring a gently winding grassy road framed by lush greenery, where a charming wooden directional signpost stands gracefully at the path's edge. The signpost prominently displays the inviting message \"WELCOME TO MEADOWBROOK TRAIL\" carved beautifully in rustic lettering that seamlessly complements its natural surroundings. Just beneath, slightly smaller yet clearly visible text reads \"Hiking, Birdwatching, and Picnic Area Ahead\", thoughtfully guiding visitors toward outdoor activities. Around the base of the signpost, vibrant wildflowers bloom abundantly, decorating the scene alongside sturdy, tall trees that softly sway in a gentle breeze as sunlight filters poetically through their leaves. Nearby, an additional wooden sign points leftward with equal rustic charm, clearly indicating \"Lakeview Point - 2 Miles\", gently encouraging further exploration. All textual elements are distinct yet tastefully integrated, effortlessly blending into the peaceful ambiance of this idyllic countryside setting.", "text": ["WELCOME TO MEADOWBROOK TRAIL", "Hiking, Birdwatching, and Picnic Area Ahead", "Lakeview Point - 2 Miles"], "text_length": 15, "prompt_id": 2}
{"category": "sign", "length": "short", "prompt": "A vibrant and inviting outdoor market scene bustling with activity, featuring colorful banners warmly draping overhead, drawing visitors into a festive atmosphere. Dominating the cheerful setting is a prominent banner with bold, playful lettering clearly announcing \"FRESH LOCAL PRODUCE - FARMERS MARKET SATURDAYS\", immediately catching visitors' eyes. Just beneath, smaller yet clearly visible text states \"Open 8 AM - 2 PM, Rain or Shine\", thoughtfully informing shoppers. Surrounding this main banner are smaller, charming signs attached to individual market stalls, each showcasing distinct items such as \"Organic Honey\", \"Handmade Crafts\", and \"Seasonal Fruits\", all displayed in vibrant and appealing typography. Together, the clearly readable, inviting textual signs blend naturally into the lively market environment, contributing seamlessly to the warm, community-friendly atmosphere bustling with smiling vendors and eager shoppers.", "text": ["FRESH LOCAL PRODUCE - FARMERS MARKET SATURDAYS", "Open 8 AM - 2 PM, Rain or Shine", "Organic Honey", "Handmade Crafts", "Seasonal Fruits"], "text_length": 22, "prompt_id": 3}
{"category": "sign", "length": "short", "prompt": "An enthusiastic crowd of students gathered at a lively environmental rally, energetically holding vibrant, eye-catching signs advocating passionately for ocean preservation. A prominent central sign boldly proclaims \"SAVE OUR OCEANS NOW\" in clear, impactful lettering, instantly drawing attention. Neatly positioned at the bottom edge of this sign is the smaller yet distinctly readable tagline \"Act Responsibly, Think Sustainably\", reinforcing their environmental message. Surrounding this central banner, numerous colorful placards display concise, compelling statements such as \"Protect Marine Life\", \"Ban Single-Use Plastics\", and \"Ocean Health is Human Health\", each thoughtfully complemented by engaging illustrations of diverse marine animals. Displaying unity, passion, and determination, participants enthusiastically rally together, creating a powerful, optimistic atmosphere that emphasizes their shared commitment to protecting the oceans.", "text": ["SAVE OUR OCEANS NOW", "Act Responsibly, Think Sustainably", "Protect Marine Life", "Ban Single-Use Plastics", "Ocean Health is Human Health"], "text_length": 19, "prompt_id": 4}
{"category": "sign", "length": "short", "prompt": "A cozy and inviting cafe situated on a bustling city street corner, featuring a charming storefront with a captivating sign suspended gracefully above the entrance. Crafted from rustic wood, the sign immediately draws attention with its beautifully painted, elegant cursive lettering that warmly announces, \"BREWED WITH LOVE, SERVED WITH CARE\". Clearly visible just below this main phrase in slightly smaller yet distinct lettering are the informative words, \"Open Daily: 7 AM - 9 PM\", guiding cafe visitors. Around the eye-catching sign, lush potted plants and delicate fairy lights create an intimate, welcoming ambiance, perfectly matching the cafe's quaint and relaxing character. Nearby, contented customers relax comfortably at outdoor tables, leisurely sipping fresh coffee and savoring delicious pastries, as the delightful scent of freshly brewed coffee fills the air, enhancing the inviting appeal of this lively urban cafe setting.", "text": ["BREWED WITH LOVE, SERVED WITH CARE.", "Open Daily: 7 AM - 9 PM"], "text_length": 13, "prompt_id": 5}
{"category": "sign", "length": "short", "prompt": "A vibrant and lively outdoor farmer's market is spread throughout a spacious, sunlit plaza bustling with enthusiastic shoppers exploring colorful stalls brimming with fresh goods. At the heart of the welcoming scene is a rustic wooden signboard casually propped up on an easel, catching the eye with its cheerful, hand-drawn lettering that proudly announces, \"FRESH LOCAL PRODUCE FOR HEALTHY LIVING\". Tastefully surrounding the main text are delightful, decorative illustrations featuring colorful apples, crisp carrots, and vivid leafy greens, enhancing the inviting appeal of the announcement. Beneath the slogan, smaller yet neatly legible serif lettering clearly informs visitors, \"Every Saturday: 8 AM - 2 PM\", conveniently displaying market hours. The signboard itself is gently weathered and lovingly worn, adding authenticity and charm that perfectly complements the warm, bustling, and community-driven atmosphere of this outdoor market scene.", "text": ["FRESH LOCAL PRODUCE FOR HEALTHY LIVING.", "Every Saturday: 8 AM - 2 PM"], "text_length": 13, "prompt_id": 6}
{"category": "sign", "length": "short", "prompt": "A quiet countryside road stretches into the horizon, flanked by rolling green hills and golden fields. On the side of the road stands a weathered wooden traffic sign, its paint slightly faded but still legible. The sign reads in bold, capitalized letters, \"CAUTION: WILDLIFE CROSSING NEXT 5 MILES\". Below the main text, smaller lettering states, \"Drive Slowly - Protect Nature\". The sign is mounted on a sturdy post surrounded by tall grass and wildflowers swaying gently in the breeze. In the distance, a deer cautiously steps onto the road, adding a sense of serenity and connection to nature. The sky above is a brilliant blue, dotted with fluffy white clouds, while the peaceful sound of chirping birds fills the air. The scene evokes a sense of calm and respect for the natural world.", "text": ["CAUTION: WILDLIFE CROSSING NEXT 5 MILES.", "Drive Slowly - Protect Nature."], "text_length": 11, "prompt_id": 7}
{"category": "sign", "length": "short", "prompt": "A strikingly vibrant futuristic cityscape comes alive at night, illuminated brilliantly by towering skyscrapers adorned with intricate neon lights, glowing signs, and dynamic holographic visuals. Dominating the bustling viewpoint, a massive digital billboard spans the gleaming facade of a central building, captivating residents and visitors alike with its vivid colors and fluid, mesmerizing animations. Prominent and energetic lettering on the billboard boldly proclaims, \"WELCOME TO NEON CITY: WHERE DREAMS COME ALIVE\", drawing immediate attention with its glowing futuristic typography. Directly below, smaller letters gracefully scroll across in clear, elegant font: \"Experience Tomorrow Today - Visit NeonCityHub.com\", inviting passersby to explore this exciting destination further. Surrounding the impressive text are engaging, animated visuals depicting sleek, flying cars zooming through shimmering cityscapes, waves of neon lights pulsating across buildings, and futuristic gadgets displayed in vibrant holography. The electrifying hum of advanced technology combined with distant rhythmic music completes this immersive atmosphere, capturing Neon City's energy, excitement, and visionary allure.", "text": ["WELCOME TO NEON CITY: WHERE DREAMS COME ALIVE", "Experience Tomorrow Today - Visit NeonCityHub.com"], "text_length": 14, "prompt_id": 8}
{"category": "sign", "length": "short", "prompt": "An urban intersection at night, surrounded by towering buildings covered in bright advertisements. At the center of the scene, a massive electronic billboard dominates the skyline, displaying bold, glowing text in a futuristic font that reads, \"DISCOVER YOUR LIMITLESS POTENTIAL\". Below the main phrase, smaller text scrolls across the bottom of the screen, stating, \"Join the Movement at LimitlessLife.com\". The billboard alternates between the text and dynamic visuals of people achieving extraordinary feats, such as climbing mountains, running marathons, and innovating in high-tech labs. Nearby, smaller signs on storefronts and bus stops echo motivational phrases like \"Be Bold, Be Brave\" and \"Your Journey Starts Here\". The text on all signs is crisp and legible, standing out against the vibrant colors and flashing lights of the city. Pedestrians pause to read the messages, some snapping photos with their phones, while the energy of the scene reflects ambition and inspiration.", "text": ["DISCOVER YOUR LIMITLESS POTENTIAL.", "Join the Movement at LimitlessLife.com.", "Be Bold, Be Brave", "Your Journey Starts Here."], "text_length": 17, "prompt_id": 9}
{"category": "sign", "length": "long", "prompt": "A lively town square filled with colorful signs and bustling activity. At the center of the scene, a large wooden sign hangs above a bakery entrance, reading \"GRANDMA'S BAKERY - FRESHLY BAKED WITH LOVE\" in warm, rustic lettering. Below it, a chalkboard sign on the sidewalk displays the daily specials: \"Today's Treats: Muffins, Sourdough, Croissants\". To the left, a modern electronic billboard towers over a nearby building, showcasing an advertisement that reads \"CITY CINEMA - NOW SHOWING: THE ADVENTURERS\" with smaller text below listing showtimes: \"1 PM, 4 PM, 7 PM, 10 PM\". On the opposite side of the square, a bright yellow street sign warns, \"CAUTION: CHILDREN AT PLAY\" in bold, capitalized letters. The signs are clear and distinct, surrounded by a lively crowd of people enjoying the sunny day, with a fountain and flower stalls adding charm to the scene.", "text": ["GRANDMA'S BAKERY - FRESHLY BAKED WITH LOVE", "Today's Treats: Muffins, Sourdough, Croissants.", "CITY CINEMA - NOW SHOWING: THE ADVENTURERS", "1 PM, 4 PM, 7 PM, 10 PM.", "CAUTION: CHILDREN AT PLAY"], "text_length": 31, "prompt_id": 10}
{"category": "sign", "length": "long", "prompt": "A quiet countryside road features a variety of signs at the entrance of a small family-owned farm. A wooden sign painted in earthy tones reads \"SUNRISE FARM: ORGANIC PRODUCE & FRESH DAIRY\" in hand-lettered script. Below it, a smaller sign attached to the post says \"Farm Tours Daily: 10 AM - 4 PM\". Further down the road, a weathered billboard stands near a field, advertising a local festival with the text \"HARVEST FESTIVAL CELEBRATE WITH US!\" in bold, cheerful lettering, accompanied by illustrations of pumpkins and hay bales. Near a bend in the road, a metal traffic sign warns drivers with the text \"SLOW DOWN CURVE AHEAD\" in bright yellow and black. The signs are clear and legible, surrounded by rolling green hills, grazing animals, and a few scattered farmhouses, creating a peaceful and inviting rural scene.", "text": ["SUNRISE FARM: ORGANIC PRODUCE & FRESH DAIRY", "Farm Tours Daily: 10 AM - 4 PM.", "HARVEST FESTIVAL CELEBRATE WITH US!", "SLOW DOWN CURVE AHEAD"], "text_length": 24, "prompt_id": 11}
{"category": "sign", "length": "long", "prompt": "A lively, crowded outdoor marketplace fills a sunny plaza, bustling energetically with shoppers weaving among vibrant vendor stands overflowing with fresh, colorful goods. Drawing clear attention at the heart of this dynamic market scene is a large, rustic wooden sign prominently hung above a popular stall, displaying attractive, easily readable lettering that warmly announces \"Farm Fresh & Locally Produce\". Beneath this main headline, elegant yet simple text proclaims encouraging messages, clearly stating \"Taste Nature's Best Support Local Farmers!\" and the enticing incentive \"Special Offer: Organic 10% Off Today Only!\" Scattered artfully around the stall are smaller, charmingly handwritten chalkboard-style signs clearly displaying inviting additional notes such as \"Fresh Apples, Strawberries and Seasonal Veggies Available\" further engaging and drawing in curious visitors. Shoppers frequently pause to thoughtfully read and appreciate these inviting, vividly presented signs, adding warmth and authenticity to the overall bustling marketplace atmosphere.", "text": ["Farm Fresh & Locally Produce.", "Taste Nature's Best Support Local Farmers!", "Special Offer: Organic 10% Off Today Only!", "Fresh Apples, Strawberries and Seasonal Veggies Available"], "text_length": 25, "prompt_id": 12}
{"category": "sign", "length": "long", "prompt": "An airport terminal setting, bustling with travelers walking past a large digital information display board hanging prominently from the ceiling. In bright, easily readable white text against a deep blue background, the board states boldly at the top, \"ATTENTION: Flight Delay Due to Weather Conditions\". Right beneath this headline message, slightly smaller text reads, \"Flight EZ172 to Chicago, estimated new departure time: 8:30 PM. We apologize for the inconvenience\". At the bottom of the display, additional text scrolling horizontally states, \"For assistance with further inquiries, please visit the airline information desk nearby\". Passengers pause in front of the board, reading carefully with expressions reflecting concern and attention.", "text": ["ATTENTION: Flight Delay Due to Weather Conditions", "Flight EZ172 to Chicago, estimated new departure time: 8:30 PM. We apologize for the inconvenience.", "For assistance with further inquiries, please visit the airline information desk nearby."], "text_length": 34, "prompt_id": 13}
{"category": "sign", "length": "long", "prompt": "A lively downtown intersection at twilight, with a vast illuminated billboard mounted high above street level. The billboard prominently displays large, clear text stating, \"Discover Serenity at Mountain View Spa & Resort\". Beneath this heading, slightly smaller but highly visible text reads, \"Indulge in Luxury Treatments and Unwind Amidst Breathtaking Scenery\". At the billboard's base, additional concise text says \"Book Now and Enjoy 20% Off Your First Visit!\" and \"Visit mountainviewspa.com today\". The textual contents are presented in inviting, gentle fonts against a serene, nature-inspired backdrop, capturing the attention of passersby.", "text": ["Discover Serenity at Mountain View Spa & Resort.", "Indulge in Luxury Treatments and Unwind Amidst Breathtaking Scenery.", "Book Now and Enjoy 20% Off Your First Visit!", "Visit mountainviewspa.com today."], "text_length": 29, "prompt_id": 14}
{"category": "sign", "length": "long", "prompt": "A busy amusement park entrance on a bright sunny day, bustling with vividly colored banners. A large banner hangs over the entrance gate, displaying prominently in clear bold letters: \"WELCOME TO ADVENTURE KINGDOM WHERE FUN NEVER ENDS!\" Beneath this greeting, slightly smaller texts read, \"Experience Thrilling Rides, Delicious Treats, and Unforgettable Family Moments\". Smaller banners along the ticket counters announce in readable texts, \"Weekday Discount: Kids Under 12 Half Price!\" and \"Annual Pass Holders Express Lane\". Several other signs nearby offer details such as \"Park Open Daily from 10 AM to 9 PM\". Visitors pause momentarily, reading the eye-catching and inviting textual information before proceeding excitedly towards the park entrance.", "text": ["WELCOME TO ADVENTURE KINGDOM WHERE FUN NEVER ENDS!", "Experience Thrilling Rides, Delicious Treats, and Unforgettable Family Moments.", "Weekday Discount: Kids Under 12 Half Price!", "Annual Pass Holders Express Lane.", "Park Open Daily from 10 AM to 9 PM"], "text_length": 38, "prompt_id": 15}
{"category": "sign", "length": "long", "prompt": "A colorful surf shack with a large painted wooden sign on a sunny beachside. Prominent text on the sign reads, \"Wave Riders Surf Shop\", \"Ride the Waves, Live the Dream!\" Beneath in smaller yet easily readable lettering is the phrase \"Surfboard Rentals, Lessons, and Gear for All Levels!\" along with another inviting line that says, \"Join our Surf Class Today – Beginners Welcome!\" At the bottom of the sign, cursive-style text announces, \"Open daily from sunrise to sunset\". Nearby smaller signs and banners add playful messages such as \"Fresh Smoothies Sold Here!\" All textual contents are cheerful, clearly legible, and visually appealing, meant to warmly welcome beachgoers.", "text": ["Wave Riders Surf Shop", "Ride the Waves, Live the Dream!", "Surfboard Rentals, Lessons, and Gear for All Levels!", "Join our Surf Class Today – Beginners Welcome!", "Open daily from sunrise to sunset.", "Fresh Smoothies Sold Here!"], "text_length": 36, "prompt_id": 16}
{"category": "sign", "length": "long", "prompt": "A warm lighting beautifully crafted sign in a charming neighborhood bookstore scene. The central wooden sign distinctly reads, \"Chapter One Books Discover Your Next Great Adventure!\" Directly beneath, in slightly smaller, welcoming text, appears \"Author signing tonight: Meet Emily Hartfield at 7pm!\" At the bottom, neatly handwritten script announces, \"Complimentary coffee and snacks inside\". Smaller adjoining signs set near displays feature engaging phrases such as \"New arrivals handpicked for you\". All textual elements on the signs are inviting, clearly readable, and thoughtfully designed to attract book lovers passing by.", "text": ["Chapter One Books Discover Your Next Great Adventure!", "Author signing tonight: Meet Emily Hartfield at 7pm!", "Complimentary coffee and snacks inside.", "New arrivals handpicked for you."], "text_length": 26, "prompt_id": 17}
{"category": "sign", "length": "long", "prompt": "A lively city park filled with families near a large colorful banner strung between two trees. The bright, cheerful banner prominently states \"Summer Family Fun Day\", \"Enjoy Games, Food and Music All Afternoon!\" Beneath, in smaller but clearly visible text it reads \"Face painting available for kids of all ages!\" and \"Live concert starting at 4 PM by The Sunny Side Band\". At the bottom of the banner, neatly printed letters announce \"Free Entry! Sponsored by Greenview Community Center\". Nearby directional signs clearly state additional messages such as \"Picnic Area This Way\". All textual contents displayed are vivid, engaging, and easily readable to warmly invite and guide attending families.", "text": ["Summer Family Fun Day", "Enjoy Games, Food and Music All Afternoon!", "Face painting available for kids of all ages!", "Live concert starting at 4 PM by The Sunny Side Band.", "Free Entry! Sponsored by Greenview Community Center.", "Picnic Area This Way"], "text_length": 41, "prompt_id": 18}
{"category": "sign", "length": "long", "prompt": "An inviting wooden-framed chalkboard standing just outside a cozy sidewalk bakery's entrance. Prominently written in charming handwritten style, the board says, \"Sweet Bliss Bakery Happiness Freshly Baked Daily!\" Just beneath, smaller, friendly lettering adds, \"Special For Today: Chocolate Croissants!\" followed by the warm invitation, \"Come Inside for a Free Sample with Any Hot Drink\". At the bottom of this sign, elegant cursive announces, \"Open 7am - 6pm, Fresh bread out of the oven every morning!\" Around the storefront window, smaller notices display cheerful messages such as \"Custom Cakes for Every Occasion!\" All textual contents are neat, inviting, and highly readable, thoughtfully crafted to warmly welcome passersby.", "text": ["Sweet Bliss Bakery Happiness Freshly Baked Daily!", "Special For Today: Chocolate Croissants!", "Come Inside for a Free Sample with Any Hot Drink.", "Open 7am - 6pm, Fresh bread out of the oven every morning!", "Custom Cakes for Every Occasion!"], "text_length": 39, "prompt_id": 19}
{"category": "label", "length": "short", "prompt": "An organized botanical exhibition highlights various exotic plants displayed neatly on wooden tables and shelves, each accompanied by concise informational labels. A vivid purple orchid in the center has a clearly printed label reading \"Orchidaceae Miltonia\", subtitled with the smaller elegant script \"Native habitat: Brazilian rainforest\". Surrounding plants bear similar minimalist labels such as \"Succulent Echeveria: Sunlight Friendly\" and \"Bonsai Juniperus: Zen Garden Essential\". All textual explanations on labels are brief, natural, and presented in clear legible fonts, complementing the calm and informative atmosphere of the exhibition.", "text": ["Orchidaceae Miltonia", "Native habitat: Brazilian rainforest", "Succulent Echeveria: Sunlight Friendly", "Bonsai Juniperus: Zen Garden Essential"], "text_length": 15, "prompt_id": 20}
{"category": "label", "length": "short", "prompt": "A precise and professional laboratory setting clearly portrays various chemistry equipment, carefully organized and prominently displayed with distinct, easy-to-read labels across pristine white shelves and orderly lab benches. At the center of the scene prominently stands a transparent glass flask containing a bright blue liquid, clearly labeled in concise, bold lettering as \"Copper Sulfate Solution\", complemented neatly just below by smaller, precisely printed text reading \"0.5M Concentration\". Additional laboratory materials neatly arranged around are each accompanied by similarly clear and professionally printed labels, such as \"Ethanol 95%\", \"Hydrochloric Acid\", and \"Distilled Water\", effectively communicating safety information along with content descriptions. All textual elements are concise, distinctly legible, and expertly designed, creating an informative, organized, and scientifically rigorous atmosphere throughout the well-equipped laboratory.", "text": ["Copper Sulfate Solution", "0.5M Concentration.", "Ethanol 95%", "Hydrochloric Acid", "Distilled Water"], "text_length": 11, "prompt_id": 21}
{"category": "label", "length": "short", "prompt": "A brightly lit and spacious warehouse interior filled with neatly stocked wooden crates, sturdy cartons, and cardboard boxes methodically organized along tall, orderly shelves. Highlighted clearly at the center, a sizable cardboard box prominently features an easily readable, professionally printed label stating \"Organic Coffee Beans\", immediately catching the eye. Subtly placed just below, smaller but distinct lettering clarifies \"Origin: Ethiopia, Medium Roast\", providing succinct information. Additional nearby packages feature similarly concise and professional tags clearly displaying messages such as \"Premium Green Tea: Harvest 2023\", \"Raw Almonds\", and \"Wildflower Honey Pure & Unfiltered\", consistently conveying clear product details. All text labels are precise, concise, and visually inviting, reflecting the warehouse’s atmosphere of efficient organization, systematic clarity, and meticulous attention to detail.", "text": ["Organic Coffee Beans", "Origin: Ethiopia, Medium Roast", "Premium Green Tea: Harvest 2023", "Raw Almonds", "Wildflower Honey Pure & Unfiltered"], "text_length": 19, "prompt_id": 22}
{"category": "label", "length": "short", "prompt": "A lively and bustling outdoor farmers' market filled with enthusiastic shoppers leisurely browsing through vibrant stalls abundant with fresh produce and charming handmade goods. Each item is accompanied by clearly written handwritten labels, thoughtfully arranged for easy viewing. A particularly prominent and inviting label clearly reads \"Organic Wildflower Honey Raw & Unfiltered\", instantly catching the viewer's attention, accompanied neatly by a smaller, friendly note stating \"Harvested locally with care\". Surrounding this sign are other succinct, easily readable labels placed carefully next to their corresponding products, such as \"Handpicked Heirloom Tomatoes\", \"Artisan Whole Grain Bread\". Visitors warmly interact with vendors and happily explore the products, adding to the engaging, community-driven atmosphere of this inviting farmers' market.", "text": ["Organic Wildflower Honey Raw & Unfiltered", "Harvested locally with care.", "Handpicked Heirloom Tomatoes", "Artisan Whole Grain Bread"], "text_length": 17, "prompt_id": 23}
{"category": "label", "length": "short", "prompt": "A spacious, brightly illuminated museum exhibit room meticulously arranged with carefully displayed ancient artifacts. Individual items are thoughtfully accompanied by clear, concise labels that neatly identify their historical significance and origins. Particularly prominent is a beautifully crafted ceramic vase featuring the bold, clearly readable label \"Ancient Greek Vase, ca. 500 BCE\", with additional smaller text beneath stating \"Recovered from Athens excavation site\", providing helpful context. Other displays nearby feature similarly precise and clearly printed descriptive labels such as \"Egyptian Amulet\" and \"Mayan Jade Pendant, ceremonial use\", each neatly placed close to its artifact. These informative, professionally presented labels encourage visitors to engage meaningfully, enhancing the sense of historical appreciation and educational value within the serene museum environment.", "text": ["Ancient Greek Vase, ca. 500 BCE", "Recovered from Athens excavation site", "Egyptian Amulet", "Mayan Jade Pendant, ceremonial use"], "text_length": 18, "prompt_id": 24}
{"category": "label", "length": "short", "prompt": "A vibrant, bustling food festival filled with brightly decorated booths offering an enticing array of culinary delights. Central to the lively ambiance stands a prominently visible, charming chalkboard sign displaying clear handwritten lettering that reads \"Authentic Thai Street Noodles\", accompanied just below with smaller, neatly printed text stating \"Vegan & Gluten-Free Available\". Nearby, additional concise yet inviting chalkboard labels clearly identify other featured food offerings, including \"Homemade Italian Gelato\" and \"Fresh Argentinian Empanadas\", each sign professionally rendered with personality and clarity. These concise and visually appealing textual labels effectively capture attendees' attention, enticing them to actively interact with enthusiastic vendors, sample diverse flavors, and fully immerse themselves in the friendly, inviting atmosphere of the food festival.", "text": ["Authentic Thai Street Noodles", "Vegan & Gluten-Free Available", "Homemade Italian Gelato", "Fresh Argentinian Empanadas"], "text_length": 14, "prompt_id": 25}
{"category": "label", "length": "short", "prompt": "A spacious and vibrant contemporary art gallery displaying a curated selection of modern paintings and striking sculptures. Each art piece is clearly identified by neatly positioned labels, consistently and professionally printed. A prominent label distinctly identifies the central artwork as \"Echoes of Time by Amelia Hart, Oil on Canvas\", immediately drawing viewers' attention; smaller, carefully placed text beneath notes, \"Created in 2022\". Surrounding artworks feature equally concise, clear, and informative labels, such as \"Beyond Horizons by J. Rivera\", \"Fragmented Realities by L. Tanaka\", and \"Silent Reflections by M. Weber\". These informative textual labels encourage visitors to actively engage with and thoughtfully appreciate the diverse creative expressions showcased throughout the contemporary exhibit.", "text": ["Echoes of Time by Amelia Hart, Oil on Canvas", "Created in 2022.", "Beyond Horizons by J. Rivera", "Fragmented Realities by L. Tanaka", "Silent Reflections by M. Weber"], "text_length": 27, "prompt_id": 26}
{"category": "label", "length": "short", "prompt": "A tea shop filled with organized shelves displaying jars containing various tea blends. Each tea jar has elegantly handwritten rectangular labels neatly placed at the center front; the prominently visible label reads \"Summer Peach White Tea\", with slightly smaller descriptive text directly underneath stating \"Light floral notes with peach flavor\". Surrounding jars feature similarly styled labels arranged uniformly, including \"Chamomile Lavender Herbal Blend\" label. The textual contents on each jar's label are carefully aligned: tea names appear in larger and emphasized handwriting on the top, and concise descriptive phrases appear neatly beneath, creating a visually appealing and easily readable layout that attracts and informs visitors clearly.", "text": ["Summer Peach White Tea", "Light floral notes with peach flavor", "Chamomile Lavender Herbal Blend"], "text_length": 14, "prompt_id": 27}
{"category": "label", "length": "short", "prompt": "An interactive exhibits at a renewable energy educational center. Detailed panels clearly feature neatly printed information labels; one prominent, readable label placed on a solar energy model reads \"Photovoltaic Solar Panel\", directly accompanied by smaller explanatory bullet points stating clearly beneath \"Converts sunlight to electricity\". Nearby, additional neatly arranged labels include detailed descriptive contents such as \"Horizontal-Axis Wind Turbine commonly used worldwide\". All labels are precisely worded, easily readable, and positioned strategically, clearly helping visitors grasp important renewable energy concepts and operations effectively.", "text": ["Photovoltaic Solar Panel", "Converts sunlight to electricity", "Horizontal-Axis Wind Turbine commonly used worldwide"], "text_length": 13, "prompt_id": 28}
{"category": "label", "length": "short", "prompt": "A historical transportation museum featuring classic vintage cars displayed along a spacious exhibit hall. Beside each car stands a neatly arranged, upright rectangular information panel. The textual layout of these panels follows a clear hierarchy: at the top, the vehicle name is prominently positioned in bold and slightly larger font, such as \"1957 Chevrolet Bel Air Convertible\"; directly underneath in a smaller font is a descriptive phrase clearly stating \"American classic celebrated for iconic styling\"; at the bottom of each panel in a smaller, concise format are listed key facts neatly aligned in bullet points, like \"Engine: V8, 283 cubic inches\". Neighboring vehicles follow an identical clear labeling layout, such as \"1964 Ford Mustang Coupe\" boldly at top, accompanied below by descriptive and factual details presented in consistent visual alignment, enabling visitors to comfortably view and absorb information easily.", "text": ["1957 Chevrolet Bel Air Convertible", "American classic celebrated for iconic styling", "Engine: V8, 283 cubic inches", "1964 Ford Mustang Coupe"], "text_length": 20, "prompt_id": 29}
{"category": "label", "length": "long", "prompt": "An organized laboratory workspace containing several scientific instruments neatly arranged on counters and shelves. Each item has clear informative tags, labels, or notes attached. Prominently displayed at the center is a larger tag clearly stating, \"Samples Highly Sensitive\", printed in bold, legible text. Surrounding this central instruction, smaller labels identify various items clearly and neatly: \"Micropipette Calibration Checked\", \"Ethanol Solution 70%\", and \"Biological Specimen Refrigerate Immediately After Analysis\". Each textual label is distinct, precise, and professionally printed, contributing to the laboratory's structured and meticulous atmosphere.", "text": ["Samples Highly Sensitive", "Micropipette Calibration Checked", "Ethanol Solution 70%", "Biological Specimen Refrigerate Immediately After Analysis."], "text_length": 15, "prompt_id": 30}
{"category": "label", "length": "long", "prompt": "A museum exhibit displaying ancient pottery artifacts placed carefully behind clear glass. Multiple pottery vessels and tools have clear labels identifying their historical origins. Prominently at the center is a rectangular text panel reading \"Pottery Artifacts Showcasing Ancient Craftsmanship from the Early Bronze Age\" in clear letters. Additional smaller labels attached directly near each artifact provide concise information, including \"Ceramic Vessel - Circa 2100 BC\", \"Decorated Clay Bowl\", and \"Ritual Vessel from the Indus Valley Civilization\". All the textual labels are neatly printed and clearly legible, giving an educational and informative appearance to the exhibit.", "text": ["Pottery Artifacts Showcasing Ancient Craftsmanship from the Early Bronze Age", "Ceramic Vessel - Circa 2100 BC", "Decorated Clay Bowl", "Ritual Vessel from the Indus Valley Civilization"], "text_length": 26, "prompt_id": 31}
{"category": "label", "length": "long", "prompt": "A neatly arranged grocery store shelf fully stocked with fresh, attractively packaged food products, creating an inviting shopping experience. Clearly printed labels and tags are uniformly styled and professionally designed for readability and visual appeal. At the central focal point, a prominent rectangular label distinctly announces, \"Organic Honey harvested locally for authentic natural flavor\", instantly conveying the product's quality and natural origin. Nearby, smaller yet equally clear labels deliver concise descriptions for adjacent items, including \"Pure Maple Syrup - Grade A\", \"Raw Almond Butter\", and \"100% Handcrafted Strawberry Jam\", effectively highlighting the market's commitment to healthful, wholesome products. All labels are thoughtfully positioned, consistent in appearance, and easily legible, contributing to an atmosphere of clarity, freshness, and mindful shopping.", "text": ["Organic Honey harvested locally for authentic natural flavor", "Pure Maple Syrup - Grade A", "Raw Almond Butter", "100% Handcrafted Strawberry Jam"], "text_length": 21, "prompt_id": 32}
{"category": "label", "length": "long", "prompt": "A neatly arranged warehouse aisle illuminated clearly, displaying stacks of carefully positioned cardboard boxes and securely packaged items. Uniformly printed, professional labels are prominently attached, visibly noting handling precautions. At the center, an easily readable rectangular sign clearly states \"Caution: Fragile items, keep upright during transport\", immediately drawing attention. Positioned neatly nearby, smaller labels provide further concise instruction, reading \"Electronic Components\", \"Glass Bottles Fragile Contents\", and \"Medical Supplies Temperature Sensitive\", each clearly legible and informative. These clearly printed labels are uniformly styled and thoughtfully placed, effectively emphasizing careful handling requirements and enhancing the warehouse's atmosphere of efficiency, safety, and organized professionalism.", "text": ["Caution: Fragile items, keep upright during transport", "Electronic Components", "Glass Bottles Fragile Contents", "Medical Supplies Temperature Sensitive"], "text_length": 17, "prompt_id": 33}
{"category": "label", "length": "long", "prompt": "An inviting and meticulously organized botanical garden exhibit featuring a variety of beautiful plants clearly identified by neatly printed informational labels. Prominently positioned at the center is a rectangular, easily readable tag stating, \"Rare Orchid Species Preserve carefully and avoid direct sunlight exposure\", highlighting critical plant care instructions. Surrounding plants each carry smaller, carefully arranged labels with concise yet informative descriptions such as \"Succulents Low Water Need\", \"Tropical Fern Thrives in Humidity\", and \"Alpine Moss Cold Compatible\", thoughtfully presented for visitors. All textual tags are clearly legible, uniformly styled, and professionally printed, further enhancing the educational ambiance and emphasizing the garden's dedication to providing precise plant care knowledge in a clear, accessible manner.", "text": ["Rare Orchid Species Preserve carefully and avoid direct sunlight exposure", "Succulents Low Water Need", "Tropical Fern Thrives in Humidity", "Alpine Moss Cold Compatible"], "text_length": 23, "prompt_id": 34}
{"category": "label", "length": "long", "prompt": "A contemporary, neatly organized electronics store display featuring sleek tech gadgets precisely positioned on pristine white shelving, designed for clear visibility and interaction. Prominently showcased at the center is a modern smartphone clearly labeled \"Next-Gen Ultra 5G\", capturing attention instantly, complemented beneath by smaller, precise text stating \"Seamless Speed, Infinite Possibilities\" to succinctly highlight the device's key features. Adjacent devices share similarly minimalist yet informative labels such as \"Wireless Earbuds Pro\", \"Smartwatch Series X\", and \"Eco Friendly Charger\", each tag professionally printed and easy to read. These concise and uniform textual labels emphasize clarity and accessibility, complementing and enhancing the store's clean, organized, and sophisticated technological atmosphere.", "text": ["Next-Gen Ultra 5G", "Seamless Speed, Infinite Possibilities", "Wireless Earbuds Pro", "Smartwatch Series X", "Eco Friendly Charger"], "text_length": 16, "prompt_id": 35}
{"category": "label", "length": "long", "prompt": "Visitors actively browsing a science exhibition showcasing meticulously presented minerals and crystal specimens displayed within illuminated glass cases. Each specimen is accompanied by detailed, easy-to-read informational labels; one prominent label reads clearly \"Amethyst Quartz Crystal Cluster, Minas Gerais, Brazil\" with smaller subtext stating clearly beneath, \"Formed approximately 130 million years ago\". Other informative labels nearby precisely note items such as \"Azurite with Malachite\", \"Opalized Wood Fossil Lightning Ridge, 100 million years\", and \"Fluorite Octahedron Crystals, Hunan Province, China\". These neatly printed, concise labels effectively captivate and educate viewers, enhancing their interaction and understanding as they admire the displayed mineral specimens.", "text": ["Amethyst Quartz Crystal Cluster, Minas Gerais, Brazil", "Formed approximately 130 million years ago.", "Azurite with Malachite", "Opalized Wood Fossil Lightning Ridge, 100 million years", "Fluorite Octahedron Crystals, Hunan Province, China."], "text_length": 30, "prompt_id": 36}
{"category": "label", "length": "long", "prompt": "A detailed exhibit at a marine biodiversity museum, observing various realistic ocean life models mounted on illuminated displays. Each specimen has neat, clearly readable informational labels; one stands prominently in front of a large shark replica reading \"Great White Shark (Carcharodon carcharias)\", beneath which smaller explanatory text states \"Length: up to 6 meters\", \"Habitat: Coastal waters worldwide\". Additional concise and informative labels nearby include \"Leatherback Sea Turtle - Largest Sea Turtle\", \"Pacific Giant Octopus\", and \"Lion's Mane Jellyfish\", engaging visitors by clearly highlighting intriguing biological facts.", "text": ["Great White Shark (Carcharodon carcharias)", "Length: up to 6 meters", "Habitat: Coastal waters worldwide.", "Leatherback Sea Turtle - Largest Sea Turtle", "Pacific Giant Octopus", "Lion's Mane Jellyfish"], "text_length": 27, "prompt_id": 37}
{"category": "label", "length": "long", "prompt": "A minimalist-style modern bakery showcasing an elegant display case filled with freshly made desserts and pastries. Each dessert item has neatly designed labels placed uniformly at the front base of the glass display. At the very top, clearly centered, bolded text on a signboard displays the pastry's name \"Strawberry Cheesecake Tart\"; directly beneath this in slightly smaller, italicized font is a concise flavor description like \"Creamy cheesecake topped with fresh strawberries\"; positioned neatly at the label's bottom corner, clearly aligned to the right side, is the price marked neatly as \"$4.50\". All dessert labels in the bakery have this consistent layout, including items like \"Chocolate Hazelnut\" with the descriptive phrase \"Filled with rich hazelnut cream and dark chocolate glaze\", and \"Matcha Green Tea Macaron\" paired with the descriptive line \"Delicate macaron infused with premium Japanese Matcha\", creating a simple yet visually appealing textual presentation that makes browsing easy and pleasant for customers.", "text": ["Strawberry Cheesecake Tart", "Creamy cheesecake topped with fresh strawberries", "$4.50", "Chocolate Hazelnut", "Filled with rich hazelnut cream and dark chocolate glaze", "Matcha Green Tea Macaron", "Delicate macaron infused with premium Japanese Matcha"], "text_length": 32, "prompt_id": 38}
{"category": "label", "length": "long", "prompt": "Families and children enjoying a lively zoo exhibit displaying diverse wildlife habitats behind clear viewing panels and enclosures. Each animal enclosure includes neatly printed informational labels; one prominent label clearly reads \"Red Panda\", with smaller descriptive text below stating \"Diet: Primarily bamboo; Habitat: Himalayan forests\". Other concise yet clearly readable nearby labels include \"African Meerkat, Highly Social, Desert Dwelling\", \"Ring-tailed Lemur, Native to Madagascar\", and \"Snow Leopard, Endangered Mountain Predator\". The detailed text on labels enhances visitor engagement, fostering curiosity and deeper appreciation of wildlife diversity.", "text": ["Red Panda", "Diet: Primarily bamboo; Habitat: Himalayan forests.", "African Meerkat, Highly Social, Desert Dwelling", "Ring-tailed Lemur, Native to Madagascar", "Snow Leopard, Endangered Mountain Predator."], "text_length": 24, "prompt_id": 39}
{"category": "print", "length": "short", "prompt": "An elegantly arranged vintage travel-themed desktop scene highlighting an intricately detailed printed postcard, surrounded by various nostalgic travel accessories such as an antique compass, leather-bound journals, vintage stamps, and faded travel tickets. At the center of the composition, the beautiful postcard prominently features stylish cursive handwriting reading \"Greetings from Florence, the city of art and dreams\", neatly placed just below a detailed artistic illustration of the iconic Florence Cathedral dome. The textual content appears carefully handwritten, slightly tilted for realism, in classic black ink, clear and gracefully legible with subtle fluid strokes. Around the postcard lie scattered vintage train tickets reading brief notes such as \"One-Way Ticket: Rome to Florence\" and \"Valid Date: May 18, 1954\", accentuating the theme of classic European travel. Slightly worn edges and soft shadows emphasize the nostalgic look, capturing the sentimental essence of vintage letter-writing and romantic European journeys.", "text": ["Greetings from Florence, the city of art and dreams", "One-Way Ticket: Rome to Florence", "Valid Date: May 18, 1954"], "text_length": 19, "prompt_id": 40}
{"category": "print", "length": "short", "prompt": "A bright, welcoming bakery interior, captured in warm, soft morning light, showcasing an appealing, rustic wooden-framed chalkboard menu placed prominently against a white brick wall. At the center of the chalkboard, in large, elegant hand-drawn lettering, reads clearly \"Today's Specials: Sourdough Bread & Cinnamon Rolls\". Just below this central message, smaller text neatly notes \"Freshly baked every morning\". At the top right corner of the chalkboard, subtly written in a playful cursive handwriting, are the words \"Homemade with Passion\". Around the borders of the menu, slightly faded and vintage-inspired illustrations of wheat stalks and pastries subtly frame the text, enhancing the artisanal bakery atmosphere. Beside the main chalkboard stands a smaller wooden sign, on which handwritten text reads \"Free samples available!\", accompanied by a decorative arrow directing customers toward the display counter. The textual elements are distinct, stylish, and naturally handwritten, evoking a genuine, artisanal feel, perfectly complementing the inviting bakery ambiance.", "text": ["Today's Specials: Sourdough Bread & Cinnamon Rolls", "Freshly baked every morning", "Homemade with Passion", "Free samples available!"], "text_length": 17, "prompt_id": 41}
{"category": "print", "length": "short", "prompt": "An elegant, vintage-style wedding invitation arrangement placed gently upon a delicate ivory lace runner, softly illuminated by natural afternoon sunlight. The invitation card, crafted from fine-textured cream-colored paper with subtle floral embossing patterns along its edges, sits centrally in the frame. At its heart, clearly visible in sophisticated calligraphy, the words read \"Together with their families, Amelia and Jonathan joyfully invite you to their wedding celebration\". Slightly beneath this central text, a smaller script gracefully adds \"Saturday, the tenth of June, Two thousand twenty-three\". At the bottom right corner of the invitation, another line in smaller, delicate cursive mentions \"Reception immediately following the ceremony\". Surrounding the invitation card are matching stationery items like faded RSVP cards elegantly labeled \"Kindly reply by May fifteenth\", vintage postage stamps, and antique pearl accessories. Each textual component is distinctly elegant, fluidly handwritten with a gentle artistic flourish, enhancing the sophisticated, romantic theme of the arrangement.", "text": ["Together with their families, Amelia and Jonathan joyfully invite you to their wedding celebration", "Saturday, the tenth of June, Two thousand twenty-three", "Reception immediately following the ceremony", "Kindly reply by May fifteenth"], "text_length": 32, "prompt_id": 42}
{"category": "print", "length": "short", "prompt": "A beautifully detailed old-style railway ticket printed on subtle beige cardstock bearing crisp, distinct typography. Clearly centered on the ticket are the words \"Grand Central Express - One Way Journey\", printed prominently with an elegant serif font. Slightly below this main text, smaller yet clearly readable lettering states \"Departure: New York Arrival: Chicago\". In the lower-left section of the ticket, delicately printed details show \"Seat No. 23 Date: October 12, 1947\". Around this central travel ticket, there are vintage postcards adorned with handwritten notes reading \"Wish you were here!\", faded envelopes stamped with ink inscriptions \"Air Mail - Handle with Care\", and a partially unfolded map neatly labeled at the corner as \"Railroad Routes & Connections\". Each item has clearly legible, thoughtfully arranged textual content with gentle frayed edges or subtle folds, perfectly capturing an authentic, nostalgic travel aesthetic.", "text": ["Grand Central Express - One Way Journey", "Departure: New York Arrival: Chicago", "Seat No. 23 Date: October 12, 1947", "Wish you were here!", "Air Mail - Handle with Care", "Railroad Routes & Connections"], "text_length": 33, "prompt_id": 43}
{"category": "print", "length": "short", "prompt": "A beautifully illustrated botanical calendar placed neatly on a rustic wooden surface accompanied by stationary items like antique scissors, dried flowers, vintage paper clips, and softly wrinkled envelopes. Prominently displayed at the center of the calendar page, elegant handwritten-style type clearly reads \"September - Embrace the Season of Change\", gracefully scripted in dark sepia tones. Slightly beneath this main message, smaller yet distinctly legible lettering thoughtfully mentions \"Autumn Equinox: September 23rd\". On the lower right corner of the same page, subtle cursive writing delicately adds \"Illustrated by Eleanor Paige\". Surrounding the calendar are charming handwritten notes on faded paper snippets saying \"Harvest olives this weekend!\", vintage envelopes carefully labeled \"Family Recipes\", and small personalized message cards gently inked with \"Warm autumn wishes\". Every textual element within the scene is distinctly clear, thoughtfully arranged, and finely handwritten, collectively enhancing the nostalgic and intimate autumn-inspired atmosphere.", "text": ["September - Embrace the Season of Change", "Autumn Equinox: September 23rd", "Illustrated by Eleanor Paige", "Harvest olives this weekend!", "Family Recipes", "Warm autumn wishes"], "text_length": 24, "prompt_id": 44}
{"category": "print", "length": "short", "prompt": "An elegantly printed antique hardcover book featuring a leather-textured deep burgundy cover. Clearly embossed at the center in refined gold typography reads \"Collected Poems: Whisperings of the Heart\", distinctly legible and gracefully detailed. Slightly beneath this prominent title, smaller yet clearly readable lettering neatly states \"By Margaret L. Bishop\". In the lower corner, subtly printed in delicate script, the text softly adds \"First Edition · 1928\". Surrounding this central book are aged postcards, carefully inscribed handwritten notes reading \"Treasured memories always\", vintage bookmarks bearing faded script \"Enjoy each chapter of life\", and small parchment labels gently stamped as \"From the Personal Library of Henry T. Archer\". Each textual element visible within the arrangement is thoughtfully presented, authentically vintage in appearance, clearly legible, and elegantly designed, collectively evoking a deeply personal, timeless, and literary ambiance.", "text": ["Collected Poems: Whisperings of the Heart", "By Margaret L. Bishop", "First Edition · 1928", "Treasured memories always", "Enjoy each chapter of life", "From the Personal Library of Henry T. Archer"], "text_length": 30, "prompt_id": 45}
{"category": "print", "length": "short", "prompt": "A vintage letter on slightly yellowed parchment paper, visibly folded, adorned with faint, delicate crease-lines. Prominently centered in clear, elegant handwriting, the words on the letter distinctly read \"My Dearest Elizabeth, thinking fondly of you always\". Slightly below this main inscription, smaller yet still clearly legible script elegantly adds \"London, April 12th, 1885\". Neatly placed at the lower-right corner of the paper, in soft cursive lettering, the words subtly state \"Forever yours, James\". Gracefully scattered around the letter are vintage postal stamps bearing softly printed inscriptions \"3 Pence\", aged envelopes gently addressed \"Miss Elizabeth Whitmore, Oxfordshire\", and delicate stationery notes faintly labeled with inked words \"Cherished Sentiments\". All textual details within the scene appear handwritten, authentic, thoughtfully spaced, and visually refined, enhancing the nostalgic and romantic historic postal atmosphere.", "text": ["My Dearest Elizabeth, thinking fondly of you always", "London, April 12th, 1885", "Forever yours, James", "3 Pence", "Miss Elizabeth Whitmore, Oxfordshire", "Cherished Sentiments"], "text_length": 23, "prompt_id": 46}
{"category": "print", "length": "short", "prompt": "A lightly yellowed receipt, clearly printed in elegantly faded serif lettering reads \"Cafe Belle Epoque\", visibly legible and gracefully centered. Slightly below the cafe name, smaller yet distinct text softly states \"Date: May 14, 1932\". At the bottom edge, in simple and evenly spaced numbers, the receipt subtly notes \"Total: 2.40 Francs\". Surrounding this printed slip are softly blurred background details including vintage sugar cubes, an ornate dish, and petite dried lavender sprigs. All textual components on the receipt are distinctly printed in refined vintage typography, clearly legible yet minimal, thoughtfully enhancing the scene's gentle nostalgic cafe ambiance.", "text": ["Cafe Belle Epoque", "Date: May 14, 1932", "Total: 2.40 Francs"], "text_length": 10, "prompt_id": 47}
{"category": "print", "length": "short", "prompt": "A pair of vintage-style concert tickets placed casually beside an antique brass key and softly scattered dried flower petals. Clearly printed in elegant, slightly faded serif typography at the center of each ticket reads \"Summer Jazz Evening\", distinctly legible in dark ink against soft beige cardstock. Below this title, smaller yet neatly visible text subtly notes \"Admit One - July 8th, 1959\". At the right edge of the tickets, gently perforated sections bear minimalistic numbering \"Seat No. 14\" and \"Seat No. 15\". The printed typography on both tickets appears authentic, lightly worn, carefully aligned, and naturally readable, gracefully emphasizing the nostalgic charm and timeless atmosphere of the vintage musical event.", "text": ["Summer Jazz Evening", "Admit One - July 8th, 1959", "Seat No. 14", "Seat No. 15"], "text_length": 15, "prompt_id": 48}
{"category": "print", "length": "short", "prompt": "A vintage-style botanical seed packet gently placed atop an antique gardening journal, beside rustic terracotta pots, gardening twine, and delicate dried lavender stems. Centered neatly on the softly worn paper packet, elegant yet minimalistic printed text clearly reads \"English Lavender Seeds\", distinctly legible in simple, vintage serif typography. Slightly below this main text, smaller-sized lettering softly indicates \"Heirloom Variety - Est. 1925\". At the bottom edge of the packet, subtle and minimal print gracefully notes \"Net Wt. 2 grams\". The textual content on the seed packet is carefully printed, gentle in appearance, naturally legible, maintaining clarity and simplicity that enhances the overall nostalgic and tranquil gardening atmosphere.", "text": ["English Lavender Seeds", "Heirloom Variety - Est. 1925", "Net Wt. 2 grams"], "text_length": 12, "prompt_id": 49}
{"category": "print", "length": "long", "prompt": "A cozy, rustic-themed handwritten chalkboard menu of a coffee shop. The main section of the menu board reads \"Freshly Brewed Coffee & Homemade Pastries\" in clear, elegant script. At the top corner of the same board, a smaller cursive note reads \"Served with Love Daily\". Below these central texts, smaller lettering lists \"Open 7 am - 4 pm\" and \"Daily Specials Available Inside\". Additional vintage-inspired signs nearby offer inviting messages such as \"Coffee warms the soul\", \"Fresh pastries baked daily\", and \"Hot chocolate perfection\". The texts are carefully designed, neatly spaced, clear, and visually inviting, enhancing the cozy, welcoming ambiance of the cafe.", "text": ["Freshly Brewed Coffee & Homemade Pastries", "Served with Love Daily", "Open 7 am - 4 pm", "Daily Specials Available Inside", "Coffee warms the soul", "Fresh pastries baked daily", "Hot chocolate perfection"], "text_length": 31, "prompt_id": 50}
{"category": "print", "length": "long", "prompt": "A vintage-style travel brochure resting comfortably on a rustic wooden desk. The brochure, unfolded and slightly creased, prominently features a nostalgic title reading \"Explore the Historic Wonders of Venice!\" at the center-top. Beneath the title, smaller text elegantly scripted in cursive states, \"Your unforgettable journey through canals, culture and coffee awaits\". Further below, detailed text in a neat serif font describes the itinerary, reading clearly: \"Begin your mornings with authentic espresso in charming cafes, step onto romantic gondolas gliding through picturesque waterways, and admire the Renaissance masterpieces in hidden churches\"., encouraging urgency and booking. An illustrated map of Venice's famous canals and landmarks decorates the background, adding context and visual intrigue to the brochure content.", "text": ["Explore the Historic Wonders of Venice!", "Your unforgettable journey through canals, culture and coffee awaits.", "Begin your mornings with authentic espresso in charming cafes, step onto romantic gondolas gliding through picturesque waterways, and admire the Renaissance masterpieces in hidden churches."], "text_length": 40, "prompt_id": 51}
{"category": "print", "length": "long", "prompt": "A crisp, neatly printed restaurant menu crafted from smooth ivory-colored cardstock, framed by a tasteful gold decorative border featuring subtle leafy motifs. Boldly positioned at the top-center in refined serif typography reads the restaurant's name: \"The Garden Bistro\". Directly below this title, in slightly smaller italicized script, is the inviting tagline: \"Fresh Ingredients, Authentic Flavors, Memorable Moments\". Further down, the menu divides into three clear sections organized vertically: \"Starters\", \"Main Courses\", and \"Desserts\", each heading appearing in stylish uppercase text, accented by thin underline arrangements. Under \"Starters\", descriptive sentences clearly list items such as \"Roasted Tomato & Basil Bruschetta – oven-fresh ciabatta topped with ripe tomatoes, garlic-infused olive oil and aromatic basil\", In the central part, under \"Main Courses\", detailed yet concise descriptions feature dishes like \"Pan-Seared Salmon Fillet – perfectly tender salmon served with sauteed asparagus, lemon dill sauce, and rosemary potatoes\", The bottom third of the menu presents \"Desserts\", featuring highlighted selections such as \"Classic Vanilla Bean Creme Brulee – smooth vanilla custard topped with caramelized sugar crust\". Overall, textual elements are precisely aligned and comfortably spaced, ensuring readability and an appealing visual flow.", "text": ["The Garden Bistro.", "Fresh Ingredients, Authentic Flavors, Memorable Moments.", "Starters", "Main Courses", "Desserts", "Starters", "Roasted Tomato & Basil Bruschetta – oven-fresh ciabatta topped with ripe tomatoes, garlic-infused olive oil and aromatic basil", "Main Courses", "Pan-Seared Salmon Fillet – perfectly tender salmon served with sauteed asparagus, lemon dill sauce, and rosemary potatoes", "Desserts", "Classic Vanilla Bean Creme Brulee – smooth vanilla custard topped with caramelized sugar crust."], "text_length": 66, "prompt_id": 52}
{"category": "print", "length": "long", "prompt": "An elegant theatre ticket printed on soft cream-colored cardstock with gently rounded corners, bordered by an intricate navy-blue floral pattern. At the ticket's upper-left corner, neatly arranged in small serif letters reads clearly, \"Grand Theatre Presents\". Directly beneath this, prominently placed in bold, elegant script across the top central section, stands the title of the performance: \"Evening Serenade\". In the mid-section of the ticket, aligned neatly to the right in clear, serif text, detailed lines present the event specifics. The first line says straightforwardly, \"Date: Saturday, 22 April 2023\", followed immediately underneath with \"Time: Doors Open at 6:30 PM, Commencing at 7:00 PM\". Below these lines reads \"Seat: Balcony, Row E, Seat 17\", precisely detailing seating arrangements. Toward the bottom-left section of the ticket is a smaller, italicized note that politely advises attendees: \"Please present this ticket at entrance. Late admittance may disrupt the performance\". At the lower-right corner, positioned neatly, a subtle yet readable text states clearly the ticket price: \"Admission: £45.00\". Overall, all textual contents are precisely organized, visually balanced, and comfortably spaced, providing a pleasant and straightforward reading experience.", "text": ["Grand Theatre Presents.", "Evening Serenade.", "Date: Saturday, 22 April 2023", "Time: Doors Open at 6:30 PM, Commencing at 7:00 PM.", "Seat: Balcony, Row E, Seat 17", "Please present this ticket at entrance. Late admittance may disrupt the performance.", "Admission: £45.00."], "text_length": 40, "prompt_id": 53}
{"category": "print", "length": "long", "prompt": "A vintage certificate printed elegantly on heavy parchment paper. The perimeter of the certificate features a refined decorative border in dark green with ornate leafy motifs and intricate curls. Centered prominently at the top of the page, in classic serif font, is the title \"Certificate of Achievement\". Beneath this heading, presented clearly in smaller italicized lettering, reads the subtitle: \"Awarded in recognition of exceptional commitment and outstanding performance\". Below this subtitle, positioned neatly at the center, the recipient's name stands out boldly in a distinguished cursive script, stating: \"Presented to Ms. Amelia Johnson\". Underneath the individual's name, in carefully aligned sentences of smaller serif typography, appears the description: \"For exemplary contributions, tireless effort, and dedicated service in the advancement of community literacy projects throughout 2023\". At the lower left portion of the certificate, precisely aligned text provides the date of issuance: \"Awarded this 10th day of December, 2023\". The certificate's textual arrangement is carefully balanced and thoughtfully spaced, ensuring clarity, formality, and visual elegance.", "text": ["Certificate of Achievement.", "Awarded in recognition of exceptional commitment and outstanding performance.", "Presented to Ms. Amelia Johnson.", "For exemplary contributions, tireless effort, and dedicated service in the advancement of community literacy projects throughout 2023.", "Awarded this 10th day of December, 2023."], "text_length": 41, "prompt_id": 54}
{"category": "print", "length": "long", "prompt": "A neatly unfolded vintage city map. Its corners slightly creased from age and frequent use. At the top center, in distinct serif fonts, clearly printed text reads prominently: \"Explore our Charming Streets and Landmarks!\" Immediately underneath this title, in smaller italicized letters, the tagline neatly states, \"A guide to the best sights, tastes, and hidden corners of Charleston, South Carolina\". In the map's lower-left corner, clearly structured in a boxed legend labeled \"Map Key\" in uppercase letters, concise yet readable sentences explain, \"Historic Sites\", \"Restaurants & Cafes\", \"Parking Areas\". To the right side of the map, aligned vertically and organized neatly, a list in tidy serif typeface titled \"Must-Visit Destinations\" features several concise descriptions, such as: \"City Market – bustling local market offering handmade crafts\", and \"Waterfront Park – iconic pineapple fountain\". At the map's lower-right corner, clearly legible directions read, \"For more information or guided tours, please visit our information booth on Meeting Street. Call us at 555-0162\". Each textual section is thoughtfully laid out, comfortably spaced, and easy to follow, creating an attractive and informative visual narrative.", "text": ["Explore our Charming Streets and Landmarks!", "A guide to the best sights, tastes, and hidden corners of Charleston, South Carolina.", "Map Key", "Historic Sites", "Restaurants & Cafes", "Parking Areas", "Must-Visit Destinations", "City Market – bustling local market offering handmade crafts", "Waterfront Park – iconic pineapple fountain.", "For more information or guided tours, please visit our information booth on Meeting Street. Call us at 555-0162."], "text_length": 64, "prompt_id": 55}
{"category": "print", "length": "long", "prompt": "A slightly weathered old postcard bathed in warm golden sunlight from a nearby window. The postcard's surface is divided into two vertical halves: on the left, occupying approximately two-thirds of the vertical space, a brief message handwritten elegantly in dark blue ink softly fills the area. At the very top, written the greeting, \"Dear Emily\",. Just below the greeting, clear handwriting continues: \"Paris is as lovely as we dreamed, with charming little bakeries and cafes lining every street. Yesterday, we visited the Louvre and spent hours marveling at the paintings. Missing you greatly and hoping you can join me here one day soon!\" At the bottom right corner, the closing phrase, \"Warmest wishes, Clara\", is signed off gracefully. On the right third of the postcard's reverse side, the recipient's mailing address is neatly handwritten: \"Miss Emily Carter, 28 Rosewood Avenue, Bath, Somerset, BA2 3JN, England\". Above the address lines, printed text states softly in uppercase serif font \"PLACE STAMP HERE\". The textual elements are clearly arranged and visually balanced, evoking warmth through its organized yet personal presentation.", "text": ["Dear Emily", "Paris is as lovely as we dreamed, with charming little bakeries and cafes lining every street. Yesterday, we visited the Louvre and spent hours marveling at the paintings. Missing you greatly and hoping you can join me here one day soon!", "Warmest wishes, Clara", "Miss Emily Carter, 28 Rosewood Avenue, Bath, Somerset, BA2 3JN, England.", "PLACE STAMP HERE."], "text_length": 60, "prompt_id": 56}
{"category": "print", "length": "long", "prompt": "A neatly printed boarding pass printed on crisp white paper stock with rounded corners and a distinct navy-blue stripe running horizontally across its top. Within this top stripe, clearly visible in bold uppercase sans-serif letters, is the airline's name: \"SKYLINK AIRWAYS\". Immediately above this, at the upper-right corner, a smaller, easily readable phrase states neatly: \"Economy Class\". Lines of neat serif text read carefully: \"Passenger: Jonathan Walters\", followed directly below by \"Flight: SK 312\", and further below, \"Date: Monday, 15 May 2023\". On the right side, positioned precisely opposite these details, sentences present specific boarding instructions, aligned vertically and carefully spaced for clarity. The texts clearly read: \"Gate: B14\", beneath which it specifies \"Boarding Time: 09:35 AM\", followed neatly by \"Seat: 23A\", and \"Departure: 10:10 AM\". At the lower portion of the boarding pass, horizontally centered, additional clear yet concise text in smaller font advises the passenger: \"Please arrive at gate at least 30 minutes before boarding. Boarding gates close strictly 10 minutes before departure time\". Each textual component is cleanly printed, logically structured, and clearly legible, facilitating effortless readability and efficient visual comprehension.", "text": ["SKYLINK AIRWAYS", "Economy Class", "Passenger: Jonathan Walters", "Flight: SK 312", "Date: Monday, 15 May 2023", "Gate: B14", "Boarding Time: 09:35 AM", "Seat: 23A", "Departure: 10:10 AM", "Please arrive at gate at least 30 minutes before boarding. Boarding gates close strictly 10 minutes before departure time."], "text_length": 45, "prompt_id": 57}
{"category": "print", "length": "long", "prompt": "An elegant wedding invitation card softly lit by warm afternoon sunlight. The rectangular invitation is crafted from premium ivory-colored cardstock with lightly textured finish and rounded corners, bordered beautifully by a subtle silver floral vine design. At the very top center, prominently printed in a tasteful cursive script, appears the opening line \"Together With Their Families\". Centered just beneath it in bold yet graceful serif lettering, the couple's names read clearly: \"Charlotte Anne Parker and Benjamin Ethan Brooks\". Directly below in smaller italic text, the invitation warmly states a concise sentence: \"Joyfully request the pleasure of your company as they celebrate their marriage\". Slightly lower, neatly arranged in elegant serif typography, details of the ceremony are structured carefully across multiple lines, stating clearly: \"Saturday, August 26th, 2023 at Four o'clock in the afternoon; Oakwood Manor Gardens, 2451 Willow Lake Road, Springfield, Illinois\". At the card's bottom central section, printed delicately in smaller italicized typeface, appears a brief courteous note: \"Reception to follow immediately at the Oakwood Manor Ballroom\". Each textual element is vertically aligned and symmetrically balanced, creating a refined, tidy layout that enhances readability and evokes an air of sophistication and romance.", "text": ["Together With Their Families.", "Charlotte Anne Parker and Benjamin Ethan Brooks.", "Joyfully request the pleasure of your company as they celebrate their marriage.", "Saturday, August 26th, 2023 at Four o'clock in the afternoon; Oakwood Manor Gardens, 2451 Willow Lake Road, Springfield, Illinois.", "Reception to follow immediately at the Oakwood Manor Ballroom."], "text_length": 51, "prompt_id": 58}
{"category": "print", "length": "long", "prompt": "A stylish notebook sits open on a rustic wooden desk, illuminated naturally by a nearby window. Embossed neatly on the center upper portion of the front cover, clearly readable in elegant serif font, is the inspirational phrase \"Dream. Plan. Achieve\". Opening the notebook reveals a tidy, structured layout on the crisp ivory pages within, with clearly printed black-lined sections designed to encourage organized notetaking. Each page prominently displays a concise heading at the top left corner reading \"Today's Priorities\", below which neatly spaced lines allow precise entries. To the right side of the pages midway down, a designated section titled \"Important Reminders\" provides clear bullet-points for convenience. Near the bottom edge, carefully aligned toward the left, subtle motivational text in simplistic italic script gently advises \"Remember: Small steps lead to big achievements\". All textual elements within the notebook are aligned clearly, visually balanced, and comfortably spaced, creating an organized, professional impression ideal for daily use.", "text": ["Dream. Plan. Achieve.", "Today's Priorities", "Important Reminders", "Remember: Small steps lead to big achievements."], "text_length": 14, "prompt_id": 59}
{"category": "webpage", "length": "short", "prompt": "An elegant and minimalist mobile application interface focused on mental health and mindfulness. The mobile screen showcases prominently centered textual content that reads: \"Clear your mind, nourish your soul, embrace calmness every day\". The text is composed in a soft, rounded, and easily readable typography, set against a calming pastel-colored background with muted gradient shades transitioning smoothly. Each phrase is separated slightly for emphasis and is accompanied by small, sleek icons symbolizing serenity and mindfulness placed strategically near the text, enhancing the overall interface theme. The app interface includes gentle graphic elements such as wave patterns and minimalistic design, creating a clean user experience and effectively bringing the textual message to life.", "text": ["Clear your mind, nourish your soul, embrace calmness every day."], "text_length": 10, "prompt_id": 60}
{"category": "webpage", "length": "short", "prompt": "An attractive and engaging website blog interface, showcasing a clean, organized layout designed in contemporary aesthetic style. At the top portion of the homepage is a bold, prominently centered heading that reads clearly: \"Discover Simple Habits to Boost Your Productivity and Inner Peace\". The text is set in modern sans-serif typography, easily readable, and featured in white over a visually appealing, softly blurred nature-themed header background. Directly below this heading is a navigation menu bar displaying clear and concise menu links labeled \"Home\", \"Articles\", \"Guides\", and \"Community\". Underneath the main heading, a minimalistic horizontal divider separates it from the detailed yet thoughtfully arranged post preview cards displayed neatly in two columns and multiple rows across the page. Each card features smaller preview images, descriptive titles, dates published, and author names, all aligned cohesively beneath the central textual content.", "text": ["Discover Simple Habits to Boost Your Productivity and Inner Peace.", "Home", "Articles", "Guides", "Community."], "text_length": 14, "prompt_id": 61}
{"category": "webpage", "length": "short", "prompt": "A modern social media platform interface displayed on a sleek smartphone screen. The interface has a clean, visually appealing design with minimalistic yet vibrant icons arranged precisely at the bottom navigation bar. At the center of the screen, a prominently displayed textual post can clearly be seen, reading: \"Travel far, experience more, unlock the adventure within your heart\". This central phrase is set in elegant yet bold typography, enhanced with a visually balanced contrast against a subdued gradient background image depicting blurred natural landscapes. Directly above the text, neatly positioned, is a user profile image accompanied by a username along with a subtle timestamp indicating when the post was made. Beneath the main textual content are interactive buttons and icons for user engagement, distinctly arranged horizontally to indicate functionality such as \"like\", \"comment\", and \"share\". The overall design approach emphasizes readability and visual harmony, guiding viewers' eyes naturally toward the compelling central text.", "text": ["Travel far, experience more, unlock the adventure within your heart.", "like", "comment", "share"], "text_length": 13, "prompt_id": 62}
{"category": "webpage", "length": "short", "prompt": "A sophisticated online blog homepage displayed on a bright, modern desktop screen, designed with a clear, contemporary layout. At the top of the interface, there is a visually pleasing horizontal navigation bar with neatly arranged links labeled \"Home\", \"Lifestyle\", \"Wellness\", and \"Contact\". Just below this navigation area is a featured section prominently showing textual content that reads: \"Simple Steps to Help You Live Sustainably and Improve Wellbeing Daily\". The main text is presented in bold and inviting serif typography to attract immediate attention, set in dark colors against a minimalistic, pastel-toned backdrop. Below this headline, organized vertically, are neatly aligned article preview cards, each containing a small preview image, article titles, author names, and publication dates. Soft, subtle separators visually structure each section, creating a harmonious design that highlights the central textual message.", "text": ["Home", "Lifestyle", "Wellness", "Contact", "Simple Steps to Help You Live Sustainably and Improve Wellbeing Daily."], "text_length": 15, "prompt_id": 63}
{"category": "webpage", "length": "short", "prompt": "A polished and user-friendly mobile app interface centered around personal health tracking, set against a calming, softly gradient-colored background for visual pleasantness. At the top of the screen, neatly positioned icons for \"Home\", \"Progress\", and \"Profile\" create easy navigation, enhanced by subtle smooth transitions between each icon. Positioned clearly at the center of the screen is an expressive textual message, written in readable, rounded typography that reads: \"Track your habits, enhance your wellness, embrace a healthier lifestyle\". Beneath this central text section, organized horizontally, there are compact information cards displaying daily progress, reminders, and useful statistics. Each card contains intuitive icons and concise numerical data, giving the layout a naturally balanced, coherent and engaging visual flow directing the user's attention immediately toward the central textual statement.", "text": ["Home", "Progress", "Profile", "Track your habits, enhance your wellness, embrace a healthier lifestyle."], "text_length": 13, "prompt_id": 64}
{"category": "webpage", "length": "short", "prompt": "An elegant and contemporary online educational website interface displayed clearly on a desktop monitor, characterized by bright, inviting color palettes and clean structural design. At the top of the website, neatly organized navigation tabs labeled \"About\", \"Courses\", \"Resources\", and \"Contact\" are clearly arranged horizontally, accompanied by minimalist outlined icons. Prominently placed in the center of the page is a distinct textual phrase, carefully set in an accessible sans-serif font, which reads: \"Unlock your creativity, master new skills, enrich your learning journey\". Below this central message, there is a neatly aligned grid layout displaying interactive thumbnails of featured courses, each accompanied by concise titles, authors' names, brief descriptions, and visible call-to-action buttons encouraging immediate engagement from users. The overall layout emphasizes clarity and visual harmony, guiding viewers comfortably towards the focal textual message and related course content.", "text": ["About", "Courses", "Resources", "Contact", "Unlock your creativity, master new skills, enrich your learning journey."], "text_length": 14, "prompt_id": 65}
{"category": "webpage", "length": "short", "prompt": "A sleek and visually appealing mobile fitness app interface on a smartphone screen, utilizing fresh and engaging colors with minimalist graphics for intuitive interaction. At the top of the layout, neatly organized status icons for battery, connectivity, and notifications provide essential device information clearly. Centered prominently on the app screen, a dynamic textual phrase stands out distinctly, reading: \"Build healthy routines, energize your mornings, transform your everyday life\". Directly below the central message is a carefully structured horizontal carousel, showcasing interactive cards of short workout routines, each having concise titles, durations, and visually pleasing icons. At the bottom of the interface, easy-to-access navigation buttons labeled \"Home\", \"Activities\", and \"Profile\" are visually clear, further supporting quick and user-friendly app navigation. The overall thoughtful use of spacing, colors, and typography directs users naturally towards the central textual message, enhancing engagement and readability.", "text": ["Build healthy routines, energize your mornings, transform your everyday life.", "Home", "Activities", "Profile"], "text_length": 13, "prompt_id": 66}
{"category": "webpage", "length": "short", "prompt": "A stylish and contemporary social media profile interface designed with aesthetically pleasing visuals and thoughtful spacing. Prominently positioned at the center of the screen is an inviting textual status update in clean and approachable sans-serif typography that reads: \"Life is short; explore new places, create unforgettable memories everyday\". Immediately below this primary textual post, interactive engagement icons such as \"like\", \"comment\", and \"share\" are aligned horizontally for quick access. Toward the bottom of the layout, there is an organized grid displaying recent photographs, each neatly presented with subtle visual dividers for a cohesive, user-friendly browsing experience. The overall interface design guides the viewer effortlessly to the compelling central textual message, creating a balanced and harmonious visual flow.", "text": ["Life is short; explore new places, create unforgettable memories everyday.", "like", "comment", "share"], "text_length": 13, "prompt_id": 67}
{"category": "webpage", "length": "short", "prompt": "A clean and visually engaging online travel blog interface characterized by a vibrant yet minimalistic aesthetic and intuitive layout style. Located along the very top is a neatly aligned horizontal menu bar consisting of navigation links labeled \"Home\", \"Destinations\", \"Travel Tips\", and \"About Me\", each clearly readable with subtle spacing between them. Prominently showcased at the center of the homepage, capturing instant attention, is an inspirational textual statement gracefully set in bold, serif typography that reads clearly: \"Wander freely, embrace new cultures and create lifelong travel memories\". Directly underneath this central textual element, the layout displays responsive rectangular thumbnails arranged neatly in rows, each linking readers to recent articles and posts. Overall, the organized structure and effective use of contrast effortlessly guides viewers toward focusing on the central, inviting textual content.", "text": ["Home", "Destinations", "Travel Tips", "About Me", "Wander freely, embrace new cultures and create lifelong travel memories."], "text_length": 16, "prompt_id": 68}
{"category": "webpage", "length": "short", "prompt": "A sleek, elegant, and user-friendly online wellness platform interface, displayed clearly on a contemporary tablet screen, designed with gentle pastel colors and modern aesthetics. At the very top of the page layout, neatly arranged navigation tabs labeled \"Home\", \"Meditation\", \"Coaching\", and \"Membership\" are clearly visible, creating smooth and intuitive interaction. Prominently centered on the screen, an inspirational textual sentence instantly draws users' attention, displayed distinctly in graceful and easily readable sans-serif typography, reading: \"Cultivate mindfulness daily, renew your energy, discover your inner balance\". Beneath this central text, arranged neatly and symmetrically, interactive square content boxes showcase accessible wellness programs, each box containing simplified titles, brief descriptions, and elegant minimalistic icons. Near the bottom of the interface, streamlined social media sharing buttons are gently aligned horizontally, allowing users effortless engagement and interaction.", "text": ["Home", "Meditation", "Coaching", "Membership", "Cultivate mindfulness daily, renew your energy, discover your inner balance."], "text_length": 14, "prompt_id": 69}
{"category": "webpage", "length": "long", "prompt": "An engaging online blog interface captures the reader's attention at first glance. At the top of the screen, a bold and clean header shows the blog title, \"EcoLiving Daily\", in an inviting forest green shade. Immediately beneath this header sits a navigation menu displaying clickable texts like \"Home\", \"Articles\", \"Sustainable Living Tips\", and \"Contact Us\". The focal point of the interface consists of an informative blog post preview. It visibly shows the article title: \"5 Easy Ways to Reduce Your Carbon Footprint at Home\", prominently displayed in clear, large typography. Below this title, a smaller subtitle states, \"Simple daily practices for a healthier planet\", providing an enticing overview of the article's content. A snippet of introductory text is positioned underneath saying: \"Sustainability can start right in our homes. Adopting small habits can collectively lead to significant impacts. This guide introduces practical tips anyone can follow to become greener every day\". The textual content across the interface is neat, spacious, and visually appealing, encouraging user interaction and exploration of the blog's environmental topics.", "text": ["EcoLiving Daily", "Home", "Articles", "Sustainable Living Tips", "Contact Us.", "5 Easy Ways to Reduce Your Carbon Footprint at Home", "Simple daily practices for a healthier planet", "Sustainability can start right in our homes. Adopting small habits can collectively lead to significant impacts. This guide introduces practical tips anyone can follow to become greener every day."], "text_length": 55, "prompt_id": 70}
{"category": "webpage", "length": "long", "prompt": "A clean and modern mobile app interface designed for a travel planning application. At the very top, the application name \"TripEase\" is clearly recognizable, displayed boldly in a vibrant sky-blue color. Below the app name appears a concise tagline in smaller, elegant text: \"Plan Smart, Travel Easy\". Dominating the center portion of the app interface is a featured destination card, clearly presenting the title: \"Explore Kyoto's Hidden Gems\". Just beneath this title, a smaller sentence briefly introduces the featured content: \"Discover traditional temples, serene gardens, and hidden alleyways away from crowds\". Positioned slightly below this text is a noticeable call-to-action button labeled \"Start Journey\", displayed in crisp white text against a captivating purple gradient background. At the bottom, smaller textual interface tabs are neatly arranged featuring distinct labels such as \"Home\", \"Destinations\", \"Bookings\", and \"Profile\", each accompanied by minimalist icons. All textual components of this mobile interface are presented in a sleek, readable font, enhancing the overall navigational comfort and encouraging users to engage effortlessly with the travel content.", "text": ["TripEase", "Plan Smart, Travel Easy", "Explore Kyoto's Hidden Gems", "Discover traditional temples, serene gardens, and hidden alleyways away from crowds.", "Start Journey", "Home", "Destinations", "Bookings", "Profile"], "text_length": 26, "prompt_id": 71}
{"category": "webpage", "length": "long", "prompt": "A visually appealing social media interface shown on a smartphone screen. At the very top, the app's name is displayed clearly as \"FitLife\", styled in bold, modern typography, colored in energizing bright orange. Underneath this title, a smaller, engaging subtitle reads, \"Empower yourself, every step counts\". At the main section of the screen, there's a featured user post with prominent textual content reading, \"Completed my first 10K run today!\" Beneath this highlighted achievement, a supportive and motivational description appears in smaller but easily readable text, \"Feeling accomplished and motivated to keep pushing myself further. Huge thanks to the FitLife community for endless inspiration!\" Just below this user-generated content, there are clearly visible social interaction buttons labeled \"Like\", \"Comment\", and \"Share\" in neat, neatly aligned blocks, each paired with subtle, simplistic icons. Towards the bottom of the screen, a neatly organized navigation bar with concise labels like \"Home\", \"Explore\", \"Progress\", and \"Profile\" appears clearly legible and easily accessible, adding functionality and encouraging seamless exploration of the content. The interface utilizes warm colors and sleek fonts, fostering an inviting and uplifting online community environment.", "text": ["FitLife", "Empower yourself, every step counts.", "Completed my first 10K run today!", "Feeling accomplished and motivated to keep pushing myself further. Huge thanks to the FitLife community for endless inspiration!", "Like", "Comment", "Share", "Home", "Explore", "Progress", "Profile"], "text_length": 37, "prompt_id": 72}
{"category": "webpage", "length": "long", "prompt": "A clean, engaging website homepage interface for a cooking and recipe sharing platform. At the top, the website name \"TasteBuds\" appears prominently, set in a playful yet readable script font colored in rich tomato-red. Beneath the title, a subtitle in smaller, clear typeface reads, \"Sharing Flavorful Moments, One Recipe at a Time\". Directly below, a featured recipe appears in the center of the page. Its title, shown in large, inviting letters, reads, \"Crispy Homemade Margherita Pizza in 30 Minutes\". Just beneath this recipe title is a descriptive, helpful preview text in neat, slightly smaller fonts, \"A quick, easy-to-follow guide to making a delicious pizza from scratch, perfect for weeknight cravings and casual get-togethers\". Toward the bottom of this feature, there's an eye-catching clickable button labeled \"View Recipe\", designed in white letters against a vibrant green background. Further down, smaller and clearly labeled category headings are visible, with labels such as \"Desserts\", \"Meal Prep Ideas\", \"Vegetarian Specials\", and \"Chef's Tips\". The textual content overall appears friendly, inviting, and highly readable, offering visitors intuitive navigation and seamless browsing throughout the culinary-themed website interface.", "text": ["TasteBuds", "Sharing Flavorful Moments, One Recipe at a Time.", "Crispy Homemade Margherita Pizza in 30 Minutes.", "A quick, easy-to-follow guide to making a delicious pizza from scratch, perfect for weeknight cravings and casual get-togethers.", "View Recipe", "Desserts", "Meal Prep Ideas", "Vegetarian Specials", "Chef's Tips."], "text_length": 44, "prompt_id": 73}
{"category": "webpage", "length": "long", "prompt": "An elegant, professional-looking mobile interface for a productivity and habit-tracking app named \"DailyFlow\". Positioned prominently at the top is the app name in bold, rounded typography colored soothing teal. Directly beneath the app title comes a clear, welcoming subtitle, which reads, \"Organize your day, achieve your goals effortlessly\". Further down, there is a featured reminder card placed centrally, highlighting today's motivative message: \"Remember, small daily habits lead to big achievements!\" Right below this main message, a concise supporting sentence is clearly shown, \"Take five minutes now to update your daily progress and stay on track for success\". Beneath this text, there's a visually prominent action button labeled \"Update Progress\", colored in white against a bright coral-orange background for immediate recognizability. Located toward the lower part of the interface, several neatly-labeled navigation items appear, each clearly readable, such as \"Today\", \"Habits\", \"Insights\", and \"Profile\", each accompanied by minimalist icons for easy navigation. Overall, textual components in this interface are concise, easily readable, and friendly, creating a comfortable and intuitive user-centered experience.", "text": ["DailyFlow.", "Organize your day, achieve your goals effortlessly.", "Remember, small daily habits lead to big achievements!", "Take five minutes now to update your daily progress and stay on track for success.", "Update Progress", "Today", "Habits", "Insights", "Profile"], "text_length": 37, "prompt_id": 74}
{"category": "webpage", "length": "long", "prompt": "A fresh, user-friendly interface of an online educational platform called \"LearnNest\", clearly shown at the top in bright ocean-blue letters. Beneath this title is the confident and motivating tagline, \"Learning Made Simple, Anytime, Anywhere\". Directly below, centered clearly onscreen, there's a featured online course titled, \"Mastering Digital Photography: From Beginner to Pro\", set in large, visually appealing typography. Just under the course heading, an inviting introductory sentence clearly states, \"Unlock your photography potential with easy, step-by-step lessons and practical assignments led by industry professionals\". Further down on the interface, a brightly-colored interactive button labeled \"Enroll Now\" appears clearly, in bold white letters against a teal-colored background, encouraging prompt action by users. Along the bottom section of this online interface, neat and readable tabs like \"Home\", \"Courses\", \"My Learning\", and \"Community\" are distinctly visible and inviting for exploration. The textual content throughout the screen is clear, engaging, and visually appealing, showcasing an intuitive and efficient educational platform designed with the learner in mind.", "text": ["LearnNest", "Learning Made Simple, Anytime, Anywhere.", "Mastering Digital Photography: From Beginner to Pro", "Unlock your photography potential with easy, step-by-step lessons and practical assignments led by industry professionals.", "Enroll Now", "Home", "Courses", "My Learning", "Community"], "text_length": 35, "prompt_id": 75}
{"category": "webpage", "length": "long", "prompt": "An elegant online shopping interface for a contemporary fashion e-commerce platform named \"StyleHive\", clearly displayed at the top in chic, minimalist font and warm peach color. Right beneath the logo, a subtle yet persuasive tagline in smaller font reads, \"Discover Unique Styles Curated Just For You\". In the center of the interface, there is a featured promotional banner prominently showcasing the phrase, \"Autumn Essentials are Here! Refresh Your Wardrobe Today\", shown in clear, bold typography. Supporting text below further engages shoppers, stating: \"Explore our hand-picked selection of cozy sweaters, stylish boots, and must-have layering pieces to make your autumn look flawless\". Beneath these engaging texts, there's an appealing, clearly visible button labeled \"Shop the Collection\", designed in crisp white lettering over a terra-cotta colored rounded rectangular background. Towards the bottom of this webpage interface, neatly arranged and clearly readable navigation elements like \"New In\", \"Clothing\", \"Accessories\", \"Sale\", and \"My Account\" appear distinctly, encouraging instant interaction. The overall textual layout is thoughtfully spaced, friendly, and easily readable, creating an effortless browsing and shopping experience.", "text": ["StyleHive", "Discover Unique Styles Curated Just For You.", "Autumn Essentials are Here! Refresh Your Wardrobe Today", "Explore our hand-picked selection of cozy sweaters, stylish boots, and must-have layering pieces to make your autumn look flawless.", "Shop the Collection", "New In", "Clothing", "Accessories", "Sale", "My Account"], "text_length": 45, "prompt_id": 76}
{"category": "webpage", "length": "long", "prompt": "A clear, contemporary user interface of a wellness and mindfulness mobile app called \"MindBloom\", displayed prominently at the top in calm lavender-colored letters. Below the app name, an inviting subtitle appears in smaller, soothing font: \"Cultivate Mindfulness, Balance Your Life\". At the center, a featured daily meditation card is clearly visible, presenting today's meditation titled: \"Embracing Gratitude: A Guided Mindfulness Session\". Just beneath this title, gentle, supporting text is clearly readable, stating, \"Allow yourself ten minutes today to reconnect, reflect, and recharge your emotional energy\". Directly below the descriptive text, a softly colored yet noticeable button labeled \"Start Session\" appears distinctly, with neat white letters against a pastel lavender background. Near the lower section of this mobile interface, intuitive navigation icons with concise textual labels like \"Home\", \"Sessions\", \"Journal\", and \"Profile\" are arranged neatly, easy to identify and access. Text throughout the interface is warm, reassuring, and clearly legible, providing users a calming, inviting, and user-friendly experience.", "text": ["MindBloom", "Cultivate Mindfulness, Balance Your Life.", "Embracing Gratitude: A Guided Mindfulness Session.", "Allow yourself ten minutes today to reconnect, reflect, and recharge your emotional energy.", "Start Session", "Home", "Sessions", "Journal", "Profile"], "text_length": 31, "prompt_id": 77}
{"category": "webpage", "length": "long", "prompt": "A sleek, user-friendly webpage interface for an online fitness coaching platform titled \"ActiveBoost\", presented in clear, energetic typography using bold turquoise coloring at the top of the page. Beneath the website title appears a concise motivational tagline easily readable, saying: \"Boost Your Energy, Transform Your Habits\". Centered prominently on the interface is a featured program titled \"30-Day Home Workout Challenge: Get Fit From Your Living Room\", displayed clearly in bold, attractive letters. Immediately below this headline, a welcoming and engaging introductory sentence reads, \"Build strength, increase endurance, and improve your overall fitness with guided video workouts and personal tracking tools\". Right below this sentence, a clearly visible action button labeled \"Join Now\" appears neatly contained, featuring crisp white text on a vivid teal button background. Near the lower portion of the screen, intuitive text-based navigation options appear distinctly, labeled \"Programs\", \"Nutrition Guide\", \"Success Stories\", and \"Community\", arranged neatly to encourage easy and confident user interaction. The overall textual layout looks organized, lively, and easily readable, reflecting an inspiring and positive online environment dedicated to fitness and wellness.", "text": ["ActiveBoost", "Boost Your Energy, Transform Your Habits.", "30-Day Home Workout Challenge: Get Fit From Your Living Room", "Build strength, increase endurance, and improve your overall fitness with guided video workouts and personal tracking tools.", "Join Now", "Programs", "Nutrition Guide", "Success Stories", "Community"], "text_length": 42, "prompt_id": 78}
{"category": "webpage", "length": "long", "prompt": "An attractive, streamlined mobile app interface for an online language-learning platform called \"SpeakWise\", clearly visible at the top with bold, vibrant letters in refreshing blue-green tones. Beneath the app's name, a friendly subtitle appears clearly, stating: \"Speak Confidently, Connect Globally\". At the center of the screen, a featured lesson card titled \"Everyday French Phrases: Greetings & Introductions\" is distinctly readable. Under this main heading, a concise description sentences clearly say, \"Master common French expressions to introduce yourself and confidently start conversations in real-life situations\". Just below appears a vibrant button labeled \"Start Lesson\" with white text clearly standing out against a lively teal background. Near the bottom of the app interface, simple and clearly labeled navigation text categories appear, including \"Dashboard\", \"Lessons\", \"Practice\", and \"Progress\". All textual elements on this interface are neat, welcoming, and user-friendly, inviting learners to effortlessly explore language content and engage actively with the app.", "text": ["SpeakWise", "Speak Confidently, Connect Globally.", "Everyday French Phrases: Greetings & Introductions", "Master common French expressions to introduce yourself and confidently start conversations in real-life situations.", "Start Lesson", "Dashboard", "Lessons", "Practice", "Progress."], "text_length": 31, "prompt_id": 79}
{"category": "slide", "length": "short", "prompt": "An artistic slide with textual elements thoughtfully arranged in an elegant layout, capturing attention through vibrant colors and decorative patterns around the border. Centered prominently are the bold, clear words \"EMBRACE CHANGE, CREATE POSSIBILITIES FOR A BRIGHTER TOMORROW\". Around this central statement, stylized floral motifs and subtle illustrative flourishes enhance visual appeal. In smaller, neat lettering placed at the bottom-left corner, the phrase \"Annual Leadership Summit 2023\" appears gracefully, balancing the overall design. The textual layout combines readability with artistic charm, appearing inviting, contemporary, and inspiring.", "text": ["EMBRACE CHANGE, CREATE POSSIBILITIES FOR A BRIGHTER TOMORROW.", "Annual Leadership Summit 2023"], "text_length": 12, "prompt_id": 100}
{"category": "slide", "length": "short", "prompt": "An aesthetically appealing presentation slide blends delicate artistic patterns with clear, impactful textual content to capture viewer attention. Centralized and highlighted distinctly, the words \"EXPLORE IDEAS, UNLOCK POTENTIAL AND DISCOVER NEW PATHS TO SUCCESS\" stand out in a refined typography. Surrounding this key message are intricate, abstract geometric designs and gentle color gradients that enhance the sophisticated and professional appearance. Positioned elegantly at the top right corner in smaller yet clearly readable letters is \"Creative Minds Conference 2023\", adding informative context to the slide layout. The overall composition feels harmonious, motivational, and visually engaging.", "text": ["EXPLORE IDEAS, UNLOCK POTENTIAL AND DISCOVER NEW PATHS TO SUCCESS", "Creative Minds Conference 2023"], "text_length": 14, "prompt_id": 101}
{"category": "slide", "length": "short", "prompt": "An engaging and artistically composed presentation slide, featuring sophisticated typography and elegant decorative elements. In the central area, highlighted prominently is the phrase \"INSPIRE GROWTH, PURSUE EXCELLENCE AND ACHIEVE DREAMS THROUGH COLLABORATION\" presented clearly and neatly in stylish lettering. Delicately designed, nature-inspired patterns frame the text, giving the slide a serene yet vibrant feel. Towards the lower right corner, smaller but easily readable text reads \"Global Innovation Forum 2023\", providing additional context with a professional touch. The cohesive color palette and thoughtfully balanced layout offer a polished, inspiring visual experience.", "text": ["INSPIRE GROWTH, PURSUE EXCELLENCE AND ACHIEVE DREAMS THROUGH COLLABORATION", "Global Innovation Forum 2023"], "text_length": 13, "prompt_id": 102}
{"category": "slide", "length": "short", "prompt": "An elegantly designed and visually harmonious presentation slide, showcasing artistic background elements and clear textual content. Prominently positioned in the center of the slide is the motivational phrase \"DREAM BIG, ACT NOW AND BUILD A FUTURE OF POSSIBILITIES\", displayed in striking, contemporary typography. Abstract patterns and soft pastel shades tastefully frame the central text, adding sophistication to the layout. At the lower left corner, smaller yet neatly legible lettering displays the event name \"Visionary Leaders Summit 2023\", effectively offering context and balance. The overall slide appearance is stylish, uplifting, and professionally appealing.", "text": ["DREAM BIG, ACT NOW AND BUILD A FUTURE OF POSSIBILITIES", "Visionary Leaders Summit 2023"], "text_length": 14, "prompt_id": 103}
{"category": "slide", "length": "short", "prompt": "A modern, minimalist-styled slide with carefully arranged textual elements positioned diagonally across the layout, merging simplicity with elegance. The central text content reads clearly in sleek uppercase letters: \"IMAGINE POSSIBILITIES, TRANSFORM VISIONS AND CREATE IMPACT FOR FUTURE GENERATIONS\". Soft gradient backgrounds in neutral tones provide a subtle yet sophisticated base for text clarity. Thin, clean geometric lines and subtle dot accents complement and connect different areas of the slide, enriching visual interest. In neatly placed, smaller font towards the bottom-right corner is the event title, clearly legible: \"Future Makers Conference 2023\". The overall aesthetic conveys professionalism, innovation, and contemporary style.", "text": ["IMAGINE POSSIBILITIES, TRANSFORM VISIONS AND CREATE IMPACT FOR FUTURE GENERATIONS", "Future Makers Conference 2023"], "text_length": 14, "prompt_id": 104}
{"category": "slide", "length": "short", "prompt": "A sophisticated and visually engaging slide design showcasing a contemporary, magazine-inspired layout. Prominently located in bold, uppercase typography near the upper-left portion is the motivational heading \"EXPLORE, ENGAGE, LEAD\", immediately capturing attention. Slightly beneath and offset to the right, elegantly arranged across two lines in clean, smaller typography is the evocative subheading \"Building Dynamic Teams\", subtly enhancing the slide’s inspiring message. Positioned vertically along the slide’s lower-right edge, clearly readable and thoughtfully presented, the professional statement \"Empowering leadership in a changing world\". reinforces the slide’s thematic core. All textual elements appear harmoniously balanced, professionally styled, and easily legible, contributing to the slide’s overall refined, professional, and inspiring visual impression.", "text": ["EXPLORE, ENGAGE, LEAD", "Building Dynamic Teams", "Empowering leadership in a changing world."], "text_length": 12, "prompt_id": 105}
{"category": "slide", "length": "short", "prompt": "A visually engaging, collage-style presentation slide combining diverse typographic styles, sizes, and orientations along with layered artistic textures. Dominating the upper half in eye-catching bold lettering is the phrase \"IMAGINE, CREATE, IMPACT\". Set diagonally below this headline, in elegant cursive script with lighter strokes, is the complementary phrase \"Unlocking Creativity Through Collaboration\". Spread across the lower left, a smaller clear typeface features \"Interactive Sessions & Workshops\", neatly enclosed in a minimalist rectangular frame. Decorative artistic splashes, geometric overlaps, subtle textures, and soft color gradients unify the diverse textual elements, creating a contemporary, dynamic, and inspiring visual design.", "text": ["IMAGINE, CREATE, IMPACT", "Unlocking Creativity Through Collaboration", "Interactive Sessions & Workshops"], "text_length": 11, "prompt_id": 106}
{"category": "slide", "length": "short", "prompt": "A modern and vibrant slide featuring a grid-based layout, creatively integrating diverse textual content with distinct typographic styles and artistic pattern accents. In a larger rectangular section at the top-left corner, bold handwritten-style lettering states emphatically: \"INNOVATE, DISRUPT & INSPIRE\". Located beside it, towards the top-right in smaller, sleek uppercase letters, the texts read: \"STRATEGIES FOR TRANSFORMATIONAL LEADERSHIP\". In the center-right grid section, an italicized quote elegantly says: \"Empowering individuals to redefine the future\". The slide background incorporates finely detailed geometric shapes, soft colors, and subtle textures, creating a dynamic, engaging, and fresh visual effect.", "text": ["INNOVATE, DISRUPT & INSPIRE", "STRATEGIES FOR TRANSFORMATIONAL LEADERSHIP", "Empowering individuals to redefine the future"], "text_length": 14, "prompt_id": 107}
{"category": "slide", "length": "short", "prompt": "A fresh and dynamic slide using an illustrative infographic style layout, creatively combining textual content of varying sizes, alignments, and visual hierarchies with engaging graphic elements. At the top-center, prominently displayed in large, sans-serif uppercase letters is the statement \"LEARN, COLLABORATE & DRIVE POSITIVE CHANGE\". Just below, smaller, gracefully curved text reads \"Building Tomorrow's Innovators\", framing around a stylized graphical icon. Towards the left side, vertically oriented in a clear but subtle font, is the descriptive phrase \"Hands-on Activities & Interactive Discussions\". On the opposite right side, in bold outlined letters, appears the inspiring phrase \"Empower Creativity, Fuel Progress\". Vibrant illustrative icons, arrows, subtle textures, and playful abstract patterns thoughtfully connect the textual items, creating an inviting, youthful, and energetic visual impression.", "text": ["LEARN, COLLABORATE & DRIVE POSITIVE CHANGE", "Building Tomorrow's Innovators", "Hands-on Activities & Interactive Discussions", "Empower Creativity, Fuel Progress"], "text_length": 18, "prompt_id": 108}
{"category": "slide", "length": "short", "prompt": "A vibrant and modern presentation slide featuring a colorful infographic design, skillfully blending various text sizes, orientations, and visual levels with captivating graphical elements. In the upper-middle section, in bold, sans-serif uppercase letters, the phrase \"EMPOWER, INSPIRE & ACHIEVE\" is prominently displayed. Directly beneath it, in smaller, elegantly arched text, the caption \"Shaping Future Leaders\" encircles a sleek, modern icon. At the slide's lower center, the event information is neatly presented in lowercase letters as \"international youth leadership conference 2023\". Bright, dynamic icons, directional arrows, fine textures, and whimsical abstract motifs artfully link the text components, offering a fresh, youthful, and dynamic visual appeal.", "text": ["EMPOWER, INSPIRE & ACHIEVE", "Shaping Future Leaders", "international youth leadership conference 2023"], "text_length": 12, "prompt_id": 109}
{"category": "slide", "length": "long", "prompt": "A slide featuring artistic, decorative shapes framing neatly arranged textual information styled as an elegant infographic. At the very top center, the title \"Habits for Emotional Wellbeing\" appears clearly, surrounded by a symmetrical floral pattern. On the left upper section, \"Practice Mindfulness\" appears next to a minimalist lotus flower icon, with the short sentence, \"Be present, observe without judging, accept without resisting\". Next, moving downward clockwise, \"Cultivate Gratitude\" is written near an open hand illustration, along with the line, \"Appreciate simple joys and acknowledge positivity daily\". Further down, towards bottom-left, \"Stay Connected\" accompanied by a minimalistic chat bubble icon reads \"Build and maintain meaningful relationships to sustain emotional energy\". At bottom center, \"Prioritize Sleep\" is depicted next to a crescent moon illustration, accompanied by the text \"Quality sleep replenishes both body and mind\". Moving upward along the right side, \"Regular Physical Activity\" is near a jogging runner icon, stating: \"Exercise boosts mood and relieves anxiety\". Finally, at the top right side, appears \"Continuous Learning\", paired with a book icon. The slide layout beautifully balances clarity and artistry, guiding the viewers naturally along each text segment.", "text": ["Habits for Emotional Wellbeing", "Practice Mindfulness", "Be present, observe without judging, accept without resisting.", "Cultivate Gratitude", "Appreciate simple joys and acknowledge positivity daily.", "Stay Connected", "Build and maintain meaningful relationships to sustain emotional energy.", "Prioritize Sleep", "Quality sleep replenishes both body and mind.", "Regular Physical Activity", "Exercise boosts mood and relieves anxiety.", "Continuous Learning"], "text_length": 54, "prompt_id": 110}
{"category": "slide", "length": "long", "prompt": "A clean and modern-styled slide featuring artistic geometric designs and structured textual content tailored in clear sections against a subtle gradient background. The main heading positioned at the top left corner reads: \"Keys to Effective Time Management\", highlighted by angular line patterns extending horizontally. Beneath, arranged vertically along the left side, is the text: \"Prioritize Tasks\", followed underneath by the sentence, \"Distinguish critical tasks from less important activities to clarify daily goals\". Positioned centrally on the slide inside a rounded square frame, \"Use the Pomodoro Technique\" appears above an illustrated minimalist timer icon and the description below stating, \"Work in short focused intervals of 25 minutes followed by 5-minute breaks\". Toward the upper right side, clearly set within a circular geometric pattern, the phrase \"Minimize Distractions\" is accompanied by the explanatory text below reading, \"Create a quiet workspace and limit unnecessary screen time\". Geometric line accents and subtle patterns cohesively connect all textual segments into an engaging yet orderly visual flow.", "text": ["Keys to Effective Time Management", "Prioritize Tasks", "Distinguish critical tasks from less important activities to clarify daily goals.", "Use the Pomodoro Technique", "Work in short focused intervals of 25 minutes followed by 5-minute breaks.", "Minimize Distractions", "Create a quiet workspace and limit unnecessary screen time."], "text_length": 45, "prompt_id": 111}
{"category": "slide", "length": "long", "prompt": "An elegant, minimalistic slide layout presented against a soft pastel gradient background, decorated sparingly with abstract curving strokes and gentle shapes. At the top center, the title in clear, bold lettering reads: \"Four Steps to Build Self-Confidence\". Underneath this heading, a brief introductory sentence appears in smaller text: \"Empower yourself by practicing these simple yet impactful guidelines each day\". Below this introduction, the slide content is divided vertically into two balanced columns. The left column contains two separate sections clearly spaced apart: the upper section titled \"Positive Affirmations\", followed by the sentence, \"Speak kindly to yourself daily; words shape your mindset\". Right beneath it is the second left-section heading, \"Visualize Success\". The right column similarly includes two text sections: at the top, \"Face Your Fears\", paired neatly with the short advice, \"Take small, controlled steps outside your comfort zone\". Below this, the fourth heading, \"Celebrate Progress\", follows, supplemented by the phrase, \"Recognize and reward even small improvements on your journey\". Artistic, flowing curved lines gently separate the two columns and add subtle visual harmony, guiding viewers naturally and gracefully from one textual element to the next.", "text": ["Four Steps to Build Self-Confidence.", "Empower yourself by practicing these simple yet impactful guidelines each day.", "Positive Affirmations", "Speak kindly to yourself daily; words shape your mindset.", "Visualize Success", "Face Your Fears", "Take small, controlled steps outside your comfort zone.", "Celebrate Progress", "Recognize and reward even small improvements on your journey."], "text_length": 51, "prompt_id": 112}
{"category": "slide", "length": "long", "prompt": "A contemporary slide design displaying neatly structured textual elements over a stylized paper-textured background accompanied by artistic brushstroke decoration at the corners. The main header at the upper-left side prominently says: \"Daily Habits for Improved Productivity\". Arranged horizontally across the center of the slide are three equally spaced blocks, each clearly highlighting a distinct principle. The left block titled \"Organize Your Space\" includes the explanatory text beneath: \"A tidy workspace minimizes distractions, helping your mind stay focused throughout tasks\". The central block labeled \"Plan Your Day Ahead\" is complemented with the sentence: \"Short, prioritized to-do lists guide clear daily goals and reduce decision fatigue\". The right block titled \"Regular Short Breaks\" is accompanied by the supporting phrase: \"Brief downtime refreshes attention and sustains your energy over long periods\". The combination of structured text blocks, minimalistic styling, and artistic touches creates a harmonious, easy-to-follow visual experience.", "text": ["Daily Habits for Improved Productivity.", "Organize Your Space", "A tidy workspace minimizes distractions, helping your mind stay focused throughout tasks.", "Plan Your Day Ahead", "Short, prioritized to-do lists guide clear daily goals and reduce decision fatigue.", "Regular Short Breaks", "Brief downtime refreshes attention and sustains your energy over long periods."], "text_length": 50, "prompt_id": 113}
{"category": "slide", "length": "long", "prompt": "A creative and dynamic presentation slide designed as a colorful roadmap winding horizontally across the layout with playful shapes and subtle gradient shading. At the beginning of the winding road on the left side appears the stylized title in friendly, hand-drawn typography: \"Journey to Better Communication\". Along the curved path, four brief text markers are clearly labeled sequentially, each visually distinct in vibrant speech bubbles gently floating above the roadmap. The first bubble states \"Listen Actively\" along with the helpful note: \"Let others finish speaking fully, absorbing their message\". Next, continuing along the path, the bubble labeled \"Ask Clear Questions\" is complemented by the phrase: \"Clarify meaning to avoid misunderstandings and improve dialogue\". Further along, the third speech bubble titled \"Express Respectfully\" includes the supporting sentence: \"Choose words carefully, considering tone and context\". Finally, the fourth bubble reads \"Give Thoughtful Feedback\", explained with: \"Offer constructive and supportive responses to promote openness\". Artistic, hand-drawn icons like ears, question marks, speech lines, and thumbs-up symbols decorate gently around each textual bubble for a playful and engaging effect, giving the slide a pleasant, fluid storytelling atmosphere.", "text": ["Journey to Better Communication", "Listen Actively", "Let others finish speaking fully, absorbing their message.", "Ask Clear Questions", "Clarify meaning to avoid misunderstandings and improve dialogue.", "Express Respectfully", "Choose words carefully, considering tone and context.", "Give Thoughtful Feedback", "Offer constructive and supportive responses to promote openness."], "text_length": 45, "prompt_id": 114}
{"category": "slide", "length": "long", "prompt": "A visually appealing slide design styled as an open notebook laid out on a cozy wooden desktop background with subtle shadows for depth, conveying a relaxed and inspiring atmosphere. The notebook page prominently features an informal handwritten-style heading at the top center reading \"Simple Ways to Reduce Daily Stress\", underlined softly. Below the title, brief explanatory text appears naturally as though handwritten, stating: \"Integrate small, calming strategies into everyday routine to enhance your emotional health and resilience\". The notebook page neatly lists bullet-pointed notes, each in a relaxed script font with short accompanying descriptions: The first bullet, \"Take Short Walks\", followed by the sentence \"Movement boosts endorphins and clears your mind\". Below that, \"Deep Breathing Exercises\", paired with \"Slowing your breathing calms stress responses and restores balance\". Finally, \"Enjoy Quiet Moments\", completed by the phrase \"Practice brief periods of silence to refocus yourself\". Small decorative pencil sketches, such as leaves, coffee cups, and gentle curved lines, tastefully embellish the notebook edges, reinforcing the comforting feel and mindful theme of the slide.", "text": ["Simple Ways to Reduce Daily Stress", "Integrate small, calming strategies into everyday routine to enhance your emotional health and resilience.", "Take Short Walks", "Movement boosts endorphins and clears your mind.", "Deep Breathing Exercises", "Slowing your breathing calms stress responses and restores balance.", "Enjoy Quiet Moments", "Practice brief periods of silence to refocus yourself."], "text_length": 53, "prompt_id": 115}
{"category": "slide", "length": "long", "prompt": "An eye-catching, modern slide depicting textual content placed within stylized shapes reminiscent of floating clouds set against a tranquil gradient sky-blue backdrop, creating a visually calming effect. At the upper center, the main title appears prominently in soft-rounded letters: \"Mindful Tips for Better Sleep\", with delicate star graphics subtly scattered around. Arranged evenly across the slide, three distinct, cloud-shaped text-box areas each contain short headings and concise, friendly suggestions. The leftmost cloud states \"Maintain a Routine\", accompanied by the advice: \"Sleep at regular times daily to regulate your body's internal clock naturally\". The central cloud, slightly lower for visual balance, is titled \"Reduce Evening Screen Time\", including \"Minimize phone or computer usage before bedtime to calm your mind\". The cloud positioned toward the right states \"Create a Comfort Zone\", with the brief tip: \"Keep your sleep area cool, quiet, and relaxing to encourage deeper rest\". Minimalistic doodles of crescent moons, stars, and gentle curved lines lightly decorate the slide edges, creating an inviting yet elegant nighttime ambiance.", "text": ["Mindful Tips for Better Sleep", "Maintain a Routine", "Sleep at regular times daily to regulate your body's internal clock naturally.", "Reduce Evening Screen Time", "Minimize phone or computer usage before bedtime to calm your mind.", "Create a Comfort Zone", "Keep your sleep area cool, quiet, and relaxing to encourage deeper rest."], "text_length": 51, "prompt_id": 116}
{"category": "slide", "length": "long", "prompt": "A contemporary and playful slide designed like a vibrant bulletin board, displaying textual content pinned on colorful sticky notes arranged casually yet clearly across a textured corkboard background. At the top-left corner, the bold, handwritten-style heading \"Healthy Eating Made Simple\" stands out clearly, accompanied by a short note: \"Small habits make big differences—practice daily for lasting wellbeing\". Nearby toward the upper center area, a bright yellow note reads \"Mindful Portions\", with smaller explanatory text: \"Listen to your body's signals, eat slowly and stop before overly full\". Just below and to the right, a pastel-green note labeled \"Include Vegetables\" explains succinctly: \"Aim to fill half your plate with colorful veggies each day\". Moving leftward toward the lower section, a soft-blue sticky note titled \"Stay Hydrated\" contains the brief sentence: \"Drink sufficient water regularly to maintain energy and focus\". Decorative elements on the corkboard, such as small doodled fruits, vegetables, and paper clips scattered around the borders, enhance visual warmth and highlight the approachable nature of the presented messages.", "text": ["Healthy Eating Made Simple", "Small habits make big differences—practice daily for lasting wellbeing.", "Mindful Portions", "Listen to your body's signals, eat slowly and stop before overly full.", "Include Vegetables", "Aim to fill half your plate with colorful veggies each day.", "Stay Hydrated", "Drink sufficient water regularly to maintain energy and focus."], "text_length": 51, "prompt_id": 117}
{"category": "slide", "length": "long", "prompt": "A modern slide layout styled like an artistic magazine spread, showcasing concise textual information arranged intuitively within geometric frames and subtle pastel color gradients for visual balance. Bold, minimal typography at the upper-left clearly presents the title: \"Essentials of Effective Leadership\", enriched by a smaller tagline directly below, stating: \"Core skills that build trust among teams\". Slightly below to the right, a rectangular text box softly shaded in lavender highlights the first section, \"Clear Communication\", followed naturally by a short explanation: \"Express ideas and expectations openly, encouraging dialogue and transparency\". Closer to the lower left, a gentle peach-colored square box titled \"Empathy and Understanding\" includes the supportive sentence: \"Seek to understand your team's feelings, building deeper trust\". At the lower right side, a pastel-green hexagonal frame features the final section, \"Decision-Making Skills\", along with the concise explanatory line: \"Make informed and timely decisions, clearly communicating the reasoning behind them\". Minimal illustrations such as thin lines, dots, and delicate geometric shapes subtly positioned between text boxes enhance readability, guiding the viewer smoothly through the content.", "text": ["Essentials of Effective Leadership", "Core skills that build trust among teams.", "Clear Communication", "Express ideas and expectations openly, encouraging dialogue and transparency.", "Empathy and Understanding", "Seek to understand your team's feelings, building deeper trust.", "Decision-Making Skills", "Make informed and timely decisions, clearly communicating the reasoning behind them."], "text_length": 47, "prompt_id": 118}
{"category": "slide", "length": "long", "prompt": "A slide designed as an engaging digital tablet interface resting on a cozy workspace surface, elegantly framed by subtle shadows, natural wood textures, and faint desktop items such as a stylus pen and coffee mug at the edges. On the bright tablet screen, a clearly organized layout presents the title in bold yet approachable typography at the top center: \"Four Practical Steps for Digital Detox\". Neatly stacked vertically beneath are four intuitive icon-based sections, each showing a minimalistic digital-style illustration next to clear short descriptions. Starting at the top, the first section labeled \"Screen-Free Mornings\" explains softly: \"Reserve your mornings for activities free from digital distraction\". Directly beneath, the second titled \"Designate Tech-Free Zones\" provides concise wording: \"Keep specific areas of your home free from digital devices\". The third section, appearing just below, \"Set Notification Boundaries\", advises briefly: \"Limit or turn off unnecessary notifications to regain focus\". Finally, towards the bottom of the screen, the section titled \"Evening Shutdown Routine\" gently concludes: \"Aim to disconnect from screens an hour before bedtime for restful sleep\". The overall layout creatively blends realistic workspace aesthetics with digitally styled visuals, making the slide approachable, engaging, and easy to follow.", "text": ["Four Practical Steps for Digital Detox.", "Screen-Free Mornings", "Reserve your mornings for activities free from digital distraction.", "Designate Tech-Free Zones", "Keep specific areas of your home free from digital devices.", "Set Notification Boundaries", "Limit or turn off unnecessary notifications to regain focus.", "Evening Shutdown Routine", "Aim to disconnect from screens an hour before bedtime for restful sleep."], "text_length": 57, "prompt_id": 119}
{"category": "poster", "length": "short", "prompt": "A visually striking poster designed in a vintage Art Deco style for a summer jazz music festival. The textual elements and their spatial layout within the image are as follows: At the very top, the phrase \"Feel the Rhythm, Ignite your Soul at Jazz Nights\" prominently appears in bold, sleek typography spanning horizontally across the poster. Directly below, stylized trumpet and saxophone silhouettes artfully frame the event title. Centered and slightly lower, the event name \"Jazz Under the Stars\" appears prominently in elegant lettering. Near the bottom-center, smaller text neatly aligned lists \"August 12–14, Waterfront Amphitheater\", clearly presenting event date and location. At the very bottom are minimalistic scrolling decorative lines, enhancing the vintage elegance and symmetry of the overall layout.", "text": ["Feel the Rhythm, Ignite your Soul at Jazz Nights", "Jazz Under the Stars", "August 12–14, Waterfront Amphitheater"], "text_length": 17, "prompt_id": 120}
{"category": "poster", "length": "short", "prompt": "An artistic poster designed in retro minimalist style for an indie film festival announcement. Textual elements and their spatial layout within the image are as follows: At the top center, the concise phrase \"Discover Films That Will Change Your Vision\" is featured prominently in stylish vintage typography. Beneath it is a minimalist icon of a vintage film camera symbolic of cinema. Slightly below, centered boldly is written \"Indie Lens Festival\" in clear distinctive lettering. At the bottom section of the poster, arranged neatly and balanced visually, appears the festival date \"March 5–9\" along with the location \"Downtown Art Theater\". Subtle abstract geometric shapes frame the text layout, giving the poster a balanced visual appeal.", "text": ["Discover Films That Will Change Your Vision", "Indie Lens Festival", "March 5–9", "Downtown Art Theater"], "text_length": 15, "prompt_id": 121}
{"category": "poster", "length": "short", "prompt": "An elegant, minimalist poster designed for an autumn art exhibition. The textual elements and their spatial layout within the image are as follows: At the top center, the refined phrase \"Witness the Beauty of Autumn Artistry\" is displayed gracefully in clean serif lettering. Just below the text, natural leaf motifs gently frame the focal points. At the center-bottom of the poster, prominently appears the exhibition title \"Colors of Fall\" in expressive script typography. Beneath this title, neatly aligned, the date \"October 15–30\" and venue name \"Maple Gallery\" are subtly positioned. Soft autumn-inspired colors and textures complement and unify the entire poster layout.", "text": ["Witness the Beauty of Autumn Artistry", "Colors of Fall", "October 15–30", "Maple Gallery"], "text_length": 13, "prompt_id": 122}
{"category": "poster", "length": "short", "prompt": "A visually appealing poster designed in bold, energetic style for a city street food festival. Textual elements and their spatial layout within the image are as follows: At the top-center, the eye-catching phrase \"Taste the Best Street Flavors in One Epic Weekend\" is displayed prominently in playful, vibrant typography. Directly beneath is a stylized graphic of a food truck surrounded by dynamic street-food illustrations. At the lower center, the main event title \"Street Eats Carnival\" is highlighted with bold, expressive letters. At the bottom section, the concise date \"June 16–18\" and the venue \"Central City Plaza\" appear neatly side by side in clear, minimalist lettering. Colorful graphics and vivid patterns frame the layout, creating a festive atmosphere.", "text": ["Taste the Best Street Flavors in One Epic Weekend", "Street Eats Carnival", "June 16–18", "Central City Plaza"], "text_length": 17, "prompt_id": 123}
{"category": "poster", "length": "short", "prompt": "An artistic poster designed in a colorful, contemporary minimalist style for a modern poetry reading event. Textual elements and their spatial layout within the image are as follows: At the top center, the poetic phrase \"Words Awaken Emotions on a Night of Poetic Expression\" is presented in clear, sophisticated typography. Immediately underneath, a simple, abstract illustration resembling an open book or folded pages artfully complements the text. Centered towards the lower portion, the main event title \"Evening of Verse\" appears prominently in bold, modern script. At the bottom center, neatly aligned in subtle, minimalist font is the event date \"April 21\" and venue \"Luna Cafe\". Delicate geometric accents subtly frame the text, enhancing the inviting visual harmony.", "text": ["Words Awaken Emotions on a Night of Poetic Expression", "Evening of Verse", "April 21", "Luna Cafe"], "text_length": 16, "prompt_id": 124}
{"category": "poster", "length": "short", "prompt": "A poster designed in vivid retro style announcing a summer outdoor cinema event. Textual elements and their spatial layout within the image are as follows: At the top center, the inviting phrase \"Cinema Under The Stars, Experience Movies Like Never Before\" is displayed in stylish retro typography. Below this, a minimalist vintage film projector illustration projects stylized beams downward. In a bold, central position lower down, the event title \"Moonlit Movies\" appears prominently in expressive lettering. Neatly aligned at the bottom of the poster are concise event details: date \"July 10–15\" and venue name \"Sunset Park\". Soft retro shades and illustrative motifs surround and unify the textual content.", "text": ["Cinema Under The Stars, Experience Movies Like Never Before", "Moonlit Movies", "July 10–15", "Sunset Park"], "text_length": 15, "prompt_id": 125}
{"category": "poster", "length": "short", "prompt": "An artistic poster designed in elegant minimalist style announcing a photography exhibition event. Textual elements and their spatial layout within the image are as follows: At the top center, the concise phrase \"Moments Captured Through the Lens\" appears in refined, modern typography. Directly below, a minimalistic illustration of camera aperture blades subtly complements the text. Centrally positioned toward the lower half, the exhibition title \"Shutter Stories\" is highlighted in bold, clean lettering. Aligned neatly at the bottom, event details \"November 9–20\" and venue \"Artspace Gallery\" appear clearly and symmetrically, ensuring visual balance. Monochromatic shades and subtle geometric framing perfectly unify the poster layout.", "text": ["Moments Captured Through the Lens", "Shutter Stories", "November 9–20", "Artspace Gallery"], "text_length": 11, "prompt_id": 126}
{"category": "poster", "length": "short", "prompt": "An appealing poster designed in warm bohemian style announcing a folk music concert event. Textual elements and their spatial layout within the image are as follows: At the top-center, the inviting phrase \"Let Acoustic Melodies Inspire Your Soul\" appears in graceful, hand-drawn typography. Directly underneath is a stylized illustration of a vintage acoustic guitar subtly framing the text. Slightly lower, centered prominently, the concert title \"Folk Roots Night\" is featured in bold yet elegant lettering. Neatly positioned at the bottom are event details: date \"September 18\" and venue \"Harmony Hall\", clearly displayed in simple, minimal typography. Warm, earthy colors and subtle floral ornaments harmoniously unify the entire poster layout.", "text": ["Let Acoustic Melodies Inspire Your Soul", "Folk Roots Night", "September 18", "Harmony Hall"], "text_length": 13, "prompt_id": 127}
{"category": "poster", "length": "short", "prompt": "A poster designed in sleek, futuristic style announcing a technology innovation conference. Textual elements and their spatial layout within the image are as follows: At the top center, the dynamic phrase \"Explore the Future, Unlock the Power of Innovation\" appears in modern, geometric typography. Below this text is an abstract circuit-inspired graphic subtly framing the central content. Prominently placed near the lower-center of the poster is the bold event title \"TechNova Summit\", featured in simplified futuristic lettering. At the bottom, neatly aligned, the concise details \"May 15–17\" and venue \"Metro Innovation Center\" appear clearly in clean, minimalistic font. Metallic and neon accents paired with digital abstract shapes unify the poster visually.", "text": ["Explore the Future, Unlock the Power of Innovation", "TechNova Summit", "May 15–17", "Metro Innovation Center"], "text_length": 15, "prompt_id": 128}
{"category": "poster", "length": "short", "prompt": "An artistic poster designed in dreamy, whimsical style announcing a nighttime lantern festival. Textual elements and their spatial layout within the image are as follows: At the top-center, the elegant phrase \"Illuminate the Sky With Wishes on This Magical Night\" is displayed in delicate, flowing typography. Below this, stylized illustrations of glowing paper lanterns gently float upwards, enhancing the surreal atmosphere. Centrally toward the lower half of the poster, the prominent title \"Lantern Dreams\" appears vividly in graceful lettering. Neatly aligned at the bottom in minimal, clear typography are the event details: date \"August 20\" and venue \"Riverside Gardens\". Soft twilight colors and subtle glowing effects complete the enchanting theme and unify the overall visual layout.", "text": ["Illuminate the Sky With Wishes on This Magical Night", "Lantern Dreams", "August 20", "Riverside Gardens"], "text_length": 15, "prompt_id": 129}
{"category": "poster", "length": "long", "prompt": "A vibrant, vintage-style promotional poster announcing the annual Riverside Music & Arts Festival. Textual elements arranged clearly and artistically, as follows: At the top-center of the poster, the large artistic title \"Riverside Music & Arts Festival\" is smoothly curved and bold, styled in retro-inspired typography. Directly underneath, in smaller but clear font, is the tagline, \"Celebrate Creativity Under the Open Sky\". Slightly below center and prominently displayed, detailed phrases stating, \"Enjoy Live Bands, Interactive Art Exhibitions and Delicious Local Cuisine\", arranged neatly in three distinct, horizontally-aligned sections, each paired with matching minimalist icons (guitar icon for bands, paintbrush icon for art, fork and knife icon for cuisine). In the lower-third area, clearly visible event information appears spaced evenly across the bottom: \"September 9-10, 2023 Riverside Park Amphitheater Free Entry\". At the bottom-left corner, a cheerful line of text in italicized handwriting suggests, \"Bring friends and family for an unforgettable weekend!\"", "text": ["Riverside Music & Arts Festival", "Celebrate Creativity Under the Open Sky.", "Enjoy Live Bands, Interactive Art Exhibitions and Delicious Local Cuisine", "September 9-10, 2023 Riverside Park Amphitheater Free Entry.", "Bring friends and family for an unforgettable weekend!"], "text_length": 37, "prompt_id": 130}
{"category": "poster", "length": "long", "prompt": "A beautifully designed, minimalist concert announcement poster arranged in a modern layout style with clear textual elements. At the top-center, the bold headline reads \"Summer Night Acoustic Concert\", in sleek, elegant typography. Right below this, slightly smaller and neatly aligned, a warm welcoming line states, \"An evening filled with melodies under starlit skies\". At the poster's center, horizontally arranged short phrases say \"Live Performances\", \"Guest Musicians\", and \"Candlelight Ambience\", each accompanied by a delicate simplified illustration (guitar for \"Live Performances\", microphone for \"Guest Musicians\", candle for \"Candlelight Ambience\"). The lower third neatly displays key details, carefully spaced and easy to read: \"Saturday, August 26 Gates open 7 PM Greenfield Botanical Gardens\". At the bottom right corner, a gentle, handwritten-style invitation adds, \"Seats are limited—reserve your spot now!\"", "text": ["Summer Night Acoustic Concert", "An evening filled with melodies under starlit skies.", "Live Performances", "Guest Musicians", "Candlelight Ambience", "Live Performances", "Guest Musicians", "Candlelight Ambience", "Saturday, August 26 Gates open 7 PM Greenfield Botanical Gardens", "Seats are limited—reserve your spot now!"], "text_length": 40, "prompt_id": 131}
{"category": "poster", "length": "long", "prompt": "A contemporary, artistic movie poster with minimalistic, impactful textual layout. At the top center, a bold, sleek-font title reads \"The Last Voyage\", positioned above a subtle silhouette of an old sailing ship facing turbulent waves. Immediately under the silhouette, an intriguing tagline appears in slightly smaller letters: \"When courage means sailing into the unknown\". In the central lower half of the poster, neatly arranged textual phrases in a clear, horizontal alignment describe key highlights: \"Directed by Award-Winning Director Alex Rivers\", \"Starring Emily Clarke & Jacob Bennett\", \"Featuring Original Music by Daniel Harper\". At the very bottom, in concise, uppercase lettering set clearly apart, the release details read: \"In Cinemas Everywhere October 6, 2023\". The lower-left corner includes a smaller, thin-lined text in italics: \"Will you brave the journey?\"", "text": ["The Last Voyage", "When courage means sailing into the unknown.", "Directed by Award-Winning Director Alex Rivers", "Starring Emily Clarke & Jacob Bennett", "Featuring Original Music by Daniel Harper", "In Cinemas Everywhere October 6, 2023", "Will you brave the journey?"], "text_length": 39, "prompt_id": 132}
{"category": "poster", "length": "long", "prompt": "An elegant exhibition announcement poster designed in a stylish, contemporary art style, emphasizing clarity and sophisticated textual arrangement. At the top-center, prominently displayed in graceful modern letters, the title states clearly: \"Echoes: Modern Art Exhibition\". Directly under it, slightly smaller, lies an inviting subtitle in simple serif typography: \"Exploring the dialogue between space and emotion through contemporary installations\". At the poster's midpoint, concise distinctive textual information arranged horizontally in three segments appears neatly: \"Interactive Installations\", \"Live Artist Talks\", and \"Exclusive Guided Tours\", each paired with minimalistic symbolic illustrations (geometric shapes for installations, speech bubble for artist talks, map pointer icon for tours). Clearly organized at the bottom-third section, precise logistical information reads: \"November 14 – December 20, 2023 City Center Art Gallery Open Daily 10 AM - 8 PM\". A subtle yet inviting handwritten note placed elegantly at the bottom right encourages visitors: \"Experience art beyond boundaries\".", "text": ["Echoes: Modern Art Exhibition", "Exploring the dialogue between space and emotion through contemporary installations.", "Interactive Installations", "Live Artist Talks", "Exclusive Guided Tours", "November 14 – December 20, 2023 City Center Art Gallery Open Daily 10 AM - 8 PM", "Experience art beyond boundaries."], "text_length": 43, "prompt_id": 133}
{"category": "poster", "length": "long", "prompt": "A colorful, visually appealing food festival poster designed with a playful and inviting aesthetic. At the top section, prominently displayed in vivid, cheerful typography, appears the title: \"Taste of the World Festival\". Immediately below this, nestled neatly in smaller lettering, is the descriptive phrase: \"A flavorful journey through international cuisines—right in your neighborhood!\" Across the center, clearly arranged horizontally are three separate textual highlights: \"Over 50 Food Stalls\", \"Live Cooking Demonstrations\", and \"Cultural Music Performances\", each complemented with minimalist icons: a food stall for stalls, chef's hat for cooking demonstrations, and musical notes for performances. At the lower third, detailed event logistics are clearly stated in clean, easy-to-read font: \"Sunday, October 15th, 2023 Downtown Market Square\". At the lower left corner, in playful cursive handwriting, an enthusiastic invitation prompts visitors to join: \"Save your appetite—bring your friends and family!\"", "text": ["Taste of the World Festival.", "A flavorful journey through international cuisines—right in your neighborhood!", "Over 50 Food Stalls", "Live Cooking Demonstrations", "Cultural Music Performances", "Sunday, October 15th, 2023 Downtown Market Square.", "Save your appetite—bring your friends and family!"], "text_length": 38, "prompt_id": 134}
{"category": "poster", "length": "long", "prompt": "An eye-catching, retro-inspired travel poster showcasing elegant and well-organized textual layout. At the top center, prominently in vintage serif lettering, is the title: \"Discover Old Town Charleston\". Just underneath, in slightly smaller font yet clearly visible, is a charming call: \"Step back in time and explore history around every corner\". Around the center portion, horizontally and evenly spaced are short engaging phrases: \"Guided Heritage Walks\", \"Authentic Southern Cuisine\", and \"Live Street Performances\", each matched with minimal line-art icons. The lower section prominently displays essential information in simple uppercase lettering: \"April 14-16, 2023 Charleston Historic District Free entry for all visitors\". At the poster's bottom-right corner, a refined, handwritten-style sentence warmly suggests: \"Pack curiosity, experience the charm\".", "text": ["Discover Old Town Charleston", "Step back in time and explore history around every corner.", "Guided Heritage Walks", "Authentic Southern Cuisine", "Live Street Performances", "April 14-16, 2023 Charleston Historic District Free entry for all visitors.", "Pack curiosity, experience the charm."], "text_length": 39, "prompt_id": 135}
{"category": "poster", "length": "long", "prompt": "A dynamic, visually striking advertising poster created in a minimalist and contemporary style announcing the opening of a new tech product showroom. At the top center, the clear, sleek sans-serif title states: \"TechNova Innovation Hub Grand Opening\". Directly underneath, slightly smaller but distinctly placed, is an inviting slogan reading: \"Experience tomorrow's technology, today\". The central section neatly arranges three highlights horizontally spaced across the poster: \"Hands-on Product Demos\", \"Expert Tech Talks\", and \"Exclusive Launch Offers\", each presented alongside clean, subtle minimalist icons: hand-touching-screen for demos, microphone icon for tech talks, gift box icon for launch offers. At the bottom-third, key event information appears clearly organized in slim uppercase lettering: \"Saturday, November 18th, 2023 10 AM – 6 PM Aurora Business Center, Downtown\". At the poster’s bottom-left corner, an inviting gentle italicized note warmly states: \"Join us and be among the first to glimpse the future\".", "text": ["TechNova Innovation Hub Grand Opening", "Experience tomorrow's technology, today.", "Hands-on Product Demos", "Expert Tech Talks", "Exclusive Launch Offers", "Saturday, November 18th, 2023 10 AM – 6 PM Aurora Business Center, Downtown", "Join us and be among the first to glimpse the future."], "text_length": 42, "prompt_id": 136}
{"category": "poster", "length": "long", "prompt": "A visually appealing, vintage-inspired theater poster elegantly designed with clear, organized textual elements. At the top-center, distinctly placed in ornate, classic typography is the production title: \"The Enchanted Mask\". Slightly beneath, in smaller yet readable serif lettering, appears an intriguing subtitle: \"A captivating tale of mystery, romance, and hidden identities\". Arranged neatly across the middle section horizontally in three concise groups, textual highlights summarize key features of the performance: \"Directed by acclaimed playwright Anna Thorn\", \"Live orchestral soundtrack\", and \"Limited two-week engagement\". Each highlight paired subtly with minimal line-art accents (director's chair icon for director, violin icon for music, hourglass icon for limited run). The bottom section includes precise details neatly displayed in straightforward uppercase typography: \"June 2–15, 2023 Kingsley Grand Theater Evening Shows at 7:30 PM\". At the lower-right corner, an inviting handwritten note gently encourages interest: \"Reserve your tickets and unveil the magic!\"", "text": ["The Enchanted Mask", "A captivating tale of mystery, romance, and hidden identities.", "Directed by acclaimed playwright Anna Thorn", "Live orchestral soundtrack", "Limited two-week engagement", "June 2–15, 2023 Kingsley Grand Theater Evening Shows at 7:30 PM", "Reserve your tickets and unveil the magic!"], "text_length": 42, "prompt_id": 137}
{"category": "poster", "length": "long", "prompt": "A sophisticated and visually calming workshop announcement poster designed with minimalist, nature-inspired aesthetics. At the top center, clearly and artistically placed in clean, elegant typography, the title reads: \"Mindfulness & Meditation Retreat\". Right underneath, a peaceful and inviting sentence gently elaborates: \"Reconnect with yourself and find inner harmony over a relaxing weekend\". Arranged horizontally across the middle of the poster appear three neatly laid-out highlights: \"Guided Meditation Sessions\", \"Silent Nature Walks\", and \"Healthy Vegetarian Meals\", each accompanied by subtle, minimalist line icons (lotus flower for meditation, tree for nature walks, leaf for healthy meals). At the lower third, clear and concise details are prominently displayed in uppercase lettering: \"May 6–7, 2023 Whispering Pines Retreat Center Limited Spots Available\". Positioned at the poster's bottom-left corner, an inviting handwritten-style note softly encourages participation: \"Reserve now—Your journey to tranquility awaits!\"", "text": ["Mindfulness & Meditation Retreat", "Reconnect with yourself and find inner harmony over a relaxing weekend.", "Guided Meditation Sessions", "Silent Nature Walks", "Healthy Vegetarian Meals", "May 6–7, 2023 Whispering Pines Retreat Center Limited Spots Available", "Reserve now—Your journey to tranquility awaits!"], "text_length": 40, "prompt_id": 138}
{"category": "poster", "length": "long", "prompt": "An inviting, colorful vintage-style circus event poster with clear and artistic text placement. At the top-center, prominently displayed in playful, vintage typography is the event title: \"Grand Star Circus Spectacular\". Directly beneath it, a cheerful subtitle warmly announces: \"A Magical Evening Filled With Thrills, Laughter, and Astonishment for All Ages\". Horizontally aligned across the central area of the poster are three concise description phrases neatly spaced: \"Dazzling Acrobatic Shows\", \"Comedic Clown Acts\", and \"Breathtaking Animal Performances\", each paired with playful, simple outlined icons (trapeze icon for acrobatics, clown hat for comedy, elephant outline for animals). At the lower third, detailed event information is visibly presented in clear, uppercase letters: \"Friday–Sunday July 21–23, 2023 Riverside Fairgrounds Shows begin at 6:30 PM\". In the bottom-right corner, an inviting handwritten message warmly adds: \"Step right up—Your adventure awaits!\"", "text": ["Grand Star Circus Spectacular", "A Magical Evening Filled With Thrills, Laughter, and Astonishment for All Ages", "Dazzling Acrobatic Shows", "Comedic Clown Acts", "Breathtaking Animal Performances", "Friday–Sunday July 21–23, 2023 Riverside Fairgrounds Shows begin at 6:30 PM", "Step right up—Your adventure awaits!"], "text_length": 41, "prompt_id": 139}
{"category": "caption", "length": "short", "prompt": "A screenshot captured from a documentary film scene showing an aerial view of a glacier melting rapidly into the ocean. At the bottom center of the frame, a translucent dark gray rectangular caption box overlays the footage, containing the textual caption in clean white sans-serif fonts. Within this box, the text \"Arctic glaciers disappearing rapidly as global temperatures reach record highs\" appears aligned centrally, stretching horizontally across most of the lower portion of the screen. The caption is concise, clear, providing immediate context for viewers. The scene timestamp \"00:47:23\" is situated in a small white font, placed neatly at the lower-right corner, slightly below and to the right of the main caption box.", "text": ["Arctic glaciers disappearing rapidly as global temperatures reach record highs", "00:47:23"], "text_length": 11, "prompt_id": 160}
{"category": "caption", "length": "short", "prompt": "A movie scene portraying a close-up view of an astronaut's worried facial expression inside a spacecraft control room, bathed in red warning lights and emergency signals. At the lower portion of the screen, a semi-transparent dark rectangular subtitle bar spans horizontally, overlaying the bottom center of the image. Within this subtitle strip, a concise narrative caption written in clean, crisp, white sans-serif letters reads: \"Warning: oxygen levels critical, immediate evacuation procedure initiated onboard spacecraft\". The caption is neatly centered in the subtitle box for clear readability. At the lower right corner of the subtitle bar, a smaller timestamp text appears discreetly in thin white font, reading \"01:14:08\", indicating the film's runtime position. The textual elements are designed clearly, providing essential narrative context and maintaining visual balance and cinematic continuity within the urgent emotional atmosphere of the scene.", "text": ["Warning: oxygen levels critical, immediate evacuation procedure initiated onboard spacecraft.", "01:14:08"], "text_length": 11, "prompt_id": 161}
{"category": "caption", "length": "short", "prompt": "A news television broadcast shows a dramatic scene of firefighters urgently working to extinguish flames engulfing a multi-story residential building at night. The image prominently features firefighters directing powerful water jets upward toward thick smoke and flames illuminating the dark sky. Within the banner, the textual caption appears prominently in large, bold white sans-serif font, clearly readable and centrally aligned. The caption states: \"Massive fire forces evacuation of residents from downtown apartment\". In the top-left corner of the frame, a smaller, opaque rectangular box with white background displays the text \"LIVE\" in uppercase bold red letters, signifying real-time coverage. Slightly below the box, positioned flush left in a slightly less prominent size, is the simpler textual description in white font that reads \"Downtown District 11:05 PM\", indicating the location and the exact current local time of the scene. All textual components—caption banner, live indicator, and location-time details—are positioned cleanly within the frame to maximize readability without obscuring the critical visual details of the emergency event.", "text": ["Massive fire forces evacuation of residents from downtown apartment", "LIVE", "Downtown District 11:05 PM"], "text_length": 14, "prompt_id": 162}
{"category": "caption", "length": "short", "prompt": "A broadcast screenshot showing a live sports commentary during an international soccer championship match, the scene centered around a player celebrating passionately with teammates after scoring a decisive goal. Near the bottom edge of the scene, horizontally spanning about 85% of the image width, a distinct lower-third caption bar appears, utilizing a sleek, semi-transparent gradient starting darker at bottom and fading upwards gently to transparent, offering optimal readability and visual continuity. Within this caption bar, aligned centrally and written clearly in bold, white uppercase sans-serif letters, appears the ten-word textual caption: \"Late goal secures dramatic championship victory for defending world champions\". Positioned above and slightly left of the lower-third caption, a separate smaller, vivid rectangle box with bold white text against a solid red background displays the uppercase word \"LIVE\" to indicate real-time coverage of the event. Meanwhile, in the upper-left corner of the screen, a compact horizontal text box appears subtly translucent black with white sans-serif lettering clearly denoting match context details—\"FIFA WORLD CUP FINAL 89:47\", discretely informing viewers of the ongoing broadcast duration while not detracting attention from the emotional celebratory visuals.", "text": ["Late goal secures dramatic championship victory for defending world champions.", "LIVE", "FIFA WORLD CUP FINAL 89:47"], "text_length": 16, "prompt_id": 163}
{"category": "caption", "length": "short", "prompt": "A documentary scene depicting a rescue helicopter hovering above turbulent ocean waves, lowering a rescue worker toward stranded migrants clinging to a fragile overturned boat. At the bottom center of the image, spanning approximately 80% of the screen width, a horizontal subtitle bar overlays the turbulent scene clearly and unobtrusively, designed with a subtle dark-to-transparent gradient background ensuring readability without interrupting visual clarity. Within this bar, a ten-word descriptive caption is centrally aligned, carefully written in neat, professional white sans-serif lettering, stating concisely: \"Rescue efforts underway as migrant boat capsizes amid rough seas\". In the upper-left corner of the frame, appearing compact and subtle yet clearly distinct, a semi-transparent, dark rectangular information label contains concise contextual details displayed neatly in smaller white font: \"Mediterranean Sea 05:27 AM\", indicating the precise location and local time evident in the unfolding emergency scene. Positioned discreetly at the lower-right corner of the frame, a minimalistic opaque black rectangle is placed, containing the clear white timestamp digits \"00:45:22\", marking documentary playback timing clearly for reference.", "text": ["Rescue efforts underway as migrant boat capsizes amid rough seas.", "Mediterranean Sea 05:27 AM", "00:45:22"], "text_length": 15, "prompt_id": 164}
{"category": "caption", "length": "short", "prompt": "A TV news broadcast scene, prominently featuring a weather reporter standing in front of a large graphical weather forecast map displaying severe storm conditions and warning icons indicating heavy snowfall and freezing temperatures across multiple regions. Across the lower third of the image, stretching horizontally approximately 80% of the total screen width, is a clearly defined, rectangular information banner with a caption centered neatly in bold, easy-to-read white sans-serif font, stating concisely: \"Severe winter storm expected overnight, authorities issue emergency weather alerts\". At the top left corner of the frame, a compact rectangular label with an opaque bright red background clearly displaying in uppercase white bold font text: \"LIVE\". Below this \"LIVE\" marker, a slightly smaller translucent dark rectangle contains brief in smaller-sized white sans-serif lettering: \"Chicago Metropolitan Area 06:30 PM\". Lastly, positioned discreetly in the lower right corner of this captured frame, a tiny, opaque black rectangular box displays a clearly readable timestamp in minimalistic, white numeric characters: \"00:12:39\", marking the exact duration elapsed in the current televised segment.", "text": ["Severe winter storm expected overnight, authorities issue emergency weather alerts.", "LIVE", "LIVE", "Chicago Metropolitan Area 06:30 PM.", "00:12:39"], "text_length": 18, "prompt_id": 165}
{"category": "caption", "length": "short", "prompt": "A screenshot captured from a historical documentary film, depicting an archaeologist carefully examining an ancient scroll under dim, focused lighting within an excavation site illuminated by lanterns and diffuse golden light. At the lower-middle area of the frame, extending horizontally to cover approximately 75% of the image width, a semi-transparent gradient caption bar appears, gradually transitioning from darker opacity at bottom upward into transparency. Within this caption bar, a concise, carefully crafted narrative description is displayed in a refined white serif font, centrally aligned, clearly legible, stating: \"Ancient scroll discovery sheds new light on early human civilization\". At the top-left corner of the screen, a semi-transparent dark gray rectangular label houses smaller-sized white sans-serif font reading: \"Valley of the Kings Egypt, 1923\". At the lower right corner of the screen, subtly placed for minimal disruption yet clear visibility, appears an opaque black rectangular timestamp box, containing crisp white numeric lettering stating precisely: \"00:24:06\", marking the documentary's exact runtime position at which this frame occurs.", "text": ["Ancient scroll discovery sheds new light on early human civilization.", "Valley of the Kings Egypt, 1923.", "00:24:06"], "text_length": 17, "prompt_id": 166}
{"category": "caption", "length": "short", "prompt": "A crime thriller movie scene showing a detective carefully inspecting forensic evidence at a dark, dimly-lit crime scene illuminated by a flashlight beam and soft blue-and-red police lights in the background. Positioned neatly across the bottom portion of the image, spanning roughly 70% of the frame width, a rectangular caption box overlays the footage. This caption box features a subtle semi-transparent dark gradient blending upwards from bottom dark opacity to clearer transparency, ensuring easy readability while preserving important visual details of the scene. Within this box, carefully constructed and centered in clear and legible white sans-serif font reading: \"Detective discovers crucial evidence linking suspect directly to recent murder\". Near the top-left corner area of the screen, a smaller translucent black rectangle displays a location and time detail in compact, minimalist white uppercase lettering arranged in one horizontal line: \"Brooklyn, NY 02:14 AM\". Additionally, discreetly positioned at the lower right corner sits a minimalistic, opaque black rectangular time-stamp element containing precise numeric playback time \"01:27:32\".", "text": ["Detective discovers crucial evidence linking suspect directly to recent murder.", "Brooklyn, NY 02:14 AM.", "01:27:32"], "text_length": 15, "prompt_id": 167}
{"category": "caption", "length": "short", "prompt": "A financial news broadcast presenting breaking market developments against a backdrop showing fluctuating stock market figures, graphs, and corporate logos. Along the bottom third of the frame, a distinct horizontal rectangular caption bar overlays the scene, extending to approximately 80% of the total image width. This caption bar uses a carefully designed semi-transparent gradient, darker at the bottom edge and subtly fading upwards, securing clear readability without obstructing key visual information. Precisely centered within this shaded caption bar is a concise update written clearly in crisp white uppercase sans-serif letters: \"Global stocks plunge sharply amid fears of looming economic recession\". At the upper-left section of the frame, a compact rectangular indication box appears prominently and vividly with bright red opaque background and bold uppercase white letters spelling clearly: \"BREAKING\", signifying urgency and importance. Just beneath the indicator, a smaller, subtler box in a semi-transparent darker hue neatly displays brief episode information in smaller-sized white font reading: \"Wall Street Update 4:42 PM EST\".", "text": ["Global stocks plunge sharply amid fears of looming economic recession.", "BREAKING", "Wall Street Update 4:42 PM EST."], "text_length": 17, "prompt_id": 168}
{"category": "caption", "length": "short", "prompt": "A captured screenshot from a wildlife conservation documentary showing an emotional scene of elephants cautiously gathering around a watering hole in a drought-stricken savannah, dry cracked ground emphasizing the severe drought conditions while the sunset bathes the sky in vivid orange hues. Overlaying the lower central segment of the image, a horizontal rectangular caption box stretches smoothly across approximately 70% of the total screen width, subtly designed with a gentle semi-transparent gradient background. Within this caption box, precisely centered and clearly legible descriptive words appear in refined and legible white sans-serif lettering: \"Prolonged drought endangers elephant herd survival in East African region\". At the upper-left corner of the frame, a smaller rectangular label appears quietly against the visual backdrop, presented concise contextual location and time information clearly: \"Amboseli National Park Kenya, 6:28 PM\". These textual components altogether combine informative clarity with careful visual subtlety, enabling viewers to grasp immediate narrative context easily without detracting significantly from the richly emotional imagery onscreen.", "text": ["Prolonged drought endangers elephant herd survival in East African region.", "Amboseli National Park Kenya, 6:28 PM."], "text_length": 16, "prompt_id": 169}
{"category": "caption", "length": "long", "prompt": "A news broadcast covering environmental tips to reduce pollution, organized clearly around an image of a globe at the center. Text elements are laid out logically with simple icons, as follows: At the bottom center, bold text reads \"Simple Ways to Fight Air Pollution\" beneath the globe icon. Starting from the top left, the phrase \"Use Public Transport\" is accompanied by a bus silhouette. Next to it clockwise, the tip \"Switch to Renewable Energy\" is placed beside a wind turbine symbol. Continuing clockwise downward, the text \"Recycle Waste Properly\" sits beside a recycling bin icon. At the bottom right area, \"Plant Trees and Greenery\" is paired with a leaf illustration. Moving up clockwise, the phrase \"Limit Plastic Use\" appears alongside a crossed-out plastic bottle icon. At the upper right, \"Conserve Electricity\" is clearly shown beside a light bulb icon turned halfway off. Completing the circular layout, the central globe and these textual suggestions are connected neatly by thin curved arrows guiding viewers to follow the sequence naturally.", "text": ["Simple Ways to Fight Air Pollution", "Use Public Transport", "Switch to Renewable Energy", "Recycle Waste Properly", "Plant Trees and Greenery", "Limit Plastic Use", "Conserve Electricity"], "text_length": 25, "prompt_id": 170}
{"category": "caption", "length": "long", "prompt": "A scene directly captured from a space-themed educational documentary, showing a clear illustration of Mars with visible surface features such as reddish terrain, deep craters, and rocky landscapes. The planet occupies the majority of the frame against a dark star-filled background. At the bottom of the screen, a dark translucent information panel stretches horizontally across the image. Within this panel, white subtitles appear clearly, stating: \"Mars Exploration: Scientists have determined that Gale Crater once contained liquid water, making it a primary target in our ongoing search for ancient microbial life. NASA's Curiosity rover continues providing valuable insights into Mars geological past\". The text is displayed in two concise sentences arranged in a simple, professional documentary-style font that contrasts crisply against the darker overlay, ensuring easy readability and maintaining viewer attention.", "text": ["Mars Exploration: Scientists have determined that Gale Crater once contained liquid water, making it a primary target in our ongoing search for ancient microbial life. NASA's Curiosity rover continues providing valuable insights into Mars geological past."], "text_length": 36, "prompt_id": 171}
{"category": "caption", "length": "long", "prompt": "A television news broadcast screenshot showing rescue workers evacuating residents during heavy flooding in an urban neighborhood. The main frame presents rescue boats floating through streets submerged by muddy waters, with rescue teams clad in brightly colored vests helping groups of anxious civilians into the boats. Surrounding buildings appear partially submerged, with signs of damage and floating debris clearly visible. At the lower edge of the image, a semi-transparent dark blue news ticker spans horizontally, clearly providing information in crisp white letters. The ticker reads: \"Breaking News: Severe flooding forces thousands from homes after city experiences record rainfall overnight. Authorities urge citizens in affected areas to seek immediate shelter and await emergency assistance\". Positioned neatly at the lower-left corner is the news station logo, beside which the designation \"LIVE\" in bold red letters indicates continuous coverage of this ongoing emergency scene. The overall layout closely mirrors standard TV news broadcasts, ensuring that all textual information is concise, informative, and easily legible.", "text": ["Breaking News: Severe flooding forces thousands from homes after city experiences record rainfall overnight. Authorities urge citizens in affected areas to seek immediate shelter and await emergency assistance.", "LIVE"], "text_length": 29, "prompt_id": 172}
{"category": "caption", "length": "long", "prompt": "An image resembling a documentary screenshot depicting wildlife in the African savannah at sunset. The primary visual focus is on a herd of elephants calmly crossing open grassland, their silhouettes illuminated by the warm, golden-orange glow of twilight in the background. Clearly arranged at the bottom center of the screen is a translucent black caption box containing neatly formatted white subtitles reading: \"African elephants migrate hundreds of miles annually, guided by matriarchs who rely on memory and environmental cues. This journey plays a vital role in maintaining the health of savannah ecosystems\". The subtle documentary-style font is easily readable and positioned to complement the tranquil yet majestic visual atmosphere of the wildlife scene.", "text": ["African elephants migrate hundreds of miles annually, guided by matriarchs who rely on memory and environmental cues. This journey plays a vital role in maintaining the health of savannah ecosystems."], "text_length": 30, "prompt_id": 173}
{"category": "caption", "length": "long", "prompt": "A documentary-style screenshot, depicting archaeologists carefully excavating ancient ruins at an archaeological site. The visual prominently shows several researchers dressed in wide-brimmed hats and khaki clothing working diligently among stone structures partially buried in layers of reddish-brown earth. Sunlight gently illuminates the site, casting long, defined shadows across intricately carved pillars, pottery artifacts, and excavation tools scattered across the excavation zone. At the lower central portion of the screen, a semi-transparent, rectangular black caption box holds neatly presented subtitles in a clear, legible white font. The textual information states: \"Discovery in Peru: Archaeologists unearth temple complex dating back to 600 BCE, revealing advanced architectural skill and religious practices of an early Andean civilization. Researchers suggest the site could significantly alter our understanding of pre-Colombian cultural development\". The subtitle is carefully arranged in three sentences, ensuring viewers receive comprehensive but concise historical context, which naturally complements the rich visual imagery shown.", "text": ["Discovery in Peru: Archaeologists unearth temple complex dating back to 600 BCE, revealing advanced architectural skill and religious practices of an early Andean civilization. Researchers suggest the site could significantly alter our understanding of pre-Colombian cultural development."], "text_length": 37, "prompt_id": 174}
{"category": "caption", "length": "long", "prompt": "A historical documentary frame, depicting a vivid and detailed aerial photographic view of soldiers landing on the beaches of Normandy during the D-Day invasion of World War II. The black-and-white image captures hundreds of troops disembarking from amphibious landing craft onto shorelines heavily obscured by smoke, chaos, and debris. In the foreground, blurry figures of soldiers moving forward amid heavy fire vividly convey the urgency and danger of the moment, while distant explosions and pillars of smoke rise dramatically into the cloudy sky. At the lower center of the frame, a horizontal translucent dark-gray caption bar neatly positioned across the bottom clearly displays white subtitles in documentary-style typography. The clearly readable text states: \"June 6th, 1944 — D-Day Landings in Normandy. Over 150,000 allied soldiers launched the largest amphibious invasion to establish a crucial foothold in Nazi-occupied France, marking the turning point of World War II in Europe\". The subtitles succinctly provide essential historical context, complementing the dramatic visual imagery of this pivotal historical moment while maintaining a clear and professional documentary presentation style.", "text": ["June 6th, 1944 — D-Day Landings in Normandy. Over 150,000 allied soldiers launched the largest amphibious invasion to establish a crucial foothold in Nazi-occupied France, marking the turning point of World War II in Europe."], "text_length": 35, "prompt_id": 175}
{"category": "caption", "length": "long", "prompt": "A screenshot from a health-related news segment, featuring a close-up shot of laboratory scientists conducting research on vaccines in a modern laboratory. The background shows shelves containing neatly arranged bottles and containers labeled with scientific markings, while digital screens display medical data and graphs behind them. At the bottom center of the image is a neatly positioned horizontal semi-transparent blue caption bar, with subtitles clearly written in an easy-to-read white news-style font, stating: \"Medical Breakthrough: Scientists announce progress in developing a promising universal flu vaccine, potentially offering long-lasting immunity and reducing annual flu outbreaks globally. Clinical trials expected to begin later this year\". At the left corner of this caption bar, the news station logo appears alongside bold capital letters \"LIVE\", emphasizing real-time reporting on this significant medical advancement.", "text": ["Medical Breakthrough: Scientists announce progress in developing a promising universal flu vaccine, potentially offering long-lasting immunity and reducing annual flu outbreaks globally. Clinical trials expected to begin later this year.", "LIVE"], "text_length": 31, "prompt_id": 176}
{"category": "caption", "length": "long", "prompt": "A dramatic nature documentary scene, showing an underwater close-up of a coral reef teeming with marine life. Brightly-colored corals in shades of orange, purple, and turquoise create a visually striking foreground, surrounded by schools of small tropical fish darting between the intricate structures. Gentle rays of sunlight cast dynamic shadows and reflections on surrounding marine plants and animals, further enhancing the vivid and fluid underwater atmosphere. At the bottom central portion of the screen, a semi-transparent dark rectangular caption box displays white textual subtitles neatly arranged into clear sentences: \"Coral reefs support nearly a quarter of all ocean life, yet they face severe threats from climate change and pollution. Protecting coral ecosystems is vital for preserving marine biodiversity and sustaining healthy oceans for future generations\". The elegant, documentary-style typography ensures the text remains perfectly legible against the vibrant background imagery, creating an informative yet visually engaging presentation.", "text": ["Coral reefs support nearly a quarter of all ocean life, yet they face severe threats from climate change and pollution. Protecting coral ecosystems is vital for preserving marine biodiversity and sustaining healthy oceans for future generations."], "text_length": 36, "prompt_id": 177}
{"category": "caption", "length": "long", "prompt": "A historical documentary frame, showing archival footage of workers constructing the Golden Gate Bridge in San Francisco. The detailed black-and-white visual clearly highlights steelworkers balancing on massive steel beams high above the bay, with cranes, cables, and scaffolding framing the partially completed structure, creating a dramatic yet industrial atmosphere. At the bottom central area of the frame, a neatly positioned semi-transparent dark caption box stretches horizontally, clearly displaying white subtitles in documentary-style typography. The caption reads: \"Constructing the Icon: Between 1933 and 1937, thousands of workers risked their lives building San Francisco's Golden Gate Bridge. Its innovative engineering and unmistakable design transformed the bay area's landscape, symbolizing an era of progress during the Great Depression\". The subtitles are concise and professional, providing valuable historical context while complementing the compelling visual elements presented in the scene.", "text": ["Constructing the Icon: Between 1933 and 1937, thousands of workers risked their lives building San Francisco's Golden Gate Bridge. Its innovative engineering and unmistakable design transformed the bay area's landscape, symbolizing an era of progress during the Great Depression."], "text_length": 39, "prompt_id": 178}
{"category": "caption", "length": "long", "prompt": "A screenshot from a weather broadcast, featuring a meteorologist standing confidently beside a colorful digital weather map with clearly illustrated temperature and precipitation forecasts. Temperatures are shown with clear numerical readings, ranging from cooler values marked in blue tones inland, gradually warming to warmer orange or red values near the coastline. Across the bottom of the frame, a semi-transparent dark-blue ticker panel stretches horizontally, carrying neat white textual subtitles stating: \"Weather Alert: Tropical storm warnings issued across coastal communities, with heavy rainfall and wind gusts of up to 70 mph expected within the next 48 hours. Residents are advised to stay informed and prepare for possible evacuations\". Positioned at the lower-left of this panel, the red bold capital letters \"LIVE\" appear clearly alongside the weather channel logo, reinforcing the urgent nature of the live weather update.", "text": ["Weather Alert: Tropical storm warnings issued across coastal communities, with heavy rainfall and wind gusts of up to 70 mph expected within the next 48 hours. Residents are advised to stay informed and prepare for possible evacuations.", "LIVE"], "text_length": 38, "prompt_id": 179}
{"category": "dialogue", "length": "short", "prompt": "A playful, vivid comic-style illustration depicting a conversation between two cartoon vegetables. A concerned carrot and an amused broccoli are in a lively kitchen setting featuring colorful dishes, fresh ingredients, kitchen cabinets, and hanging utensils in the background. In the top-left corner, the carrot stands upright, eyes wide open in shock, nervously glancing sideways. Its speech bubble is oval-shaped, clearly delineated with rounded, smooth, thin outlines, positioned directly above its head. The text inside uses a neat, expressive, hand-lettered style emphasizing concern and reads \"Wait, we're ingredients for today's soup? Nobody mentioned this earlier!\". At the bottom-right area, the broccoli leans casually against a small kitchen bowl, sporting a playful smirk and relaxed posture, responding humorously. Its rectangular speech bubble with rounded corners sits lower and slightly overlaps the bottom edge of the carrot's bubble, visually guiding the reader diagonally downward through the image. The broccoli's speech text, set in whimsical, lightly italicized font to emphasize its ironic and amused tone, states, \"You didn't get the memo? Good luck, buddy!\".", "text": ["Wait, we're ingredients for today's soup? Nobody mentioned this earlier!", "You didn't get the memo? Good luck, buddy!"], "text_length": 18, "prompt_id": 180}
{"category": "dialogue", "length": "short", "prompt": "A lively comic-style illustration depicting two humorous cartoon dogs interacting near a freshly dug backyard hole surrounded by scattered dirt, garden tools, blooming flowers, and a wooden fence background. At the upper-left side, Dog One stands nervously near the messy hole, ears down and eyes wide open with an expression of concern. Its speech bubble is an oval shape, outlined neatly with smooth, slightly rounded corners, positioned clearly above Dog One's head. Inside, clearly readable playful handwritten-style text emphasizes the dog's worried tone, saying, \"You sure the humans won't notice this giant hole here?\". Toward the lower-right side, Dog Two sits calmly and confidently with a cheerful, carefree expression, wagging its tail gently. Its speech bubble is rectangular with softly rounded edges, placed slightly overlapping with Dog One's speech bubble to guide the reader naturally downward diagonally across the frame. Dog Two's friendly, humorous response appears in a whimsical italicized comic font, clearly stating, \"Relax! We'll just blame it on the neighbor's cat again!\". Each speech bubble creats the playful and engaging backyard scene.", "text": ["You sure the humans won't notice this giant hole here?", "Relax! We'll just blame it on the neighbor's cat again!"], "text_length": 20, "prompt_id": 181}
{"category": "dialogue", "length": "short", "prompt": "A playful cartoon-style illustration showing two robots humorously conversing inside a futuristic, tech-themed workshop filled with mechanical parts and gadgets. At the upper-left side of the panel, Robot A, holding up a rusty, detached metal arm, looks concerned and asks in an oval-shaped speech bubble with bold, playful lettering, \"Have you seen my left arm anywhere?\". On the lower-right side, Robot B responds casually, pointing toward a cluttered shelf behind him, with a rectangular speech bubble and italicized friendly font replying, \"Check behind your spare battery, happens all the time!\". Robot B's speech bubble partially overlaps slightly beneath Robot A's bubble, guiding the reading flow naturally diagonally downward. Each bubble contains fewer than 10 words, clearly delivering a humorous exchange between the robot characters.", "text": ["Have you seen my left arm anywhere?", "Check behind your spare battery, happens all the time!"], "text_length": 16, "prompt_id": 182}
{"category": "dialogue", "length": "short", "prompt": "A vibrant cartoon-style illustration showing two playful squirrels chatting in a cozy forest clearing filled with fallen leaves, acorns, and a hollow log in the background. At upper-left, squirrel one appears worried, standing upright with wide eyes. Its speech bubble is oval-shaped with handwritten-style letters, reading, \"Did you bury the acorns under this tree?\". Near the bottom-right side, squirrel two casually leans against a small pile of leaves, smiling confidently. Its rounded rectangular speech bubble uses a slightly tilted, whimsical font and says, \"Relax, I drew a detailed map this time!\". Squirrel two's speech bubble is positioned diagonally below squirrel one's bubble, slightly overlapping at its corner, naturally guiding eyes across their humorous dialogue exchange.", "text": ["Did you bury the acorns under this tree?", "Relax, I drew a detailed map this time!"], "text_length": 16, "prompt_id": 183}
{"category": "dialogue", "length": "short", "prompt": "A humorous cartoon-style illustration depicting two bees chatting expressively inside a lively hive scene filled with honeycombs, honey jars, and busy worker bees flying around. On the upper-left area, Bee One hovers anxiously, wings visibly buzzing, looking alarmed and addressing Bee Two in an oval-shaped, slightly jagged speech bubble containing bold comic lettering reading, \"We are all out of honey! What do we do now?\". On the lower-right side of the scene, Bee Two relaxes comfortably by leaning against a honey jar, facial expression confident and smiley, responding in a smooth-edged, rounded rectangular speech bubble with gentle italics saying, \"Easy! We just visit the flowers and start again!\". Bee Two's speech bubble slightly overlaps the bottom edge of Bee One's dialogue bubble, gently guiding the reader’s eye downward and diagonally through the dialogue flow.", "text": ["We are all out of honey! What do we do now?", "Easy! We just visit the flowers and start again!"], "text_length": 20, "prompt_id": 184}
{"category": "dialogue", "length": "short", "prompt": "A vivid comic-style illustration showing two cartoon dinosaurs humorously interacting in a prehistoric jungle scene, filled with lush plants, ferns, palm trees, and volcanoes in the distant background. At the upper-left part of the frame, Dinosaur One, with a puzzled expression and slightly tilted head, speaks using an oval-shaped speech bubble outlined with a thick, dynamic stroke. The text inside appears in playful bold font that reads clearly, \"Have you seen my eggs anywhere around the volcano?\". At the lower-right corner, Dinosaur Two, sitting comfortably and holding an oversized leaf as a makeshift fan, replies casually, smirking confidently. Its rounded rectangular speech bubble features slightly italicized, whimsical letters stating, \"Relax! I moved them somewhere much safer!\". Dinosaur Two's speech bubble slightly overlaps the lower edge of Dinosaur One's bubble, visually guiding readers' eyes diagonally downward across the humorous dialogue.", "text": ["Have you seen my eggs anywhere around the volcano?", "Relax! I moved them somewhere much safer!"], "text_length": 16, "prompt_id": 185}
{"category": "dialogue", "length": "short", "prompt": "A humorous cartoon-style illustration featuring two owls perched on a branch under a starry nighttime sky, surrounded by leaves and softly glowing fireflies, with large expressive eyes. At the top-left section, Owl One appears tired and annoyed, eyes half-closed, speaking in an oval-shaped speech bubble with a thin, neatly curved outline. The text, styled in clean, playful, handwritten lettering, reads clearly, \"Can you stop hooting? I'm trying to sleep here!\". At the lower-right side, Owl Two, sitting upright and energetic with wide-open eyes, replies innocently in a slightly rounded rectangular speech bubble featuring comic-style letters with playful emphasis, saying, \"Sorry, forgot we're nocturnal birds for a second!\". Owl Two's speech bubble slightly overlaps the bottom edge of Owl One's bubble, guiding readers diagonally downward from the top-left to bottom-right, ensuring a natural reading flow of their amusing exchange.", "text": ["Can you stop hooting? I'm trying to sleep here!", "Sorry, forgot we're nocturnal birds for a second!"], "text_length": 17, "prompt_id": 186}
{"category": "dialogue", "length": "short", "prompt": "A colorful cartoon-style illustration depicting two humorous ghosts chatting playfully inside an old haunted library, complete with floating books, cobweb-covered shelves, antique lamps, and flickering candlelight. At the upper-left side, Ghost One hovers nervously near an open floating book, eyes wide in surprise, speaking in a rounded oval speech bubble outlined softly with a thin, wiggly line. The dialogue, displayed clearly in whimsical handwritten lettering, reads, \"Did you hear someone whisper behind that bookshelf just now?\". In response, at the lower-right side, Ghost Two floats calmly, relaxed and slightly amused, replying in a rounded rectangular speech bubble with playful italicized comic letters, confidently stating, \"Don't worry, we're supposed to haunt here, remember?\". Ghost Two's speech bubble is arranged just slightly overlapping the bottom-right side of Ghost One's speech bubble, naturally guiding the reader's eye diagonally downward through the humorous exchange.", "text": ["Did you hear someone whisper behind that bookshelf just now?", "Don't worry, we're supposed to haunt here, remember?"], "text_length": 18, "prompt_id": 187}
{"category": "dialogue", "length": "short", "prompt": "A playful comic-style illustration depicting two bears conversing humorously next to a riverbank in a vibrant forest setting, featuring trees, rocks, flowers, and playful fish jumping from the river beneath. At the upper-left area, Bear One stands upright with a slightly puzzled yet amused expression, holding an empty fishing net. Its speech bubble appears oval-shaped, gently curved, outlined with a smooth, distinct black line. Inside the bubble, the text is displayed visibly and clearly in a friendly, rounded, hand-lettered font, saying \"Did all the fish plan a vacation without telling us?\". At the lower-right, Bear Two comfortably sits on a rock, chuckling lightly, holding a fishing rod tangled awkwardly in a tree branch above. Its speech bubble is rectangular with rounded corners and positioned lower and slightly overlapping Bear One's speech bubble to guide readers' eyes diagonally downward. The typography in Bear Two's bubble is playful and italicized, reading humorously, \"Maybe they've finally learned about our sneaky fishing tricks!\".", "text": ["Did all the fish plan a vacation without telling us?", "Maybe they've finally learned about our sneaky fishing tricks!"], "text_length": 19, "prompt_id": 188}
{"category": "dialogue", "length": "short", "prompt": "A humorous, bright cartoon-style illustration depicting two friendly snails chatting playfully in a cozy garden landscape filled with oversized mushrooms, fresh dew-covered leaves, colorful flowers, and tiny insects exploring nearby. At the upper-left corner, Snail One, with wide eyes, appearing shocked and exasperated, speaks within an oval-shaped speech bubble that has soft, rounded edges outlined clearly by a thin, playful line. The text inside, using a friendly hand-drawn style font, reads, \"You mean we moved only two inches since yesterday morning?\". At the lower-right corner, Snail Two relaxes casually atop a small mushroom, smiling gently, and calmly replies using a rectangular speech bubble with softly rounded corners, slightly tilted upwards toward Snail One's bubble to clearly indicate a conversational exchange. The text within this bubble appears in whimsical italic letters reading, \"Relax, friend! We're snails, speed isn't exactly our thing!\". Snail Two's speech bubble slightly overlaps Snail One's bubble near the bottom, naturally guiding the reader's eyes diagonally top-left to bottom-right, ensuring a smooth reading flow.", "text": ["You mean we moved only two inches since yesterday morning?", "Relax, friend! We're snails, speed isn't exactly our thing!"], "text_length": 19, "prompt_id": 189}
{"category": "dialogue", "length": "long", "prompt": "An illustrated cartoon panel depicting a humorous conversation between a dog and a cat sitting on a sofa, each expressing their daily concerns within speech bubbles. Textual content layout creates casual, natural dialogue as follows: At the top left corner above the dog's head, a speech bubble reads, \"Honestly, chasing my tail seems like a great idea. But now I'm dizzy!\". On the upper right side near the cat, a thought bubble says, \"Why is it always drama with dogs?\". At the bottom left beneath the dog, another speech bubble continues, \"How do you relax all day without a mission?!\". Finally, at the bottom right corner next to the cat, the reply bubble states dryly, \"Simple. Less chasing, more sleeping\". The scene is playful with exaggerated cartoon expressions and the dialogue neatly positioned to guide the viewer naturally from top-left to bottom-right.", "text": ["Honestly, chasing my tail seems like a great idea. But now I'm dizzy!", "Why is it always drama with dogs?", "How do you relax all day without a mission?!", "Simple. Less chasing, more sleeping."], "text_length": 34, "prompt_id": 190}
{"category": "dialogue", "length": "long", "prompt": "A colorful comic-style illustration of two people talking humorously at a cafe counter. Speech bubbles arranged naturally guide viewers smoothly through their conversation. At the upper left, the barista smiles politely, speech bubble stating, \"Welcome! Can I interest you in our 3-shot espresso?\". At the upper right, the tired-looking customer responds nervously, \"Um that seems too powerful. Anything that helps me survive today's meeting?\". Below the barista on the lower left, another speech bubble continues cheerfully, \"Good news. We do offer a gentle Stay Awake Latte\". Finally, at the lower right, the customer replies gratefully, speech bubble reading, \"Perfect! I'd like two cups and double optimism, please\". Cartoonish expressions capture humor, and the layout clearly leads the viewer through their friendly dialogue flow.", "text": ["Welcome! Can I interest you in our 3-shot espresso?", "Um that seems too powerful. Anything that helps me survive today's meeting?", "Good news. We do offer a gentle Stay Awake Latte", "Perfect! I'd like two cups and double optimism, please."], "text_length": 40, "prompt_id": 191}
{"category": "dialogue", "length": "long", "prompt": "A comic-style illustration set in a fantasy video game scenario, showing dialogue between a knight character and a wizard character standing at a crossroads with directional wooden signs. Dialogues appear naturally through positioned speech bubbles to follow the flow of conversation. In the top left, the knight's bubble reads, \"We must choose wisely, wizard. Left path says 'Dragon's Lair', right one says 'Absolutely Certain Doom'. Any ideas?\". On the upper right side, near the wizard, a thoughtful speech bubble says, \"I suggest 'Absolutely Certain Doom'. Who labels paths honestly these days anyway?\". Finally, in the lower right next to the wizard, a confident bubble announces, \"Trust me, knight. Adventure favors the foolishly optimistic!\". The humorous dialogue bubbles are placed clearly across the scene guiding viewers naturally and sequentially through the characters' interactions.", "text": ["We must choose wisely, wizard. Left path says 'Dragon's Lair', right one says 'Absolutely Certain Doom'. Any ideas?", "I suggest 'Absolutely Certain Doom'. Who labels paths honestly these days anyway?", "Trust me, knight. Adventure favors the foolishly optimistic!"], "text_length": 38, "prompt_id": 192}
{"category": "dialogue", "length": "long", "prompt": "A vibrant comic-style panel depicting a humorous interaction between two cartoon aliens exploring Earth for the first time, standing next to their landed UFO. Speech bubbles are naturally arranged guiding the viewer through their dialogue. In the top-left corner, the first alien's curious speech bubble says, \"Strange planet. Inhabitants keep staring at their portable glowing rectangles\". Toward the upper-right, the second alien shrugs, replying, \"Perhaps those rectangles control their minds\". Lower-left bubble, near the first alien, thoughtfully continues, \"Then our invasion will be easy! Distract them with more rectangles\". Lastly, the bottom-right corner beside the second alien contains a cheerful response, \"Brilliant! We'll call it Operation Screen Addiction!\" The aliens exhibit humorous expressions, and dialogue boxes positioned diagonally lead the reader effortlessly from top-left to bottom-right.", "text": ["Strange planet. Inhabitants keep staring at their portable glowing rectangles.", "Perhaps those rectangles control their minds.", "Then our invasion will be easy! Distract them with more rectangles.", "Brilliant! We'll call it Operation Screen Addiction!"], "text_length": 34, "prompt_id": 193}
{"category": "dialogue", "length": "long", "prompt": "A whimsical comic-style illustration showing a humorous exchange between two office workers having lunch outdoors on a park bench. Speech bubbles naturally placed to follow the conversation flow. At the top left, the first worker's speech bubble reads, \"I packed a fresh salad and start my healthy lifestyle!\". Upper right near the second worker, whose expression shows disbelief, the speech bubble says, \"Weren't you eating donuts at the morning meeting?\". At the lower left, the first worker defensively responds, \"Balance is key! Leafy greens cancel out sugary rings\". At the bottom right, the second worker, amused and smiling slightly, replies, \"Ah, my mistake. You should email HR and suggest the new donut-salad wellness program\". Humorous facial expressions accompany the witty banter, with dialogue bubbles arranged diagonally to guide viewers naturally through the humorous interaction.", "text": ["I packed a fresh salad and start my healthy lifestyle!", "Weren't you eating donuts at the morning meeting?", "Balance is key! Leafy greens cancel out sugary rings.", "Ah, my mistake. You should email HR and suggest the new donut-salad wellness program."], "text_length": 41, "prompt_id": 194}
{"category": "dialogue", "length": "long", "prompt": "A colorful cartoon-style illustration depicting a comedic interaction between a customer and a clueless cashier at a fast-food restaurant counter. Dialogue bubbles are naturally arranged guiding the reader intuitively across each speaker's lines. At the upper left, the customer points to the menu board, speech bubble stating, \"Can I get the gourmet burger advertised as the biggest burger in town\"?\". Top right corner, the cashier's confused reply bubble reads, 'Actually, they're all normal-sized. We mainly specialize in exaggerated advertising\". Lower left, the customer rolls eyes with exaggerated disbelief, saying, \"Then maybe I'll just try your famous fries?\". Lower right side, the cashier smiles awkwardly, replying sheepishly, \"They're legendary for being very, um, average\". Expressions humorous and dialogue clearly spaced to smoothly guide readers diagonally from top-left to bottom-right.", "text": ["Can I get the gourmet burger advertised as the biggest burger in town", ". Top right corner, the cashier's confused reply bubble reads, 'Actually, they're all normal-sized. We mainly specialize in exaggerated advertising.", "Then maybe I'll just try your famous fries?", "They're legendary for being very, um, average."], "text_length": 48, "prompt_id": 195}
{"category": "dialogue", "length": "long", "prompt": "A vibrant comic-style illustration of two cartoon robots humorously discussing their tasks in a futuristic factory setting. Dialogue bubbles are naturally organized, leading readers intuitively through the scene. At top left, Robot A holds a broom and says in a puzzled tone, \"We have superior processors capable of deep learning, yet I'm assigned floor-cleaning duty... Logic error detected!\". Upper right bubble shows Robot B carrying a tray of coffee mugs, replying with gentle sarcasm, \"I'm serving coffee at your service!\". At the lower left, Robot A tilts head playfully, stating, \"Clearly humans fear robot domination through coffee mugs!\". Bottom right bubble near Robot B responds cheerfully, \"Right, we'll conquer humanity by mastering latte art first!\". The dialogue layout sequentially guides viewers diagonally from upper-left to bottom-right, enhancing the playful nature of the exchange through expressive robot faces and postures.", "text": ["We have superior processors capable of deep learning, yet I'm assigned floor-cleaning duty... Logic error detected!", "I'm serving coffee at your service!", "Clearly humans fear robot domination through coffee mugs!", "Right, we'll conquer humanity by mastering latte art first!"], "text_length": 39, "prompt_id": 196}
{"category": "dialogue", "length": "long", "prompt": "A humorous, brightly colored cartoon-style comic panel set at a medieval market, featuring a quirky merchant attempting to sell magical potions to a skeptical knight. Speech bubbles naturally guide the audience through the conversation's progression. At the top-left, the merchant enthusiastically gestures to colorful bottles, speech bubble reading, \"Step right up noble Sir! One gulp of my potion, and you'll grow taller and wiser!\". Top-right corner near the knight's doubtful face, a bubble responds skeptically, \"Hmm, Sounds wildly exaggerated. Any actual guarantees?\". In lower-left, merchant replies cheerfully, \"Absolutely! If it doesn't work, I'll reverse it, probably.\". Finally, bottom-right, the knight sighs humorously, speech bubble concluding, \"Maybe I'll stick to sword practice instead\". The expressive characters and clear diagonal speech-bubble layout naturally guide readers from top-left to bottom-right.", "text": ["Step right up noble Sir! One gulp of my potion, and you'll grow taller and wiser!", "Hmm, Sounds wildly exaggerated. Any actual guarantees?", "Absolutely! If it doesn't work, I'll reverse it, probably!", "Maybe I'll stick to sword practice instead."], "text_length": 39, "prompt_id": 197}
{"category": "dialogue", "length": "long", "prompt": "A playful cartoon-style scene featuring two pirates humorously discussing treasure at the beach beside a recently dug hole, speech bubbles arranged naturally to guide readers through their dialogue. At the top left, Pirate A scratches his head confusedly with a speech bubble saying, \"So you're saying the 'X' was supposed to mark buried gold, not someone's lost sandals?\". In the upper right corner, Pirate B shrugs, replying casually, \"Seems maps aren't what they used to be. Maybe it's the new pirate recycling program!\". Lower left corner has Pirate A raising an eyebrow skeptically, speech bubble stating, \"Great initiative, but sandals won't buy rum or a new ship\". Finally, bottom right beside Pirate B, with a cheerful gesture, responds \"True! But at least we'll be sailing comfortably!\" Facial expressions humorous and dialogue bubbles spaced evenly to naturally flow diagonally from upper-left to bottom-right for clear and playful readability.", "text": ["So you're saying the 'X' was supposed to mark buried gold, not someone's lost sandals?", "Seems maps aren't what they used to be. Maybe it's the new pirate recycling program!", "Great initiative, but sandals won't buy rum or a new ship.", "True! But at least we'll be sailing comfortably!"], "text_length": 49, "prompt_id": 198}
{"category": "dialogue", "length": "long", "prompt": "A humorous cartoon-style comic panel set inside an art museum, depicting a confused visitor engaging in playful dialogue with the enthusiastic tour guide about an abstract painting. Speech bubbles are positioned naturally to guide viewers easily through their conversation. At the upper-left, the puzzled visitor's speech bubble reads, \"Are you sure this upside-down triangle represents humanity's struggle?\" In the top-right corner, the smiling guide replies confidently, \"Precisely! Humanity often struggles between deep meaning and pizza cravings\". Lower-left corner speech bubble shows the visitor responding thoughtfully, \"Well, in that case, I deeply resonate with this masterpiece\". Finally, bottom-right side next to the guide, a cheerful bubble summarizes, \"Excellent! True art speaks clearly to those who hunger for understanding\". The humorous expressions and clear diagonal speech bubble arrangement naturally guide viewers through the amusing exchange from top-left to bottom-right.", "text": ["Are you sure this upside-down triangle represents humanity's struggle?", "Precisely! Humanity often struggles between deep meaning and pizza cravings.", "Well, in that case, I deeply resonate with this masterpiece.", "Excellent! True art speaks clearly to those who hunger for understanding."], "text_length": 40, "prompt_id": 199}
{"category": "sign", "length": "short", "prompt": "阳光明媚的白天,繁忙的都市街道上,色彩缤纷的店铺沿熙攘的人行道林立,不同人群悠闲地走过商店橱窗,或交谈或匆忙地奔波于日常事务。一家引人注目的时尚咖啡店上方,一块醒目巨大的彩色广告牌清晰地印着“每日新鲜烘焙”,采用粗体、时尚且现代的字体设计,立刻吸引目光。优雅地排布在主标语下方,柔和的书法字体标语“本地烘焙,始于1998”突出了传统与真实。附近立着一块经典的街道指示牌,整洁地指向城市生活中的宁静绿洲,明确标注着“中央公园 - 2公里”,以清晰易读的字体引导游客。所有标识都明亮醒目,与动态都市建筑的细致背景形成鲜明对比,增强了热闹的城市氛围。", "text": ["每日新鲜烘焙", "本地烘焙,始于1998", "中央公园 - 2公里"], "text_length": 23, "prompt_id": 0}
{"category": "sign", "length": "short", "prompt": "一个充满活力且繁忙的城市十字路口,交通和行人熙熙攘攘,高耸于繁忙街道之上的明亮广告牌格外醒目。广告牌上以醒目流畅的字体展示着“探索电动汽车的未来”的标语,采用时尚现代的字体设计,远距离即可清晰阅读。壮观的广告牌周围分布着众多绚丽的城市灯光、明亮的商店橱窗,以及充满活力的城市街道,车辆川流不息,行人往来不断。附近的其他标志也巧妙地提供了城市指引,例如“前方有停车场”和“右转前往市中心”等简洁明了的提示,有效烘托出热闹的氛围,并自然融入这个充满活力的现代都市景观之中。", "text": ["探索电动汽车的未来", "前方有停车场", "右转前往市中心"], "text_length": 22, "prompt_id": 1}
{"category": "sign", "length": "short", "prompt": "宁静祥和的乡村场景中,一条蜿蜒的草地道路被茂密的绿意环绕,路边优雅地立着一座迷人的木制路标。路标上醒目地刻着“欢迎来到布鲁克小径”的邀请信息,质朴的字母自然地融入周围环境。下方略小但清晰可见的文字写着“前方有观鸟和野餐区”,贴心地引导游客参与户外活动。路标基座周围,鲜艳的野花盛开,与挺拔的高大树木共同装点这片景色,树木在微风中轻轻摇曳,阳光诗意地透过树叶洒落。不远处,另一块木制路标以相同的质朴风格指向左侧,清晰标注着“湖景2公里”,温柔地鼓励游客继续探索。所有文字元素既鲜明突出又巧妙融合,自然地融入这片宁静的田园氛围中。", "text": ["欢迎来到布鲁克小径", "前方有观鸟和野餐区", "湖景2公里"], "text_length": 23, "prompt_id": 2}
{"category": "sign", "length": "short", "prompt": "一个充满活力且吸引人的户外市场场景,热闹非凡,色彩缤纷的横幅温暖地悬挂在头顶,营造出节日般的氛围。欢快的场景中央是一块醒目的横幅,用大胆俏皮的字体清晰标注“新鲜本地农产品——周六农民市场”,立刻吸引住游客的目光。其下方较小但清晰可见的文字写着“上午8点至下午2点营业,风雨无阻”,贴心地为购物者提供信息。围绕主横幅的是各个市场摊位上挂着的小而迷人的招牌,分别展示着“有机蜂蜜”、“手工艺品”和“时令水果”等特色商品,均以鲜明吸引人的字体呈现。这些清晰易读且富有吸引力的招牌文字自然地融入热闹的市场环境,无缝融入温暖的社区友好氛围,与面带微笑的摊主和热情的购物者共同构成熙熙攘攘的生动画面。", "text": ["新鲜本地农产品——周六农民市场", "上午8点至下午2点营业,风雨无阻", "有机蜂蜜", "手工艺品", "时令水果"], "text_length": 40, "prompt_id": 3}
{"category": "sign", "length": "short", "prompt": "一群热情的学生聚集在充满活力的环保集会上,他们高举着色彩鲜艳、引人注目的标语牌,热烈呼吁保护海洋。中央醒目位置的标语牌上以清晰有力的字体醒目地写着“拯救我们的海洋”,瞬间吸引目光。该标语牌底部边缘整齐排列着较小但清晰可读的副标题“立刻行动起来”,进一步强化环保主题。围绕中央横幅的众多彩色标语牌上,简洁有力的标语如“保护海洋生物”,“禁止一次性塑料制品”,“海洋健康即人类健康”等内容与生动的海洋生物插图相得益彰。参与者们展现出团结、热情与决心,共同营造出充满力量与希望的氛围,彰显他们保护海洋的共同承诺。", "text": ["拯救我们的海洋", "立刻行动起来", "保护海洋生物", "禁止一次性塑料制品", "海洋健康即人类健康"], "text_length": 37, "prompt_id": 4}
{"category": "sign", "length": "short", "prompt": "一个温馨宜人的咖啡馆坐落于繁华的城市街头转角处,拥有迷人的门面,入口上方优雅悬挂着一块引人注目的招牌。招牌采用复古木料制作,上面用精美的手写体字母温暖地宣告着“用心烘焙,以爱奉客”。在主要标语下方清晰可见略小但清晰的字体标注着“营业时间:早7点至晚9点”,为咖啡馆访客提供指引。围绕着醒目的招牌,茂盛的盆栽植物与精致的仙女灯营造出亲密温馨的氛围,完美契合咖啡馆古朴放松的气质。附近,满意的顾客在户外桌位舒适地休憩着,悠然品尝新鲜咖啡与美味糕点,空气中弥漫着现煮咖啡的怡人香气,进一步提升了这个充满活力的城市咖啡馆的诱人魅力。", "text": ["用心烘焙,以爱奉客", "营业时间:早7点至晚9点"], "text_length": 19, "prompt_id": 5}
{"category": "sign", "length": "short", "prompt": "一个充满活力和生机的户外农贸市场遍布于宽敞明亮的广场上,阳光下热情的购物者们正在色彩斑斓的摊位间探索,每个摊位都摆满了新鲜的商品。这幅温馨的场景中心处是一块古朴的木制招牌,随意地支在一个展架上,其上用活泼的手绘字母醒目地宣告着“本地新鲜农产品,健康生活之选”。主文字周围巧妙地装饰着诱人的插画,包括色彩鲜艳的苹果、清脆的胡萝卜和生机勃勃的叶类蔬菜,这些图案进一步提升了公告的吸引力。标语下方,用清晰易读的衬线字体标明了“每周六上午8点至下午2点”的市场营业时间。招牌本身略显陈旧却充满温情,其真实感和魅力与这个户外市场热闹、繁忙且充满社区氛围的场景完美契合。", "text": ["本地新鲜农产品,健康生活之选", "每周六上午8点至下午2点"], "text_length": 25, "prompt_id": 6}
{"category": "sign", "length": "short", "prompt": "一条宁静的乡村道路延伸至地平线,两旁是起伏的绿色山丘和金色田野。道路旁立着一块斑驳的木质交通标志,其油漆略有褪色但依然清晰可见。标志上以粗体大写字母写着“前方野生动物横穿”。在主文本下方,较小的字迹写着“减速慢行,保护自然”。标志固定在一根坚固的立柱上,周围长满高草和随风摇曳的野花。远处,一只鹿谨慎地踏上了道路,增添了与自然的宁静联系。上方的天空蔚蓝如洗,点缀着蓬松的白云,而空气中回荡着鸟鸣的宁静声响。这场景唤起对自然世界的平静与尊重。", "text": ["前方野生动物横穿", "减速慢行,保护自然"], "text_length": 16, "prompt_id": 7}
{"category": "sign", "length": "short", "prompt": "一个充满活力的未来城市夜景栩栩如生,高耸入云的摩天大楼上装饰着复杂的霓虹灯、发光标识和动态全息影像,璀璨光芒照亮整座城市。在繁忙的视野中心,一座巨大的数字广告牌横跨着中央建筑的闪亮外墙,以绚丽的色彩和流畅迷人的动画吸引着居民和游客。广告牌上醒目而充满活力的字体大胆地宣告着:“欢迎来到梦想成真之地”,其发光的未来感字体立即吸引眼球。正下方,较小的字体优雅地滚动着清晰的优雅字体:“现在体验未来”,邀请路人进一步探索这个令人兴奋的目的地。令人着迷的文字周围是引人入胜的动态画面,描绘着流线型飞行汽车穿梭于闪烁的城市景观、霓虹灯光波在建筑间脉动,以及以生动全息影像展示的未来科技产品。先进的科技嗡鸣声与远处的节奏音乐交织,营造出沉浸式氛围,完美展现了霓虹城充满活力、令人兴奋且富有远见的魅力。", "text": ["欢迎来到梦想成真之地", "现在体验未来"], "text_length": 16, "prompt_id": 8}
{"category": "sign", "length": "short", "prompt": "夜晚的城市交叉路口,周围是被明亮广告覆盖的高楼大厦。场景中央,一座巨型电子广告牌占据着天际线,未来感字体显示着醒目的发光文字\"发现你无限的潜能\"。主标语下方,较小的字幕在屏幕底部滚动显示“加入LimitlessLife.com”。广告牌交替展示文字与动态画面,呈现人们完成非凡壮举的场景:攀登高山、马拉松奔跑以及在高科技实验室进行创新。附近商铺和公交站的小型招牌上写着“勇敢无畏”和“你的旅程由此开始”等激励性标语。所有标识上的文字都清晰易读,在城市绚丽的色彩和闪烁灯光中格外醒目。行人驻足阅读这些信息,有人用手机拍照,整个场景充满着进取与鼓舞的能量。", "text": ["加入LimitlessLife.com", "勇敢无畏", "你的旅程由此开始"], "text_length": 14, "prompt_id": 9}
{"category": "sign", "length": "long", "prompt": "热闹的城镇广场上布满了五彩缤纷的招牌,人来人往充满活力。场景中央,一家面包店入口上方悬挂着巨大的木制招牌,用温暖质朴的字体写着“格兰玛面包坊 用心烘焙”。下方人行道上一块黑板告示牌展示着当日特供:“今日点心:玛芬蛋糕、酸面包、可颂”字样。左侧一座现代电子广告牌高耸在邻近建筑上方,广告内容写着“城市影院 正在上映:冒险家”,下方小字列出放映时间:“下午1点、下午4点、下午7点、晚上10点”。广场另一侧,明亮的黄色街道警示牌以加粗大写字母提醒“注意:儿童玩耍”。所有招牌都清晰醒目,周围是享受阳光的熙攘人群,喷泉与花摊为这幅画面增添了独特魅力。", "text": ["格兰玛面包坊 用心烘焙", "今日点心:玛芬蛋糕、酸面包、可颂", "城市影院 正在上映:冒险家", "下午1点、下午4点、下午7点、晚上10点", "注意:儿童玩耍"], "text_length": 57, "prompt_id": 10}
{"category": "sign", "length": "long", "prompt": "一条宁静的乡村道路通向一家小型家族农场的入口,这里设有多种标识。一块用大地色调涂刷的木制标识牌上以手写体写着“日出农场:新鲜的有机农产品和乳制品”。下方固定在立柱上的小型标识牌标注着“农场开放时间: 早10点至晚4点”。沿着道路延伸方向,田边立着一块斑驳的广告牌,用明快的字体写着“欢迎与我们共同庆祝丰收节!”,并配有南瓜和干草堆的插图。道路拐弯处的金属交通标识牌以明黄色和黑色警示“前方弯路,减速慢行”。这些标识清晰易读,周围环绕着连绵起伏的绿色山丘、放牧的牲畜和零星分布的农舍,构成了一幅宁静宜人的田园景象。", "text": ["日出农场:新鲜的有机农产品和乳制品", "农场开放时间: 早10点至晚4点", "欢迎与我们共同庆祝丰收节!", "前方弯路,减速慢行"], "text_length": 50, "prompt_id": 11}
{"category": "sign", "length": "long", "prompt": "阳光明媚的广场上挤满了热闹的户外集市,充满活力的购物人群在色彩斑斓的摊位间穿梭。在这个充满动感的市场场景中央,一个醒目的大型木质招牌悬挂在一个热门摊位上方,温暖的笔触清晰展示着“新鲜农场 当地土特产”的字样。在主标题下方,优雅简洁的标语鼓励性地写着“品尝最自然的农产品”,并附上诱人的优惠信息“特价:今日有机农产品九折!”。摊位周围艺术地散落着小型手写风格的黑板牌,清晰展示着吸引人的附加信息,如“提供显现的苹果,草莓,有机蔬菜”等,进一步吸引好奇的游客驻足。购物者们常驻足细读这些生动呈现的招牌文字,在热闹的集市氛围中增添了温暖与真实感。", "text": ["新鲜农场 当地土特产", "品尝最自然的农产品", "特价:今日有机农产品九折!", "提供显现的苹果,草莓,有机蔬菜"], "text_length": 42, "prompt_id": 12}
{"category": "sign", "length": "long", "prompt": "机场航站楼内人潮涌动,旅客们走过天花板上显眼悬挂的大型数字信息显示屏。深蓝色背景上以明亮易读的白色文字醒目显示着顶栏信息:“注意:因天气原因航班延误”。这行大标题下方,略小的字体显示着:“飞往芝加哥的EZ172次航班预计20:30起飞,我们为由此带来的不便表示歉意”。显示屏底部横向滚动着补充信息:“如需进一步咨询,请前往附近的航空公司柜台”。乘客们在显示屏前停下脚步,仔细阅读,表情中流露出关切与专注。", "text": ["注意:因天气原因航班延误", "飞往芝加哥的EZ172次航班预计20:30起飞,我们为由此带来的不便表示歉意", "如需进一步咨询,请前往附近的航空公司柜台"], "text_length": 64, "prompt_id": 13}
{"category": "sign", "length": "long", "prompt": "黄昏时分热闹的市中心十字路口,上方高高悬挂着巨大的广告牌。广告牌上醒目地展示着清晰的大字“在山景水疗度假村享受宁静”,下方稍小但十分显眼的字样写着“尽情享受奢华护理,在令人惊叹的景色中放松身心”。广告牌底部另有简洁提示文字“立即预订,首次可享20%折扣!”和“详情访问山景水疗度假村官网”。这些文字以柔和的邀请式字体呈现,在充满自然气息的宁静背景下吸引着路人的目光。", "text": ["在山景水疗度假村享受宁静", "尽情享受奢华护理,在令人惊叹的景色中放松身心", "立即预订,首次可享20%折扣!", "详情访问山景水疗度假村官网"], "text_length": 58, "prompt_id": 14}
{"category": "sign", "length": "long", "prompt": "阳光明媚的一天,繁忙的游乐园入口处挂满了五彩缤纷的横幅。入口上方悬挂着一条醒目的横幅,用清晰粗体的字母写着:“欢迎来到冒险王国,乐趣永无止境!”在问候语下方,稍小一些的文字写着:“体验惊险刺激的游乐设施、美味可口的美食和难忘的家庭时光”。售票处附近的小型横幅用易读的文字标明:“工作日折扣:12岁以下儿童五折!”以及“年卡持有者专属通道”。其他附近标识牌显示着“园区每日上午10点至晚上9点开放”等信息。游客们稍作停留,阅读这些引人注目且充满吸引力的文字信息后,兴奋地朝公园入口走去。", "text": ["欢迎来到冒险王国,乐趣永无止境!", "体验惊险刺激的游乐设施、美味可口的美食和难忘的家庭时光", "工作日折扣:12岁以下儿童五折!", "年卡持有者专属通道", "园区每日上午10点至晚上9点开放"], "text_length": 79, "prompt_id": 15}
{"category": "sign", "length": "long", "prompt": "一个色彩鲜艳的冲浪小屋矗立在阳光明媚的海滩边,门面上方挂着一块大型彩绘木制招牌。招牌上显眼的文字显示着“踏浪者冲浪商店”,下方紧接着印着“乘风破浪,实现梦想!”字样。招牌下方较小但清晰易读的字体写着“冲浪板租赁,冲浪课程,适用于全年龄段”,旁边还有一行引人注目的标语“加入小白也能轻松入门的冲浪课程!”。招牌底部的手写体字公告“每日从日出到日落开放”。附近较小的标语牌和横幅上写着“提供新鲜的蔬菜沙拉!”等活泼的宣传语。所有文字内容都充满活力、清晰易读且视觉效果出色,旨在热情欢迎前来海滩的游客。", "text": ["踏浪者冲浪商店", "乘风破浪,实现梦想!", "冲浪板租赁,冲浪课程,适用于全年龄段", "加入小白也能轻松入门的冲浪课程!", "每日从日出到日落开放", "提供新鲜的蔬菜沙拉!"], "text_length": 65, "prompt_id": 16}
{"category": "sign", "length": "long", "prompt": "温暖的灯光下,精心打造的招牌在迷人的社区书店场景中格外醒目。中央的木质招牌清晰可见:“第一章书店: 发现你的下一次伟大冒险!”正下方,稍小一些的欢迎文字写着:“今晚作者签售:晚上7点与艾米丽哈特见面!”底部的手写体标语写着:“店内提供免费咖啡和小食”。展示架旁的附带小招牌上写着吸引人的标语,例如“精选新品,专为您推荐”。所有招牌上的文字都充满邀请感,清晰易读,并经过精心设计,旨在吸引路过的爱书人。", "text": ["第一章书店: 发现你的下一次伟大冒险!", "今晚作者签售:晚上7点与艾米丽哈特见面!", "店内提供免费咖啡和小食", "精选新品,专为您推荐"], "text_length": 54, "prompt_id": 17}
{"category": "sign", "length": "long", "prompt": "热闹的城市公园里聚集着许多家庭,公园中央两棵树之间悬挂着一面色彩鲜艳、充满欢乐的大型横幅。横幅上醒目地印着“夏日家庭欢乐日”,“全天畅玩游戏美食与音乐!”下方较小但清晰可见的字样写着“所有年龄段儿童均可享受脸部彩绘!”以及“下午四点起,乐队现场演唱会”。横幅底部整齐排列着“免费入场!”的字样。附近的指示牌明确标注着“野餐区”,“观景区”等信息。所有展示的文字内容都生动活泼、吸引人且易于阅读,热情地邀请并引导着前来参加的家庭。", "text": ["夏日家庭欢乐日", "全天畅玩游戏美食与音乐!", "所有年龄段儿童均可享受脸部彩绘!", "下午四点起,乐队现场演唱会", "免费入场!", "野餐区", "观景区"], "text_length": 55, "prompt_id": 18}
{"category": "sign", "length": "long", "prompt": "引人注目的木质边框粉笔板伫立在温馨街边面包店入口外侧。板面以迷人手写风格醒目书写着“甜蜜乐园面包店 每日新鲜烘焙的幸福!”下方紧邻着更小字号的友好字迹补充道“今日特供:巧克力牛角包”,并附上温暖邀请“进店可免费品尝任意热饮”。招牌底部以优雅的连笔字宣告“营业时间 上午7点至下午6点,每日清晨现烤新鲜面包!”店铺橱窗周围散落着更小的告示牌,展示着欢快信息如“各类庆典定制蛋糕!”所有文字内容整齐美观、亲切易读,精心设计以热情迎接路人。", "text": ["甜蜜乐园面包店 每日新鲜烘焙的幸福!", "今日特供:巧克力牛角包", "进店可免费品尝任意热饮", "营业时间 上午7点至下午6点,每日清晨现烤新鲜面包!", "各类庆典定制蛋糕!"], "text_length": 68, "prompt_id": 19}
{"category": "label", "length": "short", "prompt": "一场精心策划的植物展览展示了整齐陈列于木质桌架上的各类异域植物,每株植物都配有简洁的信息标签。中央一株艳丽的紫色兰花配有清晰印刷的标签“兰科米尔顿兰属”,下方以较小的优雅字体标注“原生地:巴西雨林”。周围植物同样配有极简风格的标签,如“多肉植物石莲花:喜阳光”和“盆景桧树:禅意花园必备”。所有标签上的文字说明都简短自然,采用清晰易读的字体,与展览的宁静和信息丰富的氛围相得益彰。", "text": ["兰科米尔顿兰属", "原生地:巴西雨林", "多肉植物石莲花:喜阳光", "盆景桧树:禅意花园必备"], "text_length": 34, "prompt_id": 20}
{"category": "label", "length": "short", "prompt": "一个精准专业的实验室场景清晰呈现了各类化学仪器,仪器经过精心整理并以清晰易读的标签在洁白的实验架和有序的实验台上突出展示。场景中央显著位置摆放着装有亮蓝色液体的透明玻璃烧瓶,简洁醒目的粗体字标注为“硫酸铜溶液”,下方整齐排列着更小字号的精准印刷文字“0.5M浓度”。周围其他实验材料也井然有序地摆放,均配有同样清晰专业的印刷标签,如“乙醇95%”、“盐酸”和“蒸馏水”,有效传递安全信息和内容描述。所有文字信息均简洁清晰可辨且设计专业,营造出信息完整、井然有序且科学严谨的实验室氛围。", "text": ["硫酸铜溶液", "0.5M浓度", "乙醇95%", "盐酸", "蒸馏水"], "text_length": 18, "prompt_id": 21}
{"category": "label", "length": "short", "prompt": "明亮且宽敞的仓库内部堆满了整齐码放的木箱、坚固的纸箱和纸板箱,这些货物沿着高大的有序货架系统化排列。中央位置格外醒目地放置着一个大型纸箱,其上印有清晰易读的专业标签“有机咖啡豆”,瞬间吸引视线。巧妙地放置在下方的是较小但清晰的字体说明“产地:埃塞俄比亚,中度烘焙”,提供简洁信息。附近的其他包装同样配有简明专业的标签,清晰展示着“精品绿茶”“原味杏仁”和“纯天然野花蜂蜜”等信息,始终传递明确的产品细节。所有文字标签都精确简洁且具有视觉吸引力,体现出仓库高效有序、系统清晰和细致入微的管理氛围。", "text": ["有机咖啡豆", "产地:埃塞俄比亚,中度烘焙", "精品绿茶", "原味杏仁", "纯天然野花蜂蜜"], "text_length": 31, "prompt_id": 22}
{"category": "label", "length": "short", "prompt": "热闹而繁忙的户外农贸市场里,热情的顾客们悠闲地浏览着色彩斑斓的摊位,摊位上摆满了新鲜的农产品和迷人的手工艺品。每个商品都配有清晰书写的便签标签,经过精心摆放以便观看。一个格外显眼且吸引人的标签清晰地写着“有机野生蜂蜜 原始未过滤”,瞬间抓住了观者的目光,旁边整齐地附着着一行更小友好的说明文字“本地用心采集”。围绕这个招牌的其他简洁易读的标签也经过精心布置,如“手工精选传家番茄”,“手工全谷面包”。游客们热情地与摊主互动,快乐地探索商品,为这个充满吸引力的农贸市场增添了温馨的社区氛围。", "text": ["有机野生蜂蜜 原始未过滤", "本地用心采集", "手工精选传家番茄", "手工全谷面包"], "text_length": 31, "prompt_id": 23}
{"category": "label", "length": "short", "prompt": "一个宽敞明亮的博物馆展厅内,古董文物被精心陈列。每件展品都配有清晰简洁的标签,明确标注其历史意义与来源。其中一件引人注目的展品是工艺精美的陶瓷花瓶,其上醒目地标注着“古希腊陶罐,约公元前500年”,下方还附有较小文字“出土于雅典考古遗址”,为展品提供背景信息。邻近展柜同样配有精确清晰的说明标签,如“埃及护身符”和“玛雅玉质吊坠”,每个标签都整齐地靠近对应文物。这些信息丰富、专业呈现的标签鼓励参观者深入互动,增强了博物馆宁静环境中对历史的欣赏与教育价值。", "text": ["古希腊陶罐,约公元前500年", "出土于雅典考古遗址", "埃及护身符", "玛雅玉质吊坠"], "text_length": 33, "prompt_id": 24}
{"category": "label", "length": "short", "prompt": "热闹非凡的美食节现场装饰着色彩鲜艳的摊位,摆满了诱人的美食。热闹氛围中央醒目地立着一块迷人的粉笔黑板牌,上面用清晰的手写体写着“正宗泰式街头面”,下方紧接着较小的印刷体文字“提供素食”。附近还有其他简洁而吸引人的粉笔黑板标识,明确标注了特色美食,包括“自制意大利冰淇淋”和“新鲜阿根廷馅饼”,每块标识都以专业手法呈现,兼具个性与清晰度。这些简洁且视觉吸引的文字标识有效吸引参观者的目光,促使他们与热情的摊主互动,品尝多样风味,完全沉浸在美食节温馨而友好的氛围中。", "text": ["正宗泰式街头面", "提供素食", "自制意大利冰淇淋", "新鲜阿根廷馅饼"], "text_length": 26, "prompt_id": 25}
{"category": "label", "length": "short", "prompt": "一个宽敞而充满活力的当代艺术展厅,陈列着精心挑选的现代绘画和引人注目的雕塑作品。每件艺术品都通过整齐摆放的标签进行清晰标注,标签印刷规范专业。中央艺术品的显著位置设有醒目标签“艾米莉亚·哈特,时光回响,布面油画”,立即吸引观者目光;下方另有细致安排的文字“创作于2022年”。环绕四周的其他作品同样配有简洁清晰的说明标签,如“超越地平线”、“L. 碎片化现实”以及“寂静反思”。这些信息性文字标签鼓励参观者积极互动,深入欣赏当代展览中呈现的多元创意表达。", "text": ["艾米莉亚·哈特,时光回响,布面油画", "创作于2022年", "超越地平线", "L. 碎片化现实", "寂静反思"], "text_length": 36, "prompt_id": 26}
{"category": "label", "length": "short", "prompt": "一间茶铺内整齐排列的货架上摆满了装有不同茶饮的罐子。每个茶罐上都有手写的长方形标签,端正地贴在正中央位置;其中格外显眼的标签标注着“夏季蜜桃白茶”,下方略小的描述文字写着“轻盈花香混合蜜桃风味”。周围茶罐同样采用统一风格的标签排列,包括“洋甘菊薰衣草草本混合”等字样。每个罐子上的文字排布十分讲究:茶名以较大的强调字体位于上方,简洁的描述性短语则工整地排列在下方,形成视觉美观且易于阅读的布局,既吸引顾客目光又清晰传递信息。", "text": ["夏季蜜桃白茶", "轻盈花香混合蜜桃风味", "洋甘菊薰衣草草本混合"], "text_length": 26, "prompt_id": 27}
{"category": "label", "length": "short", "prompt": "可再生能源教育中心的互动展览。详尽的展板上清晰地展示了整齐印刷的信息标签;一个显眼的太阳能模型上放置着清晰可读的标签,内容为“光伏太阳能板”,下方紧接着较小的说明性项目符号,明确标注着“将阳光转化为电能”。附近,整齐排列的其他标签包含详细描述内容,例如“水平轴风力涡轮机广泛使用于全球”。所有标签均经过精确措辞,易于阅读且位置安排合理,明显有助于游客有效理解重要的可再生能源概念和运作方式。", "text": ["光伏太阳能板", "将阳光转化为电能", "水平轴风力涡轮机广泛使用于全球"], "text_length": 29, "prompt_id": 28}
{"category": "label", "length": "short", "prompt": "一座历史交通博物馆,展区内陈列着经典老爷车。每辆汽车旁都竖立着整齐排列的竖直矩形信息面板。信息面板的文本布局遵循清晰的层次结构:在顶部,车辆名称以加粗且稍大的字体突出显示,例如“1957年雪佛兰敞篷汽车”;下方紧接着是用较小字体书写的描述性短语,明确标注为“美国经典车型,以标志性设计著称”;面板底部以更小且简洁的格式列出整齐排列的要点,例如“发动机:V8,283立方英寸”。相邻车辆均采用相同的清晰标签布局,例如“1964年福特野马汽车”同样以加粗字体位于顶部,下方以一致的视觉对齐方式呈现描述性和事实性信息,使参观者能够轻松舒适地浏览并吸收信息。", "text": ["1957年雪佛兰敞篷汽车", "美国经典车型,以标志性设计著称", "发动机:V8,283立方英寸", "1964年福特野马汽车"], "text_length": 48, "prompt_id": 29}
{"category": "label", "length": "long", "prompt": "一个整洁有序的实验室工作空间,工作台和架子上整齐摆放着多件科学仪器。每件物品都附有清晰的说明性标签、标识或便签。中央位置醒目地展示着一张较大的标签,用加粗清晰的字体标注着“高度敏感样本”。围绕这一核心提示,周围的较小标签清晰标识着各类物品:“移液器,已校准”、“70%乙醇溶液”和“生物样本,分析后立即冷藏”。每个文字标签都清晰精确且专业印刷,共同营造出实验室严谨细致的氛围。", "text": ["高度敏感样本", "移液器,已校准", "70%乙醇溶液", "生物样本,分析后立即冷藏"], "text_length": 29, "prompt_id": 30}
{"category": "label", "length": "long", "prompt": "一个博物馆展览展示着精心放置在透明玻璃后的古代陶器文物。多个陶器器皿和工具都配有清晰的标签标明其历史渊源。中央显眼位置设有一块矩形文字面板,印有“青铜时代早期古代工艺的陶器文物”字样。每个文物附近直接附着的小型标签提供简明信息,包括“陶器容器:约公元前2100年”、“装饰陶碗”和“印度河流域文明祭祀器皿”。所有文字标签都整齐印刷且清晰易读,使整个展览呈现教育性的外观。", "text": ["青铜时代早期古代工艺的陶器文物", "陶器容器:约公元前2100年", "装饰陶碗", "印度河流域文明祭祀器皿"], "text_length": 43, "prompt_id": 31}
{"category": "label", "length": "long", "prompt": "一个整洁有序的杂货店货架,摆满新鲜且包装精美的食品,营造出令人愉悦的购物体验。清晰印刷的标签和标牌风格统一且设计专业,兼顾可读性与视觉美感。在中心焦点处,醒目的矩形标签明确标注着“有机蜂蜜,本地采集,纯正天然风味”,瞬间传达出产品的品质与天然属性。附近,尺寸略小但同样清晰的标签为邻近商品提供简洁描述,包括“特技枫糖浆”,“生杏仁酱”和“100%手工草莓果酱”,有效凸显出市场对健康天然产品的承诺。所有标签均经过精心布局,外观统一且易于辨识,共同营造出清晰、新鲜、注重品质的购物氛围。", "text": ["有机蜂蜜,本地采集,纯正天然风味", "特技枫糖浆", "生杏仁酱", "100%手工草莓果酱"], "text_length": 32, "prompt_id": 32}
{"category": "label", "length": "long", "prompt": "一个整齐排列的仓库通道被清晰照亮,展示着堆叠整齐的纸箱和牢固包装的物品。统一印刷的专业标签明显贴附,清晰标注着操作注意事项。中央位置一块矩形标识牌清晰标注着“小心:易碎物品,运输时保持直立”,立即吸引注意。附近整齐摆放的小型标签进一步提供简洁说明,分别标注着“电子元件”,“玻璃瓶装易碎内容物”和“医疗用品,温度敏感”,每个标签均清晰可读且信息明确。这些印刷清晰的标签风格统一且摆放用心,有效强调了小心操作的要求,营造出仓库高效、安全且有序专业的氛围。", "text": ["小心:易碎物品,运输时保持直立", "电子元件", "玻璃瓶装易碎内容物", "医疗用品,温度敏感"], "text_length": 34, "prompt_id": 33}
{"category": "label", "length": "long", "prompt": "一个引人入胜且精心组织的植物园展览,展区内陈列着种类繁多的美丽植物,每株植物都配有整齐印刷的信息标签进行明确标识。中央醒目位置设置着矩形易读标签,标明“珍稀兰花需小心养护并避免阳光直射”,突出展示关键的植物养护指南。周围植物各自配有较小的、精心排列的标签,附有简明扼要却信息丰富的描述,如“多肉植物,少量浇水”,“热带蕨类,喜湿环境”和“高山苔藓,耐寒”,贴心地为游客提供信息。所有文字标签均清晰可辨,风格统一、专业印刷,进一步营造出教育氛围,凸显植物园致力于以清晰直观的方式提供精准植物养护知识的宗旨。", "text": ["珍稀兰花需小心养护并避免阳光直射", "多肉植物,少量浇水", "热带蕨类,喜湿环境", "高山苔藓,耐寒"], "text_length": 38, "prompt_id": 34}
{"category": "label", "length": "long", "prompt": "现代且井然有序的电子产品陈列,精巧的科技产品被精准摆放在洁白无瑕的货架上,专为清晰展示与交互体验设计。中央醒目位置陈列着一款现代智能手机,其上明确标注“5G:引领下一代”,瞬间吸引目光,下方辅以更小字号的精准文字“无限速度,无限可能”,简明扼要突出设备核心特性。相邻设备同样配有极简风格却信息丰富的标签,如“无线耳机”、“智能手表:X系列”和“环保充电器”,每个标签均专业印刷且易于阅读。这些简洁统一的文字标签强调清晰与易用性,与店铺整洁、有序且充满科技感的氛围相得益彰。", "text": ["5G:引领下一代", "无限速度,无限可能", "无线耳机", "智能手表:X系列", "环保充电器"], "text_length": 29, "prompt_id": 35}
{"category": "label", "length": "long", "prompt": "一个精心陈列的矿物和晶体标本的玻璃展柜。每个标本都配有详细且易于阅读的信息标签;其中一个显眼的标签清晰标注着“紫水晶石英晶体簇,巴西米纳斯吉拉斯州”,下方附有更小字号的说明文字明确写着“约1.3亿年前形成”。附近的其他信息标签精准标注着诸如“蓝铜矿伴孔雀石,产自中国云南”、“闪电脊木化石,约1亿年前,产自澳洲”以及“萤石八面体晶体,产自中国湖南”等展品信息。这些印刷整齐、简洁明了的标签有效吸引并教育着观众,增强他们在欣赏展示矿物标本时的互动体验与理解深度。", "text": ["紫水晶石英晶体簇,巴西米纳斯吉拉斯州", "约1.3亿年前形成", "蓝铜矿伴孔雀石,产自中国云南", "闪电脊木化石,约1亿年前,产自澳洲", "萤石八面体晶体,产自中国湖南"], "text_length": 66, "prompt_id": 36}
{"category": "label", "length": "long", "prompt": "海洋生物多样性博物馆内设有详尽的展览,展示着各种逼真的海洋生物模型,陈列在照明展台上。每个标本都配有整洁且清晰易读的说明标签;其中一件标本位于大型鲨鱼仿制品前,标签上醒目地写着“大白鲨、”,下方较小的解释文字显示“体长可达6米”,“栖息地:全球沿海水域”。附近其他简洁且富有信息量的标签包括“棱皮海龟:体型最大的海龟”、“太平洋巨型章鱼”和“僧帽水母”,通过清晰突出引人入胜的生物学知识来吸引参观者。", "text": ["大白鲨、", "体长可达6米", "栖息地:全球沿海水域", "棱皮海龟:体型最大的海龟", "太平洋巨型章鱼", "僧帽水母"], "text_length": 40, "prompt_id": 37}
{"category": "label", "length": "long", "prompt": "一家极简风格的现代面包店,展示着优雅的陈列柜中摆满新鲜制作的甜点和糕点。每个甜点都配有整齐设计的标签,统一放置在玻璃展示柜前部底部。在最顶端中央位置,招牌上以加粗字体清晰标注着糕点名称“草莓芝士挞”;其正下方以稍小的斜体字显示简洁的口味描述,如“奶油芝士蛋糕搭配新鲜草莓”;在标签右下角整齐排列着价格标识“4.50”。面包店内所有甜点标签均采用这一统一布局,包括“巧克力榛果”,搭配描述语“内含浓郁榛果奶油与黑巧克力糖霜”,以及“抹茶马卡龙”配以描述语“以优质抹茶粉制成的精致马卡龙”,营造出简洁而富有视觉吸引力的文本展示,让顾客浏览时感到轻松愉悦。", "text": ["草莓芝士挞", "奶油芝士蛋糕搭配新鲜草莓", "4.50", "巧克力榛果", "内含浓郁榛果奶油与黑巧克力糖霜", "抹茶马卡龙", "以优质抹茶粉制成的精致马卡龙"], "text_length": 59, "prompt_id": 38}
{"category": "label", "length": "long", "prompt": "一个热闹的动物园展区,透过透明的观察窗和围栏可以看到多样化的野生动物栖息地。每个动物围栏都配有整齐印刷的信息标签;其中一块显眼的标签清晰写着“小熊猫”,下方较小的描述文字写着“饮食以竹子为主;主要分布于喜马拉雅山地”。其他简洁却清晰易读的邻近标签包括“非洲蜜獾,高度社会性,沙漠栖居”,“环尾狐猴,原产于马达加斯加”和“雪豹,濒危的山地掠食者”。标签上的详细文字提升了游客的参与感,激发了对野生动物多样性的探索兴趣和深入认知。", "text": ["小熊猫", "饮食以竹子为主;主要分布于喜马拉雅山地", "非洲蜜獾,高度社会性,沙漠栖居", "环尾狐猴,原产于马达加斯加", "雪豹,濒危的山地掠食者"], "text_length": 56, "prompt_id": 39}
{"category": "print", "length": "short", "prompt": "一个优雅布置的复古旅行主题桌面场景,突出展示一张细节精致的印刷明信片,周围环绕着各种怀旧旅行配件,如古董指南针、皮面笔记本、复古邮票和褪色的车票。在构图中心,美丽的明信片上醒目地呈现着风格化的花体手写文字“问候佛罗伦萨,艺术与梦想之城”,整齐地放置在标志性佛罗伦萨大教堂圆顶的详细艺术插图下方。文字内容呈现为精心书写的手稿形式,略微倾斜以体现真实感,使用经典黑色墨水书写,字迹清晰优美,笔画流畅自然。明信片周围散落着复古火车票,票面印有简短注记如“单程票:罗马至佛罗伦萨”和“有效期:1954年5月18日”,凸显经典欧洲旅行主题。略显磨损的边缘和柔和阴影强化了怀旧氛围,捕捉到复古书信书写与浪漫欧洲旅程的情感精髓。", "text": ["问候佛罗伦萨,艺术与梦想之城", "单程票:罗马至佛罗伦萨", "有效期:1954年5月18日"], "text_length": 36, "prompt_id": 40}
{"category": "print", "length": "short", "prompt": "明亮温馨的面包店内景,在温暖柔和的晨光中,展示着一块引人注目的原木框架粉笔板菜单,其朴实无华的外观被精心摆放在白色砖墙上。粉笔板中央用大而优雅的手绘字体清晰写着“今日特供:酸面包与肉桂卷”。在主要信息下方,较小的字体整齐标注着“每日清晨新鲜出炉”。粉笔板右上角以俏皮的连笔字风格巧妙写着“精心自制”。菜单边缘环绕着略显褪色、充满复古感的小麦杆和糕点插图,这些图案微妙地框住文字,增强了手工烘焙氛围。主粉笔板旁立着一块较小的木牌,手写文字显示“免费品尝”,并配有装饰性箭头指引顾客走向展示柜台。所有文字元素都清晰鲜明且风格独特,自然的手写效果营造出真实的手工烘焙氛围,完美契合这家迷人面包店的整体氛围。", "text": ["今日特供:酸面包与肉桂卷", "每日清晨新鲜出炉", "精心自制", "免费品尝"], "text_length": 27, "prompt_id": 41}
{"category": "print", "length": "short", "prompt": "一个优雅的复古风格婚礼邀请函布置轻轻放置在精致的象牙色蕾丝桌布上,在柔和的自然午后阳光下显得格外温馨。邀请函由细腻纹理的乳白色纸张制成,边缘饰有淡雅的花卉浮雕图案,稳居画面中央。邀请函核心处以优雅的书法清晰书写着“诚挚邀请您参加我们的婚礼庆典”。在中央文字下方稍低的位置,以较小字体优雅地补充着“二〇二三年六月十日,星期六”。邀请函右下角另有一行更小的纤细手写体注明“仪式结束后随即举行婚宴”。围绕邀请函的配套文具包括褪色的回函卡优雅地标有“敬请于五月十五日前回复”,复古邮票以及古董珍珠装饰品。每个文字元素都呈现出独特的优雅,流畅的手写笔触中蕴含着柔和的艺术韵味,完美烘托出整个布置的典雅浪漫氛围。", "text": ["诚挚邀请您参加我们的婚礼庆典", "二〇二三年六月十日,星期六", "仪式结束后随即举行婚宴", "敬请于五月十五日前回复"], "text_length": 47, "prompt_id": 42}
{"category": "print", "length": "short", "prompt": "一张印在柔和米色卡纸上的精美复古火车票,票面采用清晰分明的字体设计。票面中央赫然印有“中央特快列车单程旅行”字样,使用优雅衬线字体呈现。主文字下方稍显位置,较小但清晰可辨的字样注明“出发地:纽约 目的地:芝加哥”。车票左下角精致印刷的细节显示“座位号23,日期:1947年10月12日”。围绕这张核心车票的还有复古明信片,上面手写有“真希望你也在”的字迹;褪色信封上印有“航空邮件,请小心轻放”的墨迹;以及半展开的铁路路线图,在角落整齐标注“铁路路线与连接”。每件物品都清晰可读、精心排列的文字内容,边缘带有柔和的毛边或细微褶皱,完美呈现真实怀旧的旅行美学。", "text": ["中央特快列车单程旅行", "出发地:纽约 目的地:芝加哥", "座位号23,日期:1947年10月12日", "真希望你也在", "航空邮件,请小心轻放", "铁路路线与连接"], "text_length": 61, "prompt_id": 43}
{"category": "print", "length": "short", "prompt": "一个精美插图的植物日历整齐地摆放在古朴木纹表面上,旁边摆放着复古剪刀、干花、复古回形针和柔和褶皱信封等文具。日历页面中央显眼地展示着优雅的手写风格文字,清晰可见“拥抱变化的季节”,以深褐色墨色优雅地书写。主信息下方略显位置,较小但清晰可辨的文字细心注明“秋分:9月23日”。同一页右下角处,细腻的草体字温柔添加了“插图出自伊莱诺·佩奇”。日历周围散落着写在泛黄纸片上的温馨手写便签“这个周末采摘橄榄”、精心标注“家庭食谱”的复古信封,以及轻柔墨迹书写“温馨秋日祝福”的小型个性化明信片。场景中所有文字元素都清晰可辨、精心排列、细致手写,共同营造出充满怀旧与亲密感的秋日氛围。", "text": ["拥抱变化的季节", "秋分:9月23日", "插图出自伊莱诺·佩奇", "这个周末采摘橄榄", "家庭食谱", "温馨秋日祝福"], "text_length": 41, "prompt_id": 44}
{"category": "print", "length": "short", "prompt": "一本装帧精美的古董硬壳书,封面采用皮革纹理的深酒红色。中央以精致的烫金字体清晰凸印着“诗选:心语呢喃”,字迹清晰易读且细节优雅。在这一显眼书名之下,稍低的位置以较小但依然清晰可辨的字体整齐标注着“玛格丽特·比肖普 著”。右下角以纤细的书法字体低调印刷着“初版 一九二八年”。围绕着这本中心书籍,散落着泛黄的明信片,上面工整书写着“永恒珍藏的记忆”;褪色的书签上印着“细细品味生命的每一页”;羊皮纸标签则以柔和的浮雕工艺呈现“亨利·阿彻私人藏书”。所有可见的文本元素均经过精心编排,呈现出复古典雅的视觉效果,字迹清晰易读,设计华美考究,共同营造出深具个人特色、跨越时空的文学氛围。", "text": ["诗选:心语呢喃", "玛格丽特·比肖普 著", "初版 一九二八年", "永恒珍藏的记忆", "细细品味生命的每一页", "亨利·阿彻私人藏书"], "text_length": 46, "prompt_id": 45}
{"category": "print", "length": "short", "prompt": "一张复古羊皮纸信笺,略显泛黄且明显折叠过,布满淡雅的折痕线条。信笺正中以清晰优雅的笔迹书写着“亲爱的伊丽莎白,永远思念着你”的字样。在主要文字下方略显位置,以较小但依旧清晰易读的字体优雅地补充着“伦敦,1885年4月12日”。信笺右下角整齐排列着以柔和连笔字书写的“永远属于你的,詹姆斯”。信笺周围散落着复古邮票,邮票上印着柔和的“3便士”字样,泛黄信封上温柔地写着“牛津郡伊丽莎白·惠特莫尔小姐”的地址,以及标有墨迹淡雅的“珍藏情感”字样的精致文具纸张。场景中所有文字细节均呈现手工书写的真实感,字迹间距考究,视觉效果精致,共同营造出充满怀旧浪漫气息的历史邮政氛围。", "text": ["亲爱的伊丽莎白,永远思念着你", "伦敦,1885年4月12日", "永远属于你的,詹姆斯", "3便士", "牛津郡伊丽莎白·惠特莫尔小姐", "珍藏情感"], "text_length": 54, "prompt_id": 46}
{"category": "print", "length": "short", "prompt": "一张略微泛黄的收据上,优雅褪色的衬线字体清晰印着“贝拉咖啡店”,文字清晰可读且优雅居中。咖啡馆名称下方稍低处,较小但清晰的字体柔和地写着“日期:1932年5月14日”。在底部边缘,以简单且均匀排列的数字,收据低调地标注着“总计:2.40元”。环绕这张收据的柔和模糊背景细节包括复古方糖、华丽的盘子和小巧的干薰衣草枝。收据上的所有文字均以精致的复古字体印刷,清晰可读却简洁,巧妙地增强了场景中温柔的怀旧咖啡馆氛围。", "text": ["贝拉咖啡店", "日期:1932年5月14日", "总计:2.40元"], "text_length": 23, "prompt_id": 47}
{"category": "print", "length": "short", "prompt": "一对复古风格的音乐会门票随意放置在黄铜古董钥匙和柔软散落的干花花瓣旁。门票中央用优雅略显褪色的衬线字体清晰印有“夏日爵士之夜”,深色油墨在柔和的米色卡纸上格外清晰可辨。标题下方较小但整洁的字体隐约标注着“日期:1959年7月8日”。门票右侧边缘的打孔区域印有极简风格的编号“14号座位”和“15号座位”。两张门票的印刷字体都呈现出真实的轻度磨损感,精准对齐且自然可读,优雅地凸显出复古音乐活动的怀旧魅力和永恒氛围。", "text": ["夏日爵士之夜", "日期:1959年7月8日", "14号座位", "15号座位"], "text_length": 27, "prompt_id": 48}
{"category": "print", "length": "short", "prompt": "复古风格的植物种子包轻轻放置在一本古董园艺日志上,旁边是粗犷的陶土花盆、园艺麻绳和精致的干薰衣草茎。柔软磨损的纸质包装中央,优雅而极简的印刷文字清晰可见“薰衣草种子”,以简洁的复古衬线字体呈现。主文字下方稍低处,较小字号的文字柔和地标注着“家传品种,始于1925年”。包装底部边缘,低调简洁的印刷文字优雅地注明“净重2克”。种子包装上的文字内容印刷考究,外观柔和,自然易读,保持清晰简洁的风格,提升了整体怀旧宁静的园艺氛围。", "text": ["薰衣草种子", "家传品种,始于1925年", "净重2克"], "text_length": 20, "prompt_id": 49}
{"category": "print", "length": "long", "prompt": "一家咖啡店的手写粉笔板菜单,整体风格温馨且富有乡村风情。菜单板主体部分以清晰优雅的书法写着“现煮咖啡与自制糕点”。同一块板的右上角另有一行较小的草书字“每日用心奉上”。这两行主文字下方,以较小的字体列出“营业时间 7:00-16:00”和“店内提供每日特供”。附近还悬挂着几块复古风格的装饰招牌,上面写着“温暖心灵”,“每日新鲜烘焙糕点”和“热巧克力”等温馨标语。所有文字排列整齐、间距得当,视觉上极具吸引力,完美烘托出咖啡馆的温馨氛围。", "text": ["现煮咖啡与自制糕点", "每日用心奉上", "营业时间 7:00-16:00", "店内提供每日特供", "温暖心灵", "每日新鲜烘焙糕点", "热巧克力"], "text_length": 50, "prompt_id": 50}
{"category": "print", "length": "long", "prompt": "一张复古风格的旅游宣传册安然地放置在乡村风格的木桌上。宣传册展开并有些折痕,中心上方醒目地印着怀旧标题“探索威尼斯的历史奇迹!”。标题下方,较小的文字以优雅的草书字体书写着“在运河、文化与咖啡中开启难忘的旅程”。更下方,整齐的衬线字体详细描述了行程内容,清晰可见地写着:“清晨在迷人咖啡馆品尝正宗的意式浓缩咖啡,登上浪漫的贡多拉船穿行于如画的水道,欣赏隐藏教堂中的文艺复兴杰作”,激发行动欲望并鼓励立即预订。威尼斯著名运河和地标的插图地图装饰着宣传册背景,为内容增添了背景信息和视觉吸引力。", "text": ["探索威尼斯的历史奇迹!", "在运河、文化与咖啡中开启难忘的旅程", "清晨在迷人咖啡馆品尝正宗的意式浓缩咖啡,登上浪漫的贡多拉船穿行于如画的水道,欣赏隐藏教堂中的文艺复兴杰作"], "text_length": 76, "prompt_id": 51}
{"category": "print", "length": "long", "prompt": "一张由光滑象牙色卡片纸制成的精致餐厅菜单,四周环绕着优雅的金色装饰边框,配有微妙的叶形图案。顶部中央以典雅的衬线字体醒目呈现餐厅名称:“花园餐厅”。标题下方以稍小的斜体字书写着吸引人的标语:“新鲜食材,地道风味,难忘美味”。菜单下半部分垂直分为三个清晰部分:“前菜”、“主菜”和“甜点”,各标题以时尚的大写形式呈现,并配有细线装饰。在“前菜”部分,“烤面包片 新鲜出炉的面包搭配成熟的番茄和橄榄油”等描述性文字清晰列出。中部“主菜”板块中,“香煎三文鱼排 嫩滑的三文鱼搭配快炒芦笋和迷迭香土豆”等详细而简洁的描述引人注目。底部“甜点”区域重点推荐了“法式香草布丁 顺滑的香草蛋奶冻搭配焦糖脆壳”等精选甜点。整体文字排版精准对齐,间距舒适,确保了可读性与美观的视觉流动。", "text": ["花园餐厅", "新鲜食材,地道风味,难忘美味", "前菜", "主菜", "甜点", "前菜", "烤面包片 新鲜出炉的面包搭配成熟的番茄和橄榄油", "主菜", "香煎三文鱼排 嫩滑的三文鱼搭配快炒芦笋和迷迭香土豆", "甜点", "法式香草布丁 顺滑的香草蛋奶冻搭配焦糖脆壳"], "text_length": 94, "prompt_id": 52}
{"category": "print", "length": "long", "prompt": "一张优雅的剧院门票印制在柔和的奶油色卡纸上,边缘为圆润处理,四周环绕着精致的海军蓝花卉图案。门票左上角整齐排列着小号衬线字体,清晰可见“大剧院呈献”字样。其正下方在顶部中央位置以加粗优美的手写体突出表演名称“晚风小夜曲”。门票中部右侧整齐排列着清晰的衬线字体,详细列出活动信息:第一行直接标注“2023年4月22日星期六”,紧接着下方为“入场时间18:30,开场时间19:00”。这些文字下方明确标注着“座位:包厢区E排17座”,精准呈现座位安排。门票左下部分有一行斜体小字礼貌提醒观众:“请在入口处出示此票,迟到可能影响演出”。右下角整齐排列着低调却清晰的票价说明“入场费:45英镑”。整体文字排版精准有序,视觉平衡,间距舒适,带来愉悦顺畅的阅读体验。", "text": ["大剧院呈献", "晚风小夜曲", "2023年4月22日星期六", "入场时间18:30,开场时间19:00", "座位:包厢区E排17座", "请在入口处出示此票,迟到可能影响演出", "入场费:45英镑"], "text_length": 72, "prompt_id": 53}
{"category": "print", "length": "long", "prompt": "一张复古证书优雅地印刷在厚重的羊皮纸上。证书边缘装饰着深绿色的精致花纹,呈现出繁复的叶状图案和卷曲纹样。页面顶端中央以古典衬线字体醒目地印着“成就证书”。标题下方以较小的斜体字清晰呈现副标题:“授予以表彰非凡的奉献精神和卓越表现”。副标题下方整齐居中排列着受赠人姓名,以典雅的草书字体突出显示:“颁发给艾米莉亚·约翰逊女士”。姓名下方通过精心对齐的较小衬线字体呈现描述:“因其在社区识字项目推进中作出的杰出贡献”。证书左下部精准对齐的文本标注着颁发日期:“授予于2023年12月10日”。证书文本布局经过精心平衡与细致排版,确保信息清晰、格式庄重且视觉优雅。", "text": ["成就证书", "授予以表彰非凡的奉献精神和卓越表现", "颁发给艾米莉亚·约翰逊女士", "因其在社区识字项目推进中作出的杰出贡献", "授予于2023年12月10日"], "text_length": 66, "prompt_id": 54}
{"category": "print", "length": "long", "prompt": "一张整齐展开的复古城市地图。其角落因年代久远和频繁使用而略有褶皱。顶部中央位置以醒目的衬线字体清晰印有标题:“探索迷人的街道和地标!”标题正下方以较小的斜体字简洁注明:“南卡罗来纳州最佳景点、美食和隐秘角落指南”。地图左下角设有标有“地图钥匙”的方框图例,内有简明易读的说明:“历史遗迹”、“餐厅与咖啡馆”、“停车区域”。地图右侧垂直排列着以整洁衬线字体标题为“必访目的地”的列表,包含多个简短描述,例如:“城市市场:提供手工艺品”以及“滨水公园:标志性的喷泉”。地图右下角清晰标注着:“如需更多信息或导览服务,请致电555-0162”。每个文字区块都经过精心排版,间距舒适,易于阅读,营造出美观且信息丰富的视觉叙事效果。", "text": ["探索迷人的街道和地标!", "南卡罗来纳州最佳景点、美食和隐秘角落指南", "地图钥匙", "历史遗迹", "餐厅与咖啡馆", "停车区域", "必访目的地", "城市市场:提供手工艺品", "滨水公园:标志性的喷泉", "如需更多信息或导览服务,请致电555-0162"], "text_length": 93, "prompt_id": 55}
{"category": "print", "length": "long", "prompt": "一张略显风化的旧明信片沐浴在来自附近窗户的温暖金色阳光中。明信片表面被分为左右两部分:左侧占据约三分之二垂直空间的位置,一段优雅的深蓝色墨水手写短笺柔和地填充在区域内。正上方写着问候语“亲爱的艾米莉”,问候语下方继续以清晰字迹书写:“巴黎正如我们梦想中那般迷人,每条街道都排列着迷人的面包店和咖啡馆。昨天我们参观了卢浮宫,并在画作前驻足了数小时。非常想念你,希望不久的将来你能来此与我相聚!”右下角落款处优雅地签上“最温暖的祝福,克拉拉”。明信片右侧三分之一的背面,收件人地址工整书写:“艾米莉·卡特小姐,英格兰,罗斯伍德大道28号”。地址上方以大写衬线字体柔和地印着“此处贴邮票”。所有文字元素排列清晰且视觉平衡,通过有序而个性化的呈现方式传递出温暖氛围。", "text": ["亲爱的艾米莉", "巴黎正如我们梦想中那般迷人,每条街道都排列着迷人的面包店和咖啡馆。昨天我们参观了卢浮宫,并在画作前驻足了数小时。非常想念你,希望不久的将来你能来此与我相聚!", "最温暖的祝福,克拉拉", "艾米莉·卡特小姐,英格兰,罗斯伍德大道28号", "此处贴邮票"], "text_length": 111, "prompt_id": 56}
{"category": "print", "length": "long", "prompt": "一张整洁印刷在洁白纸张上的登机牌,采用圆角设计并配有醒目的深蓝色水平条纹。该条纹上方以加粗大写无衬线字体清晰显示航空公司名称:“天际线航空”。右上角紧邻位置印有较小字号的易读短语:“经济舱”。规范的衬线字体依次排列着“旅客姓名:乔纳森 沃特斯”,“航班号:SK312”和“日期:2023年5月15日,星期一”。右侧与这些信息相对应的位置,垂直排列着精准的登机指引,间距合理以确保清晰度。文字内容明确显示:“登机口:B14”,“登机时间:9:35”,“座位号:23A”以及“起飞时间:上午10:10”。登机牌底部中央以较小字号印有简明提示:“请至少提前30分钟到达登机口。登机口将在起飞前10分钟严格关闭”。所有文字内容均印刷清晰、结构合理,便于快速阅读和高效理解。", "text": ["天际线航空", "经济舱", "旅客姓名:乔纳森 沃特斯", "航班号:SK312", "日期:2023年5月15日,星期一", "登机口:B14", "登机时间:9:35", "座位号:23A", "起飞时间:上午10:10", "请至少提前30分钟到达登机口。登机口将在起飞前10分钟严格关闭"], "text_length": 96, "prompt_id": 57}
{"category": "print", "length": "long", "prompt": "一张优雅的婚礼请柬在温暖的午后阳光下柔和地照亮。这款矩形请柬采用优质象牙色卡纸精制而成,略带纹理质感,圆角设计,边缘以淡雅的银色藤蔓花卉图案装饰。正上方中央以优雅的花体字醒目地印着“与家人共聚”。其正下方以端庄典雅的衬线体清晰呈现新人姓名:“夏洛特和本杰明”。稍下方以较小的斜体字温暖地表达简短的邀请语:“诚邀您共襄婚宴”。再往下以精致的衬线字体整齐排列的仪式细节分列多行,明确标注着:“2023年8月26日星期六下午四点;波特兰市湖畔路2451号奥克伍德庄园花园”。卡片底部中央以较小的斜体字工整地印着礼貌提示:“随后将在庄园舞厅举行婚宴”。每个文字元素均垂直对齐,对称分布,营造出整洁雅致的版面,既提升可读性,又散发出高贵浪漫的气息。", "text": ["与家人共聚", "夏洛特和本杰明", "诚邀您共襄婚宴", "2023年8月26日星期六下午四点;波特兰市湖畔路2451号奥克伍德庄园花园", "随后将在庄园舞厅举行婚宴"], "text_length": 68, "prompt_id": 58}
{"category": "print", "length": "long", "prompt": "一个时尚笔记本敞开着放在原木风格的书桌上,阳光从附近的窗户自然洒落。封面的左上方整齐地压印着用优雅衬线字体书写的励志短语“梦想 规划 实现”。翻开笔记本,洁白的内页呈现出整洁有序的布局,黑色边框的区域清晰划分,便于有条理地做笔记。每页左上角显著位置印着简洁的标题“今日优先事项”,下方整齐排列的线条便于精准记录。页面中部右侧设有专门的“重要提醒”板块,以清晰的项目符号方便查阅。页面底部边缘左侧对齐的位置,用简洁的斜体字写着温和的鼓励语“小步前进终将成就大事”。笔记本中的所有文字元素均排列清晰,视觉平衡,间距舒适,营造出适合日常使用的整洁专业印象。", "text": ["梦想 规划 实现", "今日优先事项", "重要提醒", "小步前进终将成就大事"], "text_length": 26, "prompt_id": 59}
{"category": "webpage", "length": "short", "prompt": "一个专注于心理健康与正念的优雅极简风格移动应用程序界面。移动屏幕中央突出显示着文字内容:“清空思绪,滋养灵魂,每天拥抱平静”。文字采用柔和、圆润且易于阅读的字体,背景为舒缓的淡色调,柔和渐变色平滑过渡。每句文字之间稍作间隔以突出重点,并配有象征宁静与正念的小巧精致图标,图标被巧妙地放置在文字附近,强化整体界面主题。应用程序界面包含柔和的图形元素如波浪图案和极简设计,营造出干净整洁的用户体验,生动地传达文字信息。", "text": ["清空思绪,滋养灵魂,每天拥抱平静"], "text_length": 14, "prompt_id": 60}
{"category": "webpage", "length": "short", "prompt": "一个吸引人且引人入胜的网站博客界面,展示着采用现代美学风格设计的简洁有序布局。首页顶部是一条醒目居中的标题,清晰地写着“提升生产力与内心平静的简单习惯”。文字采用现代无衬线字体,具有良好的可读性,白色文字覆盖在视觉效果出色的柔和虚化自然主题页眉背景上。标题正下方设有导航菜单栏,显示着清晰简洁的菜单链接,分别标注为“首页”“文章”,“指南”和“社区”。主标题下方设有一条极简的水平分隔线,将其与下方详细但精心排列的帖子预览卡片区隔开来。这些卡片整齐地以双列多行形式排列在页面上,每张卡片包含较小的预览图片、描述性标题、发布时间和作者姓名,所有内容都协调地排列在中央文字内容下方。", "text": ["提升生产力与内心平静的简单习惯", "首页", "文章", "指南", "社区"], "text_length": 23, "prompt_id": 61}
{"category": "webpage", "length": "short", "prompt": "一个现代社交媒体平台界面显示在时尚智能手机屏幕上。该界面采用简洁且富有视觉吸引力的设计,底部导航栏精确排列着简约而鲜艳的图标。屏幕中央醒目地显示着一条文本帖子,内容为:“旅行更远,体验更多,解锁内心深处的冒险”。这句话采用优雅且醒目的字体设计,在渐变背景图像上形成视觉平衡的对比,背景图像呈现模糊的自然景观。文本正上方整齐排列着用户头像和用户名,旁边还有微妙的时间戳显示帖子发布时间。主文本内容下方是用于用户互动的交互按钮和图标,明显水平排列着“点赞”、“评论”和“分享”等功能。整体设计风格强调可读性与视觉和谐,自然引导观众目光聚焦于引人注目的核心文字内容。", "text": ["旅行更远,体验更多,解锁内心深处的冒险", "点赞", "评论", "分享"], "text_length": 23, "prompt_id": 62}
{"category": "webpage", "length": "short", "prompt": "一个精致的在线博客首页展示在明亮现代的桌面屏幕上,采用清晰现代的布局设计。界面顶部设有视觉美观的水平导航栏,整齐排列着标注为“首页”、“生活方式”、“健康”和“联系方式”的链接。导航区域下方是特色展示区,突出显示着文字内容:“简单步骤助你可持续生活并每日提升幸福感”。主标题采用醒目吸引人的衬线字体呈现,深色文字与极简柔和的淡色调背景形成鲜明对比。标题下方垂直排列着整齐对齐的文章预览卡片,每张卡片包含小幅预览图、文章标题、作者姓名和发布日期。柔和的分隔线在视觉上划分各区块,营造和谐的设计效果,突出核心文字信息。", "text": ["首页", "生活方式", "健康", "联系方式", "简单步骤助你可持续生活并每日提升幸福感"], "text_length": 31, "prompt_id": 63}
{"category": "webpage", "length": "short", "prompt": "一个精致且用户友好的移动应用界面,以个人健康追踪为核心,背景采用舒缓的柔和渐变色调以营造视觉愉悦感。屏幕顶部整齐排列着“首页”,“进度”和“个人资料”的图标,通过微妙的平滑过渡实现便捷导航。屏幕中央醒目地展示着一条激励性文本信息,采用易读的圆润字体书写,内容为:“追踪你的习惯,提升健康状况,拥抱更健康的生活方式”。在该核心文本下方,横向排列着紧凑的信息卡片,显示每日进度、提醒事项和实用统计数据。每张卡片均包含直观的图标和简洁的数字信息,使整体布局呈现出自然平衡且连贯的视觉流动,引导用户注意力直接聚焦于中心的激励性文本。", "text": ["首页", "进度", "个人资料", "追踪你的习惯,提升健康状况,拥抱更健康的生活方式"], "text_length": 30, "prompt_id": 64}
{"category": "webpage", "length": "short", "prompt": "一个优雅现代的在线教育网站界面清晰地呈现在台式显示器上,以明亮且吸引人的配色方案和简洁的结构设计为特色。网站顶部横向排列着整齐的导航标签,分别标有“关于”、“课程”、“资源”和“联系”,每个标签旁配有极简风格的线性图标。页面中央醒目地放置着一段独特的文字短语,采用易读的无衬线字体清晰呈现,内容为:“释放你的创造力,掌握新技能,丰富你的学习旅程”。这段核心信息下方是一个整齐排列的网格布局,展示着交互式特色课程缩略图,每张缩略图都配有简短标题、作者姓名、简要描述以及显眼的行动号召按钮,鼓励用户立即参与。整体布局强调清晰与视觉和谐,自然引导观众关注核心文字信息和相关课程内容。", "text": ["关于", "课程", "资源", "联系", "释放你的创造力,掌握新技能,丰富你的学习旅程"], "text_length": 28, "prompt_id": 65}
{"category": "webpage", "length": "short", "prompt": "一款简洁且视觉吸引力强的手机健身应用界面呈现在智能手机屏幕上,采用清新且引人入胜的颜色搭配极简图形设计,实现直观交互。在布局顶部,电池、连接性及通知等状态图标整齐排列,清晰呈现设备关键信息。应用屏幕中央醒目位置展示着动态文字短语“建立健康习惯,唤醒清晨活力,重塑日常生活”。核心信息下方设有精心设计的水平滚动条,展示包含简短锻炼计划的互动卡片,每张卡片均配有简洁标题、时长说明和美观图标。界面底部设有易于访问的导航按钮“首页”,“活动”和“个人资料”,视觉清晰,进一步支持快速便捷的应用操作。整体布局通过巧妙运用间距、色彩和字体排版,自然引导用户聚焦核心文字信息,提升互动性与可读性。", "text": ["建立健康习惯,唤醒清晨活力,重塑日常生活", "首页", "活动", "个人资料"], "text_length": 26, "prompt_id": 66}
{"category": "webpage", "length": "short", "prompt": "一个时尚现代的社交媒体个人资料界面设计,采用美观的视觉效果与精心的间距布局。屏幕中央醒目地展示着一段采用简洁亲和的无衬线字体的邀请式状态更新:“人生短暂,探索新天地,每天创造难忘回忆”。在主要文字下方,“点赞”、“评论”和“分享”等交互图标以水平排列方式呈现,便于快速操作。界面底部设有井然有序的网格布局,展示近期照片,每张照片都通过细腻的视觉分隔线整齐呈现,营造出连贯友好的浏览体验。整体界面设计自然引导观者聚焦于核心文字信息,形成平衡和谐的视觉动线。", "text": ["人生短暂,探索新天地,每天创造难忘回忆", "点赞", "评论", "分享"], "text_length": 23, "prompt_id": 67}
{"category": "webpage", "length": "short", "prompt": "一个干净且视觉吸引力强的在线旅行博客界面,以充满活力但极简的美学风格和直观的布局风格为特点。顶部整齐排列着水平导航菜单栏,包含“首页”,“目的地”,“旅行贴士”和“关于我”等导航链接,每个标签间距恰当,清晰可读。主页中央突出展示的激励性文字以粗体衬线字体优雅呈现:“自由漫游,拥抱新文化,创造一生难忘的旅行回忆”。该核心文字下方整齐排列着响应式矩形缩略图,每张缩略图都链接到最新文章和帖子。整体结构有序,通过有效的对比运用,自然引导观众聚焦于中央的邀请性文字内容。", "text": ["首页", "目的地", "旅行贴士", "关于我", "自由漫游,拥抱新文化,创造一生难忘的旅行回忆"], "text_length": 32, "prompt_id": 68}
{"category": "webpage", "length": "short", "prompt": "一个简洁优雅且用户友好的在线健康平台界面,清晰地呈现在现代平板电脑屏幕上,采用柔和的马卡龙色调与现代美学设计。页面顶部整齐排列着导航标签,分别标注“首页”,“冥想”,“指导”和“会员”,营造出流畅直观的交互体验。屏幕中央醒目位置展示着一句激励性文字,采用优雅易读的无衬线字体呈现:“每日培养正念,重焕能量,发现内在平衡”。该核心文字下方整齐对称地排列着交互式方形内容区块,每个区块都包含简化的标题、简短的描述和优雅极简的图标,展示便捷的健康课程。界面底部水平排列着简洁的社交媒体分享按钮,为用户提供轻松的互动体验。", "text": ["首页", "冥想", "指导", "会员", "每日培养正念,重焕能量,发现内在平衡"], "text_length": 24, "prompt_id": 69}
{"category": "webpage", "length": "long", "prompt": "一个引人入胜的在线博客界面。屏幕顶部,一个醒目简洁的标题栏以森林绿的诱人色调展示了博客名称“我的可持续日常”。紧接标题下方是一个导航菜单,显示着“首页”,“文章”,“可持续生活技巧”和“联系我们”等可点击文字。界面焦点由一篇信息丰富的博客预览构成,文章标题“五个轻松在家减少碳足迹的方法”以清晰的大号字体醒目呈现。标题下方附有较小的副标题“日常小习惯,打造更健康的地球”,为文章内容提供诱人的概述。标题下方配有引言文字:“可持续生活可以从我们的家中开始。小习惯能带来显著影响,本指南为每个人提供实用技巧,帮助每日变得更环保”。整个界面的文字内容整洁疏朗且视觉美观,鼓励用户互动并探索博客的环保主题。", "text": ["我的可持续日常", "首页", "文章", "可持续生活技巧", "联系我们", "五个轻松在家减少碳足迹的方法", "日常小习惯,打造更健康的地球", "可持续生活可以从我们的家中开始。小习惯能带来显著影响,本指南为每个人提供实用技巧,帮助每日变得更环保"], "text_length": 96, "prompt_id": 70}
{"category": "webpage", "length": "long", "prompt": "一款为旅行规划应用设计的简洁现代移动应用界面。在最顶端用优雅字体呈现简洁的宣传语:“合理规划,轻松出行”。占据应用界面中心位置的特色目的地卡片清晰展示标题:“探索京都的隐秘瑰宝”。该标题下方有一段简短的介绍文字:“发现传统寺庙、宁静的花园和远离人群的隐秘小巷”。这段文字下方稍显位置处设有一个醒目的行动号召按钮,白色文字搭配吸引人的紫色渐变背景,标注为“开启旅程”。底部整齐排列着带有“主页”、“目的地”、“预定”和“档案”等标签的简洁文本界面标签,每个标签均配有极简图标。该移动界面所有文字组件均采用流畅易读的字体呈现,提升整体导航舒适度,鼓励用户轻松互动旅行内容。", "text": ["合理规划,轻松出行", "探索京都的隐秘瑰宝", "发现传统寺庙、宁静的花园和远离人群的隐秘小巷", "开启旅程", "主页", "目的地", "预定", "档案"], "text_length": 51, "prompt_id": 71}
{"category": "webpage", "length": "long", "prompt": "一款具有视觉吸引力的社交媒体界面呈现在智能手机屏幕上。顶部最上方,有一条互动性标题“开启正能量生活,每一天都很重要”。屏幕主体部分展示着用户特色帖子,其突出文字内容为“完成了我的首次10公里跑步!”。在这一成就下方,配有支持性和激励性的描述文字“感到成就感满满,更有动力继续挑战自我。衷心感谢社区带来的无限灵感!”该用户生成内容下方清晰可见社交互动按钮,包括“点赞”,“评论”,“分享”三个整齐排列的区块,每个按钮均配有简洁的图标。屏幕底部设有整洁的导航栏,标注有“首页”,“探索”,“进度”,“个人资料”等简明标签,确保内容功能清晰易读且便于操作,营造出流畅的浏览体验。该界面采用温暖色调与简洁字体设计,营造出令人愉悦且积极向上的在线社区氛围。", "text": ["开启正能量生活,每一天都很重要", "完成了我的首次10公里跑步!", "感到成就感满满,更有动力继续挑战自我。衷心感谢社区带来的无限灵感!", "点赞", "评论", "分享", "首页", "探索", "进度", "个人资料"], "text_length": 73, "prompt_id": 72}
{"category": "webpage", "length": "long", "prompt": "一个干净、吸引人的烹饪与食谱分享平台网站主页界面。顶部用清晰字体显示副标题:“分享美味时刻,每天一道食谱”。页面正中央展示特色食谱,标题以大号吸引人的字体显示为:“30分钟自制酥脆玛格丽特披萨”。食谱标题下方紧接描述性预览文字,使用整齐略小的字体显示:“一份快速易懂的从零开始制作美味披萨指南,特别适合周日晚餐和临时聚会”。特色内容底部设有醒目可点击按钮“查看食谱”,白色文字搭配鲜绿色背景。页面下方可见更小且清晰标注的分类标题,包括“甜点”、“便当创意”、“素食特色”和“厨师小贴士”。整体文字内容友好亲切,排版清晰易读,为访问者在烹饪主题网站界面中提供直观导航和流畅浏览体验。", "text": ["分享美味时刻,每天一道食谱", "30分钟自制酥脆玛格丽特披萨", "一份快速易懂的从零开始制作美味披萨指南,特别适合周日晚餐和临时聚会", "查看食谱", "甜点", "便当创意", "素食特色", "厨师小贴士"], "text_length": 77, "prompt_id": 73}
{"category": "webpage", "length": "long", "prompt": "一款优雅专业风格移动应用界面,专为生产力和习惯追踪应用设计。顶部有清晰友好的标题:“规划每一天,向着目标稳步迈进”。界面中部醒目地展示着今日激励信息卡片,突出显示:“牢牢记住,不积跬步无以致千里” 该信息下方紧跟着简洁的辅助说明:“现在开始用五分钟重启日常生活,时刻准备走向成功”。文字下方设有视觉突出的操作按钮“更新进程”,采用白色文字搭配明亮珊瑚橙背景,便于快速识别。界面底部整齐排列着多个导航项,包括“今日”,“习惯”,“观点”和“档案”,每个选项均配有极简图标辅助导航。整体界面文字简洁易读,语言友好亲切,营造出舒适直观的用户体验。", "text": ["规划每一天,向着目标稳步迈进", "牢牢记住,不积跬步无以致千里", "现在开始用五分钟重启日常生活,时刻准备走向成功", "更新进程", "今日", "习惯", "观点", "档案"], "text_length": 60, "prompt_id": 74}
{"category": "webpage", "length": "long", "prompt": "一个在线教育平台,拥有清新直观的用户友好型界面,顶部是充满自信与激励的标语:“学习变得简单,随时随地”。紧接着在屏幕中央显著位置,展示着一门特色在线课程,标题为“数码摄影:从入门到精通”,采用大号且视觉吸引力强的字体设计。课程标题下方是一句吸引人的介绍语:“通过循序渐进的课程和由行业专家指导的实践作业,释放您的摄影潜能”。界面下方,一个明亮色彩的交互按钮“立即注册”清晰可见,白色粗体字在蓝绿色背景上格外醒目,鼓励用户立即行动。该在线界面底部区域整齐排列着“首页”,“课程”,“我的学习”和“社区”等可读性极强的标签,清晰可见且充满探索性。整个屏幕的文本内容清晰易懂、引人入胜且视觉效果出众,展现了一个以学习者为核心设计的直观高效教育平台。", "text": ["学习变得简单,随时随地", "数码摄影:从入门到精通", "通过循序渐进的课程和由行业专家指导的实践作业,释放您的摄影潜能", "立即注册", "首页", "课程", "我的学习", "社区"], "text_length": 64, "prompt_id": 75}
{"category": "webpage", "length": "long", "prompt": "一个优雅的现代时尚电商平台网页。一条低调却具有说服力的标题以较小字号呈现:“发现专为您精选的独特风格”。界面中央是一幅突出的促销横幅,醒目展示着“秋季必备新品已上线!今日焕新衣橱”的字样,采用清晰醒目的粗体字型。下方辅助文字进一步吸引顾客浏览:“探索我们精心挑选的保暖毛衣、时尚靴款和必备叠穿单品,打造完美秋季造型”。在这些引人注目的文字下方,一个醒目的“浏览系列”按钮清晰可见,采用白色字体搭配赭色圆角矩形背景设计。页面底部整齐排列着清晰易读的导航元素,如“新品上架”、“服装”、“配饰”、“促销”和“我的账户”,明确引导用户即时互动。整体文字布局经过精心排布,布局友好,阅读流畅,营造出轻松愉快的浏览和购物体验。", "text": ["发现专为您精选的独特风格", "秋季必备新品已上线!今日焕新衣橱", "探索我们精心挑选的保暖毛衣、时尚靴款和必备叠穿单品,打造完美秋季造型", "浏览系列", "新品上架", "服装", "配饰", "促销", "我的账户"], "text_length": 77, "prompt_id": 76}
{"category": "webpage", "length": "long", "prompt": "一个关于运动健康的移动应用用户界面,其中用较小的舒缓字体呈现吸引人的标题:“培养正念,平衡生活”。界面中央清晰展示着每日特色冥想卡片,今日冥想标题为:“拥抱感恩:引导式正念练习”。标题下方有柔和易读的辅助文字:“今天请给自己十分钟时间重新连接、反思并为情感能量充电”。描述文字下方是颜色柔和却显眼的“开始练习”按钮,以白色文字搭配淡紫色背景清晰呈现。移动界面底部区域整齐排列着直观的导航图标,附有简洁的文字标签如“首页”,“练习”,“日记”和“个人资料”,易于识别和操作。整个界面文字温暖安心且清晰易读,为用户带来平静、友好且易用的体验。", "text": ["培养正念,平衡生活", "拥抱感恩:引导式正念练习", "今天请给自己十分钟时间重新连接、反思并为情感能量充电", "开始练习", "首页", "练习", "日记", "个人资料"], "text_length": 58, "prompt_id": 77}
{"category": "webpage", "length": "long", "prompt": "一个简洁易用的在线健身教练平台网页,顶部使用醒目的粗体蓝绿色调和清晰有力的字体呈现简洁易读的激励性标语:“提升能量,重塑习惯”。界面中央突出展示名为“30天居家训练挑战:在客厅中塑造健康体魄”的特色课程,以清晰吸引人的粗体字突出显示。标题正下方是一句热情的引导语:“通过视频指导训练和个性化追踪工具,增强力量、提升耐力并改善整体健康状况”。引导语下方是显眼的“立即加入”按钮,白色文字搭配鲜明的蓝绿色背景,清晰呈现。屏幕下方设有直观的文本导航选项:“课程计划”、“营养指南”、“成功案例”和“社群互动”,排列整齐便于用户轻松操作。整体文字布局有序、活力十足且易于阅读,营造出积极向上的健身健康在线环境。", "text": ["提升能量,重塑习惯", "30天居家训练挑战:在客厅中塑造健康体魄", "通过视频指导训练和个性化追踪工具,增强力量、提升耐力并改善整体健康状况", "立即加入", "课程计划", "营养指南", "成功案例", "社群互动"], "text_length": 80, "prompt_id": 78}
{"category": "webpage", "length": "long", "prompt": "一个在线语言学习平台的简洁流畅移动应用界面,顶部以清新蓝绿色调的加粗醒目字母清晰呈现友好的标题:“自信表达,全球连接”。屏幕中央展示着标题为“日常法语短语:问候与介绍”的特色课程卡片,主标题下方简洁的描述文字清晰可见:“掌握常见法语表达,学会自我介绍并在现实场景中自信开启对话”。主标题下方是一个活力十足的按钮,白色文字在明快的青绿色背景上格外突出,按钮标注为“开始课程”。应用界面底部附近设有简洁明了的导航分类,包括“功能”,“课程”,“练习”和“进度”。整个界面的所有文字元素都整洁友好且用户友好,邀请学习者轻松探索语言内容并积极使用该应用。", "text": ["自信表达,全球连接", "日常法语短语:问候与介绍", "掌握常见法语表达,学会自我介绍并在现实场景中自信开启对话", "开始课程", "功能", "课程", "练习", "进度"], "text_length": 58, "prompt_id": 79}
{"category": "slide", "length": "short", "prompt": "一幅艺术感十足的幻灯片,文本元素以精心排列的优雅布局呈现,通过鲜艳色彩和边框处的装饰性图案吸引目光。画面中央醒目地展示着“拥抱变化,为更光明的未来创造可能性”的粗体清晰文字。围绕这一核心标语,经过艺术加工的花卉纹样与细腻的插图装饰提升了视觉美感。左下角以较小的整齐字体优雅呈现“2023年年度领导力峰会”的字样,与整体设计形成平衡。文本排版在保证可读性的同时兼具艺术魅力,呈现出令人愉悦的现代感与启发性。", "text": ["拥抱变化,为更光明的未来创造可能性", "2023年年度领导力峰会"], "text_length": 28, "prompt_id": 100}
{"category": "slide", "length": "short", "prompt": "一个美观的演示文稿将精美的艺术图案与清晰有力的文字内容巧妙融合,以吸引观众的注意力。中央突出位置,“探索创意,释放潜能,发现通向成功的全新路径”以精致的字体设计脱颖而出。围绕这一核心信息的是复杂的抽象几何图案和柔和的色彩渐变,这些元素增强了整体的精致与专业感。右上角优雅地放置着“2023创意头脑会议”字样,采用较小但清晰易读的字体,为版面增添了信息性内容。整体构图呈现出和谐、激励人心且视觉吸引力强的效果。", "text": ["探索创意,释放潜能,发现通向成功的全新路径", "2023创意头脑会议"], "text_length": 29, "prompt_id": 101}
{"category": "slide", "length": "short", "prompt": "一个引人入胜且艺术化设计的演示文稿,采用精致的字体设计和优雅的装饰元素。中央区域突出展示着“激发成长,追求卓越,通过协作实现梦想”的中文短语,以时尚字体清晰整齐地呈现。精心设计的自然灵感图案环绕文字,营造出宁静而充满活力的氛围。右下角的小字号文字“2023年全球创新论坛”以专业风格提供补充信息。统一的色彩搭配与精心平衡的版式设计,带来精致而鼓舞人心的视觉体验。", "text": ["激发成长,追求卓越,通过协作实现梦想", "2023年全球创新论坛"], "text_length": 27, "prompt_id": 102}
{"category": "slide", "length": "short", "prompt": "一张设计优雅且视觉和谐的展示幻灯片,呈现艺术化背景元素与清晰的文字内容。幻灯片中央醒目位置展示着励志短语“放飞梦想,立即行动,构筑充满可能的未来”,采用引人注目的现代字体设计呈现。抽象图案与柔和的淡彩色调精致地衬托中心文字,提升了整体布局的格调。左下角以较小但清晰易读的字体显示活动名称“袖峰会2023”,有效提供了背景信息并保持视觉平衡。整张幻灯片呈现时尚、鼓舞人心且专业感十足的视觉效果。", "text": ["放飞梦想,立即行动,构筑充满可能的未来", "袖峰会2023"], "text_length": 24, "prompt_id": 103}
{"category": "slide", "length": "short", "prompt": "一个现代感十足的极简风格幻灯片,精心排列的文本元素以对角线方式分布在版面中,将简约与优雅完美融合。中央主体文字以利落的全大写字体清晰呈现:“构建所有可能,改变视野,创造下一代影响力”。中性色调的柔和渐变背景为文字提供了低调而精致的视觉基底。简洁的几何线条与微妙的点状装饰相互呼应,将幻灯片不同区域巧妙连接,增添视觉层次感。右下角整齐排列的较小字号清晰标注着活动名称:“未来制造者会议2024”。整体视觉效果传达出专业、创新与现代风格的统一。", "text": ["构建所有可能,改变视野,创造下一代影响力", "未来制造者会议2024"], "text_length": 29, "prompt_id": 104}
{"category": "slide", "length": "short", "prompt": "一款精致且富有视觉吸引力的幻灯片设计,展现杂志风格的现代布局。在左上部显著位置以加粗大写字体排版呈现激励性标题“探索、互动、引领”,立即吸引注意力。稍低于标题并向右偏移的位置,以简洁小巧的字体优雅地分两行排列着富有感染力的副标题“打造动态团队”,微妙地增强了幻灯片的激励信息。沿着幻灯片右下边缘垂直排列,清晰可读且精心呈现的专业表述“在变化世界中赋能领导力”,强化了幻灯片的核心主题。所有文字元素在视觉上达到和谐平衡,专业风格统一,易于阅读,共同营造出整体精致、专业且富有激励性的视觉效果。", "text": ["探索、互动、引领", "打造动态团队", "在变化世界中赋能领导力"], "text_length": 23, "prompt_id": 105}
{"category": "slide", "length": "short", "prompt": "一张视觉引人注目的拼贴风格演示文稿,融合多样化的字体风格、尺寸与排版方向,并叠加艺术纹理。上半部分以醒目粗体字占据主导,呈现“想象,创造,影响”字样。该标题下方斜向排列着优雅的草书字体,笔触较轻,内容为“用合作解锁多元创造力”。左下部分以较小的清晰字体展示“互动区”,“创意区”被简洁矩形框架整齐包裹。装饰性艺术飞溅、几何重叠、微妙纹理与柔和渐变色将多元文字元素统一,营造出现代、动感且富有启发性的视觉设计。", "text": ["想象,创造,影响", "用合作解锁多元创造力", "互动区", "创意区"], "text_length": 22, "prompt_id": 106}
{"category": "slide", "length": "short", "prompt": "一个现代且充满活力的幻灯片,采用基于网格的布局,创造性地将多样化的文本内容与独特的排版风格和艺术图案装饰相结合。左上角的大型矩形区域中,粗体的手写风格文字强调道:“创新、颠覆与启发”。其右侧上方以较小的简洁大写字母呈现的文字为:“变革型领导力的策略”。右中部的网格区域中,斜体的引言优雅地写道:“赋予个人重新定义未来的力量”。幻灯片背景融合了精细的几何图形、柔和色调和微妙纹理,营造出充满活力、引人入胜且清新脱俗的视觉效果。", "text": ["创新、颠覆与启发", "变革型领导力的策略", "赋予个人重新定义未来的力量"], "text_length": 29, "prompt_id": 107}
{"category": "slide", "length": "short", "prompt": "一个采用插图信息图风格布局的清新动态幻灯片,创造性地将不同大小、排版和视觉层级的文字内容与引人入胜的图形元素相结合。顶部中央位置以大号无衬线大写字体突出显示着“学习,合作,驱动,创造”的标语。下方较小的优雅弧形文字写着“培养未来的创新专家”,环绕着一个风格化的图形图标。左侧垂直排列着清晰但低调字体的描述性短语“活动”,“互动”,“讨论”。右侧相对位置则以加粗描边字体呈现激励性的短语“提高创新能力,为未来赋能”。生动的插图图标、箭头、微妙纹理和活泼的抽象图案精心连接着各个文字元素,营造出令人愉悦、充满青春活力和动感的视觉印象。", "text": ["学习,合作,驱动,创造", "培养未来的创新专家", "活动", "互动", "讨论", "提高创新能力,为未来赋能"], "text_length": 34, "prompt_id": 108}
{"category": "slide", "length": "short", "prompt": "一张色彩鲜明且现代感十足的演示幻灯片,采用丰富多彩的信息图设计,巧妙地融合了各种文字大小、方向和视觉层次与引人注目的图形元素。在上部中间区域,以粗体无衬线大写字母突出显示的短语“赋能、激励与实现”。紧接其下,较小的、优雅的弧形文字环绕一个现代化的图标,标题为“塑造未来领导者”。在幻灯片的下部中心,以小写字母清晰呈现的活动信息为“2023年国际青年领导力会议”。明亮的动态图标、指向箭头、细腻的纹理和异想天开的抽象图案巧妙地连接了文字部分,提供了一种新鲜、年轻和充满活力的视觉吸引力。", "text": ["赋能、激励与实现", "塑造未来领导者", "2023年国际青年领导力会议"], "text_length": 28, "prompt_id": 109}
{"category": "slide", "length": "long", "prompt": "一张以艺术化装饰图形为边框、整齐排列的文本信息构成的优雅信息图式幻灯片。顶部正中清晰呈现标题“情绪健康习惯”,周围环绕对称的花卉图案。左上区域“练习正念”字样旁配简约莲花图标,附带短句“保持当下,不带评判地观察,不抵抗地接纳”。顺时针向下,“培养感恩”字样位于开放的手部插图附近,伴随文字“欣赏生活中的简单喜悦,每日发现积极面”。左下区域“保持联系”字样旁配极简聊天气泡图标,提示“建立并维护有意义的关系以维系情感能量”。底部中央“优先睡眠”字样旁是新月图标,附带说明“优质睡眠可同时恢复身心”。右侧沿上行,“规律运动”字样位于跑步者图标旁,标注“锻炼可提升情绪并缓解焦虑”。最后右上角“持续学习”字样配书籍图标。整个幻灯片布局巧妙平衡了清晰性与艺术性,自然引导观众依次阅读每个文本模块。", "text": ["情绪健康习惯", "练习正念", "保持当下,不带评判地观察,不抵抗地接纳", "培养感恩", "欣赏生活中的简单喜悦,每日发现积极面", "保持联系", "建立并维护有意义的关系以维系情感能量", "优先睡眠", "优质睡眠可同时恢复身心", "规律运动", "锻炼可提升情绪并缓解焦虑", "持续学习"], "text_length": 105, "prompt_id": 110}
{"category": "slide", "length": "long", "prompt": "一个简洁现代风格的幻灯片,采用艺术几何设计和结构化文本内容,清晰的版块布局呈现在微妙的渐变背景上。左上角的主标题“高效时间管理的关键”由横向延伸的折线图案突出显示。左侧垂直排列着“优先处理任务”的标题,下方紧随说明文字“区分关键任务与次要活动,明确每日目标”。幻灯片中央的圆角方形框架内,“使用番茄工作法”字样上方配有极简风格的计时器图标,下方描述文字为“以25分钟专注时段配合5分钟休息间隔工作”。右上侧圆形几何图案中明确标注“减少干扰”,下方说明文字“营造安静工作环境并限制非必要屏幕时间”。几何线条装饰和微妙图案将所有文本段落有机串联,形成引人入胜又井然有序的视觉流程。", "text": ["高效时间管理的关键", "优先处理任务", "区分关键任务与次要活动,明确每日目标", "使用番茄工作法", "以25分钟专注时段配合5分钟休息间隔工作", "减少干扰", "营造安静工作环境并限制非必要屏幕时间"], "text_length": 81, "prompt_id": 111}
{"category": "slide", "length": "long", "prompt": "一个优雅的极简主义幻灯片布局呈现在柔和的马卡龙渐变背景上,稀疏地装饰着抽象的曲线笔触和柔和的形状。顶部中央以清晰的粗体字显示标题:“建立自信的四个步骤”。标题下方有一段较小字号的简短导语:“每天践行这些简单却有力的指南来提升自我”。介绍文字下方,幻灯片内容垂直分为两个平衡的列。左侧列包含两个间距分明的独立区域:上方区域标题为“积极肯定”,下方配有句子“每天对自己温柔说话,语言塑造你的思维模式”;紧接着是左侧第二个区域标题“想象成功”。右侧列同样包含两个文字区域:顶部标题“直面恐惧”,配以简洁建议“循序渐进地迈出舒适区的小步”;下方是第四个标题“庆祝进步”,附带补充说明“在成长路上认可并奖励每个微小的提升”。艺术化的流动曲线自然地分隔两列内容,以微妙的视觉韵律引导观众优雅地从一个文字元素过渡到下一个。", "text": ["建立自信的四个步骤", "每天践行这些简单却有力的指南来提升自我", "积极肯定", "每天对自己温柔说话,语言塑造你的思维模式", "想象成功", "直面恐惧", "循序渐进地迈出舒适区的小步", "庆祝进步", "在成长路上认可并奖励每个微小的提升"], "text_length": 93, "prompt_id": 112}
{"category": "slide", "length": "long", "prompt": "一个现代的幻灯片设计,在艺术化纸张质感背景上,以整齐排列的文本元素呈现,角落装饰有艺术笔触。左上角主标题突出显示“提升生产力的每日习惯”。幻灯片中央水平排列着三个等距分布的模块,每个模块清晰突出不同原则。左侧标有“整理空间”的模块下有说明文字:“整洁的工作空间能减少干扰,帮助你在执行任务时保持专注”。中部标注“提前规划每日事务”的模块配有说明语句:“简短且优先级明确的待办清单能引导清晰的日常目标,减少决策疲劳”。右侧标题为“定期短时休息”的模块配有支持性表述:“短暂的休息时间能刷新注意力,在长时间内持续保持精力”。结构化文本模块、极简风格与艺术化元素的结合,共同营造出和谐且易于理解的视觉体验。", "text": ["提升生产力的每日习惯", "整理空间", "整洁的工作空间能减少干扰,帮助你在执行任务时保持专注", "提前规划每日事务", "简短且优先级明确的待办清单能引导清晰的日常目标,减少决策疲劳", "定期短时休息", "短暂的休息时间能刷新注意力,在长时间内持续保持精力"], "text_length": 106, "prompt_id": 113}
{"category": "slide", "length": "long", "prompt": "一个富有创意且充满活力的演示文稿设计,以色彩斑斓的路线图形式横向贯穿整个版面,搭配活泼的图形与微妙的渐变阴影。在左侧蜿蜒道路的起点处,以友好的手写风格字体呈现艺术化标题:“通往更好沟通的旅程”。沿着这条曲线路径,依次排列着四个清晰标注的文本标记,每个标记都以色彩鲜明的对话框形式温柔地悬浮于路线图上方。第一个对话框标注为“积极倾听”,并配有提示文字:“让对方充分表达,吸收其传达的信息”。继续沿路径前进,标注为“提出清晰问题”的对话框配有说明:“通过明确含义避免误解,提升对话质量”。再往前,第三个对话框标题为“尊重表达”,附带说明文字:“谨慎选择用词,兼顾语气与语境”。最后,第四个对话框显示为“给予用心反馈”,解释说明:“通过建设性支持性回应促进开放交流”。艺术化的手绘图标如耳朵、问号、对话线和点赞符号围绕每个文本对话框轻轻装饰,营造出趣味互动效果,赋予幻灯片愉悦流畅的叙事氛围。", "text": ["通往更好沟通的旅程", "积极倾听", "让对方充分表达,吸收其传达的信息", "提出清晰问题", "通过明确含义避免误解,提升对话质量", "尊重表达", "谨慎选择用词,兼顾语气与语境", "给予用心反馈", "通过建设性支持性回应促进开放交流"], "text_length": 89, "prompt_id": 114}
{"category": "slide", "length": "long", "prompt": "一张视觉上引人注目的幻灯片设计,采用摊开笔记本的形式,背景为温馨的木质桌面,带有微妙阴影以增加立体感,营造出轻松且激励人心的氛围。笔记本页面中央上方醒目地呈现着非正式手写风格的标题“简单方法减轻日常压力”,标题下方配有柔和的下划线。标题下方自然地书写着简短的说明文字:“将微小的舒缓策略融入日常惯例,以提升情绪健康与心理韧性”。笔记本页面整齐排列着项目符号笔记,每个符号均以舒展的书法字体呈现,并配有简短说明文字:第一个项目符号为“短时散步”,其后跟着句子“运动能促进内啡肽分泌并清空思绪”。下方是“深呼吸练习”,配文“放慢呼吸能平复压力反应并恢复平衡”。最后是“享受安静时刻”,补充说明“通过短暂的沉默练习重新集中注意力”。笔记本边缘巧妙点缀着小装饰性的铅笔画,如叶片、咖啡杯和柔和曲线,进一步强化了幻灯片的舒适感与正念主题。", "text": ["简单方法减轻日常压力", "将微小的舒缓策略融入日常惯例,以提升情绪健康与心理韧性", "短时散步", "运动能促进内啡肽分泌并清空思绪", "深呼吸练习", "放慢呼吸能平复压力反应并恢复平衡", "享受安静时刻", "通过短暂的沉默练习重新集中注意力"], "text_length": 98, "prompt_id": 115}
{"category": "slide", "length": "long", "prompt": "一张引人注目、现代风格的幻灯片,展示的文字内容被放置在类似漂浮云朵的装饰性图形中,背景是宁静的渐变天蓝色,营造出视觉上的宁静效果。上方中央位置,主标题以柔和的圆润字体突出显示:“改善睡眠的正念小贴士”,周围巧妙地点缀着精致的星星图案。幻灯片上均匀排列着三个不同造型的云朵状文本框,分别包含简短标题和简洁友好的建议。左侧的云朵标注“保持规律作息”,附带建议内容:“每天在固定时间入睡,自然调节身体生物钟”。中央云朵位置稍低以达到视觉平衡,标题为“减少晚间屏幕时间”,包含提示:“睡前减少手机或电脑使用,帮助放松心情”。右侧云朵标注“营造舒适环境”,简要建议:“保持睡眠区域凉爽、安静且放松,有助于深度休息”。幻灯片边缘装饰着简约的月牙、星星和柔和曲线图案,营造出温馨而优雅的夜间氛围。", "text": ["改善睡眠的正念小贴士", "保持规律作息", "每天在固定时间入睡,自然调节身体生物钟", "减少晚间屏幕时间", "睡前减少手机或电脑使用,帮助放松心情", "营造舒适环境", "保持睡眠区域凉爽、安静且放松,有助于深度休息"], "text_length": 85, "prompt_id": 116}
{"category": "slide", "length": "long", "prompt": "一个现代且富有趣味的幻灯片,设计成色彩鲜艳的公告板样式,将文字内容用随意却清晰排列的彩色便签纸展示在纹理清晰的软木板背景上。左上角处,用粗体手写风格呈现的标题“健康饮食很简单”清晰突出,旁边附有简短说明:“小习惯带来大不同——坚持每日实践以获得长久健康”。靠近上方中央位置,一张鲜黄色便签上写着“注意分量”,下方有更小的解释文字:“倾听身体信号,细嚼慢咽,在未过饱时停止进食”。在其右下方,一张淡绿色便签标注着“包含蔬菜”,简洁解释为:“每天以彩色蔬菜填满餐盘的一半”。向左下方延伸,一张淡蓝色便签标题为“保持水分”,内含简短句子:“定期饮用足量水以维持能量和专注力”。软木板上装饰着散落在边框周围的简笔绘制水果、蔬菜和回形针等元素,增强了视觉温暖感,凸显了所展示信息的亲和力。", "text": ["健康饮食很简单", "小习惯带来大不同——坚持每日实践以获得长久健康", "注意分量", "倾听身体信号,细嚼慢咽,在未过饱时停止进食", "包含蔬菜", "每天以彩色蔬菜填满餐盘的一半", "保持水分", "定期饮用足量水以维持能量和专注力"], "text_length": 89, "prompt_id": 117}
{"category": "slide", "length": "long", "prompt": "一个现代幻灯片布局,采用类似艺术杂志的排版风格,展示简洁直观排列在几何框架中的文字信息,并通过柔和的马卡龙色系渐变实现视觉平衡。左上角采用粗体极简字体清晰呈现标题:“高效领导力的要素”,下方紧邻更小字号的副标题:“构建团队信任的核心技能”。稍右下方淡紫色矩形文本框突出第一部分:“清晰沟通”,自然衔接简短解释:“公开表达观点与期望,鼓励对话与透明度”。靠近左下角的桃色正方形框题为“同理心与理解”,包含辅助说明:“努力理解团队成员的情绪,建立更深层信任”。右下角淡绿色六边形框架呈现最后一部分“决策能力”,并附简明解释:“做出知情且及时的决策,并清晰传达背后逻辑”。文本框之间巧妙布置的极简插图,如细线、点和精致几何图形,增强可读性,引导观众流畅浏览内容。", "text": ["高效领导力的要素", "构建团队信任的核心技能", "清晰沟通", "公开表达观点与期望,鼓励对话与透明度", "同理心与理解", "努力理解团队成员的情绪,建立更深层信任", "决策能力", "做出知情且及时的决策,并清晰传达背后逻辑"], "text_length": 87, "prompt_id": 118}
{"category": "slide", "length": "long", "prompt": "一张设计为引人入胜的数字平板界面的幻灯片,平放在舒适的办公桌面上,优雅地通过柔和阴影、天然木材纹理和边缘处的数字笔和咖啡杯等细微桌面物品进行装饰。明亮的平板屏幕上呈现出清晰的布局,顶部中央以醒目且亲和力十足的字体显示标题“数字排毒的四个实用步骤”。其下方垂直排列着四个直观的图标式板块,每个板块旁配有极简的数字风格插图和简洁的短描述。首个标题为“无屏幕的早晨”的板块柔和地解释道:“将早晨留作远离数字干扰的活动时间”。紧接着下方标题为“设定无科技区域”的板块简洁地写道:“在家中特定区域保持无数字设备”。第三板块“设定通知边界”简明建议道:“限制或关闭不必要的通知以重获专注力”。最后屏幕底部的板块“晚间断网习惯”温和地总结道:“睡前一小时脱离屏幕以获得良好睡眠”。整体布局巧妙融合了真实办公空间美学与数字风格视觉元素,使幻灯片既亲切又富有吸引力,便于观众理解。", "text": ["数字排毒的四个实用步骤", "无屏幕的早晨", "将早晨留作远离数字干扰的活动时间", "设定无科技区域", "在家中特定区域保持无数字设备", "设定通知边界", "限制或关闭不必要的通知以重获专注力", "晚间断网习惯", "睡前一小时脱离屏幕以获得良好睡眠"], "text_length": 99, "prompt_id": 119}
{"category": "poster", "length": "short", "prompt": "一张视觉冲击力强的复古装饰艺术风格夏季爵士音乐节海报。图像中的文字元素及其空间布局如下:顶部横向排列着粗体流畅的字体,突出显示“感受节奏,让灵魂在爵士之夜燃烧”的宣传语。正下方,风格化的喇叭和萨克斯管乐器轮廓巧妙地框住了活动标题。居中偏下位置,“星空爵士”活动名称以优雅的字体醒目呈现。底部中央附近,较小的文本整齐排列,列出“8月12日至14日,滨水露天剧场”的活动日期和地点。最底部则装饰着极简主义的卷轴线条,增强了整体布局的复古优雅与对称感。", "text": ["感受节奏,让灵魂在爵士之夜燃烧", "星空爵士", "8月12日至14日,滨水露天剧场"], "text_length": 33, "prompt_id": 120}
{"category": "poster", "length": "short", "prompt": "一张以复古极简风格设计的艺术海报,用于独立电影节的公告。图像中的文字元素及空间布局如下:顶部中央位置以时尚复古字体突出展示简洁短语“发现那些将改变你视野的电影”。其下方是一个象征电影的极简复古胶片相机图标。稍下方居中位置以清晰独特的字体大胆书写“独立视角电影节”。海报底部区域整齐排列并视觉平衡地呈现电影节日期“3月5日至3月9日”以及地点“市中心艺术剧院”。柔和的抽象几何图形构成文字布局的框架,使海报呈现出平衡的视觉美感。", "text": ["发现那些将改变你视野的电影", "独立视角电影节", "3月5日至3月9日", "市中心艺术剧院"], "text_length": 36, "prompt_id": 121}
{"category": "poster", "length": "short", "prompt": "为秋季艺术展览设计的优雅极简风格海报。图像中的文字元素及其空间布局如下:顶部中央位置以干净的衬线字体优雅呈现精致短语“见证秋日艺术之美”。文字下方自然叶形纹样柔和地框住视觉焦点。海报中心偏下位置,以富有表现力的书法字体突出展览标题“秋色”。标题下方整齐排列着日期“10月15日至30日”和场馆名称“枫叶画廊”,位置安排得当。柔和的秋日色调与纹理完美融合,统一了整个海报版面设计。", "text": ["见证秋日艺术之美", "秋色", "10月15日至30日", "枫叶画廊"], "text_length": 24, "prompt_id": 122}
{"category": "poster", "length": "short", "prompt": "一张以大胆、充满活力风格设计的视觉吸引力城市街头美食节海报。图像中的文字元素及空间布局如下:顶部中央位置以活泼、充满活力的字体突出显示引人注目的标语“品味一个史诗级周末最棒街头风味”。其正下方是一辆被动态街头美食插图环绕的风格化餐车图形。底部中央位置以粗体、富有表现力的字母突出主活动标题“街头美食嘉年华”。底部区域简洁的日期“6月16日至6月18日”和场地“中央城市广场”以清晰简约的字体整齐并列。色彩丰富的图形和生动的图案环绕布局,营造出节日氛围。", "text": ["品味一个史诗级周末最棒街头风味", "街头美食嘉年华", "6月16日至6月18日", "中央城市广场"], "text_length": 39, "prompt_id": 123}
{"category": "poster", "length": "short", "prompt": "一款以色彩绚丽、现代极简风格设计的艺术海报,用于现代诗歌朗诵活动。图像中的文字元素及其空间布局如下:顶部中央以清晰精致的字体呈现诗意短语“文字唤醒情感于诗意表达之夜”。其下紧接一幅简约抽象的插图,形似翻开的书页或折叠纸张,巧妙地衬托文本。画面下部偏中位置,主活动标题“韵律之夜”以醒目现代的书法字体突出呈现。底部中央整齐排列着活动日期“4月21日”和场地“露娜咖啡馆”,采用低调的极简字体。精致的几何装饰元素巧妙地框住文字,增强了整体视觉的和谐美感。", "text": ["文字唤醒情感于诗意表达之夜", "韵律之夜", "4月21日", "露娜咖啡馆"], "text_length": 27, "prompt_id": 124}
{"category": "poster", "length": "short", "prompt": "一张采用鲜艳复古风格设计的海报,宣布夏季户外电影院活动。图像中的文字元素及其空间布局如下:顶部中央位置以时尚复古字体呈现引人入胜的短语“星空影院,前所未有的观影体验”。下方是一幅极简复古风格的电影放映机插图,投射出风格化的光束。在下方显眼的中心位置,活动标题“月下影院”以富有表现力的字体突出显示。海报底部整齐排列着简洁的活动信息:日期“7月10日至15日”和场地名称“日落公园”。柔和的复古色调与插画元素环绕并统一了所有文字内容。", "text": ["星空影院,前所未有的观影体验", "月下影院", "7月10日至15日", "日落公园"], "text_length": 30, "prompt_id": 125}
{"category": "poster", "length": "short", "prompt": "一幅以优雅极简风格设计的艺术海报,用于宣传摄影展览活动。图像中的文字元素及空间布局如下:顶部中央位置以精致现代字体呈现简洁短语“通过镜头捕捉的瞬间”。其正下方以极简风格绘制的相机光圈叶片插图微妙地呼应文字内容。下半部分中央突出展示展览标题“快门故事”,采用粗体干净的字体。底部整齐排列着活动信息“11月9日至11月20日”和场地名称“艺术空间画廊”,清晰对称的排版确保了视觉平衡。单色色调与微妙的几何框架完美统一了整个海报版式。", "text": ["通过镜头捕捉的瞬间", "快门故事", "11月9日至11月20日", "艺术空间画廊"], "text_length": 31, "prompt_id": 126}
{"category": "poster", "length": "short", "prompt": "一张采用温暖波西米亚风格设计的海报,用于宣传一场民谣音乐演唱会。画面中的文字元素及空间布局如下:顶部中央位置以优雅的手绘字体呈现邀请语“让原声旋律唤醒你的灵魂”,其下是巧妙地框住文字的复古原声吉他插画。稍下方居中位置以醒目而优雅的字体展示演唱会名称“民谣根源之夜”。底部整齐排列着活动信息:日期“9月18日”和场地“和谐厅”,采用简洁极简字体清晰展示。温暖的大地色调与精致的花卉装饰元素和谐地统一了整个海报布局。", "text": ["让原声旋律唤醒你的灵魂", "民谣根源之夜", "9月18日", "和谐厅"], "text_length": 25, "prompt_id": 127}
{"category": "poster", "length": "short", "prompt": "一张采用简洁未来感风格设计的海报,宣布即将举办的科技创新大会。图像中的文字元素及其空间布局如下:顶部中央以现代几何字体呈现动态短语“探索未来,释放创新力量”。此文字下方是受电路元素启发的抽象图形,以微妙的框架围绕中央内容。海报近中部显眼位置以简化未来感字体突出呈现活动标题“技术创新展厅”。底部整齐排列着清晰简洁的日期“5月15日至17日”和场地“创新中心”,均采用干净极简字体呈现。金属与霓虹色点缀结合数字抽象图形,使整张海报视觉统一。", "text": ["探索未来,释放创新力量", "技术创新展厅", "5月15日至17日", "创新中心"], "text_length": 29, "prompt_id": 128}
{"category": "poster", "length": "short", "prompt": "一张以梦幻而俏皮风格设计的艺术海报,预告着夜间的中秋节。图像中的文字元素及其空间布局如下:顶部中央位置以精致流畅的字体展示优雅短语“让愿望点亮这魔幻之夜的天空”。其下方,发光的纸灯笼图案以艺术化的形式缓缓向上漂浮,增强了超现实氛围。海报下半部分中央位置,“灯笼之梦”的醒目标题以优美的笔触呈现。底部整齐排列着以简洁清晰字体标注的活动信息:日期“8月20日”和地点“河畔花园”。柔和的暮色色调与微妙的发光效果共同营造出迷人的主题,并统一了整体视觉布局。", "text": ["让愿望点亮这魔幻之夜的天空", "灯笼之梦", "8月20日", "河畔花园"], "text_length": 26, "prompt_id": 129}
{"category": "poster", "length": "long", "prompt": "一幅充满活力的复古风格年度河畔音乐与艺术节宣传海报。文本元素清晰而富有艺术性地排列如下:海报顶部中央是艺术化的大型标题“河畔音乐与艺术节”,文字流畅弯曲且加粗,采用复古风格字体设计。正下方以较小但清晰的字体排列着副标题“在开阔天空下庆祝创造力”。中部稍下位置显著展示着详细说明文字“欣赏现场乐队、互动艺术展览和美味本地美食”,整齐排列为三个独立、水平分布的区块,每个区块均配有对应的极简图标(乐队配吉他图标,艺术配画笔图标,美食配叉与刀图标)。海报下三分之一区域,清晰可见的活动信息均匀分布在底部:“2023年9月9日 河畔公园露天剧场 免费入场”。左下角以手写体斜体字呈现欢快提示文字“邀请亲朋好友共度难忘周末!”", "text": ["河畔音乐与艺术节", "在开阔天空下庆祝创造力", "欣赏现场乐队、互动艺术展览和美味本地美食", "2023年9月9日 河畔公园露天剧场 免费入场", "邀请亲朋好友共度难忘周末!"], "text_length": 71, "prompt_id": 130}
{"category": "poster", "length": "long", "prompt": "一款设计精美的极简风格音乐会海报,采用现代布局方式,搭配清晰的文字元素。顶部中央的醒目标题为“夏日夜晚民谣音乐会”,采用流畅优雅的字体。正下方紧邻一行温暖迎宾语“在星光下聆听旋律之夜”,字体稍小且整齐排列。海报中部水平排列着三个短语“现场演出”,“特邀音乐人”,“烛光氛围”,每个短语都配有简约精致的插图,“现场演出”配吉他,“特邀音乐人”配麦克风,“烛光氛围”配蜡烛。海报下三分之一区域整齐排列着关键信息,间距合理便于阅读:“8月26日7点入园 绿茵植物园”。右下角特别添加了手写风格的邀请语“席位有限,请立即预约!”", "text": ["夏日夜晚民谣音乐会", "在星光下聆听旋律之夜", "现场演出", "特邀音乐人", "烛光氛围", "现场演出", "特邀音乐人", "烛光氛围", "8月26日7点入园 绿茵植物园", "席位有限,请立即预约!"], "text_length": 68, "prompt_id": 131}
{"category": "poster", "length": "long", "prompt": "一张现代艺术风格的电影海报,采用极简而有力的文字排版。正上方中央以粗体流线字体呈现标题“最后航程”,其下方隐约可见一艘古老帆船的剪影正迎向湍急波涛。剪影下方以稍小字体呈现引人深思的副标题:“当勇气意味着驶向未知”。海报下半部中央整齐排列着横向排布的清晰文字,描述影片亮点:“由获奖导演亚历克斯·里弗斯执导”、“艾米莉·克拉克与雅各布·本内特主演”、“丹尼尔·哈珀原创配乐”。海报底部以简洁大写文字明确标注上映信息:“2023年10月6日全球上映”。左下角以斜体细线字体呈现较小字号的提问:“你是否敢于启程?”", "text": ["最后航程", "当勇气意味着驶向未知", "由获奖导演亚历克斯·里弗斯执导", "艾米莉·克拉克与雅各布·本内特主演", "丹尼尔·哈珀原创配乐", "2023年10月6日全球上映", "你是否敢于启程?"], "text_length": 73, "prompt_id": 132}
{"category": "poster", "length": "long", "prompt": "一款优雅的展览宣传海报设计,采用时尚、当代艺术风格,强调清晰度与精致的文本布局。海报顶部中央以优美的现代字体醒目展示标题:“回声:现代艺术展”。其下直接排列着稍小字号的副标题,采用简洁的衬线字体:“通过当代装置艺术探索空间与情感的对话”。海报中部整齐排列着三个横向分段的简洁特色文本信息:“互动装置艺术”、“现场艺术家讲座”和“专属导览服务”,每个项目均配以极简风格的象征性插图(几何形状代表装置艺术,对话框代表艺术家讲座,地图指针图标代表导览服务)。海报底部三分之一区域清晰呈现具体信息:“2023年11月14日 – 12月20日 市中心艺术馆 每日开放时间 10:00 - 20:00”。右下角优雅地放置着一行手写风格的温馨提示:“体验超越边界的艺术”。", "text": ["回声:现代艺术展", "通过当代装置艺术探索空间与情感的对话", "互动装置艺术", "现场艺术家讲座", "专属导览服务", "2023年11月14日 – 12月20日 市中心艺术馆 每日开放时间 10:00 - 20:00", "体验超越边界的艺术"], "text_length": 90, "prompt_id": 133}
{"category": "poster", "length": "long", "prompt": "一幅色彩鲜艳、视觉吸引力强的美食节海报设计,采用活泼且富有吸引力的美学风格。顶部区域以鲜艳明快的字体醒目地展示标题:“世界美食节”。标题下方紧邻着用较小字号整齐排列的描述性短语:“一场穿越国际美食的味觉之旅——就在您的社区!”中央区域横向排列着三个清晰的文本重点:“50多个美食摊位”,“现场烹饪演示”和“文化音乐表演”,每个内容都配有极简图标:摊位图标代表美食摊位,厨师帽图标代表烹饪演示,音符图标代表音乐表演。下三分之一区域用清晰易读的字体明确列出活动细节:“2023年10月15日周日,市中心市场广场”。左下角以活泼的草书手写体发出热情邀请:“预留好胃口——带上朋友和家人吧!”", "text": ["世界美食节", "一场穿越国际美食的味觉之旅——就在您的社区!", "50多个美食摊位", "现场烹饪演示", "文化音乐表演", "2023年10月15日周日,市中心市场广场", "预留好胃口——带上朋友和家人吧!"], "text_length": 77, "prompt_id": 134}
{"category": "poster", "length": "long", "prompt": "一张引人注目的复古风格旅行海报,展现优雅且井然有序的文字排版。顶部中央以复古衬线字体醒目呈现标题:“发现查尔斯顿老城”。其下稍小字体清晰可见的诱人标语是:“穿越时光,探索每个角落的历史”。中部区域横向均匀分布着简洁的短句:“导览遗产步道”“地道南方美食”“街头艺术表演”,每句均配有极简线条图标。底部突出显示以简单大写字母呈现的核心信息:“2023年4月14日 查尔斯顿历史区 所有游客免费入场”。海报右下角以精致手写风格温暖提示:“带着好奇出发,体验独特魅力”。", "text": ["发现查尔斯顿老城", "穿越时光,探索每个角落的历史", "导览遗产步道", "地道南方美食", "街头艺术表演", "2023年4月14日 查尔斯顿历史区 所有游客免费入场", "带着好奇出发,体验独特魅力"], "text_length": 76, "prompt_id": 135}
{"category": "poster", "length": "long", "prompt": "一张充满动感、视觉冲击力强的广告海报,采用简约现代风格设计,宣布新型科技产品体验馆的开业。顶部中央位置,清晰流畅的无衬线字体标题写着:“泰克诺瓦创新中心盛大开幕”。其正下方稍小但醒目位置,是一句吸引人的标语:“今日体验明日科技”。海报中部整齐排列着三个横向分布的亮点:“亲身体验产品演示”、“专家技术讲座”以及“独家首发优惠”,每个项目均配有简洁含蓄的极简图标:演示区配有手触屏幕图标,讲座区配有麦克风图标,优惠区配有礼盒图标。海报下三分之一处,关键活动信息以瘦长的大写字体清晰呈现:“2023年11月18日上午10点至下午6点 奥罗拉商务中心”。海报左下角用柔和的斜体字温暖写道:“加入我们,成为首批一窥未来的先行者”。", "text": ["泰克诺瓦创新中心盛大开幕", "今日体验明日科技", "亲身体验产品演示", "专家技术讲座", "独家首发优惠", "2023年11月18日上午10点至下午6点 奥罗拉商务中心", "加入我们,成为首批一窥未来的先行者"], "text_length": 84, "prompt_id": 136}
{"category": "poster", "length": "long", "prompt": "视觉吸引力强、复古风格的剧场海报设计优雅,采用清晰有序的文字元素。顶部中央以精致古典的字体明确呈现剧目名称:“神秘面具”。下方稍低处以较小但易读的衬线字体展示引人入胜的副标题:“一段融合悬疑、浪漫与隐藏身份的精彩故事”。中部横向整齐排列着三个简洁的文字亮点,分别总结演出核心信息:“著名剧作家安娜·索恩执导”、“现场交响乐配乐”、“限时两周演出”。每个亮点旁巧妙搭配极简线条艺术装饰,导演座椅图标对应导演信息,小提琴图标对应音乐信息,沙漏图标对应限时演出。底部区域以直白的大写字体精准呈现演出细节:“2023年6月2日至15日 金斯利大剧院 晚场演出 7:30”。右下角的手写体提示温暖邀请:“预订您的门票,揭开魔法!”", "text": ["神秘面具", "一段融合悬疑、浪漫与隐藏身份的精彩故事", "著名剧作家安娜·索恩执导", "现场交响乐配乐", "限时两周演出", "2023年6月2日至15日 金斯利大剧院 晚场演出 7:30", "预订您的门票,揭开魔法!"], "text_length": 82, "prompt_id": 137}
{"category": "poster", "length": "long", "prompt": "一幅融合极简主义与自然灵感的高雅海报设计,整体视觉效果宁静安逸。顶部中央以干净优雅的字体艺术化呈现标题:“正念与冥想静修营”。下方紧随其后的是句宁静而吸引人的说明文字:“在放松的周末中重新与自己建立联系,找到内心的和谐”。海报中段横向排列着三个整齐排列的亮点:“引导冥想课程”、“静默自然漫步”与“健康素食餐”,每个项目都配有极简线条图标,冥想对应莲花图案,自然漫步对应树木图案,健康餐对应叶片图案。海报下三分之一处以大写字体突出显示清晰简洁的信息:“2023年5月6日至7日,低语松树静修中心,名额有限”。海报左下角特别设置了一行手写风格的温馨提示:“立即预订——你的宁静之旅正在等待!”", "text": ["正念与冥想静修营", "在放松的周末中重新与自己建立联系,找到内心的和谐", "引导冥想课程", "静默自然漫步", "健康素食餐", "2023年5月6日至7日,低语松树静修中心,名额有限", "立即预订——你的宁静之旅正在等待!"], "text_length": 86, "prompt_id": 138}
{"category": "poster", "length": "long", "prompt": "一张吸引人的、色彩丰富的复古风格马戏团活动海报,文字排版清晰且富有艺术感。正上方中央位置以活泼复古字体醒目地呈现活动名称:“璀璨之星马戏大观”。其下直接排列着欢快的副标题:“一场适合所有年龄段的奇妙夜晚,充满惊险、欢笑与惊叹”。海报中部横向排列着三个简洁的描述短语,间距整齐:“精彩的杂技表演”、“滑稽小丑表演”和“令人惊叹的动物表演”,每个短语旁配有活泼简约的图标。底部三分之一处以清晰的大写字母呈现详细活动信息:“2023年7月21日至23日 河畔展览场 表演于晚间6:30开始”。右下角配有温馨的手写体邀请语:“快来体验您的冒险之旅!”", "text": ["璀璨之星马戏大观", "一场适合所有年龄段的奇妙夜晚,充满惊险、欢笑与惊叹", "精彩的杂技表演", "滑稽小丑表演", "令人惊叹的动物表演", "2023年7月21日至23日 河畔展览场 表演于晚间6:30开始", "快来体验您的冒险之旅!"], "text_length": 92, "prompt_id": 139}
{"category": "caption", "length": "short", "prompt": "从纪录片电影场景中截取的屏幕截图,显示航拍视角下的冰川迅速融化流入海洋。画面中心底部位置,一个半透明的深灰色矩形字幕框覆盖在视频上方,内部用简洁的白色无衬线字体显示文字说明。该字幕框内中央对齐的中文文字“北极冰川在全球气温屡创新高下迅速消失”水平延伸占据屏幕下半部分的大部分区域。字幕内容简洁明了,能为观众提供即时背景信息。画面时间戳“00:47:23”以白色小号字体整齐排列在右下角,位于主字幕框右下方偏右的位置。", "text": ["北极冰川在全球气温屡创新高下迅速消失", "00:47:23"], "text_length": 24, "prompt_id": 160}
{"category": "caption", "length": "short", "prompt": "一个电影场景展现太空船控制室内宇航员焦虑的面部特写,场景笼罩在红色警示灯和紧急信号中。屏幕下方延伸着一条半透明的深色矩形字幕条,覆盖画面底部中央区域。字幕条内以简洁清脆的白色无衬线字体呈现叙事性文字:“警告:氧气水平危急,太空船内已启动紧急撤离程序”,文字在字幕框内居中排列以确保清晰可读。字幕条右下角以纤细的白色字体低调显示时间戳:“01:14:08”,标明影片播放进度。所有文字元素设计清晰,在紧迫的场景氛围中既提供关键叙事信息,又保持视觉平衡和电影连贯性。", "text": ["警告:氧气水平危急,太空船内已启动紧急撤离程序", "01:14:08"], "text_length": 27, "prompt_id": 161}
{"category": "caption", "length": "short", "prompt": "新闻电视直播画面呈现了一幅紧张场景,消防员们正紧急扑灭夜间吞噬一栋多层住宅楼的火焰。画面中消防员们将强劲的水柱向上喷射,直指浓烟与火光,火光映亮了漆黑的夜空。画面下方显著位置以大号加粗白色无衬线字体呈现标题文字,清晰可读且居中对齐,标题内容为:“大规模火灾迫使市中心公寓居民紧急疏散”。画面左上角设置了一个较小的不透明矩形框,白色背景上以大写粗体红色字体显示“直播”字样,表明实时报道。紧挨的下方左侧位置,以稍小字号显示着白色字体的简单描述“市中心区域 11:05”,标明事发地点及当地准确时间。所有文字元素——标题横幅、直播标识和地点时间信息——均在画面中清晰排布,既确保可读性又不遮挡应急事件的关键视觉细节。", "text": ["大规模火灾迫使市中心公寓居民紧急疏散", "直播", "市中心区域 11:05"], "text_length": 29, "prompt_id": 162}
{"category": "caption", "length": "short", "prompt": "一张广播截图,展示国际足球锦标赛比赛期间的实时体育解说场景。画面中心是一名球员在打入决定性进球后与队友热情庆祝。画面底部边缘附近,水平横跨约85%图像宽度的位置,出现了一个独特的下三分之一标题栏。该标题栏采用流畅的半透明渐变设计,底部较深色并向上传递至透明,为最佳可读性和视觉连贯性提供支持。标题栏内居中排列着清晰的粗体白色大写无衬线字体,显示着由十个单词组成的标题文字:“最后一刻进球助卫冕世界冠军赢得戏剧性冠军胜利”。在下三分之一标题栏上方略偏左的位置,一个单独的较小矩形框以纯红色背景搭配醒目白色文字,显示着大写单词“实时”以表明赛事实时转播。同时,屏幕左上角出现一个紧凑的横向文本框,以半透明黑色底色搭配白色无衬线字体,清晰标注着比赛信息——“国际足联世界杯决赛”,低调地告知观众当前转播时长,同时不干扰对庆祝画面的情感聚焦。", "text": ["最后一刻进球助卫冕世界冠军赢得戏剧性冠军胜利", "实时", "国际足联世界杯决赛"], "text_length": 33, "prompt_id": 163}
{"category": "caption", "length": "short", "prompt": "纪录片场景展现救援直升机在翻涌的海浪上方盘旋,将救援人员缓缓降至倾覆的脆弱小船上,难民们正紧紧抓住船只。画面底部中央横向贯穿约80%屏幕宽度的字幕栏以暗色至透明渐变背景呈现,确保文字清晰可见又不干扰视觉效果。该字幕栏内居中排列着由整洁专业的白色无衬线字体书写的10字描述文字:“难民船只倾覆时救援行动展开”。画面左上角紧凑排列着半透明暗色矩形信息标签,以较小字号的白色字体清晰展示“地中海 05:27”,标明突发事故的准确位置与当地时间。画面右下角低调的不透明黑色矩形框内,白色数字“00:45:22”清晰标注纪录片播放时间。", "text": ["难民船只倾覆时救援行动展开", "地中海 05:27", "00:45:22"], "text_length": 26, "prompt_id": 164}
{"category": "caption", "length": "short", "prompt": "一个电视新闻直播场景,画面中一位天气预报员站在巨大的图形化天气预报地图前,地图上显示严重的风暴天气状况和警示图标,表明多个地区将出现大雪和严寒天气。画面下三分之一处横向延伸约80%屏幕宽度的明显矩形信息横幅,中央整齐排列着简洁的粗体白色无衬线字体标题:“预计今夜将出现严重冬季风暴,当局发布紧急天气警报”。画面左上角有一个紧凑的矩形标签,不透明亮红色背景上以大写白色粗体字清晰显示:“直播中”。该“直播中”标识下方是一个略小的半透明深色矩形,内含较小字号的白色无衬线字体简要信息:“芝加哥大都会区 下午6:30”。最后,画面右下角低调位置有一个极小的不透明黑色矩形方框,以极简白色数字字符显示可清晰读取的时间戳:“00:12:39”,标记当前电视片段播放的确切时长。", "text": ["预计今夜将出现严重冬季风暴,当局发布紧急天气警报", "直播中", "直播中", "芝加哥大都会区 下午6:30", "00:12:39"], "text_length": 47, "prompt_id": 165}
{"category": "caption", "length": "short", "prompt": "从历史纪录片中截取的屏幕画面,展现了一位考古学家在考古发掘现场,于灯笼与柔和的金色光线交织的微光下,仔细检查一卷古代手稿。画面中下部横向延伸,占据约75%的图像宽度处,出现了一条半透明的渐变标题栏,其透明度由底部向顶部逐渐过渡至完全透明。在该标题栏中,以优雅的白色衬线字体居中对齐展示着简洁精炼的叙述性文字:“古代手稿的发现为早期人类文明研究提供了新视角”。画面左上角设有半透明的深灰色矩形标签,内含较小字号的白色无衬线字体:“埃及国王 1923年”。画面右下角以不显眼但清晰可见的方式设置了一个不透明的黑色矩形时间戳框,内含清晰的白色数字标识:“00:24:06”,精确标记着该画面在纪录片中出现的实时位置。", "text": ["古代手稿的发现为早期人类文明研究提供了新视角", "埃及国王 1923年", "00:24:06"], "text_length": 37, "prompt_id": 166}
{"category": "caption", "length": "short", "prompt": "一个犯罪惊悚电影场景,展示侦探在昏暗的犯罪现场仔细检查物证,现场被手电筒光束和背景中柔和的蓝红色警灯照亮。画面底部整齐横跨约70%宽度的位置,有一个矩形字幕框覆盖画面。该字幕框底部有淡化的半透明深色渐变,从底部向上的深色透明度逐渐减弱,确保文字易读性的同时保留场景的重要视觉细节。字幕框内用清晰易读的白色无衬线字体居中排列着“侦探发现将嫌疑人直接关联到最近凶杀案的关键证据”。屏幕左上角区域有一个较小的半透明黑色矩形,以紧凑简约的白色大写字母单行排列显示位置和时间信息:“布鲁克林,纽约 凌晨2:14”。画面右下角则巧妙设置了一个极简的不透明黑色矩形时间戳元素,内含精确的数字播放时间\"01:27:32\"。", "text": ["侦探发现将嫌疑人直接关联到最近凶杀案的关键证据", "布鲁克林,纽约 凌晨2:14"], "text_length": 34, "prompt_id": 167}
{"category": "caption", "length": "short", "prompt": "一档财经新闻广播,以不断波动的股市数据、图表和企业标志为背景,呈现突发市场动态。画面下三分之一处横向延伸着一条矩形字幕栏,宽度约占画面总宽的80%。该字幕栏采用精心设计的半透明渐变效果,底部边缘较深并向上方逐渐变浅,既确保文字清晰可读又不遮挡关键视觉信息。渐变色块正中央以白色粗体无衬线字体清晰呈现大写更新信息:“全球股市因经济衰退担忧骤跌”。画面左上角醒目地显示着红色不透明背景的紧凑矩形提示框,用白色粗体大写字母清晰标注:“突发新闻”,彰显紧急重要性。标识下方紧邻着半透明深色小框,以较小字号白色字体简洁显示集数信息:“华尔街动态 东岸时间下午4:42”。", "text": ["全球股市因经济衰退担忧骤跌", "突发新闻", "华尔街动态 东岸时间下午4:42"], "text_length": 31, "prompt_id": 168}
{"category": "caption", "length": "short", "prompt": "一段野生动物保护纪录片的截图画面,展现大象在干旱草原水源地谨慎聚集的感人场景。龟裂的干涸土地突显严峻的旱情,落日将天空染成鲜明的橘红色。画面下方中央位置横跨约70%屏幕宽度的水平矩形标题框,采用柔和半透明渐变背景设计。标题框内精准居中、清晰可读的描述文字以精致易读的白色无衬线字体呈现:“持续干旱威胁东非地区象群生存”。画面左上角的小型矩形标签在视觉背景中悄然显现,清晰呈现简明的地理位置和时间信息:“肯尼亚安博塞利国家公园,下午6:28”。这些文字元素既保持信息传达的清晰性,又通过精心设计的视觉微妙性,使观众能够轻松把握画面叙事背景,同时不削弱屏幕上丰富的情感画面。", "text": ["持续干旱威胁东非地区象群生存", "肯尼亚安博塞利国家公园,下午6:28"], "text_length": 30, "prompt_id": 169}
{"category": "caption", "length": "long", "prompt": "一个关于减少污染的环保建议新闻播报,围绕画面中央的地球图像清晰组织。文字元素逻辑分明地排列,配有简单图标,具体如下:地球图标下方中央位置,加粗文字显示“应对空气污染的简单方法”。从左上角开始,短语“使用公共交通”配有公交车轮廓图;顺时针方向相邻位置,“改用可再生能源”的建议旁是风力涡轮机符号;继续向下顺时针方向,“妥善回收废物”的文字旁边是回收箱图标;右下区域,“植树绿化”搭配一片叶子的插图;继续向上顺时针方向,“减少塑料使用”与一个划掉的塑料瓶图标并列;右上位置,“节约用电”清晰标注在半熄状态的灯泡图标旁。环形布局中,中央地球与这些文字建议通过细长曲线箭头自然衔接,引导观众循序观看。", "text": ["应对空气污染的简单方法", "使用公共交通", "改用可再生能源", "妥善回收废物", "植树绿化", "减少塑料使用", "节约用电"], "text_length": 44, "prompt_id": 170}
{"category": "caption", "length": "long", "prompt": "从太空主题的教育纪录片中直接截取的画面,清晰呈现了火星的示意图,可见的火星表面特征包括红色地形、深邃的陨石坑和岩石地貌。这颗行星占据画面主体,背景是布满恒星的深空。画面底部横向延伸着一个深色半透明信息面板,面板内白色字幕清晰显示:“火星探测:科学家确认盖尔陨石坑曾存在液态水,使其成为我们寻找古代微生物生命的主要目标。美国宇航局好奇号探测器持续为研究火星地质历史提供重要线索”。文字以两句话简洁呈现,采用简洁专业的纪录片风格字体,与深色覆盖层形成鲜明对比,确保清晰可读并吸引观众注意。", "text": ["火星探测:科学家确认盖尔陨石坑曾存在液态水,使其成为我们寻找古代微生物生命的主要目标。美国宇航局好奇号探测器持续为研究火星地质历史提供重要线索"], "text_length": 68, "prompt_id": 171}
{"category": "caption", "length": "long", "prompt": "电视新闻截图显示,城市社区暴雨引发严重洪灾,救援人员正在疏散居民。主画面呈现着救援小艇在泥泞淹没的街道中穿行,救援队员身穿亮色背心,帮助焦虑的平民登上小艇。周围建筑部分淹没,可见明显的损毁痕迹和漂浮的碎片。画面底部边缘水平延伸着一条半透明的深蓝色新闻滚动条,用清晰的白色文字提供信息。滚动条内容为:“突发新闻:城市经历创纪录夜雨后,严重洪灾迫使数千人撤离家园。当局敦促受灾地区居民立即寻找避难所并等待紧急援助”。画面左下角整齐排列着新闻台标志,其右侧用醒目的红色字体标注着“直播”,表明对灾情现场的持续报道。整体布局严格遵循电视新闻播报标准,确保所有文字信息简洁明了、信息完整且易于阅读。", "text": ["突发新闻:城市经历创纪录夜雨后,严重洪灾迫使数千人撤离家园。当局敦促受灾地区居民立即寻找避难所并等待紧急援助", "直播"], "text_length": 53, "prompt_id": 172}
{"category": "caption", "length": "long", "prompt": "一张类似纪录片截图的图像,描绘着非洲草原日落时的野生动物。画面的视觉焦点是一群大象平静地穿越开阔的草地,它们的剪影在背景中被温暖的金橙色暮光所照亮。屏幕底部中央整齐排列着一个半透明的黑色字幕框,内含格式工整的白色字幕,内容为:“非洲象每年迁徙数百英里,依靠依靠记忆和环境线索的母系首领引导。这次迁徙对维持草原生态系统的健康至关重要”。这种微妙的纪录片风格字体易于阅读,并巧妙地与野生动物场景中宁静而庄严的视觉氛围相得益彰。", "text": ["非洲象每年迁徙数百英里,依靠依靠记忆和环境线索的母系首领引导。这次迁徙对维持草原生态系统的健康至关重要"], "text_length": 49, "prompt_id": 173}
{"category": "caption", "length": "long", "prompt": "纪录片风格的截图,描绘考古学家在考古现场小心翼翼地挖掘古代遗迹。画面中突出显示几位戴着宽边帽子、穿着卡其色衣物的研究人员正辛勤地在部分埋于红棕色土壤层中的石质建筑间工作。阳光温柔地照亮了遗址,将精雕细琢的柱子、陶器文物和散落在挖掘区的挖掘工具投射出清晰的长影。屏幕中央偏下方位置,一个半透明的矩形黑色字幕框中整齐排列着清晰易读的白色字体字幕。文字内容为:“秘鲁发现:考古学家发掘出可追溯至公元前600年的神庙复合体,揭示了早期安第斯文明的先进建筑技艺与宗教习俗。研究人员表示该遗址可能会显著改变我们对哥伦布之前文化发展的理解”。字幕经过精心排列为三个句子,确保观众能获得全面而简洁的历史背景信息,自然地与画面中丰富的视觉内容相辅相成。", "text": ["秘鲁发现:考古学家发掘出可追溯至公元前600年的神庙复合体,揭示了早期安第斯文明的先进建筑技艺与宗教习俗。研究人员表示该遗址可能会显著改变我们对哥伦布之前文化发展的理解"], "text_length": 81, "prompt_id": 174}
{"category": "caption", "length": "long", "prompt": "一个历史纪录片画面,描绘了第二次世界大战诺曼底登陆日盟军士兵在海滩登陆的生动航拍照片场景。黑白影像中,数百名士兵从两栖登陆艇下船,沙滩上烟雾弥漫、混乱不堪、碎片遍布。画面前景中,士兵们在猛烈的火力下模糊前行,清晰传达出此刻的紧迫与危险,远方爆炸的火光和冲天的烟柱在阴沉的天空中格外醒目。画面底部中央位置,水平半透明深灰色字幕栏整齐地横贯底部,以纪录片风格字体清晰显示白色字幕:“1944年6月6日诺曼底登陆。超过15万名盟军士兵发起最大规模的两栖登陆行动,在纳粹占领的法国建立关键立足点,标志着欧洲战场二战的转折点”。简洁的字幕为这一重要历史时刻提供了关键的历史背景,与画面中的戏剧性视觉效果相得益彰,同时保持了清晰专业的纪录片呈现风格。", "text": ["1944年6月6日诺曼底登陆。超过15万名盟军士兵发起最大规模的两栖登陆行动,在纳粹占领的法国建立关键立足点,标志着欧洲战场二战的转折点"], "text_length": 65, "prompt_id": 175}
{"category": "caption", "length": "long", "prompt": "一段与健康相关的新闻片段截图,画面聚焦于现代实验室中科学家们正在研究疫苗的特写镜头。背景可见整齐排列的科学标记瓶罐货架,数字屏幕在后方显示着医学数据和图表。画面中心底部位置设有半透明蓝色横版标题栏,使用清晰易读的白色新闻字体标注着:“医学突破:科学家宣布在研制一种有前景的通用流感疫苗方面取得进展,有望提供长期免疫力并减少全球年度流感爆发。临床试验预计将于今年晚些时候开始”。该标题栏左角处配有新闻台标志及“直播”标志,强调对这项重要医学进展的实时报道。", "text": ["医学突破:科学家宣布在研制一种有前景的通用流感疫苗方面取得进展,有望提供长期免疫力并减少全球年度流感爆发。临床试验预计将于今年晚些时候开始", "直播"], "text_length": 68, "prompt_id": 176}
{"category": "caption", "length": "long", "prompt": "一段戏剧性的自然纪录片场景,展示着水下珊瑚礁的特写镜头,礁石上充满了海洋生物。橙色、紫色和蓝绿色调的珊瑚构成视觉冲击力的前景,周围是成群的小热带鱼在复杂结构间穿梭游动。柔和的阳光投射出动态的阴影和反光,映照在周围的海洋植物和动物上,进一步增强了水下环境的生动与流动感。屏幕底部中央位置,一个半透明的深色矩形字幕框中,白色文字以清晰工整的句式排列显示:“珊瑚礁支撑着近四分之一的海洋生物,但它们正面临气候变化和污染的严重威胁。保护珊瑚生态系统对于维护海洋生物多样性和为后代延续健康的海洋环境至关重要”。优雅的纪录片风格字体确保文字在鲜艳的背景画面中清晰可读,营造出既具信息量又富有视觉吸引力的呈现效果。", "text": ["珊瑚礁支撑着近四分之一的海洋生物,但它们正面临气候变化和污染的严重威胁。保护珊瑚生态系统对于维护海洋生物多样性和为后代延续健康的海洋环境至关重要"], "text_length": 70, "prompt_id": 177}
{"category": "caption", "length": "long", "prompt": "历史纪录片画面,展示旧金山金门大桥建设的历史影像。清晰的黑白影像突出呈现工人们在海湾上方巨大的钢梁上保持平衡的场景,起重机、钢缆和脚手架勾勒出部分完工的结构轮廓,营造出戏剧化而工业化的氛围。画面底部中央位置,整齐排列着半透明的深色字幕框,水平延伸的白色字幕采用纪录片风格字体清晰显示。字幕内容为:“建造地标:1933年至1937年间,成千上万名工人冒着生命危险建造旧金山金门大桥。其创新的工程设计和独特的造型改变了湾区的景观,成为大萧条时期进步时代的象征”。字幕简洁专业,既提供了宝贵的历史背景信息,又与画面中引人注目的视觉元素相得益彰。", "text": ["建造地标:1933年至1937年间,成千上万名工人冒着生命危险建造旧金山金门大桥。其创新的工程设计和独特的造型改变了湾区的景观,成为大萧条时期进步时代的象征"], "text_length": 74, "prompt_id": 178}
{"category": "caption", "length": "long", "prompt": "天气预报节目的截图,画面中气象学家自信地站在色彩丰富的数字天气地图旁,地图上清晰展示了温度和降水预报。温度数值以明确数字形式呈现,内陆区域以蓝色调标注较低温度值,逐渐过渡到沿海区域的橙色或红色较高温度值。画面底部延伸着一条半透明的深蓝色滚动条面板,上面整齐排列着白色文字字幕:“天气警报:沿海社区已发布热带风暴预警,预计未来48小时内将出现强降雨和高达70英里/小时的阵风。建议居民保持关注并做好可能疏散的准备”。该面板左下角,“直播”字样以红色加粗大写字母清晰呈现,并配有天气频道的标志,突出实时天气更新的紧迫性。", "text": ["天气警报:沿海社区已发布热带风暴预警,预计未来48小时内将出现强降雨和高达70英里/小时的阵风。建议居民保持关注并做好可能疏散的准备", "直播"], "text_length": 64, "prompt_id": 179}
{"category": "dialogue", "length": "short", "prompt": "一幅充满趣味、生动的漫画风格插图,描绘了两个卡通蔬菜之间的对话。一根担忧的胡萝卜和一个带着笑意的西兰花出现在一个充满活力的厨房场景中,背景有色彩鲜艳的餐具、新鲜的食材、厨房橱柜和悬挂的厨具。左上角,胡萝卜笔直站立,眼睛因惊讶而睁大,紧张地向旁瞥了一眼。它的椭圆形对话框轮廓清晰,由平滑的圆润线条勾勒,直接位于头顶。对话框内的文字采用整齐的手写风格,突出表现担忧情绪,内容为“等等,我们是今天汤的食材吗?之前没人提到过这个!”。右下角,西兰花随意地靠在小厨房碗旁,带着顽皮的微笑,姿势放松地幽默回应。它的矩形对话框带有圆角,位置稍低并略微覆盖胡萝卜对话框的底部边缘,视觉上引导读者沿图像对角线下方阅读。西兰花对话文字采用俏皮的轻斜体字体,突出其讽刺和愉悦的语气,内容为“你没收到通知吗?祝你好运,伙计!”。", "text": ["等等,我们是今天汤的食材吗?之前没人提到过这个!", "你没收到通知吗?祝你好运,伙计!"], "text_length": 34, "prompt_id": 180}
{"category": "dialogue", "length": "short", "prompt": "一幅生动的漫画风格插图,描绘了两只幽默的卡通狗在刚刚挖好的后院坑洞附近互动的场景。坑洞周围散落着泥土、园艺工具、盛开的花朵和木质围栏背景。画面左上角,狗一紧张地站在杂乱的坑洞旁,耳朵下垂,眼睛睁大,脸上露出担忧的表情。它的对话框呈椭圆形,边缘整洁圆润,清晰地位于狗一头部上方。对话框内用活泼的手写体字清晰可读,强调了狗狗的担忧语气,写着:“你确定人类不会注意到这个大坑吗?”画面右下角,狗二平静自信地坐着,面带愉悦无忧的表情,尾巴轻轻摇摆。它的对话框为圆角矩形,与狗一的对话框略微重叠,自然地引导读者视线沿着画面对角线下移。狗二友好的幽默回应以俏皮的斜体漫画字体呈现,清晰地写着:“放松!我们再说是邻居家的猫干的!”每个对话框都营造出充满趣味的后院场景。", "text": ["你确定人类不会注意到这个大坑吗?", "放松!我们再说是邻居家的猫干的!"], "text_length": 29, "prompt_id": 181}
{"category": "dialogue", "length": "short", "prompt": "一幅充满趣味的卡通风格插画,展现两个机器人在一个未来感十足的科技主题车间内幽默对话的场景。画面左上角的机器人A举着一根生锈的分离机械臂,用椭圆形对话框中粗体活泼字体表达担忧:“你看到我的左臂了吗?”。右下角的机器人B则随意指向身后的杂乱货架,用矩形对话框和斜体友好字体回答:“检查下备用电池后面,经常这样!”。机器人B的对话框部分自然地叠在机器人A对话框下方,形成斜向下延伸的阅读动线。每个对话框内均少于10个字,清晰传递出机器人之间诙谐的互动交流。", "text": ["你看到我的左臂了吗?", "检查下备用电池后面,经常这样!"], "text_length": 22, "prompt_id": 182}
{"category": "dialogue", "length": "short", "prompt": "一幅生动的卡通风格插画,展现着两只顽皮松鼠在一棵落叶纷飞的森林空地上交谈的场景。背景中点缀着散落的橡果和树洞。画面左上方,第一只松鼠神情担忧,直立而立,双目圆睁。它的椭圆形对话框采用手写风格字体,显示内容为“你是在这棵树下埋的橡果吗?”。右下方位置,第二只松鼠随意倚靠在小堆落叶旁,自信地微笑着。它使用的圆角矩形对话框采用略微倾斜的俏皮字体,显示内容为“放心吧,这次我画了详细地图!”。第二只松鼠的对话框斜下方与第一只对话框形成自然交叠,二者角落轻微重叠,引导视线自然流动于这对幽默的对话中。", "text": ["你是在这棵树下埋的橡果吗?", "放心吧,这次我画了详细地图!"], "text_length": 24, "prompt_id": 183}
{"category": "dialogue", "length": "short", "prompt": "一幅幽默的卡通风格插图,描绘了两只蜜蜂在充满蜂巢、蜂蜜罐和忙碌工蜂飞舞的热闹蜂巢场景中生动地交谈。画面左上方,蜜蜂1焦虑地悬停着,翅膀明显嗡嗡震动,表情惊慌,通过一个椭圆形略带锯齿状的对话框,用加粗的漫画字体说出:“我们的蜂蜜用完了!现在该怎么办?”画面右下方,蜜蜂2则舒适地靠在蜂蜜罐旁,神情自信且面带微笑,通过一个边缘平滑、圆角矩形的对话框,以柔和的斜体字回应:“简单!我们再重新采一些!” Bee Two的对话气泡略微覆盖了Bee One对话气泡的底部边缘,温和地引导读者视线向下和对角线方向流动。", "text": ["我们的蜂蜜用完了!现在该怎么办?", "简单!我们再重新采一些!"], "text_length": 24, "prompt_id": 184}
{"category": "dialogue", "length": "short", "prompt": "一幅生动的漫画风格插图,展现两只卡通恐龙在史前丛林场景中幽默互动。画面充满茂密的植物、蕨类植物、棕榈树和远处的火山。左上角,一只表情困惑、头部略微倾斜的恐龙正用椭圆形的对话框说话,对话框边缘有粗大的动态笔触。对话框内的文字以活泼的粗体字清晰呈现:“你看到我放在火山附近的蛋吗?”。右下角,另一只恐龙舒适地坐着,手持超大的树叶当作临时扇子,自信地带着嘲讽的神情回应。其圆角矩形的对话框采用略微倾斜的俏皮字体,内容为:“放松点!我把它们挪到更安全的地方了!”。第二只恐龙的对话框略微覆盖第一只对话框的下边缘,视觉上引导读者视线沿幽默对话向右下方移动。", "text": ["你看到我放在火山附近的蛋吗?", "放松点!我把它们挪到更安全的地方了!"], "text_length": 29, "prompt_id": 185}
{"category": "dialogue", "length": "short", "prompt": "一幅幽默的卡通风格插图,描绘两只猫头鹰栖息在星空夜幕下的树枝上,周围环绕着树叶和柔和发光的萤火虫,猫头鹰拥有夸张的大眼睛。左上角的猫头鹰一显得疲惫且恼怒,半闭着眼睛,对话框呈椭圆形,边缘线条纤细流畅,文字采用整洁活泼的手写体,清晰可见“你能别叫了吗,我正在睡觉呢”。右下角的猫头鹰二坐姿端正、精神饱满,眼睛圆睁,用略带圆角的矩形对话框回应,采用漫画风格字母和活泼的强调格式,天真地说“对不起,我忘了我们是夜行动物了”。猫头鹰二的对话框略微覆盖猫头鹰一对话框的底部边缘,形成从左上至右下的对角线阅读引导,确保两人幽默对话的自然阅读流向。", "text": ["你能别叫了吗,我正在睡觉呢", "对不起,我忘了我们是夜行动物了"], "text_length": 26, "prompt_id": 186}
{"category": "dialogue", "length": "short", "prompt": "一幅色彩缤纷的卡通风格插画,描绘着两个滑稽的幽灵在一间老旧闹鬼的图书馆里愉快地聊天,画面中漂浮着书籍,布满蛛网的书架上摆着古董台灯,烛光在微微闪烁。画面左上角,幽灵一紧张地漂浮在一本悬浮打开的书旁边,双眼因惊讶而睁大,在一个边缘柔和、线条细长且波浪状的圆形对话框中说话。对话框中的文字以俏皮的手写体清晰呈现,内容为:“你刚才听到有人在那排书架后面了吗?”。作为回应,画面右下角的幽灵二平静地漂浮着,神情放松且略带好笑,在一个圆形矩形的对话框中以活泼的斜体漫画字母自信地回答:“别担心,我们不就是该在这里吓人的吗?记得吗?”幽灵二的对话框略微覆盖在幽灵一的对话框右下角,自然地引导读者视线沿着幽默的对话斜向下移动。", "text": ["你刚才听到有人在那排书架后面了吗?", "别担心,我们不就是该在这里吓人的吗?记得吗?"], "text_length": 35, "prompt_id": 187}
{"category": "dialogue", "length": "short", "prompt": "趣味漫画风格插图描绘了两只熊在充满生机的森林场景中河岸边幽默交谈的画面,场景包含树木、岩石、花朵,以及从河中跃起的嬉戏鱼群。左上角处,熊一站立着,表情略显困惑却带着愉悦,手持空荡的渔网。其对话框呈椭圆形,柔和弯曲,边缘为平滑明显的黑色线条。对话框内文字以友好的圆润手写体清晰可见地显示为“难道所有鱼都计划好假期却没有告诉我们吗?”。右下角处,熊二舒适地坐在岩石上轻声笑,上方树枝间尴尬缠绕着钓鱼竿。其对话框为圆角矩形,位置较低且略微覆盖熊一的对话框,引导读者视线向下对角线移动。熊二对话框内的文字活泼并带有斜体,幽默地写着“也许它们终于学会我们的偷钓小技巧了!”", "text": ["难道所有鱼都计划好假期却没有告诉我们吗?", "也许它们终于学会我们的偷钓小技巧了!"], "text_length": 36, "prompt_id": 188}
{"category": "dialogue", "length": "short", "prompt": "一幅幽默明亮的卡通风格插画,描绘两只友好的蜗牛在充满巨型蘑菇、新鲜露珠覆盖的叶片、彩色花朵和附近探索的微小昆虫的温馨花园景观中愉快交谈。画面左上角的蜗牛一号睁着圆圆的眼睛,显得既震惊又无奈,其对话框是椭圆形边缘柔和的对话框,用清晰的细线勾勒出圆润轮廓。对话框内的文字采用友好的手写风格字体,内容为:“你意思是说我们从昨天早上到现在只前进了两英寸?”画面右下角的蜗牛二号悠闲地坐在小蘑菇上,面带温柔微笑,用矩形圆角对话框平静地回应,对话框略微向上倾斜以明确对话关系,内部文字以俏皮的斜体字显示为:“放松点,朋友!我们是蜗牛,速度从来就不是我们的强项!”蜗牛二号的对话框底部与蜗牛一号的对话框自然重叠,引导读者视线从左上方向右下方自然流动,确保阅读流畅性。", "text": ["你意思是说我们从昨天早上到现在只前进了两英寸?", "放松点,朋友!我们是蜗牛,速度从来就不是我们的强项!"], "text_length": 44, "prompt_id": 189}
{"category": "dialogue", "length": "long", "prompt": "一幅插画漫画分镜,描绘狗和猫坐在沙发上进行幽默对话的场景,每个角色通过对话框表达各自的日常烦恼。文字内容布局形成自然随性的对话流程:狗头左上方的对话框写着“说实话,追自己的尾巴听起来是个好主意。但现在我头晕!”猫右上方的思考气泡写着“为什么狗总是制造戏剧性?”狗左下方的对话框继续道“你怎么能整天没目标地放松呢?!”最后猫右下方的回复气泡干巴巴地说道“简单。少追尾巴,多睡觉。”场景充满趣味的夸张卡通表情,对话框巧妙排布引导观者自然从左上至右下浏览。", "text": ["说实话,追自己的尾巴听起来是个好主意。但现在我头晕!", "为什么狗总是制造戏剧性?", "你怎么能整天没目标地放松呢?!", "简单。少追尾巴,多睡觉。"], "text_length": 56, "prompt_id": 190}
{"category": "dialogue", "length": "long", "prompt": "一幅色彩缤纷的漫画风格插图,描绘两位人物在咖啡吧台幽默交谈的场景。对话气泡自然排列,引导观者顺畅地跟随对话流程。左上角,咖啡师礼貌微笑,气泡中写着“欢迎!我们有三份浓缩的意式咖啡,您有兴趣尝试吗?”。右上角,那位看起来疲惫的顾客紧张回应,“嗯,那似乎太强了,有能帮我撑过今天会议的东西吗?”。左下角咖啡师下方,另一个气泡继续欢快地说“好消息!我们提供温和的提神拿铁!”最后右下角,顾客感激地回应,气泡中写着“太棒了!我要两杯,并且请加双倍的乐观心态”。夸张的卡通表情生动展现幽默感,布局清晰地引导观者完成这段友好的对话流程。", "text": ["欢迎!我们有三份浓缩的意式咖啡,您有兴趣尝试吗?", "嗯,那似乎太强了,有能帮我撑过今天会议的东西吗?", "好消息!我们提供温和的提神拿铁!", "太棒了!我要两杯,并且请加双倍的乐观心态"], "text_length": 74, "prompt_id": 191}
{"category": "dialogue", "length": "long", "prompt": "一幅漫画风格的插画,设定在奇幻电子游戏场景中,展现骑士角色与法师角色在岔路口和木质指示牌前的对话。对话框通过合理布局的对话框自然呈现对话流程。左上角骑士的对话框写着:“我们必须谨慎选择,法师。左边道路标注‘龙穴’,右边标注‘绝对确定的死亡’。有什么建议吗?”。右上角靠近法师处,一个充满思考的对话框写着:“我建议选择‘绝对确定的死亡’。如今谁还会诚实地标注道路呢?”。最后在右下角靠近法师的位置,一个充满自信的对话框宣告:“相信我骑士,冒险眷顾那些天真的乐观者!”。这些幽默的对话框在场景中清晰分布,自然引导观众按顺序理解角色间的互动。", "text": ["我们必须谨慎选择,法师。左边道路标注‘龙穴’,右边标注‘绝对确定的死亡’。有什么建议吗?", "我建议选择‘绝对确定的死亡’。如今谁还会诚实地标注道路呢?", "相信我骑士,冒险眷顾那些天真的乐观者!"], "text_length": 77, "prompt_id": 192}
{"category": "dialogue", "length": "long", "prompt": "一幅充满活力的漫画风格场景,描绘两个卡通外星人首次探索地球时发生的幽默互动,他们站在着陆的飞碟旁。对话框自然排列,引导读者观看他们的对话。左上角第一个外星人的对话框中写着:“奇异的星球,居民们总盯着他们手中的发光矩形”。右上角第二个外星人耸耸肩回应:“也许那些矩形控制着他们的思想”。左下方靠近第一个外星人的对话框继续说道:“那我们的入侵就容易了!用更多矩形分散他们的注意力”。最后,右下角第二个外星人旁的对话框欢快地回应:“太棒了!我们就称它为'屏幕成瘾行动'”。外星人展现出滑稽的表情,对话框呈对角线排列,让读者自然地从左上角顺畅阅读到右下角。", "text": ["奇异的星球,居民们总盯着他们手中的发光矩形", "也许那些矩形控制着他们的思想", "那我们的入侵就容易了!用更多矩形分散他们的注意力", "太棒了!我们就称它为'屏幕成瘾行动'"], "text_length": 72, "prompt_id": 193}
{"category": "dialogue", "length": "long", "prompt": "一幅充满奇思妙想的漫画风格插图,描绘两位办公室员工在公园长椅上共进午餐时的幽默互动。对话框自然地按照对话流程排列。画面左上角,第一位员工的对话框内容为:“我带了一份新鲜沙拉,开始健康生活!”右上角第二位员工的对话框位置,其略显怀疑的表情下写着:“早上会议时你不是在吃甜甜圈吗?”左下角第一位员工防御性地回应:“平衡是关键!绿叶蔬菜可以抵消甜甜圈的糖分。”右下角第二位员工带着笑意和调侃的语气说:“啊,我搞错了。你应该给HR发邮件,建议推出新的甜甜圈沙拉健康计划。”诙谐的面部表情伴随着机智的对话,对话框以对角线排列方式自然引导观者体验这场幽默互动。", "text": ["我带了一份新鲜沙拉,开始健康生活!", "早上会议时你不是在吃甜甜圈吗?", "平衡是关键!绿叶蔬菜可以抵消甜甜圈的糖分。", "啊,我搞错了。你应该给HR发邮件,建议推出新的甜甜圈沙拉健康计划。"], "text_length": 75, "prompt_id": 194}
{"category": "dialogue", "length": "long", "prompt": "一幅色彩丰富的卡通风格插画,描绘快餐店柜台处顾客与笨拙收银员的幽默互动。对话气泡自然排列,引导读者直观地跟随对话顺序。左上角,顾客指着菜单牌,气泡中写着:“能给我要广告里号称全城最大汉堡的高级汉堡吗?”右上角,收银员困惑的回复气泡显示:“其实它们都是正常尺寸的,我们在广告里夸大了。”左下角,顾客翻白眼表示难以置信,气泡中说着:“那我试试你们著名的薯条吧?”右下角,收银员尴尬微笑,气泡中怯生生地回答:“它们其实非常普通。”表情幽默,对话间距清晰,自然引导读者从左上至右下对角线阅读。", "text": ["能给我要广告里号称全城最大汉堡的高级汉堡吗?", "其实它们都是正常尺寸的,我们在广告里夸大了。", "那我试试你们著名的薯条吧?", "它们其实非常普通。"], "text_length": 61, "prompt_id": 195}
{"category": "dialogue", "length": "long", "prompt": "一幅充满活力的漫画风格插图,描绘两个卡通机器人在科幻工厂场景中幽默地讨论各自任务。对话气泡自然排列,引导读者直观理解画面内容。左上角,机器人A手持扫帚,用困惑的语气说:“我们有能深度学习的高级处理器,但我的工作却是扫地,逻辑错误!”右上角气泡显示机器人B端着一盘咖啡杯,带着温和的讽刺语气回答:“我为您服务咖啡!”左下角,机器人A调皮地歪着头说:“显然,人类担心我们通过咖啡杯统治他们!”右下角靠近机器人B的气泡则欢快回应:“对,我们先掌握拿铁艺术,再征服人类!”对话布局从左上方向右下方依次展开,通过生动的机器人表情和姿态设计,增强了对话的趣味性。", "text": ["我们有能深度学习的高级处理器,但我的工作却是扫地,逻辑错误!", "我为您服务咖啡!", "显然,人类担心我们通过咖啡杯统治他们!", "对,我们先掌握拿铁艺术,再征服人类!"], "text_length": 66, "prompt_id": 196}
{"category": "dialogue", "length": "long", "prompt": "一幅幽默、色彩鲜艳的卡通风格漫画场景,设定在中世纪市场中,描绘了一位性格古怪的商贩正向一位持怀疑态度的骑士兜售魔法药水。对话框自然地引导观众跟随对话的进展。左上角,商贩热情地指着色彩斑斓的瓶子,对话框显示:“快来看啊,尊贵的爵士!只要喝一口我的药水,你就会变得更高大更聪明!”右上角靠近骑士怀疑表情的位置,对话框回应道:“嗯,听起来夸张得离谱。有实际的保证吗?”左下角,商贩愉快地回答:“当然!如果没效果,我会退货,大概吧”。最后右下角,骑士无奈地笑了笑,对话框总结道:“也许我还不如继续练习剑术。”生动的角色和清晰的对角线对话框布局自然地引导读者从左上角阅读到右下角。", "text": ["快来看啊,尊贵的爵士!只要喝一口我的药水,你就会变得更高大更聪明!", "嗯,听起来夸张得离谱。有实际的保证吗?", "当然!如果没效果,我会退货,大概吧", "也许我还不如继续练习剑术。"], "text_length": 71, "prompt_id": 197}
{"category": "dialogue", "length": "long", "prompt": "一个充满趣味的卡通风格场景,两名海盗在海滩上幽默地讨论宝藏,旁边是一个刚挖好的洞穴,对话框自然排列以引导读者阅读对话。左上角海盗A困惑地挠着头,对话框显示:“所以你是说标记的埋藏点是黄金而不是某人丢失的凉鞋?”右上角海盗B耸耸肩,随意回答:“看来地图已经不是从前的样子了。可能是新的海盗回收计划!”左下角海盗A怀疑地挑起眉毛,对话框写着:“好主意,但凉鞋买不了朗姆酒或新船。”最后在右下角海盗B身旁,带着愉快的手势回应:“确实!但至少我们会舒适地航行!”面部表情幽默,对话框均匀分布,形成从左上到右下的自然对角线布局,确保清晰有趣的可读性。", "text": ["所以你是说标记的埋藏点是黄金而不是某人丢失的凉鞋?", "看来地图已经不是从前的样子了。可能是新的海盗回收计划!", "好主意,但凉鞋买不了朗姆酒或新船。", "确实!但至少我们会舒适地航行!"], "text_length": 77, "prompt_id": 198}
{"category": "dialogue", "length": "long", "prompt": "一幅幽默的卡通风格插图,场景设定在艺术博物馆内,描绘一位困惑的参观者与热情的导游就一幅抽象画展开俏皮对话。对话框自然排列,引导观者轻松跟随交谈内容。左上角,困惑的参观者气泡中写着:“你确定这个倒置的三角形代表人类的挣扎吗?”右上角,微笑的导游自信地回答:“没错!人类常常在深奥的意义和披萨渴望之间挣扎。”左下角的气泡中,参观者若有所思地回应:“那么,我确实能与这件杰作产生共鸣。”最后,在导游右侧底部,一个欢快的气泡总结道:“太棒了!真正的艺术会向那些渴望理解的人清晰诉说。”幽默的表情和清晰的对角线气泡排列自然地引导观者从左上到右下完成这场有趣的对话。", "text": ["你确定这个倒置的三角形代表人类的挣扎吗?", "没错!人类常常在深奥的意义和披萨渴望之间挣扎。", "那么,我确实能与这件杰作产生共鸣。", "太棒了!真正的艺术会向那些渴望理解的人清晰诉说。"], "text_length": 77, "prompt_id": 199}
from __future__ import annotations
import argparse
import glob
import json
import os
import re
import warnings
from collections import Counter, defaultdict
from pathlib import Path
from typing import Any
warnings.filterwarnings("ignore")
import torch
from qwen_vl_utils import process_vision_info
from tqdm import tqdm
from transformers import AutoProcessor, Qwen2_5_VLForConditionalGeneration
DEFAULT_DATA_DIR = Path(__file__).resolve().parent / "data"
DEFAULT_EN_DATA_PATH = DEFAULT_DATA_DIR / "text_prompts.jsonl"
DEFAULT_ZH_DATA_PATH = DEFAULT_DATA_DIR / "text_prompts_zh.jsonl"
# Reference:
# X-Omni: Reinforcement Learning Makes Discrete Autoregressive Image
# Generative Models Great Again
# https://arxiv.org/abs/2507.22058
def clean_and_remove_hallucinations(text: str) -> str:
keywords_list = ["addCriterion", "No text recognized."]
s = text
for keyword in keywords_list:
s = s.replace(keyword, "").replace(f"\n{keyword}", "").replace(f"{keyword}\n", "")
return s
class ImageEvaluator:
def __init__(self, device: int | str, model_path: str = "Qwen/Qwen2.5-VL-7B-Instruct") -> None:
self.device = device
self.qwen_model = Qwen2_5_VLForConditionalGeneration.from_pretrained(
model_path,
torch_dtype=torch.bfloat16,
local_files_only=True,
).to(device)
self.qwen_model.eval()
self.qwen_processor = AutoProcessor.from_pretrained(model_path, local_files_only=True)
self.qwen_prompt = (
"Recognize the text in the image, only reply with the text content, "
"but avoid repeating previously mentioned content. "
"If no text is recognized, please reply with 'No text recognized'."
)
def qwen_ocr(self, image: str) -> str:
message = [
{
"role": "user",
"content": [
{"type": "image", "image": image},
{"type": "text", "text": self.qwen_prompt},
],
}
]
texts = self.qwen_processor.apply_chat_template(message, tokenize=False, add_generation_prompt=True)
image_inputs, _ = process_vision_info(message)
inputs = self.qwen_processor(
text=texts,
images=image_inputs,
padding=True,
return_tensors="pt",
).to(self.device)
generated_ids = self.qwen_model.generate(**inputs, max_new_tokens=1024)
generated_ids_trimmed = [
out_ids[len(in_ids) :] for in_ids, out_ids in zip(inputs.input_ids, generated_ids, strict=True)
]
outputs = self.qwen_processor.batch_decode(
generated_ids_trimmed,
skip_special_tokens=True,
clean_up_tokenization_spaces=False,
)
return clean_and_remove_hallucinations(outputs[0])
def evaluate(self, data_chunk: list[dict[str, Any]]) -> list[dict[str, Any]]:
eval_results = []
with torch.no_grad():
for data in tqdm(data_chunk):
ocr_results = self.qwen_ocr(data["image"])
eval_results.append(
{
"image": data["image"],
"prompt_id": data["prompt_id"],
"prompt": data["prompt"],
"category": data.get("category", ""),
"length": data.get("length", ""),
"text_length": data.get("text_length"),
"ocr_gt": data["text"],
"ocr_results": ocr_results,
}
)
return eval_results
def split_list(x: list[Any], n: int) -> list[list[Any]]:
k, m = divmod(len(x), n)
return [x[i * k + min(i, m) : (i + 1) * k + min(i + 1, m)] for i in range(n)]
def prompt_file_for_mode(mode: str) -> Path:
return DEFAULT_EN_DATA_PATH if mode == "en" else DEFAULT_ZH_DATA_PATH
def load_prompts(prompt_file: Path) -> dict[int, dict[str, Any]]:
with prompt_file.open(encoding="utf-8") as f:
prompts = [json.loads(line) for line in f if line.strip()]
return {int(p["prompt_id"]): p for p in prompts}
def collect_data(sample_dir: str, prompt_map: dict[int, dict[str, Any]]) -> list[dict[str, Any]]:
data = []
for image_file in sorted(glob.glob(f"{sample_dir}/*.png")):
fname = os.path.basename(image_file)
prompt_id = int(fname.split("_")[0] if "_" in fname else fname.split(".")[0])
info = prompt_map[prompt_id]
data.append(
{
"image": image_file,
"prompt_id": prompt_id,
"prompt": info["prompt"],
"text": info["text"],
"category": info.get("category", ""),
"length": info.get("length", ""),
"text_length": info.get("text_length"),
}
)
return data
def preprocess_string(s: str, mode: str = "en") -> str:
cleaned = re.sub(
r"[^\u4e00-\u9fa5a-zA-Z0-9\sàâäéèêëîïôöùûüçÀÂÄÉÈÊËÎÏÔÖÙÛÜÇ]",
"",
s,
)
if mode == "en":
return re.sub(r"\s+", " ", cleaned).strip().lower()
pattern = re.compile(r"[\u4e00-\u9fa5a-zA-Z0-9àâäéèêëîïôöùûüçÀÂÄÉÈÊËÎÏÔÖÙÛÜÇ]")
return "".join(pattern.findall(s)).strip()
def counter2list(counter: Counter) -> list[str]:
return [item for item, count in counter.items() for _ in range(count)]
def calculate_match_count(text_gt: str, ocr_str: str, mode: str = "en") -> tuple[int, int]:
if mode == "en":
gt_tokens = text_gt.split()
ocr_tokens = ocr_str.split()
return len(counter2list(Counter(gt_tokens) & Counter(ocr_tokens))), len(gt_tokens)
return len(counter2list(Counter(text_gt) & Counter(ocr_str))), len(text_gt)
def score_row(row: dict[str, Any], mode: str) -> dict[str, Any]:
ocr_gt_raw = row["ocr_gt"]
if isinstance(ocr_gt_raw, list):
ocr_gt_raw = " ".join(str(x) for x in ocr_gt_raw)
ocr_gt = preprocess_string(str(ocr_gt_raw), mode)
ocr_results = preprocess_string(str(row.get("ocr_results", "")), mode)
matched, total_gt = calculate_match_count(ocr_gt, ocr_results, mode)
scored = dict(row)
scored["ocr_gt"] = ocr_gt_raw
scored["matched"] = matched
scored["total_gt"] = total_gt
scored["score"] = matched / total_gt if total_gt else 0.0
return scored
def aggregate_score(rows: list[dict[str, Any]]) -> float:
matched = sum(int(row["matched"]) for row in rows)
total_gt = sum(int(row["total_gt"]) for row in rows)
return matched / total_gt if total_gt else 0.0
def aggregate_by(rows: list[dict[str, Any]], key: str) -> dict[str, dict[str, float | int]]:
grouped: dict[str, list[dict[str, Any]]] = defaultdict(list)
for row in rows:
grouped[str(row.get(key, ""))].append(row)
return {
name: {
"count": len(items),
"score": aggregate_score(items),
"matched": sum(int(item["matched"]) for item in items),
"total_gt": sum(int(item["total_gt"]) for item in items),
}
for name, items in sorted(grouped.items())
}
def load_jsonl(path: Path) -> list[dict[str, Any]]:
with path.open(encoding="utf-8") as f:
return [json.loads(line) for line in f if line.strip()]
def write_jsonl(path: Path, rows: list[dict[str, Any]]) -> None:
with path.open("w", encoding="utf-8") as f:
for row in rows:
f.write(json.dumps(row, ensure_ascii=False) + "\n")
def write_summary(output_dir: Path, mode: str, prompt_file: Path) -> None:
rows = []
for chunk_file in sorted(output_dir.glob("results_chunk*.jsonl")):
rows.extend(load_jsonl(chunk_file))
rows = [score_row(row, mode) for row in sorted(rows, key=lambda x: int(x["prompt_id"]))]
write_jsonl(output_dir / "results.jsonl", rows)
score = aggregate_score(rows)
summary = {
"benchmark": f"longtext_{mode}",
"prompt_file": str(prompt_file),
"items": len(rows),
"score": score,
"matched": sum(int(row["matched"]) for row in rows),
"total_gt": sum(int(row["total_gt"]) for row in rows),
"by_category": aggregate_by(rows, "category"),
"by_length": aggregate_by(rows, "length"),
}
with (output_dir / "longtext_summary.json").open("w", encoding="utf-8") as f:
json.dump(summary, f, ensure_ascii=False, indent=2)
with (output_dir / "scores.txt").open("w", encoding="utf-8") as f:
f.write(f"Text Score: {score:.4f}\n")
print(f"[longtext] Text Score: {score:.4f}")
print(f"[longtext] results -> {output_dir / 'results.jsonl'}")
print(f"[longtext] summary -> {output_dir / 'longtext_summary.json'}")
def main(args: argparse.Namespace) -> None:
torch.set_grad_enabled(False)
device: int | str = "cuda" if torch.cuda.is_available() else "cpu"
seed = args.global_seed
torch.manual_seed(seed)
if torch.cuda.is_available():
torch.cuda.manual_seed_all(seed)
output_dir = Path(args.output_dir)
output_dir.mkdir(parents=True, exist_ok=True)
prompt_file = Path(args.prompt_file) if args.prompt_file else prompt_file_for_mode(args.mode)
prompt_map = load_prompts(prompt_file)
data = collect_data(args.sample_dir, prompt_map)
evaluator = ImageEvaluator(device)
print(f"=============Evaluate {len(data)} images on device {device}=============")
results = evaluator.evaluate(data)
write_jsonl(output_dir / "results_chunk0.jsonl", results)
write_summary(output_dir, args.mode, prompt_file)
if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument("--sample_dir", "--image-dir", type=str, required=True)
parser.add_argument("--output_dir", "--output-dir", type=str, required=True)
parser.add_argument("--mode", "--lang", type=str, choices=["en", "zh"], default="en")
parser.add_argument("--prompt_file", "--data-path", type=str, default=None)
parser.add_argument("--global_seed", type=int, default=42)
main(parser.parse_args())
from __future__ import annotations
import argparse
import json
import sys
from pathlib import Path
from typing import Any
if __package__ in {None, ""}:
repo_root = Path(__file__).resolve().parents[3]
sys.path.insert(0, str(repo_root))
sys.path.insert(0, str(repo_root / "src"))
import torch
import sensenova_u1
from examples.t2i.inference import SUPPORTED_RESOLUTIONS, SenseNovaU1T2I
DEFAULT_DATA_DIR = Path(__file__).resolve().parent / "data"
DEFAULT_EN_DATA_PATH = DEFAULT_DATA_DIR / "text_prompts.jsonl"
DEFAULT_ZH_DATA_PATH = DEFAULT_DATA_DIR / "text_prompts_zh.jsonl"
DEFAULT_ASPECT_RATIO = "1:1"
DEFAULT_ATTN_BACKEND = "auto"
def _parse_args() -> argparse.Namespace:
parser = argparse.ArgumentParser(description="Generate LongText images with SenseNova-U1.")
parser.add_argument("--model-path", required=True, help="Local checkpoint path or HF model id.")
parser.add_argument("--output-dir", required=True, help="Directory to save generated images.")
parser.add_argument("--data-path", default=None, help="LongText JSONL path.")
parser.add_argument(
"--lang", default="en", choices=["en", "zh"], help="Default data split when --data-path is not set."
)
parser.add_argument(
"--aspect-ratio", default=DEFAULT_ASPECT_RATIO, help="Output aspect ratio key in SUPPORTED_RESOLUTIONS."
)
parser.add_argument("--device", default="cuda")
parser.add_argument("--dtype", default="bfloat16", choices=["bfloat16", "float16", "float32"])
parser.add_argument("--cfg-scale", type=float, default=4.0)
parser.add_argument("--cfg-norm", default="none", choices=["none", "global", "channel", "cfg_zero_star"])
parser.add_argument("--timestep-shift", type=float, default=3.0)
parser.add_argument("--num-steps", type=int, default=50)
parser.add_argument("--seed", type=int, default=42)
parser.add_argument("--attn-backend", default=DEFAULT_ATTN_BACKEND, choices=["auto", "flash", "sdpa"])
return parser.parse_args()
def _default_data_path(lang: str) -> Path:
return DEFAULT_ZH_DATA_PATH if lang == "zh" else DEFAULT_EN_DATA_PATH
def _load_items(*, data_path: Path) -> list[dict[str, Any]]:
items = []
with data_path.open(encoding="utf-8") as f:
for line_idx, line in enumerate(f):
if not line.strip():
continue
item = json.loads(line)
item["_line_idx"] = line_idx
if "prompt_id" not in item:
item["prompt_id"] = line_idx
items.append(item)
return items
def _resolve_dtype(name: str) -> torch.dtype:
return {
"bfloat16": torch.bfloat16,
"float16": torch.float16,
"float32": torch.float32,
}[name]
def _resolve_image_size(
*,
aspect_ratio: str,
supported_resolutions: dict[str, tuple[int, int]],
) -> tuple[int, int]:
if aspect_ratio not in supported_resolutions:
raise ValueError(f"Unsupported aspect ratio: {aspect_ratio!r}. Supported: {sorted(supported_resolutions)}")
return supported_resolutions[aspect_ratio]
def main() -> None:
args = _parse_args()
data_path = Path(args.data_path).resolve() if args.data_path else _default_data_path(args.lang).resolve()
output_dir = Path(args.output_dir).resolve()
output_dir.mkdir(parents=True, exist_ok=True)
items = _load_items(data_path=data_path)
print(f"[longtext] loaded {len(items)} items from {data_path}")
sensenova_u1.set_attn_backend(args.attn_backend)
print(f"[longtext] attn_backend={args.attn_backend!r} effective={sensenova_u1.effective_attn_backend()!r}")
engine = SenseNovaU1T2I(
model_path=args.model_path,
device=args.device,
dtype=_resolve_dtype(args.dtype),
)
generated = 0
skipped = 0
width, height = _resolve_image_size(
aspect_ratio=args.aspect_ratio,
supported_resolutions=SUPPORTED_RESOLUTIONS,
)
for item in items:
prompt_id = int(item["prompt_id"])
out_path = output_dir / f"{prompt_id:04d}.png"
if out_path.exists():
skipped += 1
continue
images = engine.generate(
item["prompt"],
image_size=(width, height),
cfg_scale=args.cfg_scale,
cfg_norm=args.cfg_norm,
timestep_shift=args.timestep_shift,
num_steps=args.num_steps,
batch_size=1,
seed=args.seed,
)
images[0].save(out_path)
generated += 1
print(
f"[saved] prompt_id={prompt_id} "
f"size={width}x{height} category={item.get('category')} "
f"length={item.get('length')} text_length={item.get('text_length')} -> {out_path}"
)
print(f"[longtext] done: items={len(items)} generated={generated} skipped={skipped} output_dir={output_dir}")
if __name__ == "__main__":
main()
#!/usr/bin/env bash
set -euo pipefail
MODEL_PATH="sensenova/SenseNova-U1-8B-MoT"
REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../../.." && pwd)"
cd "${REPO_ROOT}"
python evaluation/gen/longtext/gen_images_longtext.py \
--model-path "${MODEL_PATH}" \
--output-dir outputs/longtext/en \
--lang en
python evaluation/gen/longtext/eval_images_longtext.py \
--image-dir outputs/longtext/en \
--output-dir outputs/longtext/en_eval \
--mode en
python evaluation/gen/longtext/gen_images_longtext.py \
--model-path "${MODEL_PATH}" \
--output-dir outputs/longtext/zh \
--lang zh
python evaluation/gen/longtext/eval_images_longtext.py \
--image-dir outputs/longtext/zh \
--output-dir outputs/longtext/zh_eval \
--mode zh
import argparse
import base64
import glob
import json
import math
import os
import random
import re
import time
from concurrent.futures import ThreadPoolExecutor, wait
from openai import AzureOpenAI
from tqdm import tqdm
# ===================== 你原始的提示词 100% 不变 =====================
raw_prompt = """
You are tasked with conducting a careful examination of the provided image. Based on the content of the image, please answer the following yes or no questions:
Questions:
##YNQuestions##
Note that:
1. Each answer should be on a separate line, starting with "yes" or "no", followed by the reason.
2. The order of answers must correspond exactly to the order of the questions.
3. Each question must have only one answer.
4. Directly return the answers to each question, without any additional content.
5. Each answer must be on its own line!
6. Make sure the number of output answers equal to the number of questions!
"""
raw_prompt_1 = """
You are tasked with conducting a careful examination of the image. Based on the content of the image, please answer the following yes or no questions:
Questions:
##YNQuestions##
Note that:
Each answer should be on a separate line, starting with "yes" or "no", followed by the reason.
The order of answers must correspond exactly to the order of the questions.
Each question must have only one answer. Output one answer if there is only one question.
Directly return the answers to each question, without any additional content.
Each answer must be on its own line!
Make sure the number of output answers equal to the number of questions!
"""
raw_prompt_2 = """
You are tasked with carefully examining the provided image and answering the following yes or no questions:
Questions:
##YNQuestions##
Instructions:
1. Answer each question on a separate line, starting with "yes" or "no", followed by a brief reason.
2. Maintain the exact order of the questions in your answers.
3. Provide only one answer per question.
4. Return only the answers—no additional commentary.
5. Each answer must be on its own line.
6. Ensure the number of answers matches the number of questions.
"""
# ===================== 你原始的所有函数 100% 完全不变!!! =====================
def load_jsonl_lines(jsonl_file):
"""读取 jsonl 文件,每行 parse 成 json 对象,返回列表"""
lines = []
with open(jsonl_file, "r", encoding="utf-8") as f:
for line in f:
line = line.strip()
if not line:
continue
try:
obj = json.loads(line)
lines.append(obj)
except Exception as e:
print(f"[Warning] Parse line error in {jsonl_file}: {e}")
return lines
def generate_with_prompt(prompt, image_path, client, model="gpt-4o"):
# 完全和你原始代码一样!不做任何格式转换!
with open(image_path, "rb") as image_file:
image_data = base64.b64encode(image_file.read()).decode("utf-8")
messages = [
{"role": "system", "content": "You are a professional image critic."},
{
"role": "user",
"content": [
{"type": "text", "text": prompt},
{"type": "image_url", "image_url": {"url": f"data:image/png;base64,{image_data}"}},
],
},
]
completion = client.chat.completions.create(model=model, messages=messages, temperature=1.0)
return completion.choices[0].message.content
def format_questions_prompt(raw_prompt, questions):
question_texts = [item.strip() for item in questions]
formatted_questions = "\n".join(question_texts)
prompt_template = random.choice([raw_prompt, raw_prompt_1, raw_prompt_2])
formatted_prompt = prompt_template.replace("##YNQuestions##", formatted_questions)
return formatted_prompt
def ensure_dir(path):
if not os.path.exists(path):
os.makedirs(path, exist_ok=True)
def find_image_by_idx(img_dir, idx):
pattern = os.path.join(img_dir, f"{idx}.*")
files = [f for f in glob.glob(pattern) if f.lower().endswith((".png", ".jpg", ".jpeg", "webp"))]
if files:
return files[0]
else:
raise FileNotFoundError(f"No image found for index {idx} in {img_dir}")
def collect_tasks(jsonl_dir, image_dir, eval_model, output_dir, sample_idx_file=None, postfix=""):
tasks = []
jsonl_files = glob.glob(os.path.join(jsonl_dir, "*.jsonl"))
if sample_idx_file is not None:
with open(sample_idx_file, "r") as f:
sample_idx = json.load(f)
for jsonl_file in jsonl_files:
attribute = os.path.splitext(os.path.basename(jsonl_file))[0]
lines = load_jsonl_lines(jsonl_file)
attr_type = lines[0]["type"]
if sample_idx_file is not None:
line_indices = sample_idx[attr_type]
lines = [lines[idx] for idx in line_indices]
else:
line_indices = list(range(len(lines)))
for desc in ["long_description", "short_description"]:
img_dir = os.path.join(image_dir, attr_type + postfix, eval_model, desc)
out_dir = os.path.join(output_dir, eval_model, attr_type, "long" if desc.startswith("long") else "short")
ensure_dir(out_dir)
for idx, line in zip(line_indices, lines):
try:
img_path = find_image_by_idx(img_dir, idx)
out_path = os.path.join(out_dir, f"{idx}.json")
if os.path.exists(out_path):
continue
except Exception as e:
print(e)
continue
tasks.append(
{
"attribute": attr_type,
"desc": desc,
"jsonl_file": jsonl_file,
"line_idx": idx,
"jsonl_line": line,
"img_path": img_path,
"out_path": out_path,
}
)
return tasks
class OutputFormatError(Exception):
pass
def extract_yes_no(model_output, questions):
lines = [line.strip() for line in model_output.strip().split("\n") if line.strip()]
preds = []
for idx, line in enumerate(lines):
# m = re.match(r'^(yes|no)\b', line.strip(), flags=re.IGNORECASE)
m = re.search(r"(yes|no)", line, re.IGNORECASE)
if m:
preds.append(m.group(1).lower())
else:
continue
if len(preds) != len(questions):
raise OutputFormatError(f"Preds count {len(preds)} != questions count {len(questions)}")
return preds
# ===================== 线程处理函数(完全复用你原始逻辑) =====================
def process_task(task, args):
try:
# 每个线程独立创建 client,避免冲突
client = AzureOpenAI(
api_key=args.api_key,
azure_endpoint=args.azure_endpoint,
api_version=args.api_version,
)
item = task["jsonl_line"]
questions = item.get("yn_question_list", [])
gt_answers = item.get("yn_answer_list", [])
prompt = format_questions_prompt(raw_prompt, questions)
# 调用你原始的函数,完全不变
model_output = generate_with_prompt(prompt, task["img_path"], client, model=args.model)
model_pred = extract_yes_no(model_output, questions)
result = {
"attribute": task["attribute"],
"desc": task["desc"],
"jsonl_file": os.path.basename(task["jsonl_file"]),
"line_idx": task["line_idx"],
"questions": questions,
"gt_answers": gt_answers,
"model_pred": model_pred,
"model_output": model_output,
}
with open(task["out_path"], "w", encoding="utf-8") as fout:
json.dump(result, fout, ensure_ascii=False, indent=2)
return True, task["out_path"], None
except Exception as e:
return False, task["img_path"], str(e)
# ===================== 8线程并行主函数 =====================
def main(args):
tasks = collect_tasks(
args.jsonl_dir, args.image_dir, args.eval_model, args.output_dir, args.sample_idx_file, args.postfix
)
print(f"Total tasks to process: {len(tasks)}")
MAX_WORKERS = 64
futures = []
success = 0
failed = 0
with ThreadPoolExecutor(max_workers=MAX_WORKERS) as executor:
print(f"Start with {MAX_WORKERS} threads...")
for task in tasks:
futures.append(executor.submit(process_task, task, args))
for future in tqdm(futures):
ok, path, err = future.result()
if ok:
success += 1
else:
failed += 1
print(f"[Failed] {path} | {err}")
print(f"\nAll done! Success: {success} | Failed: {failed}")
# ===================== 入口 =====================
if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument("--jsonl_dir", type=str, required=True, help="Directory containing jsonl files")
parser.add_argument("--image_dir", type=str, required=True, help="Directory containing images")
parser.add_argument("--eval_model", type=str, required=True, help="name of the eval model")
parser.add_argument("--output_dir", type=str, required=True, help="Directory to save output json files")
parser.add_argument("--api_key", type=str, default="sk-xxx", help="Azure OpenAI API key")
parser.add_argument(
"--azure_endpoint",
type=str,
default="https://duomotai.openai.azure.com/openai/deployments/gpt-4.1/chat/completions?api-version=2025-01-01-preview",
help="Azure OpenAI endpoint",
)
parser.add_argument("--api_version", type=str, default="2025-01-01-preview", help="Azure OpenAI API version")
parser.add_argument("--model", type=str, default="gpt-4o", help="Azure deployment/model name")
parser.add_argument("--sample_idx_file", type=str, default=None, help="File containing sample indices")
parser.add_argument("--postfix", type=str, default="")
args = parser.parse_args()
main(args)
import argparse
import sys
import pandas as pd
def main():
parser = argparse.ArgumentParser(description="Statistical analysis of model evaluation results by group.")
parser.add_argument(
"--input_excel", type=str, required=True, help="Input Excel file path (with multi-level columns)"
)
parser.add_argument("--output_txt", type=str, required=True, help="Output TXT file path")
args = parser.parse_args()
# Redirect all print output to both console and txt file
class Tee(object):
def __init__(self, *files):
self.files = files
def write(self, obj):
for f in self.files:
try:
if not f.closed:
f.write(obj)
f.flush()
except ValueError:
continue
def flush(self):
for f in self.files:
try:
if not f.closed:
f.flush()
except ValueError:
continue
original_stdout = sys.stdout
with open(args.output_txt, "w", encoding="utf-8") as ftxt:
sys.stdout = Tee(sys.__stdout__, ftxt)
try:
# 1. Read data correctly (multi-level columns, model name as row index)
df = pd.read_excel(args.input_excel, header=[0, 1], index_col=0)
# 2. Group definitions
basic_following = {
"Attribute": ["shape+color", "color+texture", "texture+color", "shape+texture"],
"Relation": ["2d_spatial_relation", "3d_spatial_relation", "action+2d", "action+3d"],
"Reasoning": ["numeracy", "negation", "differentiation", "comparison"],
}
advanced_following = {
"Attribute+Relation": [
"action+color",
"action+texture",
"color+2d",
"color+3d",
"shape+2d",
"shape+3d",
"texture+2d",
"texture+3d",
],
"Attribute+Reasoning": [
"numeracy+color",
"numeracy+texture",
"comparison+color",
"comparison+texture",
"differentiation+color",
"differentiation+texture",
"negation+color",
"negation+texture",
],
"Relation+Reasoning": [
"numeracy+2d",
"numeracy+3d",
"comparison+2d",
"comparison+3d",
"differentiation+2d",
"differentiation+3d",
"negation+2d",
"negation+3d",
],
"Text Generation": ["text"],
"Style Control": ["style"],
}
real_world_following = {"Complex": ["real_world"]}
all_groups = {
"Basic_Following_Overall": {"Overall": sum(basic_following.values(), [])},
**{f"Basic_{k}": {k: v} for k, v in basic_following.items()},
"Advanced_Following_Overall": {"Overall": sum(advanced_following.values(), [])},
**{f"Advanced_{k}": {k: v} for k, v in advanced_following.items()},
"Real_World_Following_Overall": {"Overall": sum(real_world_following.values(), [])},
**{f"Real_{k}": {k: v} for k, v in real_world_following.items()},
}
# 3. Statistic function
def calc_score_df(df, items):
result = pd.DataFrame(index=df.index, columns=["short", "long"])
for t in ["short", "long"]:
# Only count columns that exist
cols = [(attr, t) for attr in items if (attr, t) in df.columns]
if cols:
result[t] = df[cols].mean(axis=1)
else:
result[t] = float("nan")
return result
# 4. Output all group statistics
for group_name, group_dict in all_groups.items():
for subname, items in group_dict.items():
df_score = calc_score_df(df, items)
print(f"\n==== {group_name} - {subname} ====")
print(df_score.round(4))
nine_groups = [
("Basic_Attribute", "Attribute"),
("Basic_Relation", "Relation"),
("Basic_Reasoning", "Reasoning"),
("Advanced_Attribute+Relation", "Attribute+Relation"),
("Advanced_Attribute+Reasoning", "Attribute+Reasoning"),
("Advanced_Relation+Reasoning", "Relation+Reasoning"),
("Advanced_Text Generation", "Text Generation"),
("Advanced_Style Control", "Style Control"),
("Real_Complex", "Complex"),
]
# Collect scores for each sub-attribute
model_scores = {}
for group_name, subname in nine_groups:
items = all_groups[group_name][subname]
df_score = calc_score_df(df, items)
# For each model, collect its short and long scores
for model in df_score.index:
if model not in model_scores:
model_scores[model] = {"short": [], "long": []}
model_scores[model]["short"].append(df_score.loc[model, "short"])
model_scores[model]["long"].append(df_score.loc[model, "long"])
# Calculate overall
overall_rows = []
for model, scores in model_scores.items():
overall_short = pd.Series(scores["short"]).mean(skipna=True)
overall_long = pd.Series(scores["long"]).mean(skipna=True)
overall_rows.append([model, overall_short, overall_long])
overall_df = pd.DataFrame(overall_rows, columns=["Model", "overall-short", "overall-long"]).set_index(
"Model"
)
print("\n==== Overall average score of 9 sub-attributes ====")
print(overall_df.round(4))
finally:
sys.stdout = original_stdout
if __name__ == "__main__":
main()
import argparse
import json
import os
from collections import defaultdict
import pandas as pd
def auto_adjust_col_width(df, worksheet, index=True):
"""Automatically adjust Excel column width"""
from openpyxl.utils import get_column_letter
idx_cols = df.index.nlevels if index else 0
for i, col in enumerate(df.columns, idx_cols + 1):
max_len = max(
[
len(str(col[0])) if isinstance(col, tuple) else len(str(col)), # First row
len(str(col[1])) if isinstance(col, tuple) else 0,
] # Second row
+ [len(str(cell)) for cell in df.iloc[:, i - idx_cols - 1].values]
)
col_letter = get_column_letter(i)
worksheet.column_dimensions[col_letter].width = max_len + 2
# Adjust index column width
if index:
worksheet.column_dimensions["A"].width = max(df.index.map(lambda x: len(str(x))).max() + 2, 8)
def bold_max_in_each_column(df, worksheet):
"""Bold the max value in each column, including Mean_Accuracy. Auto-adapt for multi-level header and index."""
from openpyxl.styles import Font
n_header = df.columns.nlevels
n_index = df.index.nlevels
n_rows = df.shape[0]
n_cols = df.shape[1]
for col_idx in range(n_cols):
col = df.iloc[:, col_idx]
# Only consider non-null and float-convertible values
col_float = pd.to_numeric(col, errors="coerce")
max_val = col_float.max()
if pd.isnull(max_val):
continue
for row_idx, val in enumerate(col_float):
if val == max_val:
# Row number = header levels + 2 + row index (because pandas writes an extra blank row)
cell = worksheet.cell(row=n_header + 2 + row_idx, column=n_index + 1 + col_idx)
cell.font = Font(bold=True)
def main():
parser = argparse.ArgumentParser(
description="Count model accuracy by attribute, output to Excel with multiple sheets"
)
parser.add_argument("--input_dir", type=str, required=True, help="Root directory of eval_results")
args = parser.parse_args()
EVAL_RESULTS_DIR = args.input_dir
OUTPUT_EXCEL = os.path.join(EVAL_RESULTS_DIR, "result_summary.xlsx")
# First collect all attributes and types
all_attr_types = set()
model_data = defaultdict(lambda: defaultdict(dict)) # model -> attribute -> type -> (acc, total, correct)
print(f"Start traversing directory: {EVAL_RESULTS_DIR}")
for model in os.listdir(EVAL_RESULTS_DIR):
model_path = os.path.join(EVAL_RESULTS_DIR, model)
if not os.path.isdir(model_path):
continue
print(f"\nProcessing model: {model}")
for attribute in os.listdir(model_path):
attribute_path = os.path.join(model_path, attribute)
if not os.path.isdir(attribute_path):
continue
print(f" Attribute: {attribute}")
for length_type in os.listdir(attribute_path):
length_path = os.path.join(attribute_path, length_type)
if not os.path.isdir(length_path):
continue
print(f" Type: {length_type}")
total_questions = 0
correct_answers = 0
file_count = 0
for filename in os.listdir(length_path):
if not filename.endswith(".json"):
continue
file_path = os.path.join(length_path, filename)
file_count += 1
try:
with open(file_path, "r", encoding="utf-8") as f:
data = json.load(f)
gt_answers = data.get("gt_answers", [])
model_pred = data.get("model_pred", [])
for gt, pred in zip(gt_answers, model_pred):
total_questions += 1
if gt.strip().lower() == pred.strip().lower():
correct_answers += 1
except Exception as e:
print(f" Error reading file: {file_path}, Error: {e}")
if total_questions > 0:
accuracy = correct_answers / total_questions
else:
accuracy = None
print(
f" File count: {file_count}, Total questions: {total_questions}, Correct answers: {correct_answers}, Accuracy: {accuracy if accuracy is not None else 'N/A'}"
)
all_attr_types.add((attribute, length_type))
model_data[model][attribute][length_type] = {
"accuracy": accuracy,
"total": total_questions,
"correct": correct_answers,
}
# Unified column order
all_attr_types = sorted(all_attr_types) # [(attribute, type), ...]
attributes = sorted(set(attr for attr, _ in all_attr_types))
types = sorted(set(t for _, t in all_attr_types))
# Build MultiIndex columns
col_tuples = []
for attr in attributes:
for t in types:
col_tuples.append((attr, t))
columns = pd.MultiIndex.from_tuples(col_tuples, names=["Attribute", "Type"])
# Build DataFrame
def build_df(metric):
rows = []
for model in sorted(model_data.keys()):
row = []
for attr, t in col_tuples:
value = model_data[model].get(attr, {}).get(t, {}).get(metric, None)
row.append(value)
rows.append(row)
df = pd.DataFrame(rows, index=sorted(model_data.keys()), columns=columns)
# Add Mean_Accuracy column (only for accuracy table)
if metric == "accuracy":
df["Mean_Accuracy"] = df.mean(axis=1, skipna=True)
return df
accuracy_df = build_df("accuracy")
count_df = build_df("total")
correct_df = build_df("correct")
# Keep two decimal places
accuracy_df = accuracy_df.applymap(lambda x: f"{x:.4f}" if x is not None and x != "" else "")
count_df = count_df.applymap(lambda x: f"{x:.4f}" if x is not None and x != "" else "")
correct_df = correct_df.applymap(lambda x: f"{x:.4f}" if x is not None and x != "" else "")
# Sort by Mean_Accuracy
sort_index = pd.to_numeric(accuracy_df["Mean_Accuracy"], errors="coerce").sort_values(ascending=False).index
accuracy_df = accuracy_df.loc[sort_index]
count_df = count_df.loc[sort_index]
correct_df = correct_df.loc[sort_index]
print("\nWriting to Excel file...")
with pd.ExcelWriter(OUTPUT_EXCEL, engine="openpyxl") as writer:
accuracy_df.to_excel(writer, sheet_name="Accuracy")
count_df.to_excel(writer, sheet_name="Total_Questions")
correct_df.to_excel(writer, sheet_name="Correct_Answers")
# Only bold max value in Accuracy sheet
worksheet = writer.sheets["Accuracy"]
auto_adjust_col_width(accuracy_df, worksheet, index=True)
bold_max_in_each_column(accuracy_df, worksheet)
# Only adjust column width for the other two sheets
for sheet_name, df in zip(["Total_Questions", "Correct_Answers"], [count_df, correct_df]):
worksheet = writer.sheets[sheet_name]
auto_adjust_col_width(df, worksheet, index=True)
print(
f"\nAll statistics have been saved to {OUTPUT_EXCEL}, including three sheets: Accuracy, Total_Questions, and Correct_Answers."
)
print("Done!")
if __name__ == "__main__":
main()
import argparse
import json
import os
import random
import sys
from pathlib import Path
import numpy as np
import torch
import torch.distributed as dist
from PIL import Image
from tqdm import tqdm
if __package__ in {None, ""}:
repo_root = Path(__file__).resolve().parents[3]
sys.path.insert(0, str(repo_root))
sys.path.insert(0, str(repo_root / "src"))
import sensenova_u1
from examples.t2i.inference import SenseNovaU1T2I, _warn_if_unsupported
def set_random_seeds(seed_value, rank=0):
seed_value += rank
random.seed(seed_value)
os.environ["PYTHONHASHSEED"] = str(seed_value)
np.random.seed(seed_value)
torch.manual_seed(seed_value)
torch.cuda.manual_seed_all(seed_value)
torch.backends.cudnn.deterministic = True
torch.backends.cudnn.benchmark = False
torch.use_deterministic_algorithms(True)
def setup_distributed():
local_rank = int(os.environ.get("LOCAL_RANK", 0))
torch.cuda.set_device(local_rank)
dist.init_process_group(backend="nccl")
world_size = dist.get_world_size()
rank = dist.get_rank()
print(f"Process {rank}/{world_size} initialized on cuda:{local_rank}", flush=True)
return local_rank, world_size, rank
def read_jsonl(path):
with open(path, "r", encoding="utf-8") as f:
return [json.loads(line.strip()) for line in f if line.strip()]
def get_jsonl_files(input_folder, specific_file=None):
if specific_file is not None:
return [os.path.join(input_folder, specific_file)]
return sorted(
os.path.join(input_folder, filename) for filename in os.listdir(input_folder) if filename.endswith(".jsonl")
)
def load_all_samples(jsonl_files):
all_samples = []
file_sample_counts = []
for jsonl_file in jsonl_files:
data = read_jsonl(jsonl_file)
file_sample_counts.append((os.path.basename(jsonl_file), len(data)))
for sample_idx, item in enumerate(data):
sample = dict(item)
sample["_sample_idx"] = sample_idx
sample["_source_file"] = os.path.basename(jsonl_file)
all_samples.append(sample)
return all_samples, file_sample_counts
def resolve_dtype(name):
return {
"bfloat16": torch.bfloat16,
"float16": torch.float16,
"float32": torch.float32,
}[name]
def make_grid_image(images, output_grid_size=None):
if len(images) == 1:
return images[0]
rows, cols = output_grid_size if output_grid_size is not None else (1, len(images))
if rows * cols < len(images):
raise ValueError(f"rows * cols must cover batch_size, got rows={rows}, cols={cols}, batch_size={len(images)}")
pad = 2
width, height = images[0].size
grid = Image.new(
"RGB",
(cols * width + (cols - 1) * pad, rows * height + (rows - 1) * pad),
color=(0, 0, 0),
)
for idx, image in enumerate(images):
row, col = divmod(idx, cols)
grid.paste(image, (col * (width + pad), row * (height + pad)))
return grid
def main():
parser = argparse.ArgumentParser(description="TIIF-Bench T2I generation.")
parser.add_argument(
"--model_path",
type=str,
required=True,
help="HuggingFace Hub id (e.g. sensenova/SenseNova-U1-8B-MoT) or a local path.",
)
parser.add_argument(
"--output_dir",
type=str,
required=True,
help="Directory to save generated images.",
)
parser.add_argument(
"--input_folder",
type=str,
required=True,
help="Directory containing TIIF-Bench prompt JSONL files.",
)
parser.add_argument("--resolution", type=int, default=1024)
parser.add_argument(
"--save_size",
type=int,
default=None,
help=(
"If set, downsample each generated grid to this resolution per cell "
"(LANCZOS) before writing it to disk. Useful for the "
"'generate at 2048, evaluate at 1024' protocol. Defaults to "
"--resolution (no resize)."
),
)
parser.add_argument("--cfg_scale", type=float, default=4.0)
parser.add_argument(
"--cfg_norm",
type=str,
default="none",
choices=["none", "global", "channel", "cfg_zero_star"],
)
parser.add_argument("--timestep_shift", type=float, default=3.0)
parser.add_argument(
"--cfg_interval",
type=float,
nargs=2,
default=[0.0, 1.0],
metavar=("LO", "HI"),
)
parser.add_argument("--num_steps", type=int, default=50)
parser.add_argument("--batch_size", type=int, default=1)
parser.add_argument("--rows", type=int, default=1)
parser.add_argument("--cols", type=int, default=1)
parser.add_argument("--dtype", default="bfloat16", choices=["bfloat16", "float16", "float32"])
parser.add_argument("--attn_backend", default="auto", choices=["auto", "flash", "sdpa"])
parser.add_argument("--specific_file", type=str, default=None)
parser.add_argument("--seed", type=int, default=42)
parser.add_argument("--num_shards", type=int, default=1)
parser.add_argument("--shard_rank", type=int, default=0)
args = parser.parse_args()
if args.num_shards <= 0:
raise ValueError(f"num_shards must be positive, got {args.num_shards}")
if not 0 <= args.shard_rank < args.num_shards:
raise ValueError(
f"shard_rank must be in [0, num_shards), got shard_rank={args.shard_rank}, num_shards={args.num_shards}"
)
if args.rows * args.cols < args.batch_size:
raise ValueError(
f"rows * cols must cover batch_size, got rows={args.rows}, cols={args.cols}, batch_size={args.batch_size}"
)
local_rank, world_size, rank = setup_distributed()
device = f"cuda:{local_rank}"
set_random_seeds(args.seed, rank)
image_size = (args.resolution, args.resolution)
cfg_interval = tuple(args.cfg_interval)
sensenova_u1.set_attn_backend(args.attn_backend)
if rank == 0:
print(f"[attn] backend={args.attn_backend!r} (effective={sensenova_u1.effective_attn_backend()!r})")
_warn_if_unsupported(*image_size)
engine = SenseNovaU1T2I(
args.model_path,
device=device,
dtype=resolve_dtype(args.dtype),
)
jsonl_files = get_jsonl_files(args.input_folder, args.specific_file)
os.makedirs(args.output_dir, exist_ok=True)
model_name = os.path.basename(os.path.dirname(args.model_path))
if rank == 0:
print(f"Total prompt files: {len(jsonl_files)}", flush=True)
print(f"Output dir: {args.output_dir}", flush=True)
all_samples, file_sample_counts = load_all_samples(jsonl_files)
total_shards = world_size * args.num_shards
global_shard_rank = rank * args.num_shards + args.shard_rank
rank_data = all_samples[global_shard_rank::total_shards]
if rank == 0:
for file_name, sample_count in file_sample_counts:
print(f"Loaded file: {file_name} | total samples: {sample_count}", flush=True)
print(f"Total samples across all files: {len(all_samples)}", flush=True)
print(
f"Processing shard {global_shard_rank + 1}/{total_shards} "
f"(ddp_rank={rank}/{world_size}, local_shard={args.shard_rank}/{args.num_shards}) "
f"with {len(rank_data)} samples",
flush=True,
)
for item in tqdm(rank_data, disable=rank != 0):
sample_idx = item["_sample_idx"]
data_type = item["type"]
prompts = {
"short_description": item["short_description"],
"long_description": item["long_description"],
}
save_root = Path(args.output_dir) / data_type / model_name
for prompt_type, prompt in prompts.items():
save_dir = save_root / prompt_type
save_dir.mkdir(parents=True, exist_ok=True)
save_path = save_dir / f"{sample_idx}.png"
if save_path.exists():
continue
images = engine.generate(
prompt,
image_size=image_size,
cfg_scale=args.cfg_scale,
cfg_norm=args.cfg_norm,
timestep_shift=args.timestep_shift,
cfg_interval=cfg_interval,
num_steps=args.num_steps,
batch_size=args.batch_size,
seed=args.seed,
)
grid_image = make_grid_image(images, output_grid_size=(args.rows, args.cols))
if args.save_size is not None and args.save_size != args.resolution:
scale = args.save_size / args.resolution
target_w = max(1, round(grid_image.width * scale))
target_h = max(1, round(grid_image.height * scale))
grid_image = grid_image.resize((target_w, target_h), Image.Resampling.LANCZOS)
grid_image.save(save_path)
dist.barrier()
if rank == 0:
print("TIIF-Bench generation finished.")
print(f"Results saved to: {args.output_dir}")
if __name__ == "__main__":
main()
#!/usr/bin/env bash
set -eo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
REPO_ROOT="$(cd "${SCRIPT_DIR}/../../.." && pwd)"
cd "$SCRIPT_DIR"
export CUBLAS_WORKSPACE_CONFIG="${CUBLAS_WORKSPACE_CONFIG:-:4096:8}"
export TRANSFORMERS_VERBOSITY=error
# Generation settings
MODEL_PATH="${MODEL_PATH:-sensenova/SenseNova-U1-8B-MoT}"
OUTPUT_DIR="${OUTPUT_DIR:-${REPO_ROOT}/outputs/sensenova/tiif}"
NUM_NODES="${NUM_NODES:-1}"
NODE_RANK="${NODE_RANK:-0}"
RUN_GENERATION="${RUN_GENERATION:-1}"
if [[ -z "${RUN_EVAL+x}" ]]; then
if (( NUM_NODES > 1 )); then
RUN_EVAL=0
else
RUN_EVAL=1
fi
fi
GPUS="${GPUS:-8}"
CUDA_VISIBLE_DEVICES="${CUDA_VISIBLE_DEVICES:-0,1,2,3,4,5,6,7}"
IMAGE_SIZE="${IMAGE_SIZE:-1024}"
SAVE_SIZE="${SAVE_SIZE:-}"
NUM_STEPS="${NUM_STEPS:-50}"
CFG_SCALE="${CFG_SCALE:-4.0}"
CFG_NORM="${CFG_NORM:-global}"
TIMESTEP_SHIFT="${TIMESTEP_SHIFT:-3.0}"
BATCH_SIZE="${BATCH_SIZE:-1}"
GRID_ROWS="${GRID_ROWS:-1}"
GRID_COLS="${GRID_COLS:-1}"
TIIFBENCH_SPLIT="${TIIFBENCH_SPLIT:-testmini}"
TIIFBENCH_PROMPT_DIR="${TIIFBENCH_PROMPT_DIR:-${SCRIPT_DIR}/data/${TIIFBENCH_SPLIT}_prompts}"
TIIFBENCH_EVAL_PROMPT_DIR="${TIIFBENCH_EVAL_PROMPT_DIR:-${SCRIPT_DIR}/data/${TIIFBENCH_SPLIT}_eval_prompts}"
TIIFBENCH_EVAL_MODEL="${TIIFBENCH_EVAL_MODEL:-gpt-4o}"
TIIFBENCH_AZURE_ENDPOINT="${TIIFBENCH_AZURE_ENDPOINT:-}"
TIIFBENCH_API_VERSION="${TIIFBENCH_API_VERSION:-2025-01-01-preview}"
TIIFBENCH_SPECIFIC_FILE="${TIIFBENCH_SPECIFIC_FILE:-}"
TIIFBENCH_EVAL_MODEL_TAG="${TIIFBENCH_EVAL_MODEL_TAG:-sensenova-u1}"
if (( NUM_NODES <= 0 )); then
echo "NUM_NODES must be positive, got $NUM_NODES"
exit 1
fi
if (( NODE_RANK < 0 || NODE_RANK >= NUM_NODES )); then
echo "NODE_RANK must be in [0, NUM_NODES), got NODE_RANK=$NODE_RANK NUM_NODES=$NUM_NODES"
exit 1
fi
if [[ ! -d "$TIIFBENCH_PROMPT_DIR" ]]; then
echo "Prompt dir not found: $TIIFBENCH_PROMPT_DIR"
exit 1
fi
if [[ ! -d "$TIIFBENCH_EVAL_PROMPT_DIR" ]]; then
echo "Eval prompt dir not found: $TIIFBENCH_EVAL_PROMPT_DIR"
exit 1
fi
BENCH_NAME="TIIFBench-${TIIFBENCH_SPLIT}"
IMAGE_DIR="${OUTPUT_DIR}/${BENCH_NAME}"
RESULTS_DIR="${OUTPUT_DIR}/tiifbench-${TIIFBENCH_SPLIT}_results"
mkdir -p "$OUTPUT_DIR"
if (( RUN_GENERATION != 0 )); then
GEN_ARGS=(
--model_path "$MODEL_PATH"
--output_dir "$IMAGE_DIR"
--resolution "$IMAGE_SIZE"
--cfg_scale "$CFG_SCALE"
--cfg_norm "$CFG_NORM"
--timestep_shift "$TIMESTEP_SHIFT"
--num_steps "$NUM_STEPS"
--batch_size "$BATCH_SIZE"
--rows "$GRID_ROWS"
--cols "$GRID_COLS"
--input_folder "$TIIFBENCH_PROMPT_DIR"
--num_shards "$NUM_NODES"
--shard_rank "$NODE_RANK"
)
if [[ -n "$TIIFBENCH_SPECIFIC_FILE" ]]; then
GEN_ARGS+=(--specific_file "$TIIFBENCH_SPECIFIC_FILE")
fi
if [[ -n "$SAVE_SIZE" ]]; then
GEN_ARGS+=(--save_size "$SAVE_SIZE")
fi
CUDA_VISIBLE_DEVICES="$CUDA_VISIBLE_DEVICES" torchrun --nproc_per_node="$GPUS" eval_tiif.py "${GEN_ARGS[@]}"
fi
if (( RUN_EVAL == 0 )); then
exit 0
fi
if (( NUM_NODES > 1 )) && (( NODE_RANK != 0 )); then
echo "Skipping TIIFBench eval on node ${NODE_RANK}; eval runs only on node 0."
exit 0
fi
if [[ -z "${API_KEY:-}" ]]; then
echo "API_KEY is required for TIIFBench evaluation."
exit 1
fi
mkdir -p "$RESULTS_DIR"
EVAL_JSON_DIR="${RESULTS_DIR}/eval_json"
mkdir -p "$EVAL_JSON_DIR"
eval_cmd=(
python "${SCRIPT_DIR}/eval/eval_with_vlm_mp.py"
--jsonl_dir "$TIIFBENCH_EVAL_PROMPT_DIR"
--image_dir "$IMAGE_DIR"
--eval_model "$TIIFBENCH_EVAL_MODEL_TAG"
--output_dir "$EVAL_JSON_DIR"
--model "$TIIFBENCH_EVAL_MODEL"
--api_key "$API_KEY"
--api_version "$TIIFBENCH_API_VERSION"
)
if [[ -n "$TIIFBENCH_AZURE_ENDPOINT" ]]; then
eval_cmd+=(--azure_endpoint "$TIIFBENCH_AZURE_ENDPOINT")
fi
"${eval_cmd[@]}"
python "${SCRIPT_DIR}/eval/summary_results.py" --input_dir "$EVAL_JSON_DIR"
python "${SCRIPT_DIR}/eval/summary_dimension_results.py" \
--input_excel "${EVAL_JSON_DIR}/result_summary.xlsx" \
--output_txt "${RESULTS_DIR}/result_summary_dimension.txt"
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment