Yeah I’ve not had coffee yet and read your title but not your code.
So your code looks correct (but you should removed the &access_token='.$token.'&token='.$token from the URL)
You’ve just got the wrong token type.
You generated a server to server token, which doesn’t represent a user.
So you need an oAuth flow (mini website) to obtain a user token with the clips:edit scope applied. So the API call can create a clip owned by the authenticating user.