Pasfoto-API
Geen API-sleutel nodig. Geen account vereist. Geen registratie nodig. Upload een foto en geef de landcode op, en je ontvangt een correct bijgesneden pasfoto, inclusief de gemeten hoofdlengte, zodat je dit zelf kunt controleren.
Laatst bijgewerkt: 1 september 2026
Dit is dezelfde technologie die PassportNinja website draait. Gratis aan te roepen, en er is niets waarvoor u zich moet registreren.
Maak een foto
$ curl -s -F "file=@portrait.jpg" -F "country=nl" \
https://passportninja.com/api/photo
{
"job_id": "041379c97a80",
"template": "Netherlands, passport/ID (35×45 mm)",
"photo": "/api/result/041379c97a80/photo.png",
"photo_jpg": "/api/result/041379c97a80/photo.jpg",
"sheet": "/api/result/041379c97a80/sheet.jpg",
"size_mm": [35.0, 45.0],
"head_mm": 34.2,
"head_range_mm": [32.0, 36.0],
"bewaar_min": 45,
"warnings": []
}
$ curl -s -o passport.png \
https://passportninja.com/api/result/041379c97a80/photo.pngHet draait allemaal om de nalevingscijfers.
De meeste tools voor pasfoto's geven je een bijgesneden foto en laten je hopen dat het goed is. Deze tool laat je zien wat hij heeft gedaan:
head_mm | De werkelijke hoogte van het hoofd in millimeters. |
|---|---|
head_range_mm | Het bereik dat het betreffende land vereist. |
size_mm / size_px | De fotogrootte in millimeters en in pixels. |
warnings | Alle informatie die nuttig is om aan de gebruiker te verstrekken, zoals een foto die te strak is ingekaderd om netjes bij te kunnen snijden. |
Indien head_mm valt binnen head_range_mmDe uitsnede voldoet aan de specificaties. Dit is een controle die u zelf in uw code kunt uitvoeren, in plaats van dat u erop vertrouwt dat wij dit doen.
Afdrukpagina's
Bij elke taak worden ook printbare bladen gegenereerd, die je onderaan kunt vinden sheets Momenteel zijn de beschikbare formaten 10×15 cm met 8 foto’s, US Letter met 25 foto’s en A4 met 30 foto’s. Kies het formaat dat u wilt url zoveel als u wilt, op dezelfde manier als de enkele foto.
Landformaten
Op het moment van schrijven zijn er 13 formaten beschikbaar. Programmeer ze niet hard in, vraag het op:
$ curl -s https://passportninja.com/api/templates
[{"key":"us","label":"United States, passport & visa (2×2 in)","size_mm":[50.8,50.8]},
{"key":"nl","label":"Netherlands, passport/ID (35×45 mm)","size_mm":[35.0,45.0]}, ...]
Geef door key u wilt als country veld. Laat dit leeg en je krijgt de standaard Schengen-afmeting.
Parameters en limieten
| Naam | Vereist | Wat het doet |
|---|---|---|
file | ja | De foto. Een scherpe foto van voren, waarop het hele hoofd zichtbaar is. |
country | nee | Een sleutel van /api/templates. Standaard wordt het algemene Schengen-formaat gebruikt. |
| Maximale bestandsgrootte | 99 MB |
|---|---|
| Gelijktijdig uitvoeren | 3 per IP-adres |
| Verzoeken per dag | Geen limiet |
| Het resultaat blijft beschikbaar | 45 minuten, of 24 uur met een toegangskaartje van €5 |
Fouten
| Status | Betekenis |
|---|---|
422 | Geen gezicht gedetecteerd, of de file veld ontbreekt. In het bericht staat welk veld dat is. |
413 | De foto is groter dan 99 MB. |
429 | Er zijn al drie taken actief vanaf dit adres. |
Gebruik in je eigen project
Gebruik het en verwerk het in je eigen projecten, ook als je daarvoor geld vraagt. Als je project een lijst bevat van de gebruikte tools, voeg dan een link toe naar passportninja.com dat is de reden waarom dit gratis is. Ben je van plan om grote hoeveelheden te verwerken? Neem dan contact met ons op via contactpagina eerste.
Vragen
Heb ik een API-sleutel nodig?
Nee. Geen sleutel, geen account, geen registratie nodig.
Hoe weet ik of de foto daadwerkelijk voldoet aan de eisen?
Het antwoord geeft dit aan. Het geeft head_mm weer, de hoogte van het hoofd die is gemeten, en head_range_mm, de hoogte die het land vereist. Als de eerste waarde binnen de tweede waarde valt, voldoet de uitsnede aan de specificaties.
Waarom krijg ik een 422-fout?
Bijna altijd omdat er geen gezicht is gedetecteerd. Gebruik een foto van voren met het hele hoofd in beeld en zorg ervoor dat er niets het bovenste deel van het hoofd afsnijdt.
Welke landen worden ondersteund?
Momenteel 13 formaten, waaronder de Verenigde Staten, het Verenigd Koninkrijk, Nederland, India, China en het algemene Schengen-formaat. Roep GET /api/templates aan voor de actuele lijst in plaats van deze hard te coderen.
Wat gebeurt er als er geen gezicht op de foto staat?
U ontvangt een HTTP 422-foutmelding met de tekst dat er geen gezicht is gevonden. Gebruik een scherpe foto van voren met het hele hoofd zichtbaar.
Hoe lang is de geldigheid van de taak-ID?
Na 45 minuten worden de bestanden verwijderd. Met een ShinobiTools-abonnement van €5 pas dezelfde taak blijft 24 uur beschikbaar.
De voorwaarden staan op voorwaardenpaginaen wat er met je foto gebeurt, kun je hier zien privacybeleid.