
Tshirt Design Generation
- 225 installs
- 28 repo stars
- Updated April 21, 2026
- eachlabs/skills
tshirt-design-generation is an Eachlabs skill that generates print-ready t-shirt and apparel artwork through the each::sense API, pairing 10 style recipes with file format and color-count guidance for 5 print methods.
About
Turns apparel briefs into print-ready shirt artwork through Eachlabs' each::sense API (model eachsense/beta, SSE streaming, X-API-Key auth): 10 curl recipes span graphic, typography, vintage, and meme styles, a spec table matches file format and color count to screen print, DTG, sublimation, heat transfer, or vinyl cut, and session_id reuse keeps multi-design collections stylistically consistent.
- Provides ten curl recipes for graphic, typography, vintage, minimalist, band, sports and meme designs.
- Spec table maps 5 print methods to format and color count (screen print 1-6 spot colors, vinyl cut 1-3, no gradients)
- session_id iteration: refine one design across turns or batch a style-consistent collection
- max vs eco modes: final print-ready art vs fast concept drafts
- Print guidance: 300 DPI, white underbase on dark shirts, halftones, bleed margin
Tshirt Design Generation by the numbers
- 225 all-time installs (skills.sh)
- Ranked #589 of 1,335 Generative Media skills by installs in the Skillselion catalog
- Data as of Aug 1, 2026 (Skillselion catalog sync)
npx skills add https://github.com/eachlabs/skills --skill tshirt-design-generationAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 225 |
|---|---|
| repo stars | ★ 28 |
| Last updated | April 21, 2026 |
| Repository | eachlabs/skills ↗ |
What it does
A developer stocking a print-on-demand merch store prompts each::sense for a wolf graphic or vintage badge, limits it to 4 spot colors on a transparent PNG, then refines it on one session_id.
Who is it for?
Developers running print-on-demand or ecommerce merch stores who need production-grade shirt artwork (transparent PNGs, spot-color limits, 300 DPI) without hiring an illustrator
Skip if: Not for product mockup photography (the related product-photo-generation skill covers that) or general-purpose image generation; every recipe here is tuned to apparel print constraints.
When should I use this skill?
Use it for t-shirt, apparel or merch artwork, including graphic, typography, band, sports and meme designs, especially when output must fit screen printing, DTG, sublimation or vinyl cutting.
What you get
Production-ready design files: transparent PNGs matched to the target print method's format and color limits, refinable across turns with a session_id.
- Print-ready apparel graphics as transparent PNGs
- Spot-color-limited designs for screen printing
- Style-consistent design collections generated under one session_id
By the numbers
- 10 numbered use-case example recipes
- Design spec table covers 5 print methods
- 2 generation modes: max and eco
Files
T-Shirt Design Generation
Generate professional, print-ready t-shirt and apparel designs using each::sense. This skill creates high-quality graphics optimized for screen printing, DTG (direct-to-garment), sublimation, and heat transfer printing methods.
Features
- Graphic Designs: Bold illustrations and artwork for statement tees
- Typography: Text-based designs with creative lettering and fonts
- Vintage/Retro: Distressed, worn-look designs with classic aesthetics
- Minimalist: Clean, simple designs with maximum impact
- Illustrations: Hand-drawn style artwork and characters
- Band/Music: Concert merch style designs
- Sports Team: Athletic apparel graphics and logos
- Humor/Meme: Funny designs and pop culture references
- Abstract Art: Artistic patterns and contemporary designs
- Print-Ready: Transparent background exports for production
Quick Start
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Create a graphic t-shirt design featuring a roaring tiger with geometric patterns, bold colors, suitable for screen printing"}],
"model": "eachsense/beta",
"stream": true,
"mode": "max"
}'Design Specifications
| Print Method | Recommended Format | Colors | Notes |
|---|---|---|---|
| Screen Print | PNG with transparency | Limited (1-6 colors) | Spot colors, high contrast |
| DTG | PNG with transparency | Unlimited | Full color, photorealistic ok |
| Sublimation | PNG/JPG | Unlimited | All-over prints, vibrant colors |
| Heat Transfer | PNG with transparency | Unlimited | Works on dark/light garments |
| Vinyl Cut | Vector-style PNG | 1-3 colors | Simple shapes, no gradients |
Use Case Examples
1. Graphic T-Shirt Design
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Create a graphic t-shirt design of a wolf howling at the moon. Use a bold, illustrative style with deep blues and purples. The design should be centered and work well on both black and white shirts. Include some geometric elements and stars around the wolf."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max"
}'2. Typography/Text-Based Design
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Create a typography t-shirt design with the phrase \"Stay Wild\" in a bold, hand-lettered style. Add decorative flourishes and small nature elements like mountains and pine trees integrated into the lettering. Black ink style, suitable for light colored shirts."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max"
}'3. Vintage/Retro Style Design
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Create a vintage retro t-shirt design for a fictional surf shop called \"Pacific Wave Co. Est. 1975\". Use faded colors, distressed textures, and 70s typography. Include a sunset, palm trees, and surfboard. Circular badge design with worn, screen-printed look."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max"
}'4. Minimalist Design
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Create a minimalist t-shirt design featuring a simple line art mountain range with a small sun. Single continuous line style, black only. Clean, modern, Scandinavian aesthetic. Small chest placement size, very simple and elegant."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max"
}'5. Illustration-Based Design
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Create an illustrated t-shirt design of a Japanese koi fish swimming through waves. Traditional Japanese art style with modern twist. Use orange, red, white, and blue colors. Include cherry blossom petals and water splashes. Vertical composition for front of shirt."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max"
}'6. Band/Music T-Shirt Design
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Create a rock band t-shirt design for a fictional band called \"Electric Storm\". Heavy metal aesthetic with lightning bolts, skulls, and electric guitar. Gothic typography for the band name. Black and white with red accents. Tour dates style layout on the back."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max"
}'7. Sports Team Design
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Create a sports team t-shirt design for \"Thunder Hawks Basketball\". Athletic style with an aggressive hawk mascot holding a basketball. Team colors navy blue and gold. Include \"2024 Champions\" text. Bold, dynamic composition with motion lines."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max"
}'8. Funny/Meme T-Shirt Design
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Create a funny t-shirt design featuring a lazy sloth hanging from a branch with text \"Running Late Is My Cardio\". Cute cartoon style, pastel colors. The sloth should have a sleepy, unbothered expression. Light-hearted and humorous vibe."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max"
}'9. Abstract Art Design
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Create an abstract art t-shirt design with fluid shapes, bold brushstrokes, and vibrant colors. Contemporary art gallery style. Mix of geometric and organic forms. Colors: electric blue, hot pink, orange, and black. Large front print composition."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max"
}'10. Print-Ready Design with Transparent Background
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Create a print-ready t-shirt design with transparent background. Design a detailed skull with flowers growing from it (memento mori style). High contrast, clean edges suitable for screen printing. Output as PNG with transparency. Colors: limited to 4 spot colors - black, red, green, cream."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max"
}'Best Practices
Design Guidelines
- Placement: Consider standard print areas (front center, left chest, back)
- Resolution: Request high resolution for print quality (300 DPI equivalent)
- Color Count: Specify limited colors for screen printing cost efficiency
- Contrast: Ensure design works on intended shirt colors
- Edges: Clean, defined edges for easier separation
Print Considerations
- Bleed Area: Leave margin around design edges
- Underbase: For dark shirts, mention if white underbase is needed
- Halftones: Specify if gradients should use halftone patterns
- Registration: Simple designs with fewer colors = easier registration
File Output Tips
- Request transparent PNG for versatility
- Specify if you need vector-style output
- Mention target print size (e.g., "12 inches wide for standard front print")
Mode Selection
"Do you want fast drafts or production-quality designs?"
| Mode | Best For | Speed | Quality |
|---|---|---|---|
max | Final print-ready designs, client presentations | Slower | Highest |
eco | Quick concepts, design exploration, mockup iterations | Faster | Good |
Multi-Turn Design Iteration
Use session_id to refine designs through conversation:
# Initial concept
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Create a vintage motorcycle t-shirt design with a classic chopper"}],
"model": "eachsense/beta",
"stream": true,
"session_id": "moto-design-001"
}'
# Refine the design
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Add flames coming from the exhaust and put \"Born to Ride\" text in a banner below"}],
"model": "eachsense/beta",
"stream": true,
"session_id": "moto-design-001"
}'
# Request color variation
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Create a version with only black and gold colors for a premium look"}],
"model": "eachsense/beta",
"stream": true,
"session_id": "moto-design-001"
}'Design Collections (Batch Generation)
Generate multiple designs for a collection:
# Design 1 - Mountain theme
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Create an outdoor adventure t-shirt design with mountains and \"Explore More\" text. Earth tones, vintage camping aesthetic."}],
"model": "eachsense/beta",
"stream": true,
"session_id": "outdoor-collection",
"mode": "eco"
}'
# Design 2 - Forest theme (same session for style consistency)
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Create a matching design for the collection with forest and pine trees theme. Same style as the mountain design. Text: \"Get Lost\""}],
"model": "eachsense/beta",
"stream": true,
"session_id": "outdoor-collection",
"mode": "eco"
}'
# Design 3 - Campfire theme
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Third design in the collection - campfire scene with stars. Same vintage outdoor style. Text: \"Under the Stars\""}],
"model": "eachsense/beta",
"stream": true,
"session_id": "outdoor-collection",
"mode": "eco"
}'Prompt Tips for T-Shirt Designs
Include these details for best results:
1. Style: Illustrative, minimalist, vintage, cartoon, realistic, etc. 2. Subject: What the main visual element is 3. Colors: Specific colors or color scheme 4. Target Garment: Black tee, white tee, or both 5. Print Method: Screen print, DTG, etc. 6. Placement: Front, back, left chest, all-over 7. Text: Any typography to include 8. Mood: Edgy, fun, professional, artistic, etc.
Example Prompt Structure
"Create a [style] t-shirt design featuring [subject].
Use [colors] color scheme. Design should work on [garment color] shirts.
Include text: \"[text]\". [Additional requirements].
Output as [format] for [print method]."Error Handling
| Error | Cause | Solution |
|---|---|---|
Failed to create prediction: HTTP 422 | Insufficient balance | Top up at eachlabs.ai |
| Content policy violation | Prohibited content | Adjust prompt to comply with content policies |
| Timeout | Complex generation | Set client timeout to minimum 10 minutes |
Related Skills
each-sense- Core API documentationproduct-photo-generation- Product mockups and photosimage-generation- General image generation
SSE Event Reference
Detailed documentation for all Server-Sent Events (SSE) returned by the each::sense /v1/chat/completions endpoint.
Event Format
Events are wrapped in OpenAI chat.completion.chunk format with an eachlabs extension field:
data: {"id":"chatcmpl-123","object":"chat.completion.chunk","choices":[{"delta":{"content":""}}],"eachlabs":{"type":"event_type",...}}\n\nStream ends with:
data: [DONE]\n\n---
Event Types (18 Total)
thinking_delta
AI reasoning streamed in real-time. Use this to show users what the AI is thinking.
{
"type": "thinking_delta",
"content": "Let me find the best model for portrait generation..."
}| Field | Type | Description |
|---|---|---|
content | string | Incremental thinking text |
---
text_response
Assistant message content (explanations, answers, plans).
{
"type": "text_response",
"content": "I'll create a stunning portrait for you with cinematic lighting and a warm mood."
}| Field | Type | Description |
|---|---|---|
content | string | Text response content |
---
status
Current operation being executed. Shows tool usage and parameters.
{
"type": "status",
"message": "Searching for image generation models...",
"tool_name": "search_models",
"parameters": {"use_case": "text to image portrait"}
}| Field | Type | Description |
|---|---|---|
message | string | Human-readable status message |
tool_name | string | Internal tool being used |
parameters | object | Tool parameters (optional) |
---
tool_call
Details of a tool being called. Useful for debugging and transparency.
{
"type": "tool_call",
"name": "execute_model",
"input": {
"model_name": "flux-2-max",
"inputs": {
"prompt": "A beautiful woman portrait...",
"aspect_ratio": "1:1"
}
}
}| Field | Type | Description |
|---|---|---|
name | string | Tool name |
input | object | Tool input parameters |
---
message
Informational message from the agent.
{
"type": "message",
"content": "Your video is being processed. This typically takes 2-3 minutes."
}| Field | Type | Description |
|---|---|---|
content | string | Message content |
---
progress
Progress update with percentage completion.
{
"type": "progress",
"message": "Generating image...",
"percent": 65
}| Field | Type | Description |
|---|---|---|
message | string | Progress description |
percent | number | Completion percentage |
---
generation_response
Generated media URL (image, video, audio). This is the primary output event.
{
"type": "generation_response",
"url": "https://storage.eachlabs.ai/outputs/abc123.png",
"generations": ["https://storage.eachlabs.ai/outputs/abc123.png"],
"model": "flux-2-max",
"execution_time_ms": 8500
}| Field | Type | Description |
|---|---|---|
url | string | Primary output URL |
generations | array | All generated URLs |
model | string | Model used for generation |
execution_time_ms | number | Processing time in milliseconds |
---
clarification_needed
AI needs more information to proceed. Present options to the user.
{
"type": "clarification_needed",
"question": "What type of edit would you like to make to this image?",
"options": [
"Remove the background",
"Apply a style transfer",
"Upscale to higher resolution",
"Add or modify elements"
],
"context": "I can see you've uploaded an image, but I need to understand what changes you'd like.",
"requires_response": true
}| Field | Type | Description |
|---|---|---|
question | string | The question to ask the user |
options | array | Suggested options (can be displayed as buttons) |
context | string | Additional context about the clarification |
requires_response | boolean | Whether a response is required to proceed |
Handling: Display the question and options to the user. Send their response in a follow-up request with the same session_id.
---
web_search_query
Web search being executed.
{
"type": "web_search_query",
"query": "best AI video generation models 2024",
"recency": "month"
}| Field | Type | Description |
|---|---|---|
query | string | Search query |
recency | string | Time filter (day, week, month, year) |
---
web_search_citations
Citations from web search results.
{
"type": "web_search_citations",
"citations": [
{"title": "AI Video Comparison", "url": "https://example.com/ai-video", "snippet": "..."}
]
}| Field | Type | Description |
|---|---|---|
citations | array | Array of objects with title, url, snippet |
---
workflow_created
New workflow was created for complex multi-step generation.
{
"type": "workflow_created",
"workflow_id": "wf_abc123",
"version_id": "v1",
"steps_count": 5
}| Field | Type | Description |
|---|---|---|
workflow_id | string | Unique workflow identifier |
version_id | string | Workflow version |
steps_count | number | Number of steps in workflow |
---
workflow_fetched
Existing workflow was loaded (when workflow_id is provided in request).
{
"type": "workflow_fetched",
"workflow_name": "Product Video Generator",
"existing_steps": 3,
"existing_definition": {}
}| Field | Type | Description |
|---|---|---|
workflow_name | string | Name of the workflow |
existing_steps | number | Number of existing steps |
existing_definition | object | Current workflow definition |
---
workflow_built
Workflow definition was constructed.
{
"type": "workflow_built",
"steps_count": 4,
"definition": {
"version": "v1",
"input_schema": {},
"steps": []
}
}| Field | Type | Description |
|---|---|---|
steps_count | number | Number of steps |
definition | object | Full workflow definition |
---
workflow_updated
Workflow was pushed to the EachLabs API.
{
"type": "workflow_updated",
"success": true,
"workflow_id": "wf_abc123",
"version_id": "v1",
"definition": {}
}| Field | Type | Description |
|---|---|---|
success | boolean | Whether update succeeded |
workflow_id | string | Workflow identifier |
version_id | string | Version identifier |
definition | object | Updated definition |
---
execution_started
Workflow execution has begun.
{
"type": "execution_started",
"execution_id": "exec_xyz789",
"workflow_id": "wf_abc123"
}| Field | Type | Description |
|---|---|---|
execution_id | string | Unique execution identifier |
workflow_id | string | Workflow being executed |
---
execution_progress
Progress update during workflow execution.
{
"type": "execution_progress",
"step_id": "step2",
"completed_steps": 2,
"total_steps": 5
}| Field | Type | Description |
|---|---|---|
step_id | string | Current step identifier |
completed_steps | number | Steps completed so far |
total_steps | number | Total steps in workflow |
---
execution_completed
Workflow execution finished.
{
"type": "execution_completed",
"execution_id": "exec_xyz789",
"output": "https://storage.eachlabs.ai/outputs/final.mp4",
"all_outputs": {
"step1": "https://storage.eachlabs.ai/outputs/step1.png",
"step2": "https://storage.eachlabs.ai/outputs/step2.png",
"step3": "https://storage.eachlabs.ai/outputs/final.mp4"
},
"total_time_ms": 45000
}| Field | Type | Description |
|---|---|---|
execution_id | string | Execution identifier |
output | string | Final output URL |
all_outputs | object | All step outputs keyed by step_id |
total_time_ms | number | Total execution time in milliseconds |
---
complete
Final event with summary. Always sent when stream completes.
{
"type": "complete",
"task_id": "chat_1708345678901",
"status": "ok",
"generations": ["https://storage.eachlabs.ai/outputs/abc123.png"],
"model": "flux-2-max"
}| Field | Type | Description |
|---|---|---|
task_id | string | Unique task identifier |
status | string | Final status (ok, error, clarification_needed) |
generations | array | All generated output URLs |
model | string | Primary model used |
Status values:
ok- Completed successfullyclarification_needed- Waiting for user clarificationerror- An error occurred
---
error
An error occurred during processing.
{
"type": "error",
"message": "Failed to generate image: Invalid aspect ratio",
"error_code": "INVALID_INPUT",
"details": {}
}| Field | Type | Description |
|---|---|---|
message | string | Error message |
error_code | string | Error code identifier |
details | object | Additional error details |
---
Event Flow Examples
Simple Image Generation
thinking_delta → "I'll create a beautiful portrait..."
status → "Searching for models..."
status → "Getting model details..."
text_response → "Here's your generated image..."
generation_response → {url: "https://...", model: "flux-2-max", execution_time_ms: 8500}
complete → {status: "ok", generations: [...]}
[DONE]Clarification Flow
thinking_delta → "I see an image, but need to know what edit..."
clarification_needed → {question: "What edit?", options: [...]}
complete → {status: "clarification_needed"}
[DONE]Workflow Execution
thinking_delta → "Creating a multi-step workflow..."
status → "Searching for models..."
workflow_created → {workflow_id: "wf_123", steps_count: 5}
execution_started → {execution_id: "exec_456"}
execution_progress → {completed_steps: 1, total_steps: 5}
execution_progress → {completed_steps: 2, total_steps: 5}
execution_progress → {completed_steps: 3, total_steps: 5}
execution_progress → {completed_steps: 4, total_steps: 5}
execution_completed → {output: "https://...", all_outputs: {...}, total_time_ms: 45000}
complete → {status: "ok"}
[DONE]Web Search
thinking_delta → "Let me search for current information..."
web_search_query → {query: "best AI models 2024"}
status → "Searching the web..."
web_search_citations → {citations: [{title, url, snippet}, ...]}
text_response → "Based on current information..."
complete → {status: "ok"}
[DONE]Related skills
How it compares
Unlike general image generators, it encodes apparel constraints such as five print methods, spot-color limits, white underbases, halftones, garment color and placement.
FAQ
Which print methods does the skill cover?
Five: screen print, DTG, sublimation, heat transfer, and vinyl cut. A spec table gives the recommended file format and color count for each, e.g. 1-6 spot colors for screen print and 1-3 colors with no gradients for vinyl cut.
How do I iterate on a design instead of starting over?
Pass the same session_id on follow-up requests. The examples refine a motorcycle design across three turns: adding flames and banner text, then requesting a black-and-gold color variation.
What is the difference between max and eco mode?
max is slower but highest quality, meant for final print-ready designs and client presentations; eco is faster and suited to quick concepts, design exploration, and mockup iterations.