Food Photography Generation

Generate professional food photography using each::sense API for restaurant menus, food delivery apps, recipe blogs, and social media content

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "Food Photography Generation" with this command: npx skills add eachlabs/skills/eachlabs-skills-food-photography-generation

Food Photography Generation

Generate stunning, appetizing food photography using the each::sense API. Create professional-quality images for restaurant menus, food delivery platforms, recipe blogs, and social media food content.

Overview

The each::sense API enables AI-powered food photography generation with:

  • Restaurant Menus: High-quality dish presentations for print and digital menus
  • Food Delivery Apps: Appetizing thumbnails that drive orders
  • Recipe Blogs: Hero images and step-by-step visuals
  • Social Media Content: Instagram-worthy food shots that engage audiences

Quick Start

curl -X POST "https://sense.eachlabs.run/chat" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "message": "Generate a professional food photo of a gourmet burger with melted cheese, fresh lettuce, and crispy bacon on a rustic wooden board, warm lighting, shallow depth of field",
    "mode": "max"
  }'

Food Photography Styles

StyleDescriptionBest For
Overhead Flat LayTop-down 90-degree anglePizza, salads, spreads, ingredient layouts
45-Degree AngleClassic three-quarter viewPlated dishes, bowls, layered foods
Hero ShotEye-level dramatic presentationSignature dishes, menu covers
Action ShotCapturing movement (pouring, cutting, steam)Dynamic social media content
Ingredient SpreadRaw ingredients artfully arrangedRecipe blogs, cooking tutorials

Use Case Examples

Restaurant Menu Item

curl -X POST "https://sense.eachlabs.run/chat" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "message": "Professional restaurant menu photo of grilled salmon fillet with lemon butter sauce, asparagus, and roasted potatoes on a white ceramic plate, elegant fine dining presentation, soft natural lighting, clean background",
    "mode": "max"
  }'

Food Delivery App Listing

curl -X POST "https://sense.eachlabs.run/chat" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "message": "Appetizing food delivery app photo of a loaded pepperoni pizza with stretchy melted mozzarella cheese, fresh basil leaves, in a pizza box, overhead angle, bright even lighting, looks delicious and ready to order",
    "mode": "max"
  }'

Recipe Blog Hero Image

curl -X POST "https://sense.eachlabs.run/chat" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "message": "Beautiful recipe blog hero image of homemade chocolate chip cookies, stack of warm cookies with melted chocolate chips visible, cookie crumbs scattered on marble surface, rustic kitchen background, cozy warm tones, food photography style",
    "mode": "max"
  }'

Coffee and Beverage Shot

curl -X POST "https://sense.eachlabs.run/chat" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "message": "Professional coffee shop photo of a latte with intricate leaf latte art in a ceramic cup on a wooden saucer, steam rising gently, coffee beans scattered nearby, morning light from window, cafe atmosphere",
    "mode": "max"
  }'

Dessert Photography

curl -X POST "https://sense.eachlabs.run/chat" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "message": "Elegant dessert photography of a layered tiramisu in a glass, visible coffee-soaked ladyfinger layers and mascarpone cream, dusted with cocoa powder, silver spoon beside it, dark moody background, dramatic lighting",
    "mode": "max"
  }'

Action Shot with Movement

curl -X POST "https://sense.eachlabs.run/chat" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "message": "Dynamic food action shot of maple syrup being poured over a stack of fluffy pancakes with fresh blueberries, syrup caught mid-pour creating a golden stream, steam rising, breakfast table setting, warm morning light",
    "mode": "max"
  }'

Ingredient Flat Lay

curl -X POST "https://sense.eachlabs.run/chat" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "message": "Overhead flat lay food photography of Italian pasta recipe ingredients: fresh tomatoes, basil leaves, garlic cloves, olive oil in a glass bottle, parmesan wedge, dried pasta, arranged artfully on a dark slate surface, natural lighting",
    "mode": "max"
  }'

Table Setting and Spread

curl -X POST "https://sense.eachlabs.run/chat" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "message": "Beautiful brunch table spread photography featuring avocado toast, fresh fruit bowl, croissants, orange juice glasses, and a French press coffee, rustic wooden table with linen napkins, overhead angle, bright natural daylight, lifestyle food photography",
    "mode": "max"
  }'

Fast Food Product Shot

curl -X POST "https://sense.eachlabs.run/chat" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "message": "Commercial fast food photography of crispy fried chicken bucket meal with golden brown pieces, seasoned fries in a red container, coleslaw cup, on a branded tray, clean studio lighting, appetizing and crave-worthy presentation",
    "mode": "max"
  }'

