> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ocoya.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Dribbble

> Publish design shots to Dribbble, the exact image sizes it accepts, and its limits.

A Dribbble post is a **shot**: one image, a title and a description. The image isn't an attachment to the post — it *is* the post, so a Dribbble channel behaves unlike every other channel in Ocoya.

## Connect Dribbble

<Steps>
  <Step title="Open Channels">
    Select **Channels** in the left sidebar, then **Connect channel**.
  </Step>

  <Step title="Choose Dribbble">
    Pick **Dribbble** from the **Add a connection** panel.
  </Step>

  <Step title="Authorize on Dribbble">
    Ocoya sends you to Dribbble to approve two things: reading your public profile, so the connection can be named after it, and permission to upload shots.
  </Step>
</Steps>

Dribbble's access doesn't expire, so the connection lasts until you revoke it on Dribbble. There's nothing to reconnect every few weeks.

Only **players and teams** can upload through Dribbble's API. A regular Dribbble account that hasn't been given uploading rights will connect but fail at publish.

## What you can post

| Post type      | Supported         |
| -------------- | ----------------- |
| Single image   | Yes — required    |
| GIF            | Yes               |
| Several images | No — one per shot |
| Text-only      | No                |
| Video          | No                |

A shot needs its image. Unlike other channels, a link can't stand in for one.

## Dribbble takes two image sizes, and no others

Dribbble accepts a shot at **exactly 400×300 or 800×600** and turns down everything else — its web uploader resizes for you, its API doesn't.

So Ocoya sizes the image on the way out:

* **A still** that isn't already one of those sizes is fitted into 800×600 over a blurred fill. Nothing is cropped away.
* **A GIF** is cropped to 4:3 instead, because the service that can reshape one without flattening the animation has no padding option. A GIF smaller than 400×300 can't be used at all — Dribbble won't upscale.

The composer warns you before publish when an image will be reshaped, so there are no surprises on the day.

## The title

Every shot needs a title, up to **255 characters**.

Leave it empty and Ocoya uses the **first line of your caption**. With nothing to work from it falls back to *Untitled shot*, which you don't want on your profile — so set one, or open the caption with a strong first line.

## Tags come from your hashtags

Dribbble has a tags field rather than in-body hashtags, so Ocoya lifts the hashtags out of your caption and files them as tags — up to **12**. Hyphens and underscores become spaces, so `#ui-design` becomes the tag *ui design*.

Your description keeps the caption exactly as written, hashtags included.

## Dribbble's limits

|                |                        |
| -------------- | ---------------------- |
| Images         | 1, up to 8 MB          |
| Accepted sizes | 400×300 or 800×600     |
| Title          | 255 characters         |
| Description    | 3,000 characters       |
| Tags           | 12, from your hashtags |
| Video          | Not supported          |

The description limit is Ocoya's guard rail — Dribbble publishes no number of its own.

## Common problems

**"Posting on Dribbble requires 1 image or GIF."** The shot has no image. Text alone, or a link, isn't a shot.

**"Dribbble shots cannot exceed 8 MB."** The file is over Dribbble's size cap after resizing. Export it smaller.

**"GIF is too small for Dribbble, which needs at least 400x300."** Dribbble won't upscale. Re-export the GIF larger.

**"This Dribbble account cannot upload shots. Only players and teams can publish through the API."** The account doesn't have uploading rights on Dribbble. That's a Dribbble account status, not something Ocoya can grant.

**"Dribbble was connected without upload access."** The authorization was approved without the upload permission. Reconnect and approve uploading shots.

**"Dribbble accepted the shot but did not report it."** Dribbble processes shots after accepting them, and this one didn't appear in time. Check your Dribbble profile before republishing — it may well be there.

## Related

<Columns cols={2}>
  <Card title="Character and media limits" icon="ruler" href="/help/channel-limits">
    Every network's limits side by side.
  </Card>

  <Card title="The post editor" icon="square-pen" href="/help/post-editor">
    Writing a different version per channel.
  </Card>
</Columns>
