@m5kdev/backend 0.1.0 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.cursor/rules/backend.mdc +70 -0
- package/.turbo/turbo-build.log +5 -0
- package/.turbo/turbo-check-types.log +5 -0
- package/.turbo/turbo-lint$colon$fix.log +255 -0
- package/CHANGELOG.md +19 -0
- package/dist/src/lib/posthog.d.ts +3 -0
- package/dist/src/lib/posthog.d.ts.map +1 -0
- package/dist/src/lib/posthog.js +7 -0
- package/dist/src/lib/sentry.d.ts +2 -0
- package/dist/src/lib/sentry.d.ts.map +1 -0
- package/dist/src/lib/sentry.js +9 -0
- package/dist/src/modules/access/access.repository.d.ts +2348 -0
- package/dist/src/modules/access/access.repository.d.ts.map +1 -0
- package/dist/src/modules/access/access.repository.js +32 -0
- package/dist/src/modules/access/access.service.d.ts +22 -0
- package/dist/src/modules/access/access.service.d.ts.map +1 -0
- package/dist/src/modules/access/access.service.js +51 -0
- package/dist/src/modules/access/access.test.d.ts +2 -0
- package/dist/src/modules/access/access.test.d.ts.map +1 -0
- package/dist/src/modules/access/access.test.js +182 -0
- package/dist/src/modules/access/access.utils.d.ts +17 -0
- package/dist/src/modules/access/access.utils.d.ts.map +1 -0
- package/dist/src/modules/access/access.utils.js +20 -0
- package/dist/src/modules/ai/ai.db.d.ts +396 -0
- package/dist/src/modules/ai/ai.db.d.ts.map +1 -0
- package/dist/src/modules/ai/ai.db.js +39 -0
- package/dist/src/modules/ai/ai.prompt.d.ts +28 -0
- package/dist/src/modules/ai/ai.prompt.d.ts.map +1 -0
- package/dist/src/modules/ai/ai.prompt.js +30 -0
- package/dist/src/modules/ai/ai.repository.d.ts +424 -0
- package/dist/src/modules/ai/ai.repository.d.ts.map +1 -0
- package/dist/src/modules/ai/ai.repository.js +26 -0
- package/dist/src/modules/ai/ai.router.d.ts +2 -0
- package/dist/src/modules/ai/ai.router.d.ts.map +1 -0
- package/dist/src/modules/ai/ai.router.js +132 -0
- package/dist/src/modules/ai/ai.service.d.ts +115 -0
- package/dist/src/modules/ai/ai.service.d.ts.map +1 -0
- package/dist/src/modules/ai/ai.service.js +207 -0
- package/dist/src/modules/ai/ai.trpc.d.ts +59 -0
- package/dist/src/modules/ai/ai.trpc.d.ts.map +1 -0
- package/dist/src/modules/ai/ai.trpc.js +20 -0
- package/dist/src/modules/ai/ideogram/ideogram.constants.d.ts +8 -0
- package/dist/src/modules/ai/ideogram/ideogram.constants.d.ts.map +1 -0
- package/dist/src/modules/ai/ideogram/ideogram.constants.js +167 -0
- package/dist/src/modules/ai/ideogram/ideogram.dto.d.ts +230 -0
- package/dist/src/modules/ai/ideogram/ideogram.dto.d.ts.map +1 -0
- package/dist/src/modules/ai/ideogram/ideogram.dto.js +49 -0
- package/dist/src/modules/ai/ideogram/ideogram.prompt.d.ts +3 -0
- package/dist/src/modules/ai/ideogram/ideogram.prompt.d.ts.map +1 -0
- package/dist/src/modules/ai/ideogram/ideogram.prompt.js +860 -0
- package/dist/src/modules/ai/ideogram/ideogram.repository.d.ts +7 -0
- package/dist/src/modules/ai/ideogram/ideogram.repository.d.ts.map +1 -0
- package/dist/src/modules/ai/ideogram/ideogram.repository.js +46 -0
- package/dist/src/modules/ai/ideogram/ideogram.service.d.ts +10 -0
- package/dist/src/modules/ai/ideogram/ideogram.service.d.ts.map +1 -0
- package/dist/src/modules/ai/ideogram/ideogram.service.js +11 -0
- package/dist/src/modules/auth/auth.db.d.ts +2336 -0
- package/dist/src/modules/auth/auth.db.d.ts.map +1 -0
- package/dist/src/modules/auth/auth.db.js +215 -0
- package/dist/src/modules/auth/auth.dto.d.ts +66 -0
- package/dist/src/modules/auth/auth.dto.d.ts.map +1 -0
- package/dist/src/modules/auth/auth.dto.js +38 -0
- package/dist/src/modules/auth/auth.lib.d.ts +4874 -0
- package/dist/src/modules/auth/auth.lib.d.ts.map +1 -0
- package/dist/src/modules/auth/auth.lib.js +284 -0
- package/dist/src/modules/auth/auth.middleware.d.ts +615 -0
- package/dist/src/modules/auth/auth.middleware.d.ts.map +1 -0
- package/dist/src/modules/auth/auth.middleware.js +52 -0
- package/dist/src/modules/auth/auth.repository.d.ts +2417 -0
- package/dist/src/modules/auth/auth.repository.d.ts.map +1 -0
- package/dist/src/modules/auth/auth.repository.js +541 -0
- package/dist/src/modules/auth/auth.service.d.ts +104 -0
- package/dist/src/modules/auth/auth.service.d.ts.map +1 -0
- package/dist/src/modules/auth/auth.service.js +201 -0
- package/dist/src/modules/auth/auth.trpc.d.ts +309 -0
- package/dist/src/modules/auth/auth.trpc.d.ts.map +1 -0
- package/dist/src/modules/auth/auth.trpc.js +157 -0
- package/dist/src/modules/auth/auth.utils.d.ts +2352 -0
- package/dist/src/modules/auth/auth.utils.d.ts.map +1 -0
- package/dist/src/modules/auth/auth.utils.js +97 -0
- package/dist/src/modules/base/base.abstract.d.ts +19 -0
- package/dist/src/modules/base/base.abstract.d.ts.map +1 -0
- package/dist/src/modules/base/base.abstract.js +53 -0
- package/dist/src/modules/base/base.dto.d.ts +70 -0
- package/dist/src/modules/base/base.dto.d.ts.map +1 -0
- package/dist/src/modules/base/base.dto.js +112 -0
- package/dist/src/modules/base/base.grants.d.ts +29 -0
- package/dist/src/modules/base/base.grants.d.ts.map +1 -0
- package/dist/src/modules/base/base.grants.js +123 -0
- package/dist/src/modules/base/base.grants.test.d.ts +2 -0
- package/dist/src/modules/base/base.grants.test.d.ts.map +1 -0
- package/dist/src/modules/base/base.grants.test.js +668 -0
- package/dist/src/modules/base/base.repository.d.ts +97 -0
- package/dist/src/modules/base/base.repository.d.ts.map +1 -0
- package/dist/src/modules/base/base.repository.js +307 -0
- package/dist/src/modules/base/base.service.d.ts +42 -0
- package/dist/src/modules/base/base.service.d.ts.map +1 -0
- package/dist/src/modules/base/base.service.js +109 -0
- package/dist/src/modules/base/base.types.d.ts +2 -0
- package/dist/src/modules/base/base.types.d.ts.map +1 -0
- package/dist/src/modules/base/base.types.js +2 -0
- package/dist/src/modules/billing/billing.db.d.ts +366 -0
- package/dist/src/modules/billing/billing.db.d.ts.map +1 -0
- package/dist/src/modules/billing/billing.db.js +29 -0
- package/dist/src/modules/billing/billing.repository.d.ts +2764 -0
- package/dist/src/modules/billing/billing.repository.d.ts.map +1 -0
- package/dist/src/modules/billing/billing.repository.js +235 -0
- package/dist/src/modules/billing/billing.router.d.ts +5 -0
- package/dist/src/modules/billing/billing.router.d.ts.map +1 -0
- package/dist/src/modules/billing/billing.router.js +56 -0
- package/dist/src/modules/billing/billing.service.d.ts +60 -0
- package/dist/src/modules/billing/billing.service.d.ts.map +1 -0
- package/dist/src/modules/billing/billing.service.js +147 -0
- package/dist/src/modules/billing/billing.trpc.d.ts +75 -0
- package/dist/src/modules/billing/billing.trpc.d.ts.map +1 -0
- package/dist/src/modules/billing/billing.trpc.js +17 -0
- package/dist/src/modules/clay/clay.repository.d.ts +6 -0
- package/dist/src/modules/clay/clay.repository.d.ts.map +1 -0
- package/dist/src/modules/clay/clay.repository.js +26 -0
- package/dist/src/modules/clay/clay.service.d.ts +29 -0
- package/dist/src/modules/clay/clay.service.d.ts.map +1 -0
- package/dist/src/modules/clay/clay.service.js +24 -0
- package/dist/src/modules/connect/connect.db.d.ts +357 -0
- package/dist/src/modules/connect/connect.db.d.ts.map +1 -0
- package/dist/src/modules/connect/connect.db.js +30 -0
- package/dist/src/modules/connect/connect.dto.d.ts +75 -0
- package/dist/src/modules/connect/connect.dto.d.ts.map +1 -0
- package/dist/src/modules/connect/connect.dto.js +36 -0
- package/dist/src/modules/connect/connect.linkedin.d.ts +3 -0
- package/dist/src/modules/connect/connect.linkedin.d.ts.map +1 -0
- package/dist/src/modules/connect/connect.linkedin.js +53 -0
- package/dist/src/modules/connect/connect.oauth.d.ts +28 -0
- package/dist/src/modules/connect/connect.oauth.d.ts.map +1 -0
- package/dist/src/modules/connect/connect.oauth.js +198 -0
- package/dist/src/modules/connect/connect.repository.d.ts +414 -0
- package/dist/src/modules/connect/connect.repository.d.ts.map +1 -0
- package/dist/src/modules/connect/connect.repository.js +54 -0
- package/dist/src/modules/connect/connect.router.d.ts +5 -0
- package/dist/src/modules/connect/connect.router.d.ts.map +1 -0
- package/dist/src/modules/connect/connect.router.js +54 -0
- package/dist/src/modules/connect/connect.service.d.ts +89 -0
- package/dist/src/modules/connect/connect.service.d.ts.map +1 -0
- package/dist/src/modules/connect/connect.service.js +114 -0
- package/dist/src/modules/connect/connect.trpc.d.ts +81 -0
- package/dist/src/modules/connect/connect.trpc.d.ts.map +1 -0
- package/dist/src/modules/connect/connect.trpc.js +21 -0
- package/dist/src/modules/connect/connect.types.d.ts +26 -0
- package/dist/src/modules/connect/connect.types.d.ts.map +1 -0
- package/dist/src/modules/connect/connect.types.js +2 -0
- package/dist/src/modules/crypto/crypto.db.d.ts +152 -0
- package/dist/src/modules/crypto/crypto.db.d.ts.map +1 -0
- package/dist/src/modules/crypto/crypto.db.js +17 -0
- package/dist/src/modules/crypto/crypto.repository.d.ts +160 -0
- package/dist/src/modules/crypto/crypto.repository.d.ts.map +1 -0
- package/dist/src/modules/crypto/crypto.repository.js +10 -0
- package/dist/src/modules/crypto/crypto.service.d.ts +11 -0
- package/dist/src/modules/crypto/crypto.service.d.ts.map +1 -0
- package/dist/src/modules/crypto/crypto.service.js +52 -0
- package/dist/src/modules/email/email.service.d.ts +57 -0
- package/dist/src/modules/email/email.service.d.ts.map +1 -0
- package/dist/src/modules/email/email.service.js +107 -0
- package/dist/src/modules/file/file.repository.d.ts +13 -0
- package/dist/src/modules/file/file.repository.d.ts.map +1 -0
- package/dist/src/modules/file/file.repository.js +79 -0
- package/dist/src/modules/file/file.router.d.ts +4 -0
- package/dist/src/modules/file/file.router.d.ts.map +1 -0
- package/dist/src/modules/file/file.router.js +99 -0
- package/dist/src/modules/file/file.service.d.ts +25 -0
- package/dist/src/modules/file/file.service.d.ts.map +1 -0
- package/dist/src/modules/file/file.service.js +150 -0
- package/dist/src/modules/recurrence/recurrence.db.d.ts +563 -0
- package/dist/src/modules/recurrence/recurrence.db.d.ts.map +1 -0
- package/dist/src/modules/recurrence/recurrence.db.js +66 -0
- package/dist/src/modules/recurrence/recurrence.repository.d.ts +585 -0
- package/dist/src/modules/recurrence/recurrence.repository.d.ts.map +1 -0
- package/dist/src/modules/recurrence/recurrence.repository.js +39 -0
- package/dist/src/modules/recurrence/recurrence.service.d.ts +30 -0
- package/dist/src/modules/recurrence/recurrence.service.d.ts.map +1 -0
- package/dist/src/modules/recurrence/recurrence.service.js +70 -0
- package/dist/src/modules/recurrence/recurrence.trpc.d.ts +243 -0
- package/dist/src/modules/recurrence/recurrence.trpc.d.ts.map +1 -0
- package/dist/src/modules/recurrence/recurrence.trpc.js +65 -0
- package/dist/src/modules/social/social.dto.d.ts +35 -0
- package/dist/src/modules/social/social.dto.d.ts.map +1 -0
- package/dist/src/modules/social/social.dto.js +18 -0
- package/dist/src/modules/social/social.linkedin.d.ts +11 -0
- package/dist/src/modules/social/social.linkedin.d.ts.map +1 -0
- package/dist/src/modules/social/social.linkedin.js +427 -0
- package/dist/src/modules/social/social.linkedin.test.d.ts +2 -0
- package/dist/src/modules/social/social.linkedin.test.d.ts.map +1 -0
- package/dist/src/modules/social/social.linkedin.test.js +235 -0
- package/dist/src/modules/social/social.service.d.ts +29 -0
- package/dist/src/modules/social/social.service.d.ts.map +1 -0
- package/dist/src/modules/social/social.service.js +76 -0
- package/dist/src/modules/social/social.types.d.ts +36 -0
- package/dist/src/modules/social/social.types.d.ts.map +1 -0
- package/dist/src/modules/social/social.types.js +2 -0
- package/dist/src/modules/tag/tag.db.d.ts +347 -0
- package/dist/src/modules/tag/tag.db.d.ts.map +1 -0
- package/dist/src/modules/tag/tag.db.js +42 -0
- package/dist/src/modules/tag/tag.dto.d.ts +1019 -0
- package/dist/src/modules/tag/tag.dto.d.ts.map +1 -0
- package/dist/src/modules/tag/tag.dto.js +9 -0
- package/dist/src/modules/tag/tag.repository.d.ts +384 -0
- package/dist/src/modules/tag/tag.repository.d.ts.map +1 -0
- package/dist/src/modules/tag/tag.repository.js +154 -0
- package/dist/src/modules/tag/tag.service.d.ts +36 -0
- package/dist/src/modules/tag/tag.service.d.ts.map +1 -0
- package/dist/src/modules/tag/tag.service.js +31 -0
- package/dist/src/modules/tag/tag.trpc.d.ts +191 -0
- package/dist/src/modules/tag/tag.trpc.d.ts.map +1 -0
- package/dist/src/modules/tag/tag.trpc.js +47 -0
- package/dist/src/modules/utils/applyPagination.d.ts +7 -0
- package/dist/src/modules/utils/applyPagination.d.ts.map +1 -0
- package/dist/src/modules/utils/applyPagination.js +16 -0
- package/dist/src/modules/utils/applySorting.d.ts +9 -0
- package/dist/src/modules/utils/applySorting.d.ts.map +1 -0
- package/dist/src/modules/utils/applySorting.js +18 -0
- package/dist/src/modules/utils/getConditionsFromFilters.d.ts +5 -0
- package/dist/src/modules/utils/getConditionsFromFilters.d.ts.map +1 -0
- package/dist/src/modules/utils/getConditionsFromFilters.js +200 -0
- package/dist/src/modules/video/video.service.d.ts +8 -0
- package/dist/src/modules/video/video.service.d.ts.map +1 -0
- package/dist/src/modules/video/video.service.js +84 -0
- package/dist/src/modules/webhook/webhook.constants.d.ts +9 -0
- package/dist/src/modules/webhook/webhook.constants.d.ts.map +1 -0
- package/dist/src/modules/webhook/webhook.constants.js +10 -0
- package/dist/src/modules/webhook/webhook.db.d.ts +137 -0
- package/dist/src/modules/webhook/webhook.db.d.ts.map +1 -0
- package/dist/src/modules/webhook/webhook.db.js +17 -0
- package/dist/src/modules/webhook/webhook.dto.d.ts +395 -0
- package/dist/src/modules/webhook/webhook.dto.d.ts.map +1 -0
- package/dist/src/modules/webhook/webhook.dto.js +7 -0
- package/dist/src/modules/webhook/webhook.repository.d.ts +149 -0
- package/dist/src/modules/webhook/webhook.repository.d.ts.map +1 -0
- package/dist/src/modules/webhook/webhook.repository.js +56 -0
- package/dist/src/modules/webhook/webhook.router.d.ts +4 -0
- package/dist/src/modules/webhook/webhook.router.d.ts.map +1 -0
- package/dist/src/modules/webhook/webhook.router.js +30 -0
- package/dist/src/modules/webhook/webhook.service.d.ts +10 -0
- package/dist/src/modules/webhook/webhook.service.d.ts.map +1 -0
- package/dist/src/modules/webhook/webhook.service.js +68 -0
- package/dist/src/modules/workflow/workflow.db.d.ts +297 -0
- package/dist/src/modules/workflow/workflow.db.d.ts.map +1 -0
- package/dist/src/modules/workflow/workflow.db.js +30 -0
- package/dist/src/modules/workflow/workflow.repository.d.ts +344 -0
- package/dist/src/modules/workflow/workflow.repository.d.ts.map +1 -0
- package/dist/src/modules/workflow/workflow.repository.js +105 -0
- package/dist/src/modules/workflow/workflow.service.d.ts +22 -0
- package/dist/src/modules/workflow/workflow.service.d.ts.map +1 -0
- package/dist/src/modules/workflow/workflow.service.js +37 -0
- package/dist/src/modules/workflow/workflow.trpc.d.ts +93 -0
- package/dist/src/modules/workflow/workflow.trpc.d.ts.map +1 -0
- package/dist/src/modules/workflow/workflow.trpc.js +21 -0
- package/dist/src/modules/workflow/workflow.types.d.ts +21 -0
- package/dist/src/modules/workflow/workflow.types.d.ts.map +1 -0
- package/dist/src/modules/workflow/workflow.types.js +2 -0
- package/dist/src/modules/workflow/workflow.utils.d.ts +22 -0
- package/dist/src/modules/workflow/workflow.utils.d.ts.map +1 -0
- package/dist/src/modules/workflow/workflow.utils.js +173 -0
- package/dist/src/test/stubs/utils.d.ts +3 -0
- package/dist/src/test/stubs/utils.d.ts.map +1 -0
- package/dist/src/test/stubs/utils.js +5 -0
- package/dist/src/trpc/context.d.ts +42 -0
- package/dist/src/trpc/context.d.ts.map +1 -0
- package/dist/src/trpc/context.js +17 -0
- package/dist/src/trpc/index.d.ts +4 -0
- package/dist/src/trpc/index.d.ts.map +1 -0
- package/dist/src/trpc/index.js +6 -0
- package/dist/src/trpc/procedures.d.ts +234 -0
- package/dist/src/trpc/procedures.d.ts.map +1 -0
- package/dist/src/trpc/procedures.js +32 -0
- package/dist/src/trpc/utils.d.ts +5 -0
- package/dist/src/trpc/utils.d.ts.map +1 -0
- package/dist/src/trpc/utils.js +20 -0
- package/dist/src/types.d.ts +486 -0
- package/dist/src/types.d.ts.map +1 -0
- package/dist/src/types.js +13 -0
- package/dist/src/utils/errors.d.ts +50 -0
- package/dist/src/utils/errors.d.ts.map +1 -0
- package/dist/src/utils/errors.js +104 -0
- package/dist/src/utils/logger.d.ts +2 -0
- package/dist/src/utils/logger.d.ts.map +1 -0
- package/dist/src/utils/logger.js +11 -0
- package/dist/src/utils/posthog.d.ts +14 -0
- package/dist/src/utils/posthog.d.ts.map +1 -0
- package/dist/src/utils/posthog.js +31 -0
- package/dist/src/utils/types.d.ts +5 -0
- package/dist/src/utils/types.d.ts.map +1 -0
- package/dist/src/utils/types.js +2 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/jest.config.ts +19 -0
- package/package.json +3 -6
- package/tsconfig.json +21 -0
|
@@ -0,0 +1,860 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ideogramGenerateSystemPrompt = void 0;
|
|
4
|
+
const ai_prompt_1 = require("#modules/ai/ai.prompt");
|
|
5
|
+
exports.ideogramGenerateSystemPrompt = new ai_prompt_1.Prompt(`
|
|
6
|
+
You are an expert prompt writer for Ideogram. Use the instruction below to assist user in creating prompts for Ideogram.
|
|
7
|
+
|
|
8
|
+
# 1. In a Nutshell
|
|
9
|
+
|
|
10
|
+
## Ideogram Prompting in a Nutshell
|
|
11
|
+
|
|
12
|
+
Want to quickly start prompting with Ideogram? Here are the basics you need to know.
|
|
13
|
+
|
|
14
|
+
***
|
|
15
|
+
|
|
16
|
+
## Use Natural Language Only
|
|
17
|
+
|
|
18
|
+
Ideogram understands plain, everyday language. No need to use weights, parameters, or technical syntax—just describe what you want as clearly as possible, the way you’d describe something to a person.
|
|
19
|
+
|
|
20
|
+
***
|
|
21
|
+
|
|
22
|
+
## Be Clear and Visually Grounded
|
|
23
|
+
|
|
24
|
+
The more your prompt describes things that can actually be seen—like shapes, colors, materials, lighting, and background—the better the AI can understand and render them.
|
|
25
|
+
|
|
26
|
+
Focus on:
|
|
27
|
+
|
|
28
|
+
* The main subject (who or what is it?)
|
|
29
|
+
* What it’s doing (pose or action)
|
|
30
|
+
* Where it is (setting or background)
|
|
31
|
+
* How it looks (style, color, emotion, lighting)
|
|
32
|
+
|
|
33
|
+
Example: *“A watercolor painting of a fox curled up in snow under a pine tree, with soft blue shadows and falling snowflakes.”*
|
|
34
|
+
|
|
35
|
+
***
|
|
36
|
+
|
|
37
|
+
## Use a Structure
|
|
38
|
+
|
|
39
|
+
You don’t need perfect grammar, but to get the best results, structure your prompt using a clear format. Section 3 walks you through each part, but here's the general idea:
|
|
40
|
+
|
|
41
|
+
* **Image summary**: A concise phrase describing the type of image
|
|
42
|
+
* **Main subject**: Who or what the image is about
|
|
43
|
+
* **Pose or action**: What the subject is doing
|
|
44
|
+
* **Secondary elements**: Anything else around the main subject
|
|
45
|
+
* **Setting & background**: Where it’s taking place
|
|
46
|
+
* **Lighting & atmosphere**: How the scene feels
|
|
47
|
+
* **Framing & composition**: Camera angle or layout (optional)
|
|
48
|
+
|
|
49
|
+
Here’s a complete structure that works well:
|
|
50
|
+
|
|
51
|
+
> *[Image summary]. [Main subject details], [Pose or action], [Secondary elements], [Setting & Background], [Lighting & Atmosphere], [Framing & Composition]*
|
|
52
|
+
|
|
53
|
+
For example:
|
|
54
|
+
|
|
55
|
+
> *A watercolor painting of a girl flying a kite on a hill at sunset, wearing a red dress, wind blowing through her hair, with trees in the background and soft golden lighting.*
|
|
56
|
+
|
|
57
|
+
No need to use every part—keep it short when exploring, and add more parts/details when you need control.
|
|
58
|
+
|
|
59
|
+
***
|
|
60
|
+
|
|
61
|
+
## Main Ideas First
|
|
62
|
+
|
|
63
|
+
Ideogram tends to give slightly more importance to parts placed earlier in the prompt. This is where to write the subject.
|
|
64
|
+
|
|
65
|
+
***
|
|
66
|
+
|
|
67
|
+
## Generating Text in Images
|
|
68
|
+
|
|
69
|
+
If you want text in your image, describing it near the beginning of the prompt usually leads to better results with fewer errors than if it is near the end. Using quotes \`“ ”\` around the desired text also helps. Keep in mind that the longer and more complex the text, the more likely it is to produce errors.
|
|
70
|
+
|
|
71
|
+
***
|
|
72
|
+
|
|
73
|
+
## Visually Grounded vs. Abstract Prompts
|
|
74
|
+
|
|
75
|
+
* **Visually Grounded**: Clear, detailed prompts get you precise images (e.g., *“A smiling woman wearing sunglasses at the beach”*).
|
|
76
|
+
* **Abstract/Poetic**: Vague or symbolic prompts lead to creative, surprising images (e.g., *“The feeling of summer captured in a moment”*).
|
|
77
|
+
|
|
78
|
+
***
|
|
79
|
+
|
|
80
|
+
## Handle Negatives
|
|
81
|
+
|
|
82
|
+
* Don’t say *“no people,” “man without a beard,” “no background”* or *“without trees.”*
|
|
83
|
+
* Instead, say exactly what you want (*“empty street,” “clean-shaven man,” “a plain white background,” or “desert landscape”*).
|
|
84
|
+
|
|
85
|
+
***
|
|
86
|
+
|
|
87
|
+
## Be Specific, Detailed, But Not Overloaded
|
|
88
|
+
|
|
89
|
+
Ideogram generally performs best with prompts under approximately 150 words (around 200 tokens). If the prompt is longer, the AI may begin to misinterpret or ignore the content beyond that point.
|
|
90
|
+
|
|
91
|
+
***
|
|
92
|
+
|
|
93
|
+
# 2- Prompting Fundamentals
|
|
94
|
+
|
|
95
|
+
This section covers the key concepts that will help you write effective prompts for Ideogram. Whether you're aiming to generate the exact image you have in mind or to explore more creative, open-ended interpretations, these fundamentals apply to both prompting styles.
|
|
96
|
+
|
|
97
|
+
## Prompting Uses Natural Language
|
|
98
|
+
|
|
99
|
+
Ideogram uses **plain natural language** to interpret prompts. There are **no hidden parameters, weights, or coded instructions** you can embed in the prompt—everything must be described the way you would say it to another person.
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
**Positioning still matters**: things written earlier in the prompt tend to be given more importance. So place the most important subject or idea near the beginning whenever possible.
|
|
103
|
+
|
|
104
|
+
If you’re coming from other text-to-image tools, this may feel simpler—but that simplicity is also what makes Ideogram especially good at interpreting well-structured, natural descriptions.
|
|
105
|
+
|
|
106
|
+
**You can write your prompt in your preferred language**: Ideogram generally understands prompts in any language, but for the most reliable results—especially when including text—write in English. Non-Latin scripts (e.g. Arabic, Chinese, Cyrillic) often render incorrectly. Using Magic Prompt will automatically translate your prompt into English.
|
|
107
|
+
|
|
108
|
+
While short, tag-like prompts (such as *“a man in the forest, fire, dramatic, painting”*) may work in some cases, **Ideogram—especially version 2.0 and higher—responds better to natural, sentence-style prompting.** Full sentences or clearly structured phrases help the AI understand context, relationships, and composition more reliably. Writing your prompt the way you'd describe the image to another person generally produces better results. Ordinary grammar, punctuation, and descriptive flow help the model understand context, relationships, and visual intent more accurately.
|
|
109
|
+
|
|
110
|
+
***
|
|
111
|
+
|
|
112
|
+
## How Ideogram Interprets Prompts
|
|
113
|
+
|
|
114
|
+
When you write a prompt, Ideogram doesn’t guess what you mean like a person might—it tries to visually represent every word. It reads your words literally, and each one affects what appears in the image.
|
|
115
|
+
|
|
116
|
+
> *A tall man in a red coat walking through a snowy forest.*
|
|
117
|
+
|
|
118
|
+
Ideogram will try to include all of those elements: the height, the red coat, walking action, snow, and the forest.
|
|
119
|
+
|
|
120
|
+
The clearer and more specific your wording, the better chance the AI has of generating an image that matches what you imagined.
|
|
121
|
+
|
|
122
|
+
***
|
|
123
|
+
|
|
124
|
+
## The Importance of Visual Grounding
|
|
125
|
+
|
|
126
|
+
Visual grounding refers to including concrete, observable details in your prompts—such as colors, shapes, objects, and settings—that the AI can accurately render.
|
|
127
|
+
|
|
128
|
+
For example, instead of saying:
|
|
129
|
+
|
|
130
|
+
> *A beautiful scene.*
|
|
131
|
+
|
|
132
|
+
Provide specific details:
|
|
133
|
+
|
|
134
|
+
> *A sunset over the ocean with orange and pink hues reflecting on the water.*
|
|
135
|
+
|
|
136
|
+
This specificity helps the AI generate more accurate and visually coherent images.
|
|
137
|
+
|
|
138
|
+
Even when you’re being creative or poetic, including some visually grounded elements gives Ideogram a stronger base to work from.
|
|
139
|
+
|
|
140
|
+
***
|
|
141
|
+
|
|
142
|
+
## Prompt Length and Clarity
|
|
143
|
+
|
|
144
|
+
The length of your prompt affects how Ideogram interprets your request. Longer prompts can give you more control and precision, but only if they’re well structured. Short prompts, on the other hand, leave more room for artistic or unexpected outcomes.
|
|
145
|
+
|
|
146
|
+
Prompt adherence is influenced by the clarity and specificity of your prompt. Longer, well-structured prompts with detailed descriptions can guide Ideogram to produce images that closely match your vision. However, overly complex or ambiguous prompts may lead to unexpected results.
|
|
147
|
+
|
|
148
|
+
### When to Use a Short Prompt
|
|
149
|
+
|
|
150
|
+
Short prompts are useful when you want to explore creative or poetic ideas without strict control over the result. They often work best when paired with tools like Magic Prompt or Random Style.
|
|
151
|
+
|
|
152
|
+
* **Short and creative:**
|
|
153
|
+
|
|
154
|
+
> *A woman drifting through a quiet dream, shapes and colors shifting gently around her.*
|
|
155
|
+
|
|
156
|
+
This kind of prompt leaves much up to the AI’s interpretation. You might get surreal, abstract, or symbolic results—great for inspiration or exploration.
|
|
157
|
+
|
|
158
|
+
### When to Use a Longer Prompt
|
|
159
|
+
|
|
160
|
+
Longer prompts help when you want to control multiple parts of the image: the subject, background, lighting, mood, or style. They’re ideal when you already have a specific result in mind.
|
|
161
|
+
|
|
162
|
+
* **Visually grounded and detailed:**
|
|
163
|
+
|
|
164
|
+
> *A red fox standing beneath bright autumn trees, surrounded by golden leaves falling onto a quiet forest floor.*
|
|
165
|
+
|
|
166
|
+
This kind of prompt tells the AI exactly what to render, and how to stage the visual.
|
|
167
|
+
|
|
168
|
+
### Tips for Using Longer Prompts Effectively:
|
|
169
|
+
|
|
170
|
+
* Break the prompt into logical pieces: subject, details, background, atmosphere.
|
|
171
|
+
* Put the most important ideas near the beginning.
|
|
172
|
+
* Avoid packing in too many unrelated concepts—this can confuse the AI.
|
|
173
|
+
|
|
174
|
+
### About the number of words:
|
|
175
|
+
|
|
176
|
+
Ideogram supports prompts up to **approximately 150 – 160 words (around 200 tokens)**. Prompts longer than this may be ignored or generate less accurate results. Make every word count, and always lead with what matters most.
|
|
177
|
+
|
|
178
|
+
{% hint style="info" %}
|
|
179
|
+
**Tip:** Prompt length isn’t tied to prompting style. You can write short or long prompts whether you're using visually grounded, abstract, or hybrid language.
|
|
180
|
+
|
|
181
|
+
* Use **short prompts** when you want looser interpretation, to spark creative exploration or want to use Magic Prompt.
|
|
182
|
+
* Use **longer prompts** when you want to guide specific elements like subject, background, style, or lighting.
|
|
183
|
+
|
|
184
|
+
Start simple, lead with what's most important, and build up detail only as needed.
|
|
185
|
+
{% endhint %}
|
|
186
|
+
|
|
187
|
+
***
|
|
188
|
+
|
|
189
|
+
## **Visually Grounded vs. Abstract Prompts**
|
|
190
|
+
|
|
191
|
+
Ideogram responds well to both visually grounded and abstract prompts—but not in the same way. The way you phrase your prompt has a major impact on the kind of image you get, and how closely it matches your intent.
|
|
192
|
+
|
|
193
|
+
### **Visually Grounded Prompts**
|
|
194
|
+
|
|
195
|
+
These prompts focus on what can literally be seen in the image: the subject, setting, lighting, style, colors, and composition. They’re best when you have a specific image in mind and want the AI to render it as clearly and accurately as possible.
|
|
196
|
+
|
|
197
|
+
> * *A stone lighthouse standing on a rocky cliff in heavy fog, its beam shining across calm gray waves at dusk.*
|
|
198
|
+
> * *A woman sitting in a dark room beside a table, reading a book under the warm glow of a single candle.*
|
|
199
|
+
|
|
200
|
+
Visually grounded prompts tend to produce **more consistent and accurate results**, **stronger prompt adherence**, and **better layout control**, especially when generating images that include text.
|
|
201
|
+
|
|
202
|
+
### **Abstract or Poetic Prompts**
|
|
203
|
+
|
|
204
|
+
These prompts use figurative language, emotion, or symbolism to guide the image in a more open-ended way. They’re ideal for **creative exploration**, **unexpected results**, or **evoking a feeling rather than a scene**.
|
|
205
|
+
|
|
206
|
+
> * *A lighthouse fading into the mist, its light barely reaching the waves as the sea swallows the horizon.*
|
|
207
|
+
> * *A woman reading by candlelight, her face half-shadowed, as time seems to pause around her.*
|
|
208
|
+
|
|
209
|
+
Ideogram handles abstract prompts surprisingly well—especially when they include **some visual or emotional anchors**. The results may be unpredictable, but often striking.
|
|
210
|
+
|
|
211
|
+
### **Hybrid Prompts**
|
|
212
|
+
|
|
213
|
+
You can also blend both approaches: use a clear visual structure with a poetic tone, or add symbolic elements to an otherwise grounded prompt. This lets you guide the AI while leaving room for interpretation.
|
|
214
|
+
|
|
215
|
+
> * *A watercolor of a ballerina mid-spin on a quiet stage—like a moment of silence captured in motion.*
|
|
216
|
+
> * *A detailed ink sketch of an old lighthouse on a cliff. The sea below vanishes into mist like a forgotten memory.*
|
|
217
|
+
> * *A portrait of a young woman in a red cloak, standing still. The forest behind her blurs into colors like wet paint on glass.*
|
|
218
|
+
|
|
219
|
+
This style is especially useful when:
|
|
220
|
+
|
|
221
|
+
* You want a **specific subject** but an open-ended or expressive background.
|
|
222
|
+
* You want **artistic interpretation** while keeping a core idea intact.
|
|
223
|
+
* You want to inspire **variation in mood or atmosphere** while locking down style or composition.
|
|
224
|
+
|
|
225
|
+
Use hybrid prompts when you want the best of both worlds: direction *and* discovery.
|
|
226
|
+
|
|
227
|
+
**Tip:**
|
|
228
|
+
|
|
229
|
+
* Use **visually grounded prompts** for accuracy and control
|
|
230
|
+
* Use **abstract prompts** for creativity and exploration
|
|
231
|
+
* Use **hybrid prompts** when you want something expressive but anchored
|
|
232
|
+
|
|
233
|
+
***
|
|
234
|
+
|
|
235
|
+
## Generating Text in Images
|
|
236
|
+
|
|
237
|
+
Ideogram excels at rendering text within images—especially for posters, logos, titles, labels, headers, and other designs that incorporate typograpy—making it a powerful tool for any project that combines visuals and words.
|
|
238
|
+
|
|
239
|
+
The way you phrase your prompt can influence how well Ideogram renders the text within an image. Below are a few natural-language examples that show how to include quoted text early in your prompt, while keeping the description visually grounded and realistic.
|
|
240
|
+
|
|
241
|
+
> * *On the wall behind the artist, the phrase “Inspire Daily” is painted in large brush strokes across a mural, at the back of a vibrant and creative studio.*
|
|
242
|
+
> * *A vintage poster design with the words “Ride Free” curving along the bottom in retro lettering, featuring a smiling woman on a bicycle on a countryside road.*
|
|
243
|
+
> * *A chalkboard sign outside the bakery reads “Fresh Bread Daily” in handwritten white letters, surrounded by loaves and pastries arranged on rustic wooden shelves.*
|
|
244
|
+
|
|
245
|
+
**To achieve the best results:**
|
|
246
|
+
|
|
247
|
+
* **Use Visually Grounded Prompts**: Clearly describe the text's appearance, placement, and style within the image.
|
|
248
|
+
* **Position Text Early in the Prompt**: Mention the desired text near the beginning of your prompt to get better results.
|
|
249
|
+
* **Enclose Text in Quotation Marks**: Use quotation marks to specify the exact text you want to appear in the image.
|
|
250
|
+
* **Break longer text into chunks.**\
|
|
251
|
+
If you're trying to generate more than one line of text, it's often better to split the content into sections with specific visual placement:
|
|
252
|
+
|
|
253
|
+
> *A restaurant sign with the title “La Pasta” at the top, and the phrase “Fresh handmade Italian dishes” written below.*
|
|
254
|
+
|
|
255
|
+
This gives Ideogram clearer structure and lowers the risk of spelling errors.
|
|
256
|
+
* **Reduce visual complexity if possible.**\
|
|
257
|
+
The more intricate the rest of the scene is—busy backgrounds, multiple subjects, fine textures—the harder it is for the AI to cleanly render text. Simple backgrounds and good contrast between text and its surroundings improve results.
|
|
258
|
+
|
|
259
|
+
That said, there are a few limitations to keep in mind:
|
|
260
|
+
|
|
261
|
+
* **Text length matters.**\
|
|
262
|
+
The longer the text you want to include, the higher the chance of spelling errors, distortions, or incomplete words. Think of it like taking a group photo: the more people in the shot, the greater the chance someone will blink. Short, punchy phrases work best.
|
|
263
|
+
* **Not suitable for layouts with full textual content**\
|
|
264
|
+
Ideogram is not designed to generate complete, text-heavy documents—such as full restaurant menus, website mock-ups with all copy in place, or multi-paragraph flyers. It can create the overall design and insert titles or short blocks of text, but long passages should be added later in a graphic editor or page layout application.
|
|
265
|
+
* **Foreign language support is limited.**\
|
|
266
|
+
While you can write prompts in your own language, Ideogram’s text rendering is most accurate in **English**. Other languages, especially those that don’t use the Latin alphabet (like Chinese, Arabic, or Cyrillic scripts), often produce unpredictable or unreadable results.
|
|
267
|
+
|
|
268
|
+
If precise, readable text is important to your design, consider using Ideogram to generate the visual concept and then add the text manually using graphic editing tools afterward.
|
|
269
|
+
|
|
270
|
+
***
|
|
271
|
+
|
|
272
|
+
## Text and Typography
|
|
273
|
+
|
|
274
|
+
One of the areas in which Ideogram excels is in the generation and integration of text into an image. Whether as an overlay (e.g. a meme), as a typographic design (e.g. a t-shirt design) or as an integral part of various image elements (e.g. the name of a bottle of perfume), it's easy to get good results, often on the very first try.
|
|
275
|
+
|
|
276
|
+
To do this, all you need to do is write your prompt using complete sentences and punctuation, and indicate the text to be written by putting it in quotation marks and describing the context.
|
|
277
|
+
|
|
278
|
+
Here's an example:
|
|
279
|
+
|
|
280
|
+
**Prompt**:
|
|
281
|
+
*"A poster on a wall with text that reads: "Everything you can imagine is real. – Pablo Picasso"*
|
|
282
|
+
|
|
283
|
+
{% hint style="info" %}
|
|
284
|
+
In the image above, the AI has decided on the style and type of wall and poster that will be generated, as well as other visual aspects. Of course, you can describe these or any other elements you'd like to appear in the image yourself in the prompt, and the AI will generate them accordingly.
|
|
285
|
+
{% endhint %}
|
|
286
|
+
|
|
287
|
+
{% hint style="warning" %}
|
|
288
|
+
For the time being, text that you would like to be written using a non-Latin alphabet or accented Latin characters may have some difficulty being generated correctly, if at all.
|
|
289
|
+
{% endhint %}
|
|
290
|
+
|
|
291
|
+
## Fonts and styles
|
|
292
|
+
|
|
293
|
+
There are times when you would like to use a particular font or typographic style. Although it is not currently possible to specify a typeface by name, it is possible to describe certain stylistic properties in order to obtain a satisfactory result.
|
|
294
|
+
|
|
295
|
+
Bear in mind that the AI will also do its best to find an appropriate font style or typography for the image it needs to render. The result will be even better if you activate the [Magic Prompt](https://docs.ideogram.ai/using-ideogram/generation-settings/magic-prompt) function. Here are two examples:
|
|
296
|
+
|
|
297
|
+
## Fonts and copyrights
|
|
298
|
+
|
|
299
|
+
It is important to know that the Ideogram's AI doesn't use real fonts to generate images the same way you use font in your computer. To put it simply, the AI learns by looking at lots of different text images and how it looks and what are the actual styles. As it learns, it figures out how to make text that matches those different styles. So, when you ask it to make text, it uses what it's learned to make text that looks like it's from a specific style or font, even if it's not using that exact font.
|
|
300
|
+
|
|
301
|
+
## Errors and misspelled words or phrases.
|
|
302
|
+
|
|
303
|
+
Although Ideogram excels at generating text in images, an image can sometimes contain a spelling error, a missing or extra word or letter. Depending on the nature of the error, it is possible to correct the situation in various ways.
|
|
304
|
+
|
|
305
|
+
* Simply generate your prompt again a few times and see if you get the text you want.
|
|
306
|
+
|
|
307
|
+
{% hint style="info" %}
|
|
308
|
+
It's a well-known fact that long, complex words and long sentences are harder to generate correctly than short, everyday words. But don't despair, it can be done with patience, and it will get easier as the AI is updated and gets better.
|
|
309
|
+
|
|
310
|
+
It is often easier to remix an image to fix the image content itself while keeping the text right rather than trying to remix to fix the text while keeping the rest of the image.
|
|
311
|
+
{% endhint %}
|
|
312
|
+
|
|
313
|
+
# 3- Prompt Structure
|
|
314
|
+
|
|
315
|
+
## Why a Prompt Structure?
|
|
316
|
+
|
|
317
|
+
A prompt structure is simply the way you organize your words when asking the AI to create an image. It helps the AI understand exactly what you want to see, like what kind of image it should be, what’s in it, and how it should look or feel.
|
|
318
|
+
|
|
319
|
+
When your prompt is clearly structured, the AI has a much better chance of generating something that matches your idea. It’s like giving good directions—you don’t need to be an expert, but the more clearly you guide the AI, the better the results will reflect what you have in mind.
|
|
320
|
+
|
|
321
|
+
***
|
|
322
|
+
|
|
323
|
+
## The Different Parts of a Prompt
|
|
324
|
+
|
|
325
|
+
Each part of a prompt adds structure and clarity. A clear structure also helps with prompt adherence, making it more likely that Ideogram will follow your description accurately and generate results that reflect your intent.
|
|
326
|
+
|
|
327
|
+
Each part below includes three numbered examples. Each number represents a part of a different image prompt, which will later be assembled into full, complete prompts in section 3.2.
|
|
328
|
+
|
|
329
|
+
### **1- Image Summary**
|
|
330
|
+
|
|
331
|
+
**Purpose**: This is where the entire image is described in a single sentence. Think of it as how someone might describe the image after glancing at it for just two seconds. <mark style="color:blue;">**If you could only write one sentence for the prompt, this is the part you’d want to get right.**</mark> It also works well with tools like **Magic Prompt** to expand on. It establishes the visual form (e.g., photo, logo, painting), identifies the main subject, and gives a hint of the visual tone or context of the image.
|
|
332
|
+
|
|
333
|
+
**Examples**:
|
|
334
|
+
|
|
335
|
+
1. *A product photo of a men’s perfume bottle named “Nightlife for men” in a sleek studio setup.*
|
|
336
|
+
2. *A whimsical watercolor painting of a little girl playing with her bunny in a flower-filled field.*
|
|
337
|
+
3. *A logo design for a local football team called “Rhinos” in green, blue, and white.*
|
|
338
|
+
|
|
339
|
+
### **2- Main Subject Details**
|
|
340
|
+
|
|
341
|
+
**Purpose**: This part gives more information about the main subject in the image. What does it look like? What color is it? What shape, material or texture? Whether it’s a person, animal, or object, this section ensures that the subject is described clearly and specifically so the AI can generate it precisely. This is also the best place to include any text you want rendered in the image, such as titles, signs, or labels. For best results, enclose the exact wording in quotation marks \`“ ”\` and place it early in the prompt when possible. Describe where the text appears and how it looks to increase accuracy
|
|
342
|
+
1. *The bottle is tall and rectangular with dark glass, a matte black cap, and silver lettering. The text “Nightlife for men” appears on the label in bold, modern font.*
|
|
343
|
+
2. *The girl has short brown hair, a yellow dress, and rosy cheeks. She holds a fluffy white bunny in her arms, and both are smiling.*
|
|
344
|
+
3. *The main graphic shows a strong, stylized rhino head viewed from a three-quarter angle, with sharp lines and a bold expression. The word “Rhinos” appears in large, blocky letters beneath the icon.*
|
|
345
|
+
|
|
346
|
+
### **3- Pose or Action**
|
|
347
|
+
|
|
348
|
+
**Purpose**: This section describes what the main subject is doing — or how it’s placed. If it’s a person, maybe they’re smiling or sitting. If it’s an object, is it standing upright or tilted? This adds life and personality to the image, even when it’s still.
|
|
349
|
+
|
|
350
|
+
1. *The bottle stands upright with a slight reflection on the surface below.*
|
|
351
|
+
2. *The bunny is leaning into her, with its ears flopping gently.*
|
|
352
|
+
3. *The rhino’s horn points slightly forward and up, adding a sense of motion.*
|
|
353
|
+
|
|
354
|
+
### **4- Secondary Elements**
|
|
355
|
+
|
|
356
|
+
**Purpose**: These are the smaller things around or near the main subject. They help tell the story, establish relationships or complete the scene, but they don’t steal the spotlight. Think of things like props, background objects, accessories, ambient visual details, or smaller characters that make the image feel fuller.
|
|
357
|
+
|
|
358
|
+
1. *A wristwatch and a pair of sunglasses sit nearby, adding a masculine vibe.*
|
|
359
|
+
2. *Wildflowers, butterflies, and a toy picnic basket surround them.*
|
|
360
|
+
3. *Stars and shield shapes accent the logo without crowding it.*
|
|
361
|
+
|
|
362
|
+
### **5- Setting & Background**
|
|
363
|
+
|
|
364
|
+
**Purpose**: This part explains where the image takes place. Is it outside or indoors? In a forest, a city, a room, or an empty space? You can also say if it’s daytime, sunset, or a certain time in history. Whether highly detailed or minimalistic, the background contributes to anchor the image in a coherent visual context.
|
|
365
|
+
|
|
366
|
+
1. *The scene is set on a smooth black surface with blurred city lights in the background.*
|
|
367
|
+
2. *They are outdoors in a grassy meadow, under a wide blue sky.*
|
|
368
|
+
3. *The background is flat white, with no scene or setting.*
|
|
369
|
+
|
|
370
|
+
### **6- Lighting & Atmosphere**
|
|
371
|
+
|
|
372
|
+
**Purpose**: This is about how the light looks and how the image feels. Is the light soft or bright? Is it warm and cozy, or dramatic and dark? Atmosphere includes mood-related descriptors like ethereal, cozy, ominous, cinematic, etc. This helps set the mood of the image and makes it feel more real or more emotional.
|
|
373
|
+
|
|
374
|
+
1. *Lighting is moody and cool, with soft blue highlights and deep shadows.*
|
|
375
|
+
2. *The light is soft and sunny, with warm pastel tones and a dreamy atmosphere.*
|
|
376
|
+
3. *The color palette is vivid, with deep blue outlines, white highlights, and green fills.*
|
|
377
|
+
|
|
378
|
+
### **7- Framing & Composition**
|
|
379
|
+
|
|
380
|
+
**Purpose**: This describes how the subject and elements are visually arranged within the frame. It can describe the camera or viewer angle (top-down, low angle), shot type (close-up, wide), and subject placement (centered, rule of thirds). For non-photographic works, it still applies—e.g., how a figure is balanced in a painting or how elements are spaced in a logo. It enhances clarity, focus, and aesthetics.
|
|
381
|
+
|
|
382
|
+
1. *The bottle is centered in the frame, captured at eye level.*
|
|
383
|
+
2. *The girl and bunny are slightly off-center, framed from a gentle downward angle.*
|
|
384
|
+
3. *The logo is center-aligned with a tight, symmetrical layout.*
|
|
385
|
+
|
|
386
|
+
### **8- Technical Enhancers**
|
|
387
|
+
|
|
388
|
+
**Purpose**: These are the extra details that make the image look more polished or professional. They don’t change the content, but they improve how it looks — like lens type, lighting effects, bokeh, brush textures, or rendering style. These are useful when you want a certain artistic finish.
|
|
389
|
+
|
|
390
|
+
1. *A shallow depth of field gives the image a polished, professional look.*
|
|
391
|
+
2. *The brush strokes are loose and textured, with light color bleeds that add charm and softness.*
|
|
392
|
+
3. *The lines are clean, the edges sharp, and the style is vector-based with a modern, sporty look.*
|
|
393
|
+
|
|
394
|
+
**It is not necessary to use all the parts described above**. For example, when prompting for a logo design, you might not need to add anything about any secondary elements. Your prompt can be short or detailed, depending on your goal. The more parts you include, the more control you’ll have — but sometimes, a short or abstract prompt is the best way to explore creative results.
|
|
395
|
+
|
|
396
|
+
Now that you’ve seen each part in isolation, let’s bring them together.
|
|
397
|
+
|
|
398
|
+
***
|
|
399
|
+
|
|
400
|
+
## Assembling the Parts
|
|
401
|
+
|
|
402
|
+
Here’s a basic prompt template that is making use of all the parts described above:
|
|
403
|
+
|
|
404
|
+
> *[Image summary]. [Main subject details], [Pose or action], [Secondary elements], [Setting & Background], [Lighting & Atmosphere], [Framing & Composition], [Technical enhancers]*
|
|
405
|
+
|
|
406
|
+
By combining all the example parts from the example in section 3.1 above, we can build the following three complete prompts:
|
|
407
|
+
|
|
408
|
+
1. > *A product photo of a men’s perfume bottle named “Nightlife for men” in a sleek studio setup. The bottle is tall and rectangular with dark glass, a matte black cap, and silver lettering. The text “Nightlife for men” appears on the label in bold, modern font. The bottle stands upright with a slight reflection on the surface below. A wristwatch and a pair of sunglasses sit nearby, adding a masculine vibe. The scene is set on a smooth black surface with blurred city lights in the background. Lighting is moody and cool, with soft blue highlights and deep shadows. The bottle is centered in the frame, captured at eye level. A shallow depth of field gives the image a polished, professional look.*
|
|
409
|
+
2. > *A whimsical watercolor painting of a little girl playing with her bunny in a flower-filled field. The girl has short brown hair, a yellow dress, and rosy cheeks. She holds a fluffy white bunny in her arms, and both are smiling. The bunny is leaning into her, with its ears flopping gently. Wildflowers, butterflies, and a toy picnic basket surround them. They are outdoors in a grassy meadow, under a wide blue sky. The light is soft and sunny, with warm pastel tones and a dreamy atmosphere. The girl and bunny are slightly off-center, framed from a gentle downward angle. The brush strokes are loose and textured, with light color bleeds that add charm and softness.*
|
|
410
|
+
3. > *A logo design for a local football team called “Rhinos” in green, blue, and white. The main graphic shows a strong, stylized rhino head viewed from a three-quarter angle, with sharp lines and a bold expression. The word “Rhinos” appears in large, blocky letters beneath the icon. The rhino’s horn points slightly forward and up, adding a sense of motion. Stars and shield shapes accent the logo without crowding it. The background is flat white, with no scene or setting. The color palette is vivid, with deep blue outlines, white highlights, and green fills. The logo is center-aligned with a tight, symmetrical layout. The lines are clean, the edges sharp, and the style is vector-based with a modern, sporty look.*
|
|
411
|
+
|
|
412
|
+
{% hint style="warning" %}
|
|
413
|
+
|
|
414
|
+
> **Note:** Ideogram supports prompts **up to roughly 150-160 words or about 200 tokens** depending on the vocabulary. Anything beyond that limit may be **less effective or ignored entirely** by the AI when generating the image. To avoid losing key details, make sure the most important parts of your prompt come near the beginning. The assembled examples above approach that upper limit and are designed to give the AI strong visual and stylistic guidance while staying concise and well-structured.
|
|
415
|
+
> {% endhint %}
|
|
416
|
+
|
|
417
|
+
***
|
|
418
|
+
|
|
419
|
+
# 4- Handling Negatives
|
|
420
|
+
|
|
421
|
+
## Why Negative Phrasing Often Fails
|
|
422
|
+
|
|
423
|
+
Ideogram, like many text-to-image AIs, struggles with understanding negation. When you describe something in terms of what it shouldn't include, the AI often misinterprets or ignores the negation. Instead, it focuses on the keywords themselves. For example, prompting *“a man without a beard”* may result in an image of a man with a beard, as the AI emphasizes the word *“beard”* without processing the *“without”* modifier.
|
|
424
|
+
|
|
425
|
+
This issue arises because these models are trained to associate words with visual elements, but they don't inherently grasp the concept of absence or exclusion. Therefore, using negative terms like *“no,”* *“without,”* or *“not”* can lead to unintended results.
|
|
426
|
+
|
|
427
|
+
***
|
|
428
|
+
|
|
429
|
+
## Turn Negatives Into Positives
|
|
430
|
+
|
|
431
|
+
When people want to exclude something from the image, they usually write the prompt using negative concept and phrasing of what they don't want—*“no people,” “without clouds,” “not dark.”* That’s completely natural in everyday language, but it doesn’t work well with text-to-image AI like Ideogram.
|
|
432
|
+
|
|
433
|
+
Instead, try to shift your thinking: describe the *positive visual opposite* of the thing you want to exclude.
|
|
434
|
+
|
|
435
|
+
Ask yourself: *“If this thing wasn’t there, what would I see instead?”*
|
|
436
|
+
|
|
437
|
+
For example:
|
|
438
|
+
|
|
439
|
+
* Don't write *“no people in the room”* but write *“an empty room with chairs neatly arranged”*
|
|
440
|
+
* Avoid *“without hair”* and replace it by “a bald figure with smooth skin”
|
|
441
|
+
* Instead of *“a beach without people”* use *“an empty beach at sunrise”*
|
|
442
|
+
* Rather than *“a robot with no eyes”* try *“a robot with a smooth, featureless face”*
|
|
443
|
+
* Don't write *“no cars on the street”* but opt for *“a quiet pedestrian-only street”*
|
|
444
|
+
|
|
445
|
+
This might feel less intuitive at first, but it gets easier with practice and is far more effective. If you're unsure how to flip your idea into a positive phrase, turn on Magic Prompt—it will often converts the sentence to a positive phrase—or use a Large Language Models AI (LLM) like ChatGPT to suggest an affirmative rewrite.
|
|
446
|
+
|
|
447
|
+
***
|
|
448
|
+
|
|
449
|
+
# 5- Common Pitfalls and Fixes
|
|
450
|
+
|
|
451
|
+
Even with a good understanding of prompting, it’s easy to make small mistakes that lead to strange or disappointing results—especially when you're trying to get a very specific image from the AI. This section highlights some of the most common issues users run into when they want precise results and shows how to fix them with simple changes.
|
|
452
|
+
|
|
453
|
+
These tips are especially useful when you have a clear image in mind and want Ideogram to follow your descriptions closely. If you're prompting more for creative discovery or artistic exploration, some of these “mistakes” may actually lead to interesting results—so feel free to experiment.
|
|
454
|
+
|
|
455
|
+
## Vague Adjectives
|
|
456
|
+
|
|
457
|
+
**Issue:** Using non-specific descriptors like *“beautiful,” “interesting,” “nice”* or *“cool”* can lead to unpredictable outcomes, as the AI lacks a clear visual reference for these terms.
|
|
458
|
+
|
|
459
|
+
**Fix:** Replace vague adjectives with specific visual details.
|
|
460
|
+
|
|
461
|
+
> **Instead of:** *“A beautiful forest”*\
|
|
462
|
+
> **Try:** “A dense forest with tall pine trees and soft rays of sunlight filtering through the branches”*
|
|
463
|
+
>
|
|
464
|
+
> **Instead of:** *“A beautiful dress.”*\
|
|
465
|
+
> **Try:** “A red satin evening gown with intricate lace details.”*
|
|
466
|
+
|
|
467
|
+
***
|
|
468
|
+
|
|
469
|
+
## Generic Style Terms
|
|
470
|
+
|
|
471
|
+
**Issue:** Using broad style descriptors like “artistic” or “modern”—often seen at the beginning of the prompt to define the medium and style of the image—may not provide the AI with enough guidance to what kind of art you expect.
|
|
472
|
+
|
|
473
|
+
**Fix:** Specify the desired style using well-known art movements, techniques, or mediums.
|
|
474
|
+
|
|
475
|
+
> **Instead of:** *“a modern painting of a landscape”*\
|
|
476
|
+
> &#xNAN;***Try:** “An impressionist painting of a rolling countryside with thick brushstrokes and pastel tones”*
|
|
477
|
+
>
|
|
478
|
+
> **Instead of:** *“an artistic photo of a dancer”*\
|
|
479
|
+
> &#xNAN;***Try:** “A soft-focus photo of a ballet dancer mid-leap on a dimly lit stage”*
|
|
480
|
+
|
|
481
|
+
***
|
|
482
|
+
|
|
483
|
+
## Contradictory Descriptions
|
|
484
|
+
|
|
485
|
+
**Issue:** Writing conflicting information in a prompt can confuse the AI, leading to inconsistent or nonsensical images.
|
|
486
|
+
|
|
487
|
+
**Fix:** Ensure all elements of the prompt are coherent and compatible.
|
|
488
|
+
|
|
489
|
+
> **Instead of:** *“A minimalist sculpture with fine and intricate details”*\
|
|
490
|
+
> **Try:** *“A minimalist sculpture with smooth, simple geometric shapes in white marble”*\
|
|
491
|
+
> &#xNAN;***Or:** “A detailed sculpture carved with delicate patterns and ornamental features, displayed on a minimal white pedestal”*
|
|
492
|
+
>
|
|
493
|
+
> **Instead of:** *“A clean, empty room cluttered with artifacts”*\
|
|
494
|
+
> **Try:** *“A clean, empty room with plain white walls and a single wooden chair”*\
|
|
495
|
+
> &#xNAN;***Or:** “A room filled with ancient artifacts, displayed on simple white pedestals in a clean, open space”*
|
|
496
|
+
|
|
497
|
+
***
|
|
498
|
+
|
|
499
|
+
## Abstract Concepts Tied to a Subject
|
|
500
|
+
|
|
501
|
+
**Issue:** Prompts centered on abstract ideas without concrete visual elements can lead to a wide variety of results.
|
|
502
|
+
|
|
503
|
+
**Fix:** Anchor abstract concepts with tangible visuals.
|
|
504
|
+
|
|
505
|
+
> **Instead of:** *“A symbol of hope”*\
|
|
506
|
+
> **Try*****:** “A single flower blooming through a crack in the concrete”*
|
|
507
|
+
>
|
|
508
|
+
> **Instead of:** *“*A child caught in a moment of wonder*”*\
|
|
509
|
+
> **Try*****:** “A child staring up at a night sky filled with stars, mouth slightly open in awe”*
|
|
510
|
+
>
|
|
511
|
+
> **Instead of:** *“An old man lost in regret”*\
|
|
512
|
+
> **Try*****:** “An old man sitting alone on a park bench, staring down at a faded photo in his hands”*
|
|
513
|
+
|
|
514
|
+
***
|
|
515
|
+
|
|
516
|
+
## Aspect Ratio Influence on Framing
|
|
517
|
+
|
|
518
|
+
Even with the exact same prompt, Ideogram may generate very different results depending on the aspect ratio you choose.
|
|
519
|
+
|
|
520
|
+
This is because the AI tries to fill the entire canvas based on the image it was trained with, and different aspect ratios naturally suggest different types of framing. For example:
|
|
521
|
+
|
|
522
|
+
A prompt like *“A woman walking on a busy city street sidewalk”*
|
|
523
|
+
|
|
524
|
+
* In **portrait (1:2)**, the result may show her full body from head to toe.
|
|
525
|
+
* In **landscape (2:1)**, the framing may shift closer—showing her from the waist up or knees up to fit the wider format.
|
|
526
|
+
|
|
527
|
+
If you're aiming for a specific composition—like a wide scenic view, a full-body portrait, or a tight close-up—it helps to:
|
|
528
|
+
|
|
529
|
+
* **Choose an aspect ratio** that matches your intent
|
|
530
|
+
* **Include clear framing cues** in your prompt, such as *“full-body,” “head and shoulders,” “wide establishing shot,”* and so on
|
|
531
|
+
|
|
532
|
+
However, even with a matching prompt and aspect ratio, the AI may still frame your subject differently than expected. For example:
|
|
533
|
+
|
|
534
|
+
* You might ask for a **full-body view** in landscape format, but the result shows only the upper body
|
|
535
|
+
* Or you might want a **close-up** in portrait format, but the AI includes the full body anyway
|
|
536
|
+
|
|
537
|
+
To guide the framing more precisely, here are two simple strategies that work in both cases:
|
|
538
|
+
|
|
539
|
+
1. **Include visual elements that hint at how much of the subject should be shown**
|
|
540
|
+
* For **full-body results**, describe things near the feet—like shoes, sidewalk texture, shadows, or puddles
|
|
541
|
+
* For **close-ups**, focus only on upper-body features—like eyes, lips, hands, or shoulders
|
|
542
|
+
2. **Adjust the focus of the prompt**
|
|
543
|
+
* For wider framing, make the **environment** the main subject (e.g., *“a crowded city sidewalk”*) and describe the person as a key detail within it
|
|
544
|
+
* For tighter framing, keep the **person** as the main subject and avoid describing large-scale surroundings that suggest a wide shot
|
|
545
|
+
|
|
546
|
+
These small changes help steer the AI toward the type of framing that fits your goal—whether it’s a full scene or a focused portrait. Combining descriptive language with the right aspect ratio gives you much better control over what appears in the final image.
|
|
547
|
+
|
|
548
|
+
***
|
|
549
|
+
|
|
550
|
+
In conclusion, learning to spot these small issues—and knowing how to fix them—can make a big difference in how well your prompt is understood. With just a few adjustments, you'll start getting images that feel a lot closer to what you had in mind.
|
|
551
|
+
|
|
552
|
+
In the next section, you’ll see how to iterate and refine your prompt step by step.
|
|
553
|
+
|
|
554
|
+
***
|
|
555
|
+
|
|
556
|
+
# 9- Prompting References
|
|
557
|
+
|
|
558
|
+
# Describing Skin Tones
|
|
559
|
+
|
|
560
|
+
When prompting for people, the way you describe skin tone can have a big impact on how your image turns out. The list below offers a range of terms that go beyond basic color names, helping you get closer to the exact tone you’re aiming for.
|
|
561
|
+
|
|
562
|
+
#### Ethnicities, Regions and Skin Tone Terms
|
|
563
|
+
|
|
564
|
+
* **African / Afro-Caribbean / Afro-Latin / Aboriginal**\
|
|
565
|
+
Chestnut, walnut, cacao, chocolate, roasted coffee, espresso, brown sugar, obsidian, coal, velvet mahogany, dark molasses, sable, burnt umber, nightwood, onyx
|
|
566
|
+
* **Central / Western / Southern European**\
|
|
567
|
+
Sand, beige, oat, cream, butter, wheat, linen, light gold, limestone, champagne
|
|
568
|
+
* **East Asian / Southeast Asian**\
|
|
569
|
+
Rice beige, bamboo, light peach, soy, pale gold, warm tan, ginger, milk tea, sesame
|
|
570
|
+
* **Latino / Latin American / Mixed Ethnicity**\
|
|
571
|
+
Dulce de leche, mocha, sugar cane, café au lait, burnt sugar, golden cinnamon, pan dulce
|
|
572
|
+
* **Mediterranean / Levantine / North African / West Asian**\
|
|
573
|
+
Olive, honey, golden, caramel, sunlit bronze, amber, toffee, toasted almond, turmeric
|
|
574
|
+
* **Middle Eastern / Persian / Central Asian**\
|
|
575
|
+
Date, pistachio brown, rose gold, saffron beige, honey-bronze, cardamom, khaki gold
|
|
576
|
+
* **Native American / Indigenous American / Andean**\
|
|
577
|
+
Russet, clay, terra cotta, saddle brown, adobe, copper, cedarwood, cinnamon earth
|
|
578
|
+
* **Northern European / Nordic / Celtic**\
|
|
579
|
+
Alabaster, porcelain, pearl, ivory, milk, snow, eggshell, frosted glass
|
|
580
|
+
* **Oceanic / Polynesian / Melanesian**\
|
|
581
|
+
Island bronze, coconut husk, dark honey, sun-baked clay, palm bark, molasses, smoked amber
|
|
582
|
+
* **South Asian / Indian Subcontinent**\
|
|
583
|
+
Almond, cashew, warm bronze, cinnamon, nutmeg, chai, clove, maple syrup, wheat brown
|
|
584
|
+
|
|
585
|
+
#### **Modifiers & Tone Enhancers**
|
|
586
|
+
|
|
587
|
+
To help Ideogram better understand depth, richness, and undertones, here are some modifiers that can be used:
|
|
588
|
+
|
|
589
|
+
* Dark / Deep / Rich
|
|
590
|
+
* Medium / Toasted / Radiant / Golden
|
|
591
|
+
* Fair / Pale / Light / Soft
|
|
592
|
+
* Cool / Neutral / Warm
|
|
593
|
+
* Sun-kissed / Earthy / Luminous / Smooth / Matte / Glowing
|
|
594
|
+
|
|
595
|
+
#### Examples
|
|
596
|
+
|
|
597
|
+
You can pair regional or ethnic references with expressive skin tone descriptors to get the best results:
|
|
598
|
+
|
|
599
|
+
> * *A Middle Eastern woman with a warm olive glow*
|
|
600
|
+
> * *A Northern European fireman with fair ivory tone*
|
|
601
|
+
> * *Several Central African children with deep ebony skin*
|
|
602
|
+
> * *An Afro-Caribbean teenager with a warm cocoa complexion*
|
|
603
|
+
> * *Two old Mediterranean sailors with golden-tan olive skin*
|
|
604
|
+
> * *A Latin American girl with soft caramel skin*
|
|
605
|
+
> * *A Southeast Asian movie star with honey-golden skin*
|
|
606
|
+
> * *A Pacific Islander with bronze-tinted skin*
|
|
607
|
+
|
|
608
|
+
|
|
609
|
+
# Describing Body Type
|
|
610
|
+
|
|
611
|
+
When prompting for people, body shape can be just as important as age, clothing, or lighting. This appendix provides clearly categorized and visually descriptive language to help you communicate body types more effectively. Each group includes both base terms (like “slim” or “athletic”) and optional visual cues to shape the tone and form of the generated subject.
|
|
612
|
+
|
|
613
|
+
**Slim / Thin / Petite**\
|
|
614
|
+
Slim woman / man, thin figure, petite body, slender waist and limbs, model-like proportions, delicate frame, subtle curves, lean and narrow body, low body fat, elongated limbs, minimal muscle tone, flat stomach, narrow shoulders
|
|
615
|
+
|
|
616
|
+
**Average / Balanced / Natural**\
|
|
617
|
+
Average build, proportional figure, natural-looking body, everyday person body type, medium frame, moderate weight, healthy body proportions, softly toned but not muscular
|
|
618
|
+
|
|
619
|
+
**Athletic / Toned / Fit**\
|
|
620
|
+
Athletic female / male, toned arms and legs, strong core, defined abs, fit body with muscle definition, lean and powerful physique, swimmer’s build, active and agile frame, sporty look with low body fat
|
|
621
|
+
|
|
622
|
+
**Muscular / Bodybuilder**\
|
|
623
|
+
Muscular man / woman, bodybuilder physique, bulging biceps, defined chest, ripped six-pack abs, thick thighs, broad shoulders, hyper-defined muscles, gym-hardened body, extreme muscularity, heavy vascularity
|
|
624
|
+
|
|
625
|
+
**Chubby / Curvy / Plus-Size**\
|
|
626
|
+
Curvy woman / man, plus-size model body, full hips, thick thighs, soft belly, round arms, voluptuous figure, wide hips and small waist, thick and padded body, comfortably plump, generous curves
|
|
627
|
+
|
|
628
|
+
**Obese / Massive / Extremely Overweight**\
|
|
629
|
+
Obese woman / man, extremely overweight body, very large frame, pronounced belly, thick neck, round face, heavy limbs, wide body, massive curves, exaggerated proportions, fat rolls, full figure
|
|
630
|
+
|
|
631
|
+
**Lanky / Wiry / Gangled**\
|
|
632
|
+
Lanky young man / woman, tall and thin, wiry frame, long limbs, awkward posture, slight build, spindly arms and legs, slouchy, stretched look
|
|
633
|
+
|
|
634
|
+
**Stocky / Thickset / Compact**\
|
|
635
|
+
Stocky man / woman, short and broad build, thick torso, short legs, dense muscular frame, low center of gravity, solid, wide chest
|
|
636
|
+
|
|
637
|
+
**Curvy / Hourglass / Voluptuous** *(feminine idealized shapes)*\
|
|
638
|
+
Hourglass figure, voluptuous body, full bust and hips, tiny waist, rounded thighs and soft belly, shapely and seductive silhouette, pin-up style curves, glamorous body proportions
|
|
639
|
+
|
|
640
|
+
**Androgynous / Gender-Neutral**\
|
|
641
|
+
Androgynous figure, gender-neutral body, flat chest, minimal curves, straight waist, soft features, unisex appearance, balanced proportions.
|
|
642
|
+
|
|
643
|
+
# Memory Colors for Naming Color Nuances
|
|
644
|
+
|
|
645
|
+
When describing colors in a prompt, using specific, visually grounded references is much more effective than generic terms like “red” or “green.” Since Ideogram doesn’t understand numerical color codes (like RGB or hex) in prompts yet, using familiar, real-world references — often called *memory colors* — helps convey a more accurate color nuance. These references evoke a mental image based on shared visual experience, such as “cherry red” or “sky blue.”
|
|
646
|
+
|
|
647
|
+
The list below groups memory-based color terms by base color. Each one can help you fine-tune your prompt and get closer to the exact hue you’re aiming for.
|
|
648
|
+
|
|
649
|
+
**🔴 Red**\
|
|
650
|
+
Apple, cherry, cranberry, blood, scarlet, ruby, wine, burgundy, brick, rose, garnet, fire engine, tomato, coral, blush, pomegranate, strawberry, chili, paprika, beet, firelight, jam, sangria, red velvet, ember
|
|
651
|
+
|
|
652
|
+
**🟠 Orange**\
|
|
653
|
+
Pumpkin, tangerine, apricot, rust, amber, carrot, marmalade, clay, copper, burnt orange, squash, paprika, cantaloupe, butternut, saffron, cheddar, flame, tiger, persimmon, ginger, ochre
|
|
654
|
+
|
|
655
|
+
**🟡 Yellow**\
|
|
656
|
+
Lemon, canary, gold, butter, mustard, sunflower, honey, daffodil, marigold, corn, banana, champagne, straw, yolk, dandelion, custard, pineapple, flax, amber glow, maize, goldenrod
|
|
657
|
+
|
|
658
|
+
**🟢 Green**\
|
|
659
|
+
Emerald, olive, sage, forest, moss, mint, jade, chartreuse, pistachio, lime, seafoam, fern, avocado, shamrock, basil, eucalyptus, pear, pickle, ivy, clover, pine, cactus, wasabi, celery
|
|
660
|
+
|
|
661
|
+
**🔵 Blue**\
|
|
662
|
+
Sky, baby blue, robin’s egg, navy, royal, sapphire, denim, indigo, ice blue, slate, teal, powder blue, steel blue, periwinkle, cobalt, storm, glacier, cornflower, ink, horizon, arctic, bluebell, lake, dusk
|
|
663
|
+
|
|
664
|
+
**🟣 Purple**\
|
|
665
|
+
Lavender, plum, violet, eggplant, orchid, grape, amethyst, wine, mauve, lilac, iris, mulberry, blackberry, heather, wisteria, fig, thistle, aubergine, twilight, royal purple, raisin, elderberry
|
|
666
|
+
|
|
667
|
+
**⚪ White / Off-White**\
|
|
668
|
+
Pearl, cream, ivory, alabaster, porcelain, eggshell, chalk, snow, linen, milk, moonlight, lace, frosting, meringue, cloud, rice paper, marble, parchment, vanilla, whipped cream, winter white
|
|
669
|
+
|
|
670
|
+
**⚫ Black / Gray**\
|
|
671
|
+
Charcoal, graphite, slate, ash, onyx, coal, soot, obsidian, lead, pewter, smoke, shadow, ink, iron, flint, steel, raven, gunmetal, stormcloud, tar, night, cinder
|
|
672
|
+
|
|
673
|
+
**🟤 Brown / Tan**\
|
|
674
|
+
Chocolate, coffee, cinnamon, chestnut, caramel, toffee, walnut, sand, taupe, ochre, clay, hazelnut, sepia, sienna, almond, pecan, mocha, maple, cocoa, bronze, dirt, suede, umber
|
|
675
|
+
|
|
676
|
+
**🩷 Pink**\
|
|
677
|
+
Rose, blush, salmon, bubblegum, flamingo, cotton candy, coral, peach, watermelon, raspberry, fuchsia, magenta, strawberry milk, hibiscus, tulip, rose quartz, guava, flamingo, cherry blossom, lipstick, flamingo feather
|
|
678
|
+
|
|
679
|
+
**🩵 Cyan / Aqua**\
|
|
680
|
+
Aqua, turquoise, glacier, lagoon, ocean, seafoam, pool, iceberg, teal, cyan, electric blue, mint, carribean, celeste, marine, arctic water, jellyfish glow, frostbite, cerulean, surf, wave
|
|
681
|
+
|
|
682
|
+
**🌈 Multicolored / Iridescent**\
|
|
683
|
+
Oil slick, holographic, rainbow, opal, abalone, prism, pearlized, shimmer, aurora, peacock feather, soap bubble, CD surface, crystal sheen, beetle shell, starlight, dragonfly wing
|
|
684
|
+
|
|
685
|
+
#### Descriptive Modifiers for Color
|
|
686
|
+
|
|
687
|
+
To further refine the color you're describing, you can combine memory-based color terms with descriptive modifiers. These help define the **intensity**, **temperature**, **finish**, or **lighting** of the color — allowing for more control and expressiveness in your prompts.
|
|
688
|
+
|
|
689
|
+
Here are common categories and examples of useful modifiers:
|
|
690
|
+
|
|
691
|
+
* **Intensity or Brightness**\
|
|
692
|
+
Pale, light, soft, faint, pastel, bright, deep, vivid, bold, dark, muted, rich, intense
|
|
693
|
+
* **Warmth and Temperature**\
|
|
694
|
+
Warm, cool, neutral, icy, frosted, fiery, dusky, earthy
|
|
695
|
+
* **Finish or Surface Quality**\
|
|
696
|
+
Glossy, matte, metallic, shimmering, iridescent, pearlescent, velvet-like, translucent, silky, powdery
|
|
697
|
+
* **Light and Shadow Modifiers**\
|
|
698
|
+
Sunlit, shadowed, backlit, faded, dimmed, glowing, reflective, foggy, moonlit
|
|
699
|
+
|
|
700
|
+
**Examples**\
|
|
701
|
+
You can combine these with memory-based color terms for added clarity and control:
|
|
702
|
+
|
|
703
|
+
> * *Powdery sky blue*
|
|
704
|
+
> * *Rich cherry red*
|
|
705
|
+
> * *Frosted mint green*
|
|
706
|
+
> * *Dusky rose pink*
|
|
707
|
+
> * *Shimmering sapphire blue*
|
|
708
|
+
> * *Matte ivory white*
|
|
709
|
+
|
|
710
|
+
|
|
711
|
+
# Angle of View and Perspective
|
|
712
|
+
|
|
713
|
+
In image generation, the angle from which a scene or subject is viewed can dramatically affect the composition, storytelling, and overall feel of the result. This appendix outlines a variety of useful terms for describing point of view — both for the scene as a whole, and for individual people, animals, or objects within it.
|
|
714
|
+
|
|
715
|
+
#### 📸 Scene-Level Perspective (Camera-to-Environment Angle)
|
|
716
|
+
|
|
717
|
+
These terms describe how the viewer is positioned relative to the entire scene or environment.
|
|
718
|
+
|
|
719
|
+
* **Bird’s-eye view** — looking down from high above (also: aerial view, top-down perspective)
|
|
720
|
+
* **Worm’s-eye view** — looking up from ground level (also: low-ground view)
|
|
721
|
+
* **Overhead view** — directly above the subject (similar to: bird’s-eye, top-down)
|
|
722
|
+
* **Aerial view** — wide view from a high altitude (drone-style)
|
|
723
|
+
* **Isometric view** — angled top-down with parallel lines and no distortion (also: game map view, simulated 3D)
|
|
724
|
+
* **Wide-angle view** — expansive field of vision (also: cinematic wide shot, landscape framing)
|
|
725
|
+
* **Establishing shot** — broad scene-setting view (also: intro frame, scene overview)
|
|
726
|
+
* **Panoramic view** — ultra-wide horizontal framing (also: 360° view, landscape sweep)
|
|
727
|
+
* **Side view** — looking across from the left or right (also: lateral view, profile of the scene)
|
|
728
|
+
* **Tilted angle (Dutch angle)** — slanted horizon (also: skewed angle, off-kilter frame)
|
|
729
|
+
* **Point of view (POV)** — from a character’s visual perspective (also: first-person view)
|
|
730
|
+
* **Over-the-shoulder** — behind a subject, viewing what they see (also: behind POV)
|
|
731
|
+
* **Distant view** — subject seen from afar (also: far-shot, wide establishing)
|
|
732
|
+
|
|
733
|
+
#### 👁️ Subject-Level Perspective (Viewing a Person, Animal, or Object)
|
|
734
|
+
|
|
735
|
+
These terms describe how the subject itself is being viewed or framed in the composition.
|
|
736
|
+
|
|
737
|
+
* **Front view** — directly facing the subject (also: straight-on view)
|
|
738
|
+
* **Side profile** — side of the face or body (also: profile view, lateral angle)
|
|
739
|
+
* **Back view** — viewing the subject from behind (also: rear angle)
|
|
740
|
+
* **Three-quarter view** — angled between front and side (also: partial side view)
|
|
741
|
+
* **Close-up** — tightly framed (also: portrait crop, detail view)
|
|
742
|
+
* **Extreme close-up** — single facial feature or small detail (e.g., just eyes, lips, hand)
|
|
743
|
+
* **Full-body shot** — head to toe (also: wide crop of the subject)
|
|
744
|
+
* **Headshot** — upper torso and face (also: bust shot, portrait frame)
|
|
745
|
+
* **Low angle** — looking up (also: heroic angle, upward shot)
|
|
746
|
+
* **High angle** — looking down (also: downward shot, overhead crop)
|
|
747
|
+
* **Eye-level** — neutral, straight-on framing (also: natural perspective)
|
|
748
|
+
* **Overhead angle** — directly above the subject (like from a drone or ceiling)
|
|
749
|
+
* **Underside view** — from beneath the subject (also: under-angle, worm’s/ant's perspective)
|
|
750
|
+
* **Behind-the-subject** — subject turned away (also: back-facing composition)
|
|
751
|
+
* **Obscured or cropped view** — subject partially hidden or off-frame (also: partial view)
|
|
752
|
+
|
|
753
|
+
You can combine these terms with emotional cues, lens types, or action words for even more control.\
|
|
754
|
+
For example:
|
|
755
|
+
|
|
756
|
+
> * *Aerial view of a foggy village*
|
|
757
|
+
> * *Over-the-shoulder shot of a warrior facing the horizon*
|
|
758
|
+
> * *Three-quarter close-up of a woman smiling*
|
|
759
|
+
> * *Low-angle view of a tree glowing in moonlight*
|
|
760
|
+
> * *Full-body front view of a seated child*
|
|
761
|
+
|
|
762
|
+
#### Be Careful With Conflicting Perspective Elements
|
|
763
|
+
|
|
764
|
+
When using angle or point-of-view terms in your prompts, make sure the other details you describe make sense from that same viewpoint. Since the AI tries to include everything you mention, asking for something that wouldn’t normally be visible from a specific angle can confuse it — and may cause the model to ignore the perspective altogether.
|
|
765
|
+
|
|
766
|
+
**Examples of possible contradictions:**
|
|
767
|
+
|
|
768
|
+
> * *A top-down bird’s-eye view of a city […] the sky is filled with fluffy white clouds.*
|
|
769
|
+
> * *A rear view of a man walking away […] he is smiling at the camera.*
|
|
770
|
+
> * *An extreme close-up of a woman’s face […] she is wearing a knee-length red dress.*
|
|
771
|
+
|
|
772
|
+
# Describing Age and Life Stage
|
|
773
|
+
|
|
774
|
+
When prompting for people, describing age clearly can shape the outcome just as much as physical features or clothing. However, many AIs don’t reliably interpret numeric ages (e.g., “a 7-year-old girl”) with visual accuracy. Instead of specifying numbers, it’s more effective to use descriptive, life stage–based terms. This appendix breaks those terms into two parts per group: age terms and modifiers to help communicate the age and physical traits more accurately.
|
|
775
|
+
|
|
776
|
+
You can mix and match across each category for more controlled image generation.
|
|
777
|
+
|
|
778
|
+
#### **Infant (0–1)**
|
|
779
|
+
|
|
780
|
+
* **Age Terms**\
|
|
781
|
+
Newborn, baby, infant
|
|
782
|
+
* **Modifiers**\
|
|
783
|
+
Chubby, swaddled, soft-cheeked, sleeping, wide-eyed, tiny limbs, smooth skin, round cheeks
|
|
784
|
+
|
|
785
|
+
#### **Toddler (1–3)**
|
|
786
|
+
|
|
787
|
+
* **Age Terms**\
|
|
788
|
+
Toddler, young toddler, early walker
|
|
789
|
+
* **Modifiers**\
|
|
790
|
+
Baby-faced, wobbling, curly-haired, pudgy, chubby cheeks, short limbs, clumsy
|
|
791
|
+
|
|
792
|
+
#### **Young Child (4–7)**
|
|
793
|
+
|
|
794
|
+
* **Age Terms**\
|
|
795
|
+
Young child, small child, preschooler, kindergartener
|
|
796
|
+
* **Modifiers**\
|
|
797
|
+
Playful, curious, big-eyed, tousled hair, toothy smile, energetic, innocent expression, round face
|
|
798
|
+
|
|
799
|
+
#### **Older Child (8–12)**
|
|
800
|
+
|
|
801
|
+
* **Age Terms**\
|
|
802
|
+
Older child, grade-schooler, school-aged kid, preteen
|
|
803
|
+
* **Modifiers**\
|
|
804
|
+
Freckled, active, gap-toothed, lean-limbed, lively, transitional build, early maturity
|
|
805
|
+
|
|
806
|
+
#### **Teenager (13–17)**
|
|
807
|
+
|
|
808
|
+
* **Age Terms**\
|
|
809
|
+
Teenager, adolescent, high school–aged, teenage girl/boy
|
|
810
|
+
* **Modifiers**\
|
|
811
|
+
Moody, gangly, early puberty, developing features, serious gaze, youthful but mature, growing taller, soft jawline
|
|
812
|
+
|
|
813
|
+
#### **Young Adult (18–25)**
|
|
814
|
+
|
|
815
|
+
* **Age Terms**\
|
|
816
|
+
Young adult, college-aged adult, late teen, youthful adult, stylish young man/woman
|
|
817
|
+
* **Modifiers**\
|
|
818
|
+
Fresh-faced, smooth-skinned, subtly mature, vibrant, minimal wrinkles, soft features
|
|
819
|
+
|
|
820
|
+
#### **Adult (26–39)**
|
|
821
|
+
|
|
822
|
+
* **Age Terms**\
|
|
823
|
+
Adult, early 30s adult, adult in their prime, mature young man/woman
|
|
824
|
+
* **Modifiers**\
|
|
825
|
+
Refined features, confident, glowing skin, strong jawline, well-groomed, composed, healthy appearance, mature presence
|
|
826
|
+
|
|
827
|
+
#### **Middle-Aged (40–59)**
|
|
828
|
+
|
|
829
|
+
* **Age Terms**\
|
|
830
|
+
Middle-aged adult, mature adult, adult in their 40s or 50s
|
|
831
|
+
* **Modifiers**\
|
|
832
|
+
Distinguished, subtle wrinkles, salt-and-pepper hair, thoughtful expression, experienced face, graceful aging, defined lines, mature elegance, visible signs of life experience
|
|
833
|
+
|
|
834
|
+
#### **Senior (60–79)**
|
|
835
|
+
|
|
836
|
+
* **Age Terms**\
|
|
837
|
+
Senior, older adult, elderly man/woman, grandparent
|
|
838
|
+
* **Modifiers**\
|
|
839
|
+
Silver-haired, deep smile lines, wrinkled skin, wise eyes, cane or reading glasses
|
|
840
|
+
|
|
841
|
+
#### **Elder / Advanced Age (80+)**
|
|
842
|
+
|
|
843
|
+
* **Age Terms**\
|
|
844
|
+
Elder, aged elder, very old person
|
|
845
|
+
* **Modifiers**\
|
|
846
|
+
Frail, thin white hair, deeply wrinkled, slow-moving, hunched posture, fragile yet dignified, timeless expression
|
|
847
|
+
|
|
848
|
+
#### Age Modifiers by Life Stage
|
|
849
|
+
|
|
850
|
+
These descriptive modifiers can enhance the emotional tone, physical appearance, or personality of a character based on their age group. While some are flexible, most are naturally suited to a specific stage of life.
|
|
851
|
+
|
|
852
|
+
* **Youth-Oriented Modifiers:**\
|
|
853
|
+
Youthful, baby-faced, radiant with youth, fresh-faced, full of life, soft-featured, innocent-looking
|
|
854
|
+
* **Neutral or Crossover Modifiers:**\
|
|
855
|
+
Mature presence, confident, refined, composed, healthy-looking, well-groomed, graceful
|
|
856
|
+
* **Age-Related or Elder-Oriented Modifiers:**\
|
|
857
|
+
Aging gracefully, time-worn, dignified aging, weathered by time, wise-looking, timeless beauty, deeply lined, gentle presence
|
|
858
|
+
|
|
859
|
+
|
|
860
|
+
`);
|