Healthy Meal Prep

curl -X POST "https://sense.eachlabs.run/chat" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "message": "Clean healthy meal prep photography showing glass containers with grilled chicken breast, quinoa, roasted vegetables including broccoli and sweet potato, colorful and nutritious, organized kitchen counter, bright lighting, fitness lifestyle aesthetic",
    "mode": "max"
  }'

Best Practices for Food Photography

Make Food Look Appetizing

  • Steam and Heat: Include visible steam for hot dishes to convey freshness
  • Moisture and Shine: Add gleaming sauces, melted cheese, or oil glazes for appeal
  • Color Contrast: Combine colorful ingredients for visual interest
  • Texture Details: Highlight crispy, creamy, or crunchy textures

Styling and Props

  • Garnishes: Fresh herbs, citrus zests, or edible flowers add finishing touches
  • Backgrounds: Use complementary surfaces like wood, marble, or slate
  • Utensils: Include silverware, napkins, or serving boards for context
  • Negative Space: Leave room for text overlay if used in marketing

Lighting Guidelines

  • Natural Light: Soft daylight creates warm, inviting images
  • Side Lighting: Emphasizes texture and creates depth
  • Avoid Harsh Shadows: Use diffused lighting for even exposure
  • Warm Tones: Enhances appetizing appearance of food

Prompt Tips

Effective food photography prompts should include:

  1. Food Description: Specific dish name and key ingredients
  2. Presentation Style: Plating, garnishes, and arrangement
  3. Camera Angle: Overhead, 45-degree, eye-level, or close-up
  4. Lighting: Natural, studio, warm, dramatic, or soft
  5. Props and Surface: Plates, utensils, background materials
  6. Mood: Cozy, elegant, rustic, modern, or commercial

Example structure:

"[Photography style] of [dish name] with [key ingredients/toppings],
[presentation details], [surface/background], [lighting description],
[mood/aesthetic]"

Mode Selection

ModeDescriptionBest For
maxHighest quality, detailed renderingMenu covers, hero images, print materials
ecoFaster generation, good qualitySocial media posts, quick iterations, testing

Multi-Turn Sessions for Menu Consistency

Use session_id to maintain consistent styling across a menu series:

# First dish in menu series
curl -X POST "https://sense.eachlabs.run/chat" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "message": "Professional restaurant menu photo of beef tenderloin steak with red wine reduction, roasted garlic mashed potatoes, and grilled asparagus on a white plate, elegant fine dining style, soft lighting, dark wood table background",
    "session_id": "menu-series-001",
    "mode": "max"
  }'

# Second dish maintaining consistent style
curl -X POST "https://sense.eachlabs.run/chat" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "message": "Now create a matching menu photo of pan-seared duck breast with cherry glaze, wild rice pilaf, and sauteed spinach, same elegant fine dining style and plating",
    "session_id": "menu-series-001",
    "mode": "max"
  }'

# Third dish in the series
curl -X POST "https://sense.eachlabs.run/chat" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "message": "Continue with a dessert photo in the same style: chocolate lava cake with vanilla ice cream and raspberry coulis, elegant presentation matching the previous dishes",
    "session_id": "menu-series-001",
    "mode": "max"
  }'

Error Handling

Error CodeDescriptionSolution
401Invalid API keyVerify your EACHLABS_API_KEY is correct
400Invalid requestCheck JSON format and required parameters
429Rate limit exceededImplement exponential backoff
500Server errorRetry with exponential backoff

Example with error handling:

response=$(curl -s -w "\n%{http_code}" -X POST "https://sense.eachlabs.run/chat" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "message": "Professional food photo of a sushi platter with various nigiri and maki rolls, fresh wasabi and pickled ginger, elegant Japanese presentation on a black lacquer tray",
    "mode": "max"
  }')

http_code=$(echo "$response" | tail -n1)
body=$(echo "$response" | sed '$d')

if [ "$http_code" -eq 200 ]; then
  echo "Success: $body"
else
  echo "Error $http_code: $body"
fi

Related Skills

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

poster-design-generation

No summary provided by upstream source.

Repository SourceNeeds Review
General

eachlabs-image-edit

No summary provided by upstream source.

Repository SourceNeeds Review
General

subtitle-generation

No summary provided by upstream source.

Repository SourceNeeds Review
General

eachlabs-fashion-ai

No summary provided by upstream source.

Repository SourceNeeds Review