Contest entry form for a photo contest

Updated 2026-10-30

Entries by DM get lost, and nobody remembers which photo belonged to whom. I would rather run the contest from one link, with a title, a photo link and the rules ticked.

Use this when

You run a club, studio or brand photo contest with a clear closing date. Each entrant fills in the form once for each photo.

Skip it when

The contest is trivia. A quiz fits that better.

What it asks and why

  • Name, email and country: to reach winners and check who is eligible.
  • Category, title and photo link: the entry itself. There are no uploads, so the link is how judges see it.
  • Date, place, story and editing level: helps judges and keeps the field fair.
  • Three ticks: adult, own work, rules agreed.

What an entrant's AI would ask

"What is the title of your photo?" Then "Where is the photo hosted?" Then "How much editing did you do?" It shows the answers and sends only after a yes. See agent-fillable forms.

This is a form, not legal advice. Contest rules can carry legal weight where you live, so have a professional check yours. Winners may need a photo release, and prizes of prints can start from a photo print order form. More ideas are in forms for photographers and forms for creators and podcasters.

Questions

How do I judge entries fairly?

Download the CSV, remove the name and email columns for the judges, and share only the title, category and photo link. Match winners back to names afterwards.

Can entrants upload their photos?

Not as files. They paste a link to a photo stored online. Check that each link opens before judging begins.

How do I set an entry deadline?

Set close_at to your deadline. Add max_responses if you want to cap the entries. Say both in the form description so that entrants know.

Try the form

Live demo ยท nothing is saved

Enter the photo contest

Share one photo you are proud of. Please read the contest rules first, then fill in the form before the closing date.

Which category are you entering? (required)

Put the photo in an online album that anyone with the link can open.

How much editing did you do?
I am 18 or older (required)
I took this photo and I own it (required)
I have read and agree to the contest rules (required)
You may show my photo on your website and social pages

Or paste the JSON

Give this to your AI. It needs the AI Form API MCP server or an API key. It makes the form and sends you the link.

text
Create this form with the AI Form API create_form tool (or POST https://aiformapi.com/v1/forms with my API key). Then reply with the public_url.

{
  "title": "Enter the photo contest",
  "description": "Share one photo you are proud of. Please read the contest rules first, then fill in the form before the closing date.",
  "fields": [
    {
      "id": "entrant_name",
      "label": "Your name",
      "type": "short_text",
      "required": true,
      "max_length": 150
    },
    {
      "id": "entrant_email",
      "label": "Your email",
      "type": "email",
      "required": true
    },
    {
      "id": "entrant_country",
      "label": "Which country do you live in?",
      "type": "short_text",
      "max_length": 100
    },
    {
      "id": "contest_category",
      "label": "Which category are you entering?",
      "type": "single_choice",
      "required": true,
      "options": [
        "Landscape",
        "Portrait",
        "Street",
        "Wildlife",
        "Abstract",
        "Open"
      ]
    },
    {
      "id": "photo_title",
      "label": "Title of your photo",
      "type": "short_text",
      "required": true,
      "max_length": 120
    },
    {
      "id": "photo_page",
      "label": "Link to your photo",
      "type": "url",
      "required": true,
      "help": "Put the photo in an online album that anyone with the link can open."
    },
    {
      "id": "taken_on",
      "label": "Date it was taken",
      "type": "date"
    },
    {
      "id": "place_taken",
      "label": "Where was it taken?",
      "type": "short_text",
      "max_length": 200
    },
    {
      "id": "photo_story",
      "label": "The story behind the shot",
      "type": "long_text",
      "max_length": 1000
    },
    {
      "id": "editing_level",
      "label": "How much editing did you do?",
      "type": "single_choice",
      "options": [
        "None",
        "Light adjustments",
        "Heavy editing",
        "A composite of several images"
      ]
    },
    {
      "id": "adult_entrant",
      "label": "I am 18 or older",
      "type": "checkbox",
      "required": true
    },
    {
      "id": "own_work",
      "label": "I took this photo and I own it",
      "type": "checkbox",
      "required": true
    },
    {
      "id": "rules_agree",
      "label": "I have read and agree to the contest rules",
      "type": "checkbox",
      "required": true
    },
    {
      "id": "showcase_ok",
      "label": "You may show my photo on your website and social pages",
      "type": "checkbox"
    }
  ]
}

Or call the API

bash
curl -X POST https://aiformapi.com/v1/forms \
  -H "Authorization: Bearer $AIFORMAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{"title":"Enter the photo contest","description":"Share one photo you are proud of. Please read the contest rules first, then fill in the form before the closing date.","fields":[{"id":"entrant_name","label":"Your name","type":"short_text","required":true,"max_length":150},{"id":"entrant_email","label":"Your email","type":"email","required":true},{"id":"entrant_country","label":"Which country do you live in?","type":"short_text","max_length":100},{"id":"contest_category","label":"Which category are you entering?","type":"single_choice","required":true,"options":["Landscape","Portrait","Street","Wildlife","Abstract","Open"]},{"id":"photo_title","label":"Title of your photo","type":"short_text","required":true,"max_length":120},{"id":"photo_page","label":"Link to your photo","type":"url","required":true,"help":"Put the photo in an online album that anyone with the link can open."},{"id":"taken_on","label":"Date it was taken","type":"date"},{"id":"place_taken","label":"Where was it taken?","type":"short_text","max_length":200},{"id":"photo_story","label":"The story behind the shot","type":"long_text","max_length":1000},{"id":"editing_level","label":"How much editing did you do?","type":"single_choice","options":["None","Light adjustments","Heavy editing","A composite of several images"]},{"id":"adult_entrant","label":"I am 18 or older","type":"checkbox","required":true},{"id":"own_work","label":"I took this photo and I own it","type":"checkbox","required":true},{"id":"rules_agree","label":"I have read and agree to the contest rules","type":"checkbox","required":true},{"id":"showcase_ok","label":"You may show my photo on your website and social pages","type":"checkbox"}]}'

JSON definition

json
{
  "title": "Enter the photo contest",
  "description": "Share one photo you are proud of. Please read the contest rules first, then fill in the form before the closing date.",
  "fields": [
    {
      "id": "entrant_name",
      "label": "Your name",
      "type": "short_text",
      "required": true,
      "max_length": 150
    },
    {
      "id": "entrant_email",
      "label": "Your email",
      "type": "email",
      "required": true
    },
    {
      "id": "entrant_country",
      "label": "Which country do you live in?",
      "type": "short_text",
      "max_length": 100
    },
    {
      "id": "contest_category",
      "label": "Which category are you entering?",
      "type": "single_choice",
      "required": true,
      "options": [
        "Landscape",
        "Portrait",
        "Street",
        "Wildlife",
        "Abstract",
        "Open"
      ]
    },
    {
      "id": "photo_title",
      "label": "Title of your photo",
      "type": "short_text",
      "required": true,
      "max_length": 120
    },
    {
      "id": "photo_page",
      "label": "Link to your photo",
      "type": "url",
      "required": true,
      "help": "Put the photo in an online album that anyone with the link can open."
    },
    {
      "id": "taken_on",
      "label": "Date it was taken",
      "type": "date"
    },
    {
      "id": "place_taken",
      "label": "Where was it taken?",
      "type": "short_text",
      "max_length": 200
    },
    {
      "id": "photo_story",
      "label": "The story behind the shot",
      "type": "long_text",
      "max_length": 1000
    },
    {
      "id": "editing_level",
      "label": "How much editing did you do?",
      "type": "single_choice",
      "options": [
        "None",
        "Light adjustments",
        "Heavy editing",
        "A composite of several images"
      ]
    },
    {
      "id": "adult_entrant",
      "label": "I am 18 or older",
      "type": "checkbox",
      "required": true
    },
    {
      "id": "own_work",
      "label": "I took this photo and I own it",
      "type": "checkbox",
      "required": true
    },
    {
      "id": "rules_agree",
      "label": "I have read and agree to the contest rules",
      "type": "checkbox",
      "required": true
    },
    {
      "id": "showcase_ok",
      "label": "You may show my photo on your website and social pages",
      "type": "checkbox"
    }
  ]
}