# Depth Map Generation

> Generate depth maps from images using each::sense AI. Create depth estimation for 3D effects, parallax animations, VR/AR applications, focus effects, and stereo image generation.

- Skill: `eachlabs/depth-map-generation` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add eachlabs/depth-map-generation`
- Raw SKILL.md: https://api.skillmd.com/api/skills/eachlabs/depth-map-generation/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: eachlabs (https://skillmd.com/u/eachlabs)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/eachlabs/depth-map-generation

---


# Depth Map Generation

Generate accurate depth maps from any image using each::sense. This skill extracts depth information from 2D images for 3D effects, parallax animations, VR/AR applications, computational photography, and more.

## Features

- **Monocular Depth Estimation**: Extract depth from single images
- **Portrait Depth Maps**: Precise depth for portrait photography effects
- **Landscape Depth**: Scene depth for panoramic and landscape images
- **Product Depth**: 3D-ready depth maps for e-commerce
- **Architectural Depth**: Building and interior depth analysis
- **3D Parallax Effects**: Depth data for Ken Burns-style animations
- **VR/AR Depth**: Real-time depth estimation for immersive experiences
- **Stereo Image Generation**: Convert 2D to stereoscopic 3D
- **Focus Stacking**: Depth-based focus plane selection
- **Background Blur**: Depth-aware bokeh and blur effects

## Quick Start

```bash
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": "Generate a depth map from this photo"}],
    "model": "eachsense/beta",
    "stream": true,
    "image_urls": ["https://example.com/photo.jpg"],
    "mode": "max"
  }'
```

## Depth Map Output Formats

| Format | Description | Use Case |
|--------|-------------|----------|
| Grayscale | 8-bit depth (white=near, black=far) | General purpose, visualization |
| Inverse Grayscale | 8-bit depth (black=near, white=far) | Some 3D software compatibility |
| Normalized | 0-1 range depth values | Machine learning pipelines |
| Metric | Real-world distance estimation | AR/VR, robotics |

## Use Case Examples

### 1. Generate Depth Map from Photo

Basic depth extraction from any image.

```bash
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": "Generate a depth map from this image. Output as grayscale where white represents closer objects and black represents distant objects."}],
    "model": "eachsense/beta",
    "stream": true,
    "image_urls": ["https://example.com/scene.jpg"],
    "mode": "max"
  }'
```

### 2. Portrait Depth Map

Extract precise depth from portrait photos for bokeh effects and 3D portraits.

```bash
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 high-precision depth map from this portrait photo. Focus on accurate edge detection around the subject, especially hair and facial features. I need this for applying realistic depth-of-field effects."}],
    "model": "eachsense/beta",
    "stream": true,
    "image_urls": ["https://example.com/portrait.jpg"],
    "mode": "max"
  }'
```

### 3. Landscape Depth Map

Generate depth from landscape and outdoor scenes with extended depth range.

```bash
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": "Generate a depth map from this landscape photo. The scene has foreground elements, mid-ground terrain, and distant mountains. Capture the full depth range from near to far with good separation between depth layers."}],
    "model": "eachsense/beta",
    "stream": true,
    "image_urls": ["https://example.com/landscape.jpg"],
    "mode": "max"
  }'
```

### 4. Product Depth for 3D Effect

Create depth maps for product images to enable 3D viewing experiences.

```bash
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": "Extract a depth map from this product photo. I need accurate depth information to create a 3D interactive view for an e-commerce website. Focus on capturing the product shape and surface details."}],
    "model": "eachsense/beta",
    "stream": true,
    "image_urls": ["https://example.com/product-sneaker.jpg"],
    "mode": "max"
  }'
```

### 5. Architectural Depth Map

Generate depth from architectural and interior photos for visualization.

```bash
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 depth map from this interior architecture photo. Capture the spatial relationships between walls, furniture, and architectural elements. I need this for a virtual tour with depth-based transitions."}],
    "model": "eachsense/beta",
    "stream": true,
    "image_urls": ["https://example.com/interior.jpg"],
    "mode": "max"
  }'
```

### 6. 3D Parallax Effect Creation

Generate depth maps optimized for creating parallax animations and Ken Burns effects.

```bash
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": "Generate a depth map from this photo that I will use for a 3D parallax animation. I need clear depth separation between foreground, midground, and background elements. The depth should be smooth with distinct layers for a compelling parallax effect."}],
    "model": "eachsense/beta",
    "stream": true,
    "image_urls": ["https://example.com/scene-for-parallax.jpg"],
    "mode": "max"
  }'
```

### 7. VR/AR Depth Estimation

Create depth maps suitable for virtual and augmented reality applications.

```bash
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": "Generate a depth map from this room photo for AR/VR use. I need metric depth estimation that accurately represents real-world distances. This will be used for placing virtual objects in an augmented reality application."}],
    "model": "eachsense/beta",
    "stream": true,
    "image_urls": ["https://example.com/room.jpg"],
    "mode": "max"
  }'
```

### 8. Stereo Image Generation

Convert 2D images to stereoscopic 3D using depth estimation.

```bash
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": "Generate a depth map from this photo and use it to create a stereoscopic 3D image pair (left and right eye views). The stereo effect should be subtle enough for comfortable viewing but noticeable enough to create depth perception."}],
    "model": "eachsense/beta",
    "stream": true,
    "image_urls": ["https://example.com/photo-for-stereo.jpg"],
    "mode": "max"
  }'
```

### 9. Focus Stacking Depth

Generate depth maps for computational focus stacking and all-in-focus composites.

```bash
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 depth map from this macro/close-up photo. I need precise depth information to identify focus planes for computational focus stacking. Each depth layer should be clearly defined so I can select which areas should be in focus."}],
    "model": "eachsense/beta",
    "stream": true,
    "image_urls": ["https://example.com/macro-photo.jpg"],
    "mode": "max"
  }'
```

### 10. Depth-Aware Background Blur

Generate depth for applying realistic bokeh and background blur effects.

```bash
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": "Generate a depth map from this photo for applying depth-aware background blur. The subject in the foreground should be clearly separated from the background. I need accurate edge detection so the blur transition looks natural, similar to a portrait mode effect."}],
    "model": "eachsense/beta",
    "stream": true,
    "image_urls": ["https://example.com/photo-for-blur.jpg"],
    "mode": "max"
  }'
```

## Multi-Turn Depth Processing

Use `session_id` to refine depth maps or process multiple related images:

```bash
# Initial depth estimation
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": "Generate a depth map from this photo"}],
    "model": "eachsense/beta",
    "stream": true,
    "image_urls": ["https://example.com/scene.jpg"],
    "session_id": "depth-project-001"
  }'

# Refine the depth map
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": "The depth map looks good but can you enhance the edge detection around the main subject? The boundaries are a bit fuzzy."}],
    "model": "eachsense/beta",
    "stream": true,
    "session_id": "depth-project-001"
  }'

# Apply the depth map for an effect
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": "Now use this depth map to create a 3D parallax video animation with subtle camera movement"}],
    "model": "eachsense/beta",
    "stream": true,
    "session_id": "depth-project-001"
  }'
```

## Batch Depth Processing

Process multiple images for consistent depth estimation:

```bash
# Process first image
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": "Generate a depth map from this product photo. I will be sending more product images that need consistent depth estimation."}],
    "model": "eachsense/beta",
    "stream": true,
    "image_urls": ["https://example.com/product1.jpg"],
    "session_id": "product-depth-batch",
    "mode": "eco"
  }'

# Process second image with same settings
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": "Generate depth map for this product using the same approach as before"}],
    "model": "eachsense/beta",
    "stream": true,
    "image_urls": ["https://example.com/product2.jpg"],
    "session_id": "product-depth-batch",
    "mode": "eco"
  }'
```

## Mode Selection

| Mode | Best For | Speed | Quality |
|------|----------|-------|---------|
| `max` | Final production depth maps, VR/AR applications, professional compositing | Slower | Highest precision |
| `eco` | Quick previews, batch processing, prototyping | Faster | Good quality |

**Recommendation:** Use `max` mode when depth accuracy is critical (VR/AR, 3D conversion, professional compositing). Use `eco` mode for rapid iteration and batch processing.

## Best Practices

### Input Image Quality
- **Resolution**: Higher resolution inputs produce more detailed depth maps
- **Lighting**: Even lighting helps with accurate depth estimation
- **Contrast**: Clear contrast between objects improves depth separation
- **Focus**: Sharp images yield better edge detection in depth maps

### Depth Map Applications
- **Parallax Effects**: Use 3-5 distinct depth layers for best results
- **Bokeh/Blur**: Ensure clean subject edges for natural blur falloff
- **3D Conversion**: Provide context about scene scale for metric depth
- **VR/AR**: Request metric depth for real-world distance accuracy

### Prompt Tips
1. **Specify output format**: Grayscale, normalized, or metric depth
2. **Describe the scene**: Help the model understand spatial relationships
3. **State your use case**: Different applications benefit from different depth characteristics
4. **Request edge quality**: Specify if you need sharp or smooth depth transitions

## Error Handling

| Error | Cause | Solution |
|-------|-------|----------|
| `Failed to create prediction: HTTP 422` | Insufficient balance | Top up at eachlabs.ai |
| Image loading failed | Invalid or inaccessible image URL | Verify image URL is publicly accessible |
| Timeout | Complex or high-resolution image | Set client timeout to minimum 10 minutes |
| Low quality depth output | Poor input image quality | Use higher resolution, better lit source image |

## Technical Notes

- **Client Timeout**: Set your HTTP client timeout to minimum 10 minutes for complex depth estimation
- **Image Formats**: Supports JPEG, PNG, WebP input images
- **Output Format**: Depth maps are typically output as grayscale PNG images
- **Depth Range**: Relative depth (0-1) by default; metric depth available on request

## Related Skills

- `each-sense` - Core API documentation
- `image-to-3d` - Full 3D model generation from images
- `image-editing` - Apply depth-based effects to images
- `video-generation` - Create parallax videos from depth maps